files
syscalls/src/graphic.h

100 lines
2.4 KiB
C

#ifndef __GRAPHIC_H__
#define __GRAPHIC_H__
#include <sys/ksys.h>
#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_