X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Fwm.c;h=ea80305143800baa2d1eb7b1f7e17afd5060778b;hb=ad2ec62655e1d6eb8f2b4a4684eb5d7952aea0fb;hp=e4d45b5c0457cdcd93f233ea868f24e84c9d5c74;hpb=524b2b8fac4cc652c707bb0cddcb730dede3d7b1;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/wm.c b/Usermode/Applications/axwin2_src/WM/wm.c index e4d45b5c..ea803051 100644 --- a/Usermode/Applications/axwin2_src/WM/wm.c +++ b/Usermode/Applications/axwin2_src/WM/wm.c @@ -8,6 +8,7 @@ #include #include #include "wm.h" +#include // _SysDebug // === IMPORTS === extern void Decorator_RenderWidget(tElement *Element); @@ -26,9 +27,14 @@ void WM_RenderWidget(tElement *Element); void WM_Update(void); // === GLOBALS === +// - TODO: Handle windows by having multiple root elements tElement gWM_RootElement = { .DebugName = "ROOT" }; + +tApplication *gWM_Applications; + +// --- Element type flags struct { void (*Init)(tElement *This); void (*UpdateFlags)(tElement *This); @@ -81,6 +87,7 @@ tAxWin_Element *AxWin_CreateElement(tElement *Parent, int Type, int Flags, const void AxWin_DeleteElement(tElement *Element) { // TODO: Implement AxWin_DeleteElement + free(Element); } /** @@ -153,6 +160,8 @@ void AxWin_SetText(tElement *Element, const char *Text) } } break; + default: // Any other, no special case + break ; } return ; @@ -166,6 +175,7 @@ void AxWin_SetText(tElement *Element, const char *Text) */ /** * \brief Updates the dimensions of an element + * \todo What is the \a Pass parameter for * * The dimensions of an element are calculated from the parent's * cross dimension (the side at right angles to the alignment) sans some @@ -266,7 +276,7 @@ void WM_UpdateDimensions(tElement *Element, int Pass) else child->CachedW = with; - WM_UpdateDimensions(child, 0); + WM_UpdateDimensions(child, Pass); } _SysDebug("%p'%s' Done", Element, Element->DebugName);