X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Fdecorator.c;h=171b526148f682e1854da0fadeadab275fdb1fac;hb=e02f66c7125bf18f77c6c53587238cbd49da2c89;hp=601f9535cb2a05c01e228fcf3f18623d66cf5d70;hpb=099719a211c90b88e59e9dc08bcf18ec1a21573d;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/decorator.c b/Usermode/Applications/axwin2_src/WM/decorator.c index 601f9535..171b5261 100644 --- a/Usermode/Applications/axwin2_src/WM/decorator.c +++ b/Usermode/Applications/axwin2_src/WM/decorator.c @@ -7,6 +7,8 @@ #include "common.h" #include "wm.h" +#define BORDER_EVERYTHING 1 + #define BOX_BGCOLOUR 0xC0C0C0 #define BOX_BORDER 0xA0A0A0 #define BUTTON_BGCOLOUR 0xD0D0D0 @@ -22,13 +24,32 @@ void Decorator_RenderWidget(tElement *Element) Element->CachedW, Element->CachedH ); + #if BORDER_EVERYTHING + Video_DrawRect(Element->CachedX, Element->CachedY, + Element->CachedW, Element->CachedH, + 0 + ); + #endif + switch(Element->Type) { case ELETYPE_NONE: - case ELETYPE_BOX: break; + case ELETYPE_BOX: break; // Box is a meta-element - case ELETYPE_TABBAR: // TODO: Moar - case ELETYPE_TOOLBAR: + case ELETYPE_TABBAR: // Tab Bar + Video_DrawRect( + Element->CachedX, Element->CachedY, + Element->CachedW, Element->CachedH, + BOX_BORDER + ); + Video_FillRect( + Element->CachedX+1, Element->CachedY+1, + Element->CachedW-2, Element->CachedH-2, + BOX_BGCOLOUR + ); + // Enumerate Items. + break; + case ELETYPE_TOOLBAR: // Tool Bar Video_DrawRect( Element->CachedX, Element->CachedY, Element->CachedW, Element->CachedH, @@ -41,7 +62,7 @@ void Decorator_RenderWidget(tElement *Element) ); break; - case ELETYPE_SPACER: + case ELETYPE_SPACER: // Spacer (subtle line) Video_FillRect( Element->CachedX+3, Element->CachedY+3, Element->CachedW-6, Element->CachedH-6, @@ -49,11 +70,11 @@ void Decorator_RenderWidget(tElement *Element) ); break; - case ELETYPE_BUTTON: + case ELETYPE_BUTTON: // Button Video_FillRect( Element->CachedX+1, Element->CachedY+1, Element->CachedW-2, Element->CachedH-2, - BUTTON_BORDER + BUTTON_BGCOLOUR ); Video_DrawRect( Element->CachedX, Element->CachedY, @@ -67,10 +88,21 @@ void Decorator_RenderWidget(tElement *Element) Element->CachedX+1, Element->CachedY+1, Element->CachedW-2, Element->CachedH-2, NULL, - 10, TEXT_COLOUR, Element->Text ); break; + + case ELETYPE_IMAGE: + Video_DrawImage( + Element->CachedX, Element->CachedY, + Element->CachedW, Element->CachedH, + Element->Data + ); + break; + + default: + _SysDebug(" ERROR: Unknown type %i", Element->Type); + break; } }