diff options
Diffstat (limited to 'src/render/drawable.h')
-rw-r--r-- | src/render/drawable.h | 47 |
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 |