X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=inline;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Fwm.h;h=5977fd689a3459b6834c58350955d7a1b5c3d31e;hb=e02f66c7125bf18f77c6c53587238cbd49da2c89;hp=d91626ba8f9dcb5eb87427b06d4b9a2772159853;hpb=117854336280cdf3d07143820e4d82d92c570239;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/wm.h b/Usermode/Applications/axwin2_src/WM/wm.h index d91626ba..5977fd68 100644 --- a/Usermode/Applications/axwin2_src/WM/wm.h +++ b/Usermode/Applications/axwin2_src/WM/wm.h @@ -8,13 +8,15 @@ #include "common.h" /** - * \brief Number of elements that can be owned by each application) + * \brief Number of elements that can be owned by each application */ // TODO: Fine tune these values #define MAX_ELEMENTS_PER_APP 1024 #define DEFAULT_ELEMENTS_PER_APP 128 typedef struct sAxWin_Element tElement; +typedef struct sMenuItem tMenuItem; +typedef struct sWindow tWindow; typedef struct sApplication tApplication; struct sAxWin_Element @@ -38,7 +40,7 @@ struct sAxWin_Element uint32_t Flags; - short FixedWith; //!< Fixed Long Size attribute (height) + short FixedWith; //!< Fixed lengthways Size attribute (height) short FixedCross; //!< Fixed Cross Size attribute (width) char *Text; @@ -56,19 +58,43 @@ struct sAxWin_Element char DebugName[]; }; +struct sMenuItem +{ + tMenuItem *Next; + int Flags; + int ID; //!< ID number sent to application + const char *Label; + const char *Right; + tMenuItem *FirstChild; +}; + +struct sWindow +{ + int X, Y, W, H; + void *Icon; + + tApplication *App; + + tWindow *OrderNext; // Render order + + tMenuItem *Menus; + + tElement RootElement; +}; + struct sApplication { tApplication *Next; + tIPC_Type *IPCType; void *Ident; //!< Client Identifier - tMessages_Handle_Callback *SendMessage; char *Name; //!< Application name int MaxElementIndex; //!< Number of entries in \a EleIndex tElement **EleIndex; //!< Array of pointers to elements owned by this application - tElement MetaElement; //!< Windows child off this + tElement MetaElement; //!< Tabs child off this }; // === FUNCTIONS ===