X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Fwm.h;h=565697d71c528474c4b7d926ed9b879ee6dc2545;hb=889b379627388811c630aad3214efcaee1ac9885;hp=4c25c92535e35ffe07b02c952a2827a6a7b95691;hpb=099719a211c90b88e59e9dc08bcf18ec1a21573d;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/wm.h b/Usermode/Applications/axwin2_src/WM/wm.h index 4c25c925..565697d7 100644 --- a/Usermode/Applications/axwin2_src/WM/wm.h +++ b/Usermode/Applications/axwin2_src/WM/wm.h @@ -31,6 +31,8 @@ typedef struct sElement // -- Render Cache short CachedX, CachedY; short CachedW, CachedH; + + char DebugName[]; } tElement; typedef struct sTab @@ -69,12 +71,12 @@ enum eElementFlags /** * \brief Element visibility * - * If set, the element is not drawn. + * If set, the element is not drawn (but still is used for size calculations) */ ELEFLAG_INVISIBLE = 0x002, /** - * \brief Position an element absulutely + * \brief Position an element absulutely (ignored in size calcs) */ ELEFLAG_ABSOLUTEPOS = 0x004, @@ -85,6 +87,9 @@ enum eElementFlags /** * \brief Element "orientation" + * + * Vertical means that the children of this element are stacked, + * otherwise they list horizontally */ ELEFLAG_VERTICAL = 0x010,// ELEFLAG_HORIZONTAL = 0x000, /** @@ -98,16 +103,26 @@ enum eElementFlags * its parent) as is needed to encase the contents of the element. * Otherwise, the element will expand to fill all avaliable space. */ - ELEFLAG_NOEXPAND = 0x040, // ELEFLAG_EXPAND = 0x000 + ELEFLAG_NOEXPAND = 0x040, + + /** + * \brief With (length) size action + * If this flag is set, the element will only be as large as + * is required along it's parent + */ + ELEFLAG_NOSTRETCH = 0x080, /** * \brief Center alignment */ - ELEFLAG_ALIGN_CENTER= 0x080, + ELEFLAG_ALIGN_CENTER= 0x100, /** * \brief Right/Bottom alignment + * + * If set, the element aligns to the end of avaliable space (instead + * of the beginning) */ - ELEFLAG_ALIGN_END = 0x100 + ELEFLAG_ALIGN_END = 0x200 }; /** @@ -116,15 +131,16 @@ enum eElementTypes { ELETYPE_NONE, - ELETYPE_BOX, //!< Content box + ELETYPE_BOX, //!< Content box (invisible in itself) ELETYPE_TABBAR, //!< Tab Bar ELETYPE_TOOLBAR, //!< Tool Bar ELETYPE_BUTTON, //!< Push Button + ELETYPE_TEXT, //!< Text ELETYPE_IMAGE, //!< Image - ELETYPE_SPACER, //!< Visual Spacer + ELETYPE_SPACER, //!< Visual Spacer (horizontal / vertical rule) MAX_ELETYPES = 0x100 }; @@ -133,9 +149,9 @@ enum eElementTypes /** * \brief Create a new element as a child of \a Parent */ -extern tElement *WM_CreateElement(tElement *Parent, int Type, int Flags); +extern tElement *WM_CreateElement(tElement *Parent, int Type, int Flags, const char *DebugName); extern void WM_SetFlags(tElement *Element, int Flags); extern void WM_SetSize(tElement *Element, int Size); -extern void WM_SetText(tElement *Element, char *Text); +extern void WM_SetText(tElement *Element, const char *Text); #endif