#ifndef __GRAPHIC_H__ #define __GRAPHIC_H__ #include #include "syscalls.h" enum TextScale { TextScale_SIZE_6x9, // 1x 6x9 TextScale_SIZE_8x16, // 1x 8x16 TextScale_SIZE_12x18, // 2x 6x9 TextScale_SIZE_16x32, // 2x 8x16 TextScale_SIZE_18x27, // 3x 6x9 TextScale_SIZE_24x36, // 4x 6x9 TextScale_SIZE_24x48, // 3x 8x16 TextScale_SIZE_30x45, // 5x 6x9 TextScale_SIZE_32x64, // 4x 8x16 TextScale_SIZE_36x54, // 6x 6x9 TextScale_SIZE_40x80, // 5x 8x16 TextScale_SIZE_42x63, // 7x 6x9 TextScale_SIZE_48x72, // 8x 6x9 TextScale_SIZE_48x96, // 6x 8x16 TextScale_SIZE_56x112, // 7x 8x16 TextScale_SIZE_64x128 // 8x 8x16 }; enum DrawTextEncoding { cp866 = 1, cp866_8x16 = 2, utf8 = 3, utf16 = 4 }; #define DEFAULT_ENCODING cp866 int syscalls_drawLine(lua_State* L); int syscalls_drawText(lua_State* L); int syscalls_drawTextFixSize(lua_State* L); int syscalls_drawRectangle(lua_State* L); int syscalls_ReadPoint(lua_State* L); int syscalls_screenSize(lua_State* L); inline void syscalls_push_textSizes(lua_State* L) { lua_newtable(L); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_6x9, "6x9"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_8x16, "8x16"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_12x18, "12x18"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_16x32, "16x32"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_18x27, "18x27"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_24x36, "24x36"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_24x48, "24x48"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_30x45, "30x45"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_32x64, "32x64"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_36x54, "36x54"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_40x80, "40x80"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_42x63, "42x63"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_48x72, "48x72"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_48x96, "48x96"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_56x112, "56x112"); LUA_PUSH_INTEGER_FIELD(L, TextScale_SIZE_64x128, "64x128"); lua_setfield(L, -2, "textSize"); } inline void syscalls_push_Encoding(lua_State* L) { lua_newtable(L); LUA_PUSH_INTEGER_FIELD(L, cp866, "cp866"); LUA_PUSH_INTEGER_FIELD(L, cp866_8x16, "cp866_8x16"); LUA_PUSH_INTEGER_FIELD(L, utf8, "utf8"); LUA_PUSH_INTEGER_FIELD(L, utf16, "utf16"); lua_setfield(L, -2, "Encoding"); } #define syscalls_push_graphic(L) syscalls_push_textSizes(L); syscalls_push_Encoding(L); #endif // __GRAPHIC_H_