X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Frender.c;h=50eca9ea1fe9df9a695be9a440c7f4fdab8753af;hb=7941d6b368acb0abc17e6a77ffaf7b4c306b67ab;hp=21237e0c4934a6dec09d6f0e086c1e9ceacece9a;hpb=84ca1355b263e253ff67e59e2abbbad67a42391c;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/render.c b/Usermode/Applications/axwin2_src/WM/render.c index 21237e0c..50eca9ea 100644 --- a/Usermode/Applications/axwin2_src/WM/render.c +++ b/Usermode/Applications/axwin2_src/WM/render.c @@ -269,16 +269,39 @@ void WM_RenderWidget(tElement *Element) } } +void WM_UpdateWindow(tElement *Ele) +{ + WM_UpdateDimensions( Ele, 0 ); + WM_UpdatePosition( Ele ); + WM_RenderWidget( Ele ); +} + void WM_Update(void) { - gWM_RootElement.CachedX = 0; gWM_RootElement.CachedY = 0; + tApplication *app; + tElement *ele; + + for( app = gWM_Applications; app; app = app->Next ) + { + for( ele = app->MetaElement.FirstChild; ele; ele = ele->NextSibling ) { + if( ele->Flags & ELEFLAG_WINDOW_MAXIMISED ) { + ele->CachedX = giWM_MaxAreaX; + ele->CachedY = giWM_MaxAreaY; + ele->CachedW = giWM_MaxAreaW; + ele->CachedH = giWM_MaxAreaH; + } + ele->Flags |= ELEFLAG_NOEXPAND|ELEFLAG_ABSOLUTEPOS|ELEFLAG_FIXEDSIZE; + WM_UpdateWindow(ele); + } + } + + gWM_RootElement.CachedX = 0; + gWM_RootElement.CachedY = 0; gWM_RootElement.CachedW = giScreenWidth; gWM_RootElement.CachedH = giScreenHeight; gWM_RootElement.Flags |= ELEFLAG_NOEXPAND|ELEFLAG_ABSOLUTEPOS|ELEFLAG_FIXEDSIZE; - WM_UpdateDimensions( &gWM_RootElement, 0 ); - WM_UpdatePosition( &gWM_RootElement ); - WM_RenderWidget( &gWM_RootElement ); + WM_UpdateWindow( &gWM_RootElement ); Video_Update(); }