Move ROSKY to a separate SVN module.
[reactos.git] / rosky / include / structs.h
diff --git a/rosky/include/structs.h b/rosky/include/structs.h
new file mode 100644 (file)
index 0000000..586a96a
--- /dev/null
@@ -0,0 +1,242 @@
+#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 */