aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Render/Drawable.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Render/Drawable.h')
-rw-r--r--src/libjin/Render/Drawable.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/libjin/Render/Drawable.h b/src/libjin/Render/Drawable.h
new file mode 100644
index 0000000..f8e25a2
--- /dev/null
+++ b/src/libjin/Render/Drawable.h
@@ -0,0 +1,56 @@
+#ifndef __JIN_DRAWABLE
+#define __JIN_DRAWABLE
+#include "../modules.h"
+#if JIN_MODULES_RENDER
+
+#include "3rdparty/GLee/GLee.h"
+namespace jin
+{
+namespace render
+{
+ class Drawable
+ {
+ public:
+ Drawable(int w = 0, int h = 0);
+ virtual ~Drawable();
+
+ void setAnchor(int x, int y);
+
+ void draw(int x, int y, float sx, float sy, float r);
+
+ inline int Drawable::getWidth() const
+ {
+ return width;
+ }
+
+ inline int Drawable::getHeight() const
+ {
+ return height;
+ }
+
+ inline GLuint getTexture() const
+ {
+ return texture;
+ };
+
+ protected:
+#define DRAWABLE_V_SIZE 8
+ void setVertices(float* v, float* t);
+
+ GLuint texture;
+
+ int width, height;
+
+ /* anchor point */
+ int ancx, ancy;
+
+ // render coords
+ float* textCoord;
+ float* vertCoord;
+
+ };
+}
+}// jin
+
+#endif // JIN_MODULES_RENDER
+#endif