diff options
author | chai <chaifix@163.com> | 2018-11-22 12:23:12 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-11-22 12:23:12 +0800 |
commit | 7a20483f06624e82feb129c9e4c8fa13881a6a9f (patch) | |
tree | 82707e7546fe14d1b781a2e15f65f6ef976ac322 /src/lua/modules/graphics/je_lua_graphics.cpp | |
parent | 7256d216ecf154d6418c1f3b36dd58a2b69b7827 (diff) |
*修改lua bind
Diffstat (limited to 'src/lua/modules/graphics/je_lua_graphics.cpp')
-rw-r--r-- | src/lua/modules/graphics/je_lua_graphics.cpp | 51 |
1 files changed, 17 insertions, 34 deletions
diff --git a/src/lua/modules/graphics/je_lua_graphics.cpp b/src/lua/modules/graphics/je_lua_graphics.cpp index 4ebd1ee..cc67055 100644 --- a/src/lua/modules/graphics/je_lua_graphics.cpp +++ b/src/lua/modules/graphics/je_lua_graphics.cpp @@ -208,8 +208,7 @@ namespace JinEngine return 1; } } - Proxy* proxy = luax_newinstance(L, Jin_Lua_Bitmap); - proxy->bind(new Shared<Bitmap>(bitmap, Jin_Lua_Bitmap)); + Proxy* proxy = luax_newinstance(L, Jin_Lua_Bitmap, new Shared<Bitmap>(bitmap, Jin_Lua_Bitmap)); return 1; } @@ -229,8 +228,7 @@ namespace JinEngine const char* path = luax_checkstring(L, 1); texture = Texture::createTexture(path); } - Proxy* proxy = luax_newinstance(L, Jin_Lua_Texture); - proxy->bind(new Shared<Texture>(texture, Jin_Lua_Texture)); + Proxy* proxy = luax_newinstance(L, Jin_Lua_Texture, new Shared<Texture>(texture, Jin_Lua_Texture)); return 1; } @@ -244,8 +242,7 @@ namespace JinEngine luax_pushnil(L); return 1; } - Proxy* proxy = luax_newinstance(L, Jin_Lua_Shader); - proxy->bind(new Shared<Shader>(jsl, Jin_Lua_Shader)); + Proxy* proxy = luax_newinstance(L, Jin_Lua_Shader, new Shared<Shader>(jsl, Jin_Lua_Shader)); return 1; } @@ -268,8 +265,7 @@ namespace JinEngine luax_pushnil(L); return 1; } - Proxy* proxy = luax_newinstance(L, Jin_Lua_Shader); - proxy->bind(new Shared<Shader>(jsl, Jin_Lua_Shader)); + Proxy* proxy = luax_newinstance(L, Jin_Lua_Shader, new Shared<Shader>(jsl, Jin_Lua_Shader)); return 1; } @@ -277,9 +273,8 @@ namespace JinEngine { int w = luax_checknumber(L, 1); int h = luax_checknumber(L, 2); - Proxy* proxy = luax_newinstance(L, Jin_Lua_Canvas); Canvas* cvs = Canvas::createCanvas(w, h); - proxy->bind(new Shared<Canvas>(cvs, Jin_Lua_Canvas)); + Proxy* proxy = luax_newinstance(L, Jin_Lua_Canvas, new Shared<Canvas>(cvs, Jin_Lua_Canvas)); return 1; } @@ -676,7 +671,6 @@ namespace JinEngine LUA_IMPLEMENT int l_newTTFData(lua_State* L) { - Proxy* proxy = luax_newinstance(L, Jin_Lua_TTFData); TTFData* fd = nullptr; { const char* path = luax_checkstring(L, 1); @@ -691,7 +685,7 @@ namespace JinEngine fs->read(path, b); fd = TTFData::createTTFData(&b, b.size()); } - proxy->bind(new Shared<TTFData>(fd, Jin_Lua_TTFData)); + Proxy* proxy = luax_newinstance(L, Jin_Lua_TTFData, new Shared<TTFData>(fd, Jin_Lua_TTFData)); return 1; } @@ -714,8 +708,7 @@ namespace JinEngine unsigned length; const char* data = luax_checklstring(L, 1, &length); Text* text = new Text(encode, data, length); - Proxy* proxy = luax_newinstance(L, Jin_Lua_Text); - proxy->bind(new Shared<Text>(text, Jin_Lua_Text)); + Proxy* proxy = luax_newinstance(L, Jin_Lua_Text, new Shared<Text>(text, Jin_Lua_Text)); return 1; } @@ -743,8 +736,7 @@ namespace JinEngine quad.h = luax_rawgetnumberthenpop(L, 2, 4); int o = luax_checkinteger(L, 3); Origin origin = static_cast<Origin>(o); - Proxy* p = luax_newinstance(L, Jin_Lua_Sprite); - p->bind(new Shared<Sprite>(new Sprite(graphic, quad, origin), Jin_Lua_Sprite)); + Proxy* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared<Sprite>(new Sprite(graphic, quad, origin), Jin_Lua_Sprite)); } else if (n == 4) { @@ -755,22 +747,19 @@ namespace JinEngine quad.h = luax_rawgetnumberthenpop(L, 2, 4); int ox = luax_checkinteger(L, 3); int oy = luax_checkinteger(L, 4); - Proxy* p = luax_newinstance(L, Jin_Lua_Sprite); - p->bind(new Shared<Sprite>(new Sprite(graphic, quad, ox, oy), Jin_Lua_Sprite)); + Proxy* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared<Sprite>(new Sprite(graphic, quad, ox, oy), Jin_Lua_Sprite)); } else if (n == 2) { int o = luax_checkinteger(L, 2); Origin origin = static_cast<Origin>(o); - Proxy* p = luax_newinstance(L, Jin_Lua_Sprite); - p->bind(new Shared<Sprite>(new Sprite(graphic, origin), Jin_Lua_Sprite)); + Proxy* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared<Sprite>(new Sprite(graphic, origin), Jin_Lua_Sprite)); } else if (n == 3) { int ox = luax_checkinteger(L, 2); int oy = luax_checkinteger(L, 3); - Proxy* p = luax_newinstance(L, Jin_Lua_Sprite); - p->bind(new Shared<Sprite>(new Sprite(graphic, ox, oy), Jin_Lua_Sprite)); + Proxy* p = luax_newinstance(L, Jin_Lua_Sprite, new Shared<Sprite>(new Sprite(graphic, ox, oy), Jin_Lua_Sprite)); } else { @@ -791,12 +780,11 @@ namespace JinEngine pxyGraphic = (Proxy*)luax_checktype(L, 1, Jin_Lua_Canvas); if (pxyGraphic != nullptr) { - Proxy* pxySSheet = luax_newinstance(L, Jin_Lua_SpriteSheet); Graphic* graphic = pxyGraphic->getObject<Graphic>(); Shared<SpriteSheet>* shrSSheet = new Shared<SpriteSheet>(new SpriteSheet(graphic), Jin_Lua_SpriteSheet); Shared<Graphic>& shrGraphic = pxyGraphic->getShared<Graphic>(); shrSSheet->setDependency((int)SpriteSheetDependency::DEP_GRAPHIC, &shrGraphic); - pxySSheet->bind(shrSSheet); + Proxy* pxySSheet = luax_newinstance(L, Jin_Lua_SpriteSheet, shrSSheet); return 1; } else @@ -830,8 +818,7 @@ namespace JinEngine (*shrAnimation)->setLoop(loop); (*shrAnimation)->setSpeed(speed); } - Proxy* pxyAnimation = luax_newinstance(L, Jin_Lua_Animation); - pxyAnimation->bind(shrAnimation); + Proxy* pxyAnimation = luax_newinstance(L, Jin_Lua_Animation, shrAnimation); return 1; } @@ -847,8 +834,7 @@ namespace JinEngine (*shrAniamtor)->setAnimation(shrAnimtion.getObject()); (*shrAniamtor).setDependency((int)AnimatorDependency::DEP_ANIMATION, &shrAnimtion); } - Proxy* pxyAnimator = luax_newinstance(L, Jin_Lua_Animator); - pxyAnimator->bind(shrAniamtor); + Proxy* pxyAnimator = luax_newinstance(L, Jin_Lua_Animator, shrAniamtor); return 1; } @@ -899,8 +885,7 @@ namespace JinEngine // Delete temporary text. delete text; } - Proxy* proxy = luax_newinstance(L, Jin_Lua_TextureFont); - proxy->bind(new Shared<TextureFont>(textureFont, Jin_Lua_TextureFont)); + Proxy* proxy = luax_newinstance(L, Jin_Lua_TextureFont, new Shared<TextureFont>(textureFont, Jin_Lua_TextureFont)); return 1; } @@ -985,7 +970,7 @@ namespace JinEngine luaopen_Animation(L); luaopen_Animator(L); - luaL_Reg f[] = { + luaL_Reg methods[] = { /* window */ { "init", l_init }, { "setTitle", l_setTitle }, @@ -1041,10 +1026,8 @@ namespace JinEngine { "scale", l_scale }, { 0, 0 } }; - // Load whole lib. - luax_newlib(L, f); - + luax_newlib(L, methods); return 1; } |