aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/graphics/texture_font.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/modules/graphics/texture_font.cpp')
-rw-r--r--src/lua/modules/graphics/texture_font.cpp67
1 files changed, 0 insertions, 67 deletions
diff --git a/src/lua/modules/graphics/texture_font.cpp b/src/lua/modules/graphics/texture_font.cpp
deleted file mode 100644
index a2e88ba..0000000
--- a/src/lua/modules/graphics/texture_font.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#include "lua/modules/luax.h"
-#include "lua/modules/types.h"
-#include "lua/common/common.h"
-#include "libjin/jin.h"
-
-namespace JinEngine
-{
- namespace Lua
- {
-
- using namespace JinEngine::Graphics;
-
- static int l_gc(lua_State* L)
- {
- Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_TEXTUREFONT);
- proxy->release();
- return 0;
- }
-
- /* typeset(Text | string, lineheight, spacing) */
- static int l_typeset(lua_State* L)
- {
- Proxy* p = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_TEXTUREFONT);
- TextureFont* tf = p->getObject<TextureFont>();
- int lineheight = luax_checkinteger(L, 3);
- int spacing = luax_optnumber(L, 4, 0);
- Page* page = nullptr;
- if (luax_isstring(L, 2))
- {
- unsigned length;
- const char* str = luax_checklstring(L, 2, &length);
- Text text(Encode::UTF8, str, length);
- page = tf->typeset(text, lineheight, spacing);
- }
- else if (luax_istype(L, 2, JIN_GRAPHICS_TEXT))
- {
- Proxy* p2 = (Proxy*)luax_checktype(L, 2, JIN_GRAPHICS_TEXT);
- Text* text = p2->getObject<Text>();
- page = tf->typeset(*text, lineheight, spacing);
- }
- Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_PAGE, sizeof(Proxy));
- Ref<Page>* refPage = new Ref<Page>(page, JIN_GRAPHICS_PAGE);
- {
- /* retain related ttf */
- Ref<TextureFont>& refTF = p->getRef<TextureFont>();
- refTF.retain();
- refPage->setUserdata(&refTF);
- }
- proxy->bind(refPage);
- return 1;
- }
-
- static const luaL_Reg f[] = {
- { "__gc", l_gc },
- { "typeset", l_typeset },
- { 0, 0 }
- };
-
- int luaopen_TextureFont(lua_State* L)
- {
- luax_newtype(L, JIN_GRAPHICS_TEXTUREFONT, f);
-
- return 0;
- }
-
- } // namespace Lua
-} // namespace JinEngine \ No newline at end of file