X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Fdecorator.c;h=14c041477b231ff377a74f024e6d560e19f17fe2;hb=fae63a3ca20775dbf083ba601bea317570e3dd64;hp=99ceed277740e4e43ff89b6524aaa2acc3df60ae;hpb=b1488ae9beae34068d38d00e191b90ef0bf812f3;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/decorator.c b/Usermode/Applications/axwin3_src/WM/decorator.c index 99ceed27..14c04147 100644 --- a/Usermode/Applications/axwin3_src/WM/decorator.c +++ b/Usermode/Applications/axwin3_src/WM/decorator.c @@ -41,8 +41,6 @@ void Decorator_UpdateBorderSize(tWindow *Window) if( Window->Flags & WINFLAG_MAXIMIZED ) return ; - _SysDebug("BorderL = %i", ciSideBorderWidth); - Window->BorderB = ciBottomBorderWidth; Window->BorderR = ciSideBorderWidth; Window->BorderL = ciSideBorderWidth; @@ -50,7 +48,7 @@ void Decorator_UpdateBorderSize(tWindow *Window) void Decorator_Redraw(tWindow *Window) { - int bActive; + int bActive = 0; int text_width, text_height; // TODO: This could possibly be expensive, but is there a better way? @@ -66,14 +64,17 @@ void Decorator_Redraw(tWindow *Window) } // Draw title bar + // - Body WM_Render_FillRect(Window, 0, -ciTitlebarHeight, Window->W, ciTitlebarHeight, (bActive ? cColourActive_Titlebar : cColourInactive_Titlebar) ); + // - Top Border WM_Render_FillRect(Window, 0, -ciTitlebarHeight, Window->W, 1, cColour_TitleTopBorder ); + // - Sides WM_Render_FillRect(Window, 0, -ciTitlebarHeight, 1, ciTitlebarHeight, cColour_SideBorder @@ -83,41 +84,46 @@ void Decorator_Redraw(tWindow *Window) cColour_SideBorder ); + // Get the font height WM_Render_GetTextDims( NULL, // TODO: Select font - Window->Title ? Window->Title : "jI", + Window->Title ? Window->Title : "jI", -1, &text_width, &text_height ); + // - Use that to draw the window title on the left of the window WM_Render_DrawText(Window, ciTitlebarHeight + 4, -(ciTitlebarHeight - (ciTitlebarHeight/2 - text_height/2)), Window->W - ciTitlebarHeight - 4, text_height, NULL, // TODO: Select font (bActive ? cColourActive_TitleText : cColourInactive_TitleText), - Window->Title ? Window->Title : "--" + Window->Title ? Window->Title : "--", -1 ); - + + // TODO: Minimise, Maximise and Close + // Maximized windows don't have any other borders if( Window->Flags & WINFLAG_MAXIMIZED ) return ; - // Left + // Left Border WM_Render_FillRect(Window, -ciSideBorderWidth, -ciTitlebarHeight, ciSideBorderWidth, Window->H + ciTitlebarHeight + ciBottomBorderWidth, cColour_SideBorder ); - // Right + // Right Border WM_Render_FillRect(Window, Window->W, -ciTitlebarHeight, ciSideBorderWidth, Window->H + ciTitlebarHeight + ciBottomBorderWidth, cColour_SideBorder ); - // Bottom + // Bottom Border (hard line) WM_Render_FillRect(Window, -ciSideBorderWidth, Window->H, ciSideBorderWidth*2+Window->W, 1, 0x000000 ); + // Bottom Border WM_Render_FillRect(Window, -ciSideBorderWidth, Window->H+1, ciSideBorderWidth*2+Window->W, ciBottomBorderWidth-1,