aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/graphics/font.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-10-14 22:52:40 +0800
committerchai <chaifix@163.com>2018-10-14 22:52:40 +0800
commitb1bbc998960fff2169dc5a992c47d08723472f9b (patch)
tree220f3bd5de2266e248884e11161dd715d7632ef2 /src/lua/modules/graphics/font.cpp
parentfbf989f9950a38566e0fb0fc5b6a7aebc9f0fb45 (diff)
*直接渲染字符串
Diffstat (limited to 'src/lua/modules/graphics/font.cpp')
-rw-r--r--src/lua/modules/graphics/font.cpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/lua/modules/graphics/font.cpp b/src/lua/modules/graphics/font.cpp
deleted file mode 100644
index 0b0e1a0..0000000
--- a/src/lua/modules/graphics/font.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#include "lua/modules/luax.h"
-#include "lua/modules/types.h"
-#include "lua/common/common.h"
-#include "libjin/jin.h"
-
-namespace jin
-{
-namespace lua
-{
-
- using namespace jin::graphics;
-
- typedef Ref<Font>& FontRef;
-
- static int l_gc(lua_State* L)
- {
- Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_FONT);
- proxy->release();
- return 0;
- }
-
- static int l_typeset(lua_State* L)
- {
- Proxy* p = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_FONT);
- const char* text = luax_checkstring(L, 2);
- int lineheight = luax_checkinteger(L, 3);
- int spacing = luax_checkinteger(L, 4);
- Ref<Font>& refFont = p->getRef<Font>();
- Font* font = refFont.getObject();
- Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_PAGE, sizeof(Proxy));
- Page* page = font->typeset(text, lineheight, spacing);
- proxy->bind(new Ref<Page>(page, JIN_GRAPHICS_PAGE));
- return 1;
- }
-
- static int l_print(lua_State* L)
- {
- Proxy* pFont = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_FONT);
- Font* font = pFont->getObject<Font>();
- if (luax_istype(L, 2, JIN_GRAPHICS_PAGE))
- {
- Proxy* p = (Proxy*)luax_checktype(L, 2, JIN_GRAPHICS_PAGE);
- Page* page = p->getObject<Page>();
- int x = luax_checkinteger(L, 3);
- int y = luax_checkinteger(L, 4);
- font->print(page, x, y);
- }
- else if (luax_isstring(L, 2))
- {
- const char* text = luax_checkstring(L, 2);
- int x = luax_checkinteger(L, 3);
- int y = luax_checkinteger(L, 4);
- int lh = luax_checkinteger(L, 5);
- int sp = luax_checkinteger(L, 6);
- font->print(text, x, y, lh, sp);
- }
- else
- {
- luax_typerror(L, 2, "font or string");
- }
- return 0;
- }
-
- static const luaL_Reg f[] = {
- { "__gc", l_gc },
- { "typeset", l_typeset },
- { "print", l_print },
- { 0, 0 }
- };
-
- int luaopen_Font(lua_State* L)
- {
- luax_newtype(L, JIN_GRAPHICS_FONT, f);
-
- return 0;
- }
-
-} // lua
-} // jin \ No newline at end of file