AxWin - Re-structured to share headers between clients and server
[tpg/acess2.git] / Usermode / Applications / axwin2_src / WM / wm.h
1
2 #ifndef _WM_H_
3 #define _WM_H_
4
5 #include <axwin2/axwin.h>
6
7 typedef struct sAxWin_Element   tElement;
8
9 struct sAxWin_Element
10 {
11          int    Type;
12         
13         tElement        *Parent;
14         tElement        *FirstChild;
15         tElement        *LastChild;
16         tElement        *NextSibling;
17         
18         short   PaddingL, PaddingR;
19         short   PaddingT, PaddingB;
20         short   GapSize;
21         
22         short   FixedWith;      // Fixed Long Size attribute (height)
23         short   FixedCross;     // Fixed Cross Size attribute (width)
24         
25         char    *Text;
26         
27         // -- Attributes maitained by the element code
28         // Not touched by the user
29         short   MinWith;        // Minimum long size
30         short   MinCross;       // Minimum cross size
31         void    *Data;
32         
33         uint32_t        Flags;
34         
35         // -- Render Cache
36         short   CachedX, CachedY;
37         short   CachedW, CachedH;
38         
39         char    DebugName[];
40 };
41
42 typedef struct sTab
43 {
44          int    Type;   // Should be zero, allows a tab to be the parent of an element
45         
46         tElement        *Parent;
47         tElement        *FirstChild;
48         tElement        *LastChild;
49         struct sTab     *NextTab;
50         
51         char    *Name;
52         
53         tElement        *RootElement;
54 }       tTab;
55
56 typedef struct sApplication
57 {
58         pid_t   PID;
59         
60          int    nTabs;
61         tTab    *Tabs;
62         
63         char    Name[];
64 }       tApplication;
65
66 #endif

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