diff options
author | chai <chaifix@163.com> | 2018-12-08 22:05:31 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-12-08 22:05:31 +0800 |
commit | a16ce94158c9cf22a19c0e73dfe2e992a8302af1 (patch) | |
tree | 52d80d950cd410ba82af909e18f77e3b11cd6eda /src/lua/modules/graphics/je_lua_graphics.cpp | |
parent | d34e5c9d7c6135e805f2cc231411cdcc9910190c (diff) |
*去除shared template
Diffstat (limited to 'src/lua/modules/graphics/je_lua_graphics.cpp')
-rw-r--r-- | src/lua/modules/graphics/je_lua_graphics.cpp | 80 |
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; } |