diff options
author | chai <chaifix@163.com> | 2018-08-16 14:21:56 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-08-16 14:21:56 +0800 |
commit | 8585c92b7d0744a1f1a39c872cf5096621161b6c (patch) | |
tree | 6aa02138f39f7b11ab17c7399064353092b8df0c /src/lua/graphics/luaopen_Canvas.cpp | |
parent | be9b27dbf550093b555ab3087c11b38c89ab9fd0 (diff) |
*update
Diffstat (limited to 'src/lua/graphics/luaopen_Canvas.cpp')
-rw-r--r-- | src/lua/graphics/luaopen_Canvas.cpp | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/lua/graphics/luaopen_Canvas.cpp b/src/lua/graphics/luaopen_Canvas.cpp index d08b181..7b694e9 100644 --- a/src/lua/graphics/luaopen_Canvas.cpp +++ b/src/lua/graphics/luaopen_Canvas.cpp @@ -1,50 +1,49 @@ #include "lua/luax.h" #include "lua/luaopen_types.h" -#include "Canvas.h" +#include "libjin/jin.h" namespace jin { namespace lua { - using namespace lua::graphics; + using namespace jin::graphics; - static inline Canvas* checkCanvas(lua_State* L) + static inline Ref<Canvas>& checkCanvas(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_CANVAS); - if (proxy != nullptr) - return (Canvas*)proxy->object; - return nullptr; - } + Ref<Canvas>* ref = (Ref<Canvas>*)proxy->reference; + return *ref; + } static int l_getWidth(lua_State* L) { - Canvas* c = checkCanvas(L); - luax_pushnumber(L, c->getWidth()); + Ref<Canvas>& ref = checkCanvas(L); + luax_pushnumber(L, (*ref).getWidth()); return 1; } static int l_getHeight(lua_State* L) { - Canvas* c = checkCanvas(L); - luax_pushnumber(L, c->getHeight()); + Ref<Canvas>& ref = checkCanvas(L); + luax_pushnumber(L, (*ref).getHeight()); return 1; } static int l_getSize(lua_State* L) { - Canvas* c = checkCanvas(L); - luax_pushnumber(L, c->getWidth()); - luax_pushnumber(L, c->getHeight()); + Ref<Canvas>& ref = checkCanvas(L); + luax_pushnumber(L, (*ref).getWidth()); + luax_pushnumber(L, (*ref).getHeight()); return 2; } static int l_setAnchor(lua_State* L) { - Canvas* c = checkCanvas(L); + Ref<Canvas>& ref = checkCanvas(L); int x = luax_checknumber(L, 1); int y = luax_checknumber(L, 2); - c->setAnchor(x, y); + (*ref).setAnchor(x, y); return 0; } |