Added cast around GLEW_ARB_texture_non_power_of_two, as it might be a char and screw...
[supertux.git] / src / video / texture.hpp
index 589fd95..a4beb86 100644 (file)
@@ -22,6 +22,7 @@
 #include <assert.h>
 #include <string>
 
+#include "supertux/globals.hpp"
 #include "video/texture_manager.hpp"
 
 /// bitset for drawing effects
@@ -43,12 +44,15 @@ enum DrawingEffect {
 class Texture
 {
 protected:
-  int refcount;
   std::string filename;
 
 public:
-  Texture() : refcount(0), filename() {}
-  virtual ~Texture() {}
+  Texture() : filename() {}
+  virtual ~Texture() 
+  {
+    if (texture_manager)
+      texture_manager->release(this);
+  }
 
   virtual unsigned int get_texture_width() const = 0;
   virtual unsigned int get_texture_height() const = 0;
@@ -65,25 +69,6 @@ public:
     this->filename = filename;
   }
 
-  void ref()
-  {
-    refcount++;
-  }
-
-  void unref()
-  {
-    assert(refcount > 0);
-    refcount--;
-    if(refcount == 0)
-      release();
-  }
-
-private:
-  void release()
-  {
-    texture_manager->release(this);
-  }
-
 private:
   Texture(const Texture&);
   Texture& operator=(const Texture&);