aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/graphics/je_lua_ttf_data.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/modules/graphics/je_lua_ttf_data.cpp')
-rw-r--r--src/lua/modules/graphics/je_lua_ttf_data.cpp23
1 files changed, 12 insertions, 11 deletions
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<TTFData>& refFontData = p->getShared<TTFData>();
- TTFData* fontData = refFontData.getObject();
- Proxy* proxy = luax_newinstance(L, JIN_GRAPHICS_TTF);
+ Shared<TTFData>& shrFontData = pxyTTFData->getShared<TTFData>();
+ TTFData* fontData = shrFontData.getObject();
+ Proxy* pxyTTF = luax_newinstance(L, JIN_GRAPHICS_TTF);
TTF* font = fontData->createTTF(fontsize);
- Shared<TTF>* refTTF = new Shared<TTF>(font, JIN_GRAPHICS_TTF);
- {
- Shared<TTFData>& refTTFData = p->getShared<TTFData>();
- refTTFData.retain();
- refTTF->setUserdata(&refTTFData);
- }
- proxy->bind(refTTF);
+ Shared<TTF>* shrTTF = new Shared<TTF>(font, JIN_GRAPHICS_TTF);
+ shrTTF->setDependency(DEP_TTFDATA, &shrFontData);
+ pxyTTF->bind(shrTTF);
return 1;
}