diff options
Diffstat (limited to 'src/lua/modules/graphics')
-rw-r--r-- | src/lua/modules/graphics/je_lua_bitmap.cpp | 6 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_canvas.cpp | 4 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_graphics.cpp | 60 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_page.cpp | 6 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_shader.cpp | 8 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_texture.cpp | 4 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_texture_font.cpp | 4 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_ttf.cpp | 8 | ||||
-rw-r--r-- | src/lua/modules/graphics/je_lua_ttf_data.cpp | 6 |
9 files changed, 47 insertions, 59 deletions
diff --git a/src/lua/modules/graphics/je_lua_bitmap.cpp b/src/lua/modules/graphics/je_lua_bitmap.cpp index a8d5bc0..8d4897b 100644 --- a/src/lua/modules/graphics/je_lua_bitmap.cpp +++ b/src/lua/modules/graphics/je_lua_bitmap.cpp @@ -10,12 +10,12 @@ namespace JinEngine namespace Lua { - typedef Ref<Bitmap>& BitmapRef; + typedef Shared<Bitmap>& BitmapRef; LUA_IMPLEMENT inline BitmapRef checkBitmap(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_BITMAP); - return proxy->getRef<Bitmap>(); + return proxy->getShared<Bitmap>(); } LUA_IMPLEMENT int l_gc(lua_State* L) @@ -88,7 +88,7 @@ namespace JinEngine Bitmap* bitmap = ref.getObject(); Bitmap* b = Bitmap::clone(bitmap); Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_BITMAP, sizeof(Proxy)); - proxy->bind(new Ref<Bitmap>(b, JIN_GRAPHICS_BITMAP)); + proxy->bind(new Shared<Bitmap>(b, JIN_GRAPHICS_BITMAP)); return 1; } diff --git a/src/lua/modules/graphics/je_lua_canvas.cpp b/src/lua/modules/graphics/je_lua_canvas.cpp index f6834b1..87516b3 100644 --- a/src/lua/modules/graphics/je_lua_canvas.cpp +++ b/src/lua/modules/graphics/je_lua_canvas.cpp @@ -10,12 +10,12 @@ namespace JinEngine namespace Lua { - typedef Ref<Canvas>& CanvasRef; + typedef Shared<Canvas>& CanvasRef; LUA_IMPLEMENT inline CanvasRef checkCanvas(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_CANVAS); - return proxy->getRef<Canvas>(); + return proxy->getShared<Canvas>(); } LUA_IMPLEMENT int l_getWidth(lua_State* L) diff --git a/src/lua/modules/graphics/je_lua_graphics.cpp b/src/lua/modules/graphics/je_lua_graphics.cpp index 3befdde..639a542 100644 --- a/src/lua/modules/graphics/je_lua_graphics.cpp +++ b/src/lua/modules/graphics/je_lua_graphics.cpp @@ -165,7 +165,7 @@ namespace JinEngine } } Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_BITMAP, sizeof(Proxy)); - proxy->bind(new Ref<Bitmap>(bitmap, JIN_GRAPHICS_BITMAP)); + proxy->bind(new Shared<Bitmap>(bitmap, JIN_GRAPHICS_BITMAP)); return 1; } @@ -176,7 +176,7 @@ namespace JinEngine if (luax_istype(L, 1, JIN_GRAPHICS_BITMAP)) { Proxy* p = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_BITMAP); - Ref<Bitmap>& refBitmap = p->getRef<Bitmap>(); + Shared<Bitmap>& refBitmap = p->getShared<Bitmap>(); Bitmap* bitmap = refBitmap.getObject(); texture = Texture::createTexture(bitmap); } @@ -186,7 +186,7 @@ namespace JinEngine texture = Texture::createTexture(path); } Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_TEXTURE, sizeof(Proxy)); - proxy->bind(new Ref<Texture>(texture, JIN_GRAPHICS_TEXTURE)); + proxy->bind(new Shared<Texture>(texture, JIN_GRAPHICS_TEXTURE)); return 1; } @@ -201,7 +201,7 @@ namespace JinEngine return 1; } Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_SHADER, sizeof(Proxy)); - proxy->bind(new Ref<Shader>(jsl, JIN_GRAPHICS_SHADER)); + proxy->bind(new Shared<Shader>(jsl, JIN_GRAPHICS_SHADER)); return 1; } @@ -225,7 +225,7 @@ namespace JinEngine return 1; } Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_SHADER, sizeof(Proxy)); - proxy->bind(new Ref<Shader>(jsl, JIN_GRAPHICS_SHADER)); + proxy->bind(new Shared<Shader>(jsl, JIN_GRAPHICS_SHADER)); return 1; } @@ -235,7 +235,7 @@ namespace JinEngine int h = luax_checknumber(L, 2); Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_CANVAS, sizeof(Proxy)); Canvas* cvs = Canvas::createCanvas(w, h); - proxy->bind(new Ref<Canvas>(cvs, JIN_GRAPHICS_CANVAS)); + proxy->bind(new Shared<Canvas>(cvs, JIN_GRAPHICS_CANVAS)); return 1; } @@ -283,7 +283,7 @@ namespace JinEngine float ox = luax_optnumber(L, 7, 0); float oy = luax_optnumber(L, 8, 0); Proxy* proxy = (Proxy*)luax_toudata(L, 1); - Ref<Texture>& tex = proxy->getRef<Texture>(); + Shared<Texture>& tex = proxy->getShared<Texture>(); tex->render(x, y, sx, sy, r, ox, oy); } @@ -299,7 +299,7 @@ namespace JinEngine float ox = luax_optnumber(L, 7, 0); float oy = luax_optnumber(L, 8, 0); Proxy* proxy = (Proxy*)luax_toudata(L, 1); - Ref<Canvas>& p = proxy->getRef<Canvas>(); + Shared<Canvas>& p = proxy->getShared<Canvas>(); p->render(x, y, sx, sy, r, ox, oy); } @@ -389,13 +389,13 @@ namespace JinEngine if (luax_istype(L, 1, JIN_GRAPHICS_TEXTURE)) { Proxy* proxy = (Proxy*)luax_toudata(L, 1); - Ref<Texture>& tex = proxy->getRef<Texture>(); + Shared<Texture>& tex = proxy->getShared<Texture>(); tex->render(q, x, y, sx, sy, r, ox, oy); } else if (luax_istype(L, 1, JIN_GRAPHICS_CANVAS)) { Proxy* proxy = (Proxy*)luax_toudata(L, 1); - Ref<Canvas>& p = proxy->getRef<Canvas>(); + Shared<Canvas>& p = proxy->getShared<Canvas>(); p->render(q, x, y, sx, sy, r, ox, oy); } else @@ -462,7 +462,7 @@ namespace JinEngine return 0; } Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_CANVAS); - Ref<Canvas>& ref = proxy->getRef<Canvas>(); + Shared<Canvas>& ref = proxy->getShared<Canvas>(); Canvas::bind(ref.getObject()); return 0; } @@ -483,7 +483,7 @@ namespace JinEngine if (luax_istype(L, 1, JIN_GRAPHICS_SHADER)) { Proxy* proxy = (Proxy*)luax_toudata(L, 1); - Ref<Shader>& jsl = proxy->getRef<Shader>(); + Shared<Shader>& jsl = proxy->getShared<Shader>(); jsl->use(); } else @@ -496,18 +496,10 @@ namespace JinEngine LUA_IMPLEMENT int l_setBlend(lua_State* L) { - return 0; + return 0; } - LUA_IMPLEMENT RenderMode strtomode(const char* str) - { - std::string s = std::string(str); - if (s == "fill") - return RenderMode::FILL; - else if (s == "line") - return RenderMode::LINE; - else return RenderMode::NONE; - } +#define IntToRenderMode(I) static_cast<RenderMode>(I) LUA_IMPLEMENT int l_point(lua_State* L) { @@ -531,8 +523,7 @@ namespace JinEngine LUA_IMPLEMENT int l_rect(lua_State* L) { - const char* modestr = luax_checkstring(L, 1); - RenderMode mode = strtomode(modestr); + RenderMode mode = IntToRenderMode(luax_checkinteger(L, 1)); if (mode != RenderMode::NONE) { int x = luax_checknumber(L, 2); @@ -552,8 +543,7 @@ namespace JinEngine LUA_IMPLEMENT int l_circle(lua_State* L) { - const char* modestr = luax_checkstring(L, 1); - RenderMode mode = strtomode(modestr); + RenderMode mode = IntToRenderMode(luax_checkinteger(L, 1)); if (mode != RenderMode::NONE) { int x = luax_checknumber(L, 2); @@ -572,8 +562,7 @@ namespace JinEngine LUA_IMPLEMENT int l_triangle(lua_State* L) { - const char* modestr = luax_checkstring(L, 1); - RenderMode mode = strtomode(modestr); + RenderMode mode = IntToRenderMode(luax_checkinteger(L, 1)); if (mode != RenderMode::NONE) { int x = luax_checknumber(L, 2); @@ -598,9 +587,8 @@ namespace JinEngine LUA_IMPLEMENT int l_polygon(lua_State* L) { - const char* modestr = luax_checkstring(L, 1); - int n = luax_checknumber(L, 2); - RenderMode mode = strtomode(modestr); + RenderMode mode = IntToRenderMode(luax_checkinteger(L, 1)); + int n = luax_checknumber(L, 2); if (mode != RenderMode::NONE) { if (!luax_istable(L, 3)) @@ -648,7 +636,7 @@ namespace JinEngine fs->read(path, b); fd = TTFData::createTTFData(&b, b.size()); } - proxy->bind(new Ref<TTFData>(fd, JIN_GRAPHICS_TTFDATA)); + proxy->bind(new Shared<TTFData>(fd, JIN_GRAPHICS_TTFDATA)); return 1; } @@ -672,7 +660,7 @@ namespace JinEngine const char* data = luax_checklstring(L, 1, &length); Text* text = new Text(encode, data, length); Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_TEXT, sizeof(Proxy)); - proxy->bind(new Ref<Text>(text, JIN_GRAPHICS_TEXT)); + proxy->bind(new Shared<Text>(text, JIN_GRAPHICS_TEXT)); return 1; } @@ -724,7 +712,7 @@ namespace JinEngine delete text; } Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_TEXTUREFONT, sizeof(Proxy)); - proxy->bind(new Ref<TextureFont>(textureFont, JIN_GRAPHICS_TEXTUREFONT)); + proxy->bind(new Shared<TextureFont>(textureFont, JIN_GRAPHICS_TEXTUREFONT)); return 1; } @@ -810,7 +798,7 @@ namespace JinEngine LUA_EXPORT int luaopen_graphics(lua_State* L) { - // register types + // Register types. luaopen_Bitmap(L); luaopen_Texture(L); luaopen_Canvas(L); @@ -821,7 +809,7 @@ namespace JinEngine luaopen_Page(L); luaopen_JSL(L); - // load whole lib + // Load whole lib. luax_newlib(L, f); return 1; diff --git a/src/lua/modules/graphics/je_lua_page.cpp b/src/lua/modules/graphics/je_lua_page.cpp index 36754a0..f3c2517 100644 --- a/src/lua/modules/graphics/je_lua_page.cpp +++ b/src/lua/modules/graphics/je_lua_page.cpp @@ -14,7 +14,7 @@ namespace JinEngine namespace Lua { - typedef Ref<Font>& FontRef; + typedef Shared<Font>& FontRef; Page* getPage(lua_State* L) { @@ -27,8 +27,8 @@ namespace JinEngine Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_PAGE); { /* release font */ - Ref<Page>* page = &proxy->getRef<Page>(); - RefBase* font = (RefBase*)page->getUserdata(); + Shared<Page>* page = &proxy->getShared<Page>(); + SharedBase* font = (SharedBase*)page->getUserdata(); font->release(); } proxy->release(); diff --git a/src/lua/modules/graphics/je_lua_shader.cpp b/src/lua/modules/graphics/je_lua_shader.cpp index 9131815..e2e1413 100644 --- a/src/lua/modules/graphics/je_lua_shader.cpp +++ b/src/lua/modules/graphics/je_lua_shader.cpp @@ -11,12 +11,12 @@ namespace JinEngine namespace Lua { - typedef Ref<Shader>& ShaderRef; + typedef Shared<Shader>& ShaderRef; static inline ShaderRef checkShader(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_SHADER); - return proxy->getRef<Shader>(); + return proxy->getShared<Shader>(); } /** @@ -36,7 +36,7 @@ namespace JinEngine ShaderRef ref = checkShader(L); const char* variable = luax_checkstring(L, 2); Proxy* proxy = (Proxy*)luax_checktype(L, 3, JIN_GRAPHICS_TEXTURE); - Ref<Texture>& tex = proxy->getRef<Texture>(); + Shared<Texture>& tex = proxy->getShared<Texture>(); ref->sendTexture(variable, tex.getObject()); return 0; } @@ -46,7 +46,7 @@ namespace JinEngine ShaderRef ref = checkShader(L); const char* variable = luax_checkstring(L, 2); Proxy* proxy = (Proxy*)luax_checktype(L, 3, JIN_GRAPHICS_CANVAS); - Ref<Canvas>& canvas = proxy->getRef<Canvas>(); + Shared<Canvas>& canvas = proxy->getShared<Canvas>(); ref->sendCanvas(variable, canvas.getObject()); return 0; } diff --git a/src/lua/modules/graphics/je_lua_texture.cpp b/src/lua/modules/graphics/je_lua_texture.cpp index 0ab79b5..a643dae 100644 --- a/src/lua/modules/graphics/je_lua_texture.cpp +++ b/src/lua/modules/graphics/je_lua_texture.cpp @@ -10,12 +10,12 @@ namespace JinEngine namespace Lua { - typedef Ref<Texture>& TextureRef; + typedef Shared<Texture>& TextureRef; LUA_IMPLEMENT inline TextureRef checkTexture(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_TEXTURE); - return proxy->getRef<Texture>(); + return proxy->getShared<Texture>(); } LUA_IMPLEMENT int l_getWidth(lua_State* L) diff --git a/src/lua/modules/graphics/je_lua_texture_font.cpp b/src/lua/modules/graphics/je_lua_texture_font.cpp index ba0a504..58011a7 100644 --- a/src/lua/modules/graphics/je_lua_texture_font.cpp +++ b/src/lua/modules/graphics/je_lua_texture_font.cpp @@ -40,10 +40,10 @@ namespace JinEngine page = tf->typeset(*text, lineheight, spacing); } Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_PAGE, sizeof(Proxy)); - Ref<Page>* refPage = new Ref<Page>(page, JIN_GRAPHICS_PAGE); + Shared<Page>* refPage = new Shared<Page>(page, JIN_GRAPHICS_PAGE); { /* retain related ttf */ - Ref<TextureFont>& refTF = p->getRef<TextureFont>(); + Shared<TextureFont>& refTF = p->getShared<TextureFont>(); refTF.retain(); refPage->setUserdata(&refTF); } diff --git a/src/lua/modules/graphics/je_lua_ttf.cpp b/src/lua/modules/graphics/je_lua_ttf.cpp index 49f13c0..4c56ae1 100644 --- a/src/lua/modules/graphics/je_lua_ttf.cpp +++ b/src/lua/modules/graphics/je_lua_ttf.cpp @@ -16,8 +16,8 @@ namespace JinEngine Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_TTF); { /* release ttf data */ - Ref<TTF>* ttf = &proxy->getRef<TTF>(); - RefBase* data = (RefBase*)ttf->getUserdata(); + Shared<TTF>* ttf = &proxy->getShared<TTF>(); + SharedBase* data = (SharedBase*)ttf->getUserdata(); data->release(); } proxy->release(); @@ -46,10 +46,10 @@ namespace JinEngine page = ttf->typeset(*text, lineheight, spacing); } Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_PAGE, sizeof(Proxy)); - Ref<Page>* refPage = new Ref<Page>(page, JIN_GRAPHICS_PAGE); + Shared<Page>* refPage = new Shared<Page>(page, JIN_GRAPHICS_PAGE); { /* retain related ttf */ - Ref<TTF>& refTTF = p->getRef<TTF>(); + Shared<TTF>& refTTF = p->getShared<TTF>(); refTTF.retain(); refPage->setUserdata(&refTTF); } diff --git a/src/lua/modules/graphics/je_lua_ttf_data.cpp b/src/lua/modules/graphics/je_lua_ttf_data.cpp index 4212778..d076ab8 100644 --- a/src/lua/modules/graphics/je_lua_ttf_data.cpp +++ b/src/lua/modules/graphics/je_lua_ttf_data.cpp @@ -15,13 +15,13 @@ namespace JinEngine { Proxy* p = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_TTFDATA); int fontsize = luax_checkinteger(L, 2); - Ref<TTFData>& refFontData = p->getRef<TTFData>(); + Shared<TTFData>& refFontData = p->getShared<TTFData>(); TTFData* fontData = refFontData.getObject(); Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_TTF, sizeof(Proxy)); TTF* font = fontData->createTTF(fontsize); - Ref<TTF>* refTTF = new Ref<TTF>(font, JIN_GRAPHICS_TTF); + Shared<TTF>* refTTF = new Shared<TTF>(font, JIN_GRAPHICS_TTF); { - Ref<TTFData>& refTTFData = p->getRef<TTFData>(); + Shared<TTFData>& refTTFData = p->getShared<TTFData>(); refTTFData.retain(); refTTF->setUserdata(&refTTFData); } |