--- /dev/null
+#ifndef __RSK_STRUCTS_H
+#define __RSK_STRUCTS_H
+
+typedef unsigned int COLOR;
+
+typedef struct region
+{
+ int x1;
+ int y1;
+ int x2;
+ int y2;
+} s_region;
+
+typedef struct s_gi_msg
+{
+ HANDLE win;
+ unsigned int type;
+ unsigned int para1;
+ unsigned int para2;
+ s_region rect;
+ struct s_gi_msg *next;
+ struct s_gi_msg *prev;
+ unsigned long long timestamp;
+} s_gi_msg;
+
+typedef struct DDB
+{
+ unsigned int color;
+ unsigned int width;
+ unsigned int height;
+ unsigned char *data;
+ unsigned int palette_size;
+ unsigned int transcolor;
+ unsigned char trans;
+ unsigned char *bAndMask;
+ unsigned char bUseAndMask;
+ unsigned int uiAndMaskWidth;
+ unsigned int uiAndMaskHeight;
+ COLOR *palette;
+} DDB;
+
+typedef struct DIB
+{
+ unsigned int color;
+ unsigned int width;
+ unsigned int height;
+ unsigned char *data;
+
+ unsigned int palette_size;
+ unsigned int transcolor;
+ unsigned char trans;
+
+ unsigned char *bAndMask;
+ unsigned char bUseAndMask;
+ unsigned int uiAndMaskWidth;
+ unsigned int uiAndMaskHeight;
+ unsigned int uiFlags;
+ COLOR *palette;
+} DIB;
+
+typedef struct GC
+{
+ unsigned int type;
+ HANDLE window;
+ DIB *hDIB;
+ unsigned int width;
+ unsigned int height;
+ s_region *clip;
+ COLOR fg_color;
+ COLOR bg_color;
+ COLOR trans_color;
+ unsigned int uiTransparentLevel;
+ unsigned int flags;
+ unsigned int fontIndex;
+ unsigned int fontSize;
+ unsigned int fontFlags;
+} GC;
+
+typedef struct sBlit
+{
+ DIB *hDIB;
+ DDB *hDDB;
+ int iDestX;
+ int iDestY;
+ int iSrcX;
+ int iSrcY;
+ int iWidth;
+ int iHeight;
+ unsigned int uiFlags;
+ unsigned int uiReserved0;
+ unsigned int uiReserved1;
+ unsigned int uiReserved2;
+ unsigned int uiReserved3;
+ unsigned int uiReserved4;
+ unsigned int uiReserved5;
+ unsigned int uiReserved6;
+ unsigned int uiReserved7;
+ unsigned int uiReserved8;
+ unsigned int uiReserved9;
+} sBlit;
+
+typedef struct widget_dynbmp_item
+{
+ DIB *hDib;
+ unsigned char *rawData;
+ struct widget_dynbmp_item *next;
+} widget_dynbmp_item;
+
+typedef struct widget_dynbmp
+{
+ unsigned int state;
+ unsigned int trans;
+ unsigned int transcolor;
+ unsigned int thread_id;
+ unsigned int timer_id;
+ widget_dynbmp_item *first;
+ widget_dynbmp_item *selected;
+} widget_dynbmp;
+
+typedef struct widget_popup
+{
+ unsigned int uiItemHeight;
+ unsigned int uiFlags;
+ HANDLE hFont;
+ unsigned int uiFontFlags;
+ unsigned int uiFontSize;
+
+ unsigned int uiColorSelectedBack;
+ unsigned int uiColorSelectedFore;
+ unsigned int uiColorBack;
+ unsigned int uiColorFore;
+ unsigned int uiWindowBackColor;
+
+ unsigned int uiSpacingX;
+} widget_popup;
+
+typedef struct widget_menu_item
+{
+ unsigned char text[255];
+ unsigned int ID;
+ unsigned int flags;
+ struct widget_menu_item *next;
+ struct widget_menu *child;
+ unsigned int focus;
+ unsigned int enabled;
+ unsigned int x;
+ HANDLE icon;
+ DIB *hDIB;
+ unsigned int has_icon;
+
+ /* sub items */
+ unsigned int width;
+ unsigned int count;
+} widget_menu_item;
+
+typedef struct widget_menu
+{
+ unsigned char focus;
+ unsigned int count;
+ unsigned int width;
+ unsigned int has_icons;
+ widget_menu_item *items;
+ widget_dynbmp *animation;
+ widget_popup *pPopUpData;
+ unsigned int uiLineColor;
+ unsigned int uiBackGroundColor;
+} widget_menu;
+
+typedef struct app_para
+{
+ unsigned char cpName[255];
+ unsigned int ulX;
+ unsigned int ulY;
+ unsigned int ulWidth;
+ unsigned int ulHeight;
+
+ void *win_func;
+ unsigned int ulStyle;
+ unsigned int ulBackGround;
+
+ unsigned int ulAppIcon;
+ widget_menu *pMenu;
+} app_para;
+
+typedef struct s_window
+{
+ unsigned char name[255];
+ unsigned int x;
+ unsigned int y;
+ unsigned int height;
+ unsigned int width;
+ unsigned int orgx;
+ unsigned int orgy;
+ unsigned long (__cdecl *win_func)(struct s_window *win, s_gi_msg *m);
+ HANDLE handle;
+
+ struct s_window *parent;
+ struct s_window *child;
+ struct s_window *next;
+
+ unsigned char focus;
+ struct s_window *focus_win;
+ void *windowData;
+ unsigned int windowDataSize;
+
+ unsigned int flags;
+ int origin_x;
+ int origin_y;
+} s_window;
+
+typedef struct sCreateApplication
+{
+ unsigned char ucApplicationName[255];
+ unsigned int uiX;
+ unsigned int uiY;
+ unsigned int uiWidth;
+ unsigned int uiHeight;
+
+ void *fwndClient;
+ unsigned int uiStyleApplication;
+ unsigned int uiStyleFrame;
+ unsigned int uiStyleTitle;
+ unsigned int uiStyleMenu;
+ unsigned int uiStyleBar;
+ unsigned int uiStyleClient;
+ unsigned int uiBackGroundColor;
+ unsigned int uiApplicationIcon;
+ widget_menu *pFrameMenu;
+
+ unsigned int uiReserved[128];
+
+ void (__cdecl *PostCreateWindowBitmap)(HANDLE hWnd, void *pGCBuf);
+} sCreateApplication;
+
+typedef struct s_resolution
+{
+ unsigned int width;
+ unsigned int height;
+ unsigned int bpp;
+} s_resolution;
+
+#endif /* __RSK_STRUCTS_H */