aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/modules/graphics')
-rw-r--r--src/lua/modules/graphics/je_lua_bitmap.cpp6
-rw-r--r--src/lua/modules/graphics/je_lua_canvas.cpp4
-rw-r--r--src/lua/modules/graphics/je_lua_graphics.cpp60
-rw-r--r--src/lua/modules/graphics/je_lua_page.cpp6
-rw-r--r--src/lua/modules/graphics/je_lua_shader.cpp8
-rw-r--r--src/lua/modules/graphics/je_lua_texture.cpp4
-rw-r--r--src/lua/modules/graphics/je_lua_texture_font.cpp4
-rw-r--r--src/lua/modules/graphics/je_lua_ttf.cpp8
-rw-r--r--src/lua/modules/graphics/je_lua_ttf_data.cpp6
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);
}