]> Dogcows Code - chaz/yoink/blobdiff - src/texture.hh
new classes: resource, tilemap, animation
[chaz/yoink] / src / texture.hh
index 6fa4e326c7a51c16d83641e5759ca58853a85723..1be4c5a004287fe51fc7e0832870e638055d13fe 100644 (file)
 #ifndef _TEXTURE_HH_
 #define _TEXTURE_HH_
 
+/**
+ * @file texture.hh
+ * Image-loading and OpenGL texture loading.
+ */
+
+#include <stdexcept>
+
 #include <boost/shared_ptr.hpp>
 
+#include "resource.hh"
 #include "opengl.hh"
 
 
@@ -39,18 +47,22 @@ namespace dc {
 
 class texture_impl;
 
-class texture
+class texture : public resource
 {
 public:
-       texture(const std::string& filePath, bool keepInMemory = false);
-
-       const std::string& filePath();
+       texture(const std::string& name, bool keepInMemory = false);
 
        void bind();
-       GLuint object();
+       GLuint getObject();
+
+       unsigned getWidth();
+       unsigned getHeight();
 
-       unsigned width();
-       unsigned height();
+       struct exception : std::runtime_error
+       {
+               explicit exception(const std::string& what_arg) :
+                       std::runtime_error(what_arg) {}
+       };
 
 private:
        boost::shared_ptr<texture_impl> impl;
This page took 0.019195 seconds and 4 git commands to generate.