X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGraphic%2FTexture.hpp;h=b47ab1cb1cb6d6c219cfe771f2747a9804bd1e6b;hb=6a8cb464330e92163c8feaf101b8b5837c973bba;hp=0f1282898053bd6b56310860f7db2fd046dd5d5d;hpb=3f8ee86c6085b5d6c7ee31b916d0e022239750ab;p=lugaru.git diff --git a/Source/Graphic/Texture.hpp b/Source/Graphic/Texture.hpp index 0f12828..b47ab1c 100644 --- a/Source/Graphic/Texture.hpp +++ b/Source/Graphic/Texture.hpp @@ -1,6 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games -Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) +Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. @@ -24,11 +24,10 @@ along with Lugaru. If not, see . #include "Graphic/gamegl.hpp" #include +#include #include #include -using namespace std; - class TextureRes { private: @@ -47,17 +46,24 @@ public: TextureRes(const string& filename, bool hasMipmap, GLubyte* array, int* skinsize); ~TextureRes(); void bind(); + + /* Make sure TextureRes never gets copied */ + TextureRes(TextureRes const& other) = delete; + TextureRes& operator=(TextureRes const& other) = delete; }; class Texture { private: - TextureRes* tex; + std::shared_ptr tex; + public: - inline Texture(): tex(NULL) {} + inline Texture() + : tex(nullptr) + { + } void load(const string& filename, bool hasMipmap); void load(const string& filename, bool hasMipmap, GLubyte* array, int* skinsizep); - void destroy(); void bind(); };