28372513065a3e93b5067e6b213844a04f578e55
[tpg/acess2.git] / Usermode / Applications / axwin2_src / WM / wm.h
1 /*
2  * Acess2 Window Manager (AxWin2)
3  */
4 #ifndef _WM_H_
5 #define _WM_H_
6
7 #include <axwin2/axwin.h>
8 #include "common.h"
9
10 typedef struct sAxWin_Element   tElement;
11 typedef struct sTab     tTab;
12 typedef struct sApplication     tApplication;
13
14 struct sAxWin_Element
15 {
16          int    Type;
17         
18         tElement        *Parent;
19         tElement        *FirstChild;
20         tElement        *LastChild;
21         tElement        *NextSibling;
22
23         // User modifiable attributes   
24         short   PaddingL, PaddingR;
25         short   PaddingT, PaddingB;
26         short   GapSize;
27         
28         uint32_t        Flags;
29         
30         short   FixedWith;      // Fixed Long Size attribute (height)
31         short   FixedCross;     // Fixed Cross Size attribute (width)
32         
33         char    *Text;
34         
35         // -- Attributes maitained by the element code
36         // Not touched by the user
37         short   MinWith;        // Minimum long size
38         short   MinCross;       // Minimum cross size
39         void    *Data;
40         
41         // -- Render Cache
42         short   CachedX, CachedY;
43         short   CachedW, CachedH;
44         
45         char    DebugName[];
46 };
47
48 struct sApplication
49 {
50         tApplication    *Next;
51
52         void    *Ident;
53         tMessages_Handle_Callback       *SendMessage;
54         
55         char    *Name;
56         tElement        MetaElement;
57
58 };
59
60 #endif

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