aboutsummaryrefslogtreecommitdiff
path: root/src/render/drawable.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/drawable.h')
-rw-r--r--src/render/drawable.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/render/drawable.h b/src/render/drawable.h
new file mode 100644
index 0000000..f13c5a9
--- /dev/null
+++ b/src/render/drawable.h
@@ -0,0 +1,47 @@
+#ifndef __JIN_DRAWABLE
+#define __JIN_DRAWABLE
+#include "libs/GLee/GLee.h"
+namespace jin
+{
+namespace render
+{
+ class Drawable
+ {
+ public:
+
+ Drawable();
+ virtual ~Drawable();
+
+ /* pseudo constructor*/
+ void init(int w = 0, int h = 0);
+
+ /* set anchor of texture, (0, 0) by default */
+ void setAnchor(int x, int y);
+
+ void draw(int x, int y, float sx, float sy, float r);
+
+ int getWidth();
+ int getHeight();
+
+ 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