aboutsummaryrefslogtreecommitdiff
path: root/src/lua/graphics/luaopen_Canvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/graphics/luaopen_Canvas.cpp')
-rw-r--r--src/lua/graphics/luaopen_Canvas.cpp31
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;
}