2766c68d5f4c9d38e5edee78b7715702cd350814
[tpg/acess2.git] / Usermode / Applications / axwin3_src / WM / include / wm.h
1 /*
2  * Acess2 Window Manager v3 (axwin3)
3  * - By John Hodge (thePowersGang)
4  *
5  * include/wm.h
6  * - Window management functions
7  */
8 #ifndef _WM_H_
9 #define _WM_H_
10
11 // === CONSTANTS ===
12 /**
13  * \brief Window Flags
14  * \{
15  */
16 //! Render the window
17 #define WINFLAG_SHOW            0x00000001
18 //! Window contents are valid
19 #define WINFLAG_CLEAN           0x00000002
20 //! All child windows are un-changed
21 #define WINFLAG_CHILDCLEAN      0x00000004
22
23 #define WINFLAG_RENDER_MASK     0x00FFFF00
24 #define WINFLAG_USR_MASK        0xFF000000
25 /**
26  * \}
27  */
28
29 // === TYPES ===
30 typedef struct sWindow  tWindow;
31 typedef struct sWMRenderer      tWMRenderer;
32 typedef uint32_t        tColour;
33
34 // === FUNCTIONS ===
35 // --- Management
36 extern tWindow  *WM_CreateWindow(tWindow *Parent, int Flags, const char *Renderer);
37 extern void     WM_Invalidate(tWindow *Window);
38 extern void     WM_ShowWindow(tWindow *Window, int bShow);
39 extern int      WM_ResizeWindow(tWindow *Window, int W, int H);
40 extern int      WM_MoveWindow(tWindow *Window, int X, int Y);
41 extern int      WM_SendMessage(tWindow *Window, int MessageID, int Length, void *Data);
42 // --- Rendering
43 extern void     WM_Render_FilledRect(tWindow *Window, tColour Colour, int X, int Y, int W, int H);
44
45 #endif
46

UCC git Repository :: git.ucc.asn.au