aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/graphics/je_lua_graphics.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/modules/graphics/je_lua_graphics.cpp')
-rw-r--r--src/lua/modules/graphics/je_lua_graphics.cpp80
1 files changed, 40 insertions, 40 deletions
diff --git a/src/lua/modules/graphics/je_lua_graphics.cpp b/src/lua/modules/graphics/je_lua_graphics.cpp
index 40bb4fa..accd209 100644
--- a/src/lua/modules/graphics/je_lua_graphics.cpp
+++ b/src/lua/modules/graphics/je_lua_graphics.cpp
@@ -208,7 +208,7 @@ namespace JinEngine
return 1;
}
}
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Bitmap, new Shared<Bitmap>(bitmap, Jin_Lua_Bitmap));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Bitmap, new Shared(bitmap, Jin_Lua_Bitmap));
return 1;
}
@@ -218,9 +218,8 @@ namespace JinEngine
Texture* texture = nullptr;
if (luax_istype(L, 1, Jin_Lua_Bitmap))
{
- LuaObject* p = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Bitmap);
- Shared<Bitmap>& refBitmap = p->getShared<Bitmap>();
- Bitmap* bitmap = refBitmap.getObject();
+ LuaObject* luaObj = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Bitmap);
+ Bitmap* bitmap = luaObj->getObject<Bitmap>();
texture = new Texture(bitmap);
}
else if (luax_isstring(L, 1))
@@ -228,7 +227,7 @@ namespace JinEngine
const char* path = luax_checkstring(L, 1);
texture = new Texture(path);
}
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Texture, new Shared<Texture>(texture, Jin_Lua_Texture));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Texture, new Shared(texture, Jin_Lua_Texture));
return 1;
}
@@ -242,7 +241,7 @@ namespace JinEngine
luax_pushnil(L);
return 1;
}
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Shader, new Shared<Shader>(jsl, Jin_Lua_Shader));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Shader, new Shared(jsl, Jin_Lua_Shader));
return 1;
}
@@ -265,7 +264,7 @@ namespace JinEngine
luax_pushnil(L);
return 1;
}
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Shader, new Shared<Shader>(jsl, Jin_Lua_Shader));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Shader, new Shared(jsl, Jin_Lua_Shader));
return 1;
}
@@ -274,7 +273,7 @@ namespace JinEngine
int w = luax_checknumber(L, 1);
int h = luax_checknumber(L, 2);
Canvas* cvs = new Canvas(w, h);
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Canvas, new Shared<Canvas>(cvs, Jin_Lua_Canvas));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Canvas, new Shared(cvs, Jin_Lua_Canvas));
return 1;
}
@@ -322,7 +321,7 @@ namespace JinEngine
float ox = luax_optnumber(L, 7, 0);
float oy = luax_optnumber(L, 8, 0);
LuaObject* luaObj = (LuaObject*)luax_toudata(L, 1);
- Shared<Texture>& tex = luaObj->getShared<Texture>();
+ Texture* tex = luaObj->getObject<Texture>();
tex->render(x, y, sx, sy, r, ox, oy);
}
@@ -338,8 +337,8 @@ namespace JinEngine
float ox = luax_optnumber(L, 7, 0);
float oy = luax_optnumber(L, 8, 0);
LuaObject* luaObj = (LuaObject*)luax_toudata(L, 1);
- Shared<Canvas>& p = luaObj->getShared<Canvas>();
- p->render(x, y, sx, sy, r, ox, oy);
+ Canvas* canvas = luaObj->getObject<Canvas>();
+ canvas->render(x, y, sx, sy, r, ox, oy);
}
/* jin.graphics.draw(text, font, x, y) */
@@ -444,14 +443,14 @@ namespace JinEngine
if (luax_istype(L, 1, Jin_Lua_Texture))
{
LuaObject* luaObj = (LuaObject*)luax_toudata(L, 1);
- Shared<Texture>& tex = luaObj->getShared<Texture>();
+ Texture* tex = luaObj->getObject<Texture>();
tex->render(q, x, y, sx, sy, r, ox, oy);
}
else if (luax_istype(L, 1, Jin_Lua_Canvas))
{
LuaObject* luaObj = (LuaObject*)luax_toudata(L, 1);
- Shared<Canvas>& p = luaObj->getShared<Canvas>();
- p->render(q, x, y, sx, sy, r, ox, oy);
+ Canvas* canvas = luaObj->getObject<Canvas>();
+ canvas->render(q, x, y, sx, sy, r, ox, oy);
}
else
{
@@ -514,8 +513,8 @@ namespace JinEngine
return 0;
}
LuaObject* luaObj = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Canvas);
- Shared<Canvas>& shared = luaObj->getShared<Canvas>();
- gl.bindCanvas(shared.getObject());
+ Canvas* canvas = luaObj->getObject<Canvas>();
+ gl.bindCanvas(canvas);
return 0;
}
@@ -535,8 +534,8 @@ namespace JinEngine
if (luax_istype(L, 1, Jin_Lua_Shader))
{
LuaObject* luaObj = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Shader);
- Shared<Shader>& shader = luaObj->getShared<Shader>();
- gl.useShader(shader.getObject());
+ Shader* shader = luaObj->getObject<Shader>();
+ gl.useShader(shader);
}
else
{
@@ -685,7 +684,7 @@ namespace JinEngine
fs->read(path, b);
fd = new TTFData(&b, b.size());
}
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_TTFData, new Shared<TTFData>(fd, Jin_Lua_TTFData));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_TTFData, new Shared(fd, Jin_Lua_TTFData));
return 1;
}
@@ -708,7 +707,7 @@ namespace JinEngine
unsigned length;
const char* data = luax_checklstring(L, 1, &length);
Text* text = new Text(encode, data, length);
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Text, new Shared<Text>(text, Jin_Lua_Text));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Text, new Shared(text, Jin_Lua_Text));
return 1;
}
@@ -736,7 +735,7 @@ namespace JinEngine
quad.h = luax_rawgetnumberthenpop(L, 2, 4);
int o = luax_checkinteger(L, 3);
Origin origin = static_cast<Origin>(o);
- LuaObject* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared<Sprite>(new Sprite(graphic, quad, origin), Jin_Lua_Sprite));
+ LuaObject* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared(new Sprite(graphic, quad, origin), Jin_Lua_Sprite));
p->setDependency((int)SpriteDependency::DEP_GRAPHIC, objGraphic->getShared());
}
else if (n == 4)
@@ -748,21 +747,21 @@ namespace JinEngine
quad.h = luax_rawgetnumberthenpop(L, 2, 4);
int ox = luax_checkinteger(L, 3);
int oy = luax_checkinteger(L, 4);
- LuaObject* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared<Sprite>(new Sprite(graphic, quad, ox, oy), Jin_Lua_Sprite));
+ LuaObject* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared(new Sprite(graphic, quad, ox, oy), Jin_Lua_Sprite));
p->setDependency((int)SpriteDependency::DEP_GRAPHIC, objGraphic->getShared());
}
else if (n == 2)
{
int o = luax_checkinteger(L, 2);
Origin origin = static_cast<Origin>(o);
- LuaObject* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared<Sprite>(new Sprite(graphic, origin), Jin_Lua_Sprite));
+ LuaObject* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared(new Sprite(graphic, origin), Jin_Lua_Sprite));
p->setDependency((int)SpriteDependency::DEP_GRAPHIC, objGraphic->getShared());
}
else if (n == 3)
{
int ox = luax_checkinteger(L, 2);
int oy = luax_checkinteger(L, 3);
- LuaObject* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared<Sprite>(new Sprite(graphic, ox, oy), Jin_Lua_Sprite));
+ LuaObject* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared(new Sprite(graphic, ox, oy), Jin_Lua_Sprite));
p->setDependency((int)SpriteDependency::DEP_GRAPHIC, objGraphic->getShared());
}
else
@@ -785,10 +784,10 @@ namespace JinEngine
if (objGraphic != nullptr)
{
Graphic* graphic = objGraphic->getObject<Graphic>();
- Shared<SpriteSheet>* shrSSheet = new Shared<SpriteSheet>(new SpriteSheet(graphic), Jin_Lua_SpriteSheet);
- Shared<Graphic>& shrGraphic = objGraphic->getShared<Graphic>();
+ Shared* shrSSheet = new Shared(new SpriteSheet(graphic), Jin_Lua_SpriteSheet);
+ Shared* shrGraphic = objGraphic->getShared();
LuaObject* luaSSheet = luax_newinstance(L, Jin_Lua_SpriteSheet, shrSSheet);
- luaSSheet->setDependency((int)SpriteSheetDependency::DEP_GRAPHIC, &shrGraphic);
+ luaSSheet->setDependency((int)SpriteSheetDependency::DEP_GRAPHIC, shrGraphic);
return 1;
}
else
@@ -799,7 +798,8 @@ namespace JinEngine
LUA_IMPLEMENT int l_newAnimation(lua_State* L)
{
int argc = luax_gettop(L);
- Shared<Animation>* shrAnimation = new Shared<Animation>(new Animation(), Jin_Lua_Animation);
+ Animation* animation = new Animation();
+ Shared* shrAnimation = new Shared(animation, Jin_Lua_Animation);
LuaObject* luaAnimation = luax_newinstance(L, Jin_Lua_Animation, shrAnimation);
if (argc >= 3)
{
@@ -815,13 +815,12 @@ namespace JinEngine
{
luax_rawgeti(L, 1, i);
LuaObject* luaSprite = (LuaObject*)luax_checktype(L, -1, Jin_Lua_Sprite);
- Shared<Sprite>& shrSprite = luaSprite->getShared<Sprite>();
- (*shrAnimation)->addFrame(shrSprite.getObject());
- int index = (*shrAnimation)->getFrameCount() - 1;
- luaAnimation->setDependency((int)AnimationDependency::DEP_SPRITES + index, &shrSprite);
+ animation->addFrame(luaSprite->getObject<Sprite>());
+ int index = animation->getFrameCount() - 1;
+ luaAnimation->setDependency((int)AnimationDependency::DEP_SPRITES + index, luaSprite->getShared());
}
- (*shrAnimation)->setLoop(loop);
- (*shrAnimation)->setSpeed(speed);
+ animation->setLoop(loop);
+ animation->setSpeed(speed);
}
luax_pushvalue(L, argc + 1);
return 1;
@@ -831,14 +830,15 @@ namespace JinEngine
LUA_IMPLEMENT int l_newAnimator(lua_State* L)
{
int argc = luax_gettop(L);
- Shared<Animator>* shrAniamtor = new Shared<Animator>(new Animator(), Jin_Lua_Animator);
+ Animator* animator = new Animator();
+ Shared* shrAniamtor = new Shared(animator, Jin_Lua_Animator);
if (argc >= 1)
{
LuaObject* luaAnimation = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Animation);
- Shared<Animation>& shrAnimtion = luaAnimation->getShared<Animation>();
- (*shrAniamtor)->setAnimation(shrAnimtion.getObject());
+ Shared* shrAnimtion = luaAnimation->getShared();
+ animator->setAnimation(shrAnimtion->getObject<Animation>());
LuaObject* luaAnimator = luax_newinstance(L, Jin_Lua_Animator, shrAniamtor);
- luaAnimator->setDependency((int)AnimatorDependency::DEP_ANIMATION, &shrAnimtion);
+ luaAnimator->setDependency((int)AnimatorDependency::DEP_ANIMATION, shrAnimtion);
return 1;
}
LuaObject* luaAnimator = luax_newinstance(L, Jin_Lua_Animator, shrAniamtor);
@@ -892,13 +892,13 @@ namespace JinEngine
// Delete temporary text.
delete text;
}
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_TextureFont, new Shared<TextureFont>(textureFont, Jin_Lua_TextureFont));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_TextureFont, new Shared(textureFont, Jin_Lua_TextureFont));
return 1;
}
LUA_IMPLEMENT int l_newParticleSystem(lua_State* L)
{
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_ParticleSystem, new Shared<ParticleSystem>(new ParticleSystem(), Jin_Lua_ParticleSystem));
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_ParticleSystem, new Shared(new ParticleSystem(), Jin_Lua_ParticleSystem));
return 1;
}