diff options
author | chai <chaifix@163.com> | 2018-10-14 22:52:40 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-10-14 22:52:40 +0800 |
commit | b1bbc998960fff2169dc5a992c47d08723472f9b (patch) | |
tree | 220f3bd5de2266e248884e11161dd715d7632ef2 /src/lua/modules/graphics/font.cpp | |
parent | fbf989f9950a38566e0fb0fc5b6a7aebc9f0fb45 (diff) |
*直接渲染字符串
Diffstat (limited to 'src/lua/modules/graphics/font.cpp')
-rw-r--r-- | src/lua/modules/graphics/font.cpp | 79 |
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 |