2 * Acess2 Window Manager v3 (axwin3)
3 * - By John Hodge (thePowersGang)
6 * - Window management functions
19 #define WINFLAG_SHOW 0x00000001
20 //! Window contents are valid
21 #define WINFLAG_CLEAN 0x00000002
22 //! All child windows are un-changed
23 #define WINFLAG_CHILDCLEAN 0x00000004
25 #define WINFLAG_RENDER_MASK 0x00FFFF00
26 #define WINFLAG_USR_MASK 0xFF000000
32 typedef struct sWindow tWindow;
33 typedef struct sWMRenderer tWMRenderer;
34 typedef uint32_t tColour;
35 typedef struct sFont tFont;
39 extern tWindow *WM_CreateWindow(tWindow *Parent, int Flags, const char *Renderer);
40 extern void WM_Invalidate(tWindow *Window);
41 extern void WM_ShowWindow(tWindow *Window, int bShow);
42 extern int WM_ResizeWindow(tWindow *Window, int W, int H);
43 extern int WM_MoveWindow(tWindow *Window, int X, int Y);
44 extern int WM_SendMessage(tWindow *Source, tWindow *Dest, int MessageID, int Length, void *Data);
46 extern void WM_Render_FillRect(tWindow *Window, int X, int Y, int W, int H, tColour Colour);
47 extern void WM_Render_DrawRect(tWindow *Window, int X, int Y, int W, int H, tColour Colour);
48 extern int WM_Render_DrawText(tWindow *Window, int X, int Y, int W, int H, tFont *Font, tColour Colour, const char *Text);
49 extern void WM_Render_GetTextDims(tFont *Font, const char *Text, int *W, int *H);
50 extern void WM_Render_DrawImage(tWindow *Window, int X, int Y, int W, int H, tImage *Image);
51 // NOTE: Should really be elsewhere
52 extern tColour Video_AlphaBlend(tColour _orig, tColour _new, uint8_t _alpha);