aboutsummaryrefslogtreecommitdiff
path: root/src/lua/graphics/Canvas.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-08-14 14:56:47 +0800
committerchai <chaifix@163.com>2018-08-14 14:56:47 +0800
commit5c9af043503f92852a1a765b6ecfbc1aea24d2e9 (patch)
treeeb371092c4137a672e7bfc13dc56ee777623ebfe /src/lua/graphics/Canvas.h
parent5162f84be0a4deb447c6ba1226722b049335d525 (diff)
*update
Diffstat (limited to 'src/lua/graphics/Canvas.h')
-rw-r--r--src/lua/graphics/Canvas.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/lua/graphics/Canvas.h b/src/lua/graphics/Canvas.h
new file mode 100644
index 0000000..d80ff79
--- /dev/null
+++ b/src/lua/graphics/Canvas.h
@@ -0,0 +1,59 @@
+#ifndef __JIN_LUA_GRAPHICS_CANVAS_H
+#define __JIN_LUA_GRAPHICS_CANVAS_H
+#include "libjin/jin.h"
+#include "../luaopen_types.h"
+
+namespace jin
+{
+namespace lua
+{
+namespace graphics
+{
+
+ class Canvas : public Object
+ {
+ public:
+ static Canvas* createCanvas(int w, int h);
+
+ int getWidth()
+ {
+ return canvas->getWidth();
+ }
+ int getHeight()
+ {
+ return canvas->getHeight();
+ }
+ void setAnchor(int x, int y)
+ {
+ canvas->setAnchor(x, y);
+ }
+ inline const jin::graphics::Canvas* getRawCanvas() const
+ {
+ return canvas;
+ }
+ void bind()
+ {
+ canvas->bind();
+ }
+
+ void draw(int x, int y, float sx, float sy, float r)
+ {
+ canvas->draw(x, y, sx, sy, r);
+ }
+
+ static void unbind();
+
+ private:
+ ~Canvas()
+ {
+ delete canvas;
+ }
+ jin::graphics::Canvas* canvas;
+
+ };
+
+} // graphics
+} // lua
+} // jin
+
+#endif \ No newline at end of file