+} tWidgetIPC_CreateSubWin;
+
+typedef struct
+{
+ uint32_t WidgetID;
+} tWidgetIPC_Delete;
+
+typedef struct
+{
+ uint32_t WidgetID;
+} tWidgetIPC_SetFocus;
+
+typedef struct
+{
+ uint32_t WidgetID;
+ uint32_t Value;
+ uint32_t Mask;
+} tWidgetIPC_SetFlags;
+
+typedef struct
+{
+ uint32_t WidgetID;
+ uint32_t Value;
+} tWidgetIPC_SetSize;
+
+typedef struct
+{
+ uint32_t WidgetID;
+ char Text[];
+} tWidgetIPC_SetText;
+
+typedef struct
+{
+ uint32_t WidgetID;
+ uint32_t Index;
+ uint32_t Colour;
+} tWidgetIPC_SetColour;
+
+enum eWidgetMessages
+{
+ // Event (Server->Client) messages
+ MSG_WIDGET_FIRE = 0x1000,
+ MSG_WIDGET_KEYPRESS,
+ MSG_WIDGET_MOUSEBTN,
+};
+
+
+
+typedef struct
+{
+ uint32_t WidgetID;
+} tWidgetMsg_Fire;
+
+typedef struct
+{
+ uint32_t WidgetID;
+ uint32_t KeySym;
+ uint32_t Character;
+} tWidgetMsg_KeyEvent;
+
+typedef struct
+{
+ uint32_t WidgetID;
+ uint16_t X;
+ uint16_t Y;
+ uint8_t Button;
+ uint8_t bPressed;
+} tWidgetMsg_MouseBtn;