X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Fwm.h;h=cd4ab90c26eb34a6e140efcbae7db3699ab4c934;hb=c3a2920bab79e0a41b45c74b883367437ab1dd6d;hp=82c022af713ebd63de890cc744430f7b5d2c7493;hpb=85eb17b306404571aa39596946c87ad9bb1d9d13;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/wm.h b/Usermode/Applications/axwin2_src/WM/wm.h index 82c022af..cd4ab90c 100644 --- a/Usermode/Applications/axwin2_src/WM/wm.h +++ b/Usermode/Applications/axwin2_src/WM/wm.h @@ -15,9 +15,15 @@ typedef struct sElement short PaddingT, PaddingB; short GapSize; - short Size; // Size attribute + short FixedWith; // Fixed Long Size attribute (height) + short FixedCross; // Fixed Cross Size attribute (width) char *Text; + + // -- Attributes maitained by the element code + // Not touched by the user + short MinWith; // Minimum long size + short MinCross; // Minimum cross size void *Data; uint32_t Flags; @@ -25,6 +31,8 @@ typedef struct sElement // -- Render Cache short CachedX, CachedY; short CachedW, CachedH; + + char DebugName[]; } tElement; typedef struct sTab @@ -92,16 +100,23 @@ 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 + */ + ELEFLAG_NOSTRETCH = 0x080, /** * \brief Center alignment */ - ELEFLAG_ALIGN_CENTER= 0x080, + ELEFLAG_ALIGN_CENTER= 0x100, /** * \brief Right/Bottom alignment */ - ELEFLAG_ALIGN_END = 0x100 + ELEFLAG_ALIGN_END = 0x200 }; /** @@ -127,9 +142,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