100 lines
2.4 KiB
C
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_
|