From 0bfff69053e27fbb6e541a6b8afa6c8e61a62403 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 14 Nov 2018 00:51:15 +0800 Subject: =?UTF-8?q?*shared=20=E5=A2=9E=E5=8A=A0=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lua/modules/graphics/je_lua_ttf_data.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'src/lua/modules/graphics/je_lua_ttf_data.cpp') diff --git a/src/lua/modules/graphics/je_lua_ttf_data.cpp b/src/lua/modules/graphics/je_lua_ttf_data.cpp index cc91d60..4df2f6e 100644 --- a/src/lua/modules/graphics/je_lua_ttf_data.cpp +++ b/src/lua/modules/graphics/je_lua_ttf_data.cpp @@ -11,21 +11,22 @@ namespace JinEngine namespace Lua { + enum TTFDependency + { + DEP_TTFDATA = 1, + }; + LUA_IMPLEMENT int l_newTTF(lua_State* L) { - Proxy* p = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_TTFDATA); + Proxy* pxyTTFData = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_TTFDATA); int fontsize = luax_checkinteger(L, 2); - Shared& refFontData = p->getShared(); - TTFData* fontData = refFontData.getObject(); - Proxy* proxy = luax_newinstance(L, JIN_GRAPHICS_TTF); + Shared& shrFontData = pxyTTFData->getShared(); + TTFData* fontData = shrFontData.getObject(); + Proxy* pxyTTF = luax_newinstance(L, JIN_GRAPHICS_TTF); TTF* font = fontData->createTTF(fontsize); - Shared* refTTF = new Shared(font, JIN_GRAPHICS_TTF); - { - Shared& refTTFData = p->getShared(); - refTTFData.retain(); - refTTF->setUserdata(&refTTFData); - } - proxy->bind(refTTF); + Shared* shrTTF = new Shared(font, JIN_GRAPHICS_TTF); + shrTTF->setDependency(DEP_TTFDATA, &shrFontData); + pxyTTF->bind(shrTTF); return 1; } -- cgit v1.1-26-g67d0