diff --git a/include/lol/Camera.hpp b/include/lol/Camera.hpp index a22ff41..8b3e2a7 100644 --- a/include/lol/Camera.hpp +++ b/include/lol/Camera.hpp @@ -1,8 +1,8 @@ #pragma once #include -#include "Transformable.hpp" -#include "Drawable.hpp" +#include +#include namespace lol { diff --git a/include/lol/Drawable.hpp b/include/lol/Drawable.hpp index 77ace50..cf80bd0 100644 --- a/include/lol/Drawable.hpp +++ b/include/lol/Drawable.hpp @@ -1,8 +1,9 @@ #pragma once #include -#include "VertexArrayObject.hpp" -#include "Shader.hpp" + +#include +#include namespace lol { @@ -23,9 +24,6 @@ namespace lol class Drawable { public: - Drawable(const Drawable& other) = delete; - void operator=(const Drawable& other) = delete; - virtual void PreRender(const CameraBase& camera) const { }; void Draw(const CameraBase& camera) const; void SetPrimitiveType(PrimitiveType type); diff --git a/include/lol/ObjectManager.hpp b/include/lol/ObjectManager.hpp index 5441d02..845d7d6 100644 --- a/include/lol/ObjectManager.hpp +++ b/include/lol/ObjectManager.hpp @@ -18,7 +18,7 @@ namespace lol * exist. */ template - class ObjectManager + class ObjectManager : public NonCopyable { public: static ObjectManager& GetInstance() @@ -27,10 +27,6 @@ namespace lol return instance; } - public: - ObjectManager(const ObjectManager&) = delete; - void operator=(const ObjectManager&) = delete; - /** * Add new (existing) object to manager */ diff --git a/include/lol/Shader.hpp b/include/lol/Shader.hpp index 2d8b0d7..47b21eb 100644 --- a/include/lol/Shader.hpp +++ b/include/lol/Shader.hpp @@ -6,16 +6,17 @@ #include +#include + namespace lol { - class AbstractShader + class AbstractShader : public NonCopyable { friend class ShaderFactory; public: AbstractShader(const std::string& vertexShader, const std::string& fragmentShader); - AbstractShader(const AbstractShader& other) = delete; ~AbstractShader(); inline bool Good() { return id != 0; } diff --git a/include/lol/VertexArrayObject.hpp b/include/lol/VertexArrayObject.hpp index 4131451..42104e2 100644 --- a/include/lol/VertexArrayObject.hpp +++ b/include/lol/VertexArrayObject.hpp @@ -3,6 +3,8 @@ #include #include +#include + namespace lol { @@ -13,7 +15,7 @@ namespace lol unsigned int type; bool normalized; unsigned int stride; - const void* pointer; + const void* pointer; }; // Useful abbreviations @@ -28,7 +30,7 @@ namespace lol }; // VAO structure that sets up the buffers and deletes them at the end of the lifecycle - class AbstractVertexArrayObject + class AbstractVertexArrayObject : public NonCopyable { friend class VAOFactory;