DrawFrameControl update
Dimitrie O. Paun
dpaun at rogers.com
Mon Sep 9 11:48:05 CDT 2002
ChangeLog
-- implement DFCS_TRANSPARENT
-- fix indentation
-- add remark about unimplemented DFC_POPUPMENU
Index: controls/uitools.c
===================================================================
RCS file: /var/cvs/wine/controls/uitools.c,v
retrieving revision 1.27
diff -u -r1.27 uitools.c
--- controls/uitools.c 31 May 2002 23:06:46 -0000 1.27
+++ controls/uitools.c 9 Sep 2002 14:26:57 -0000
@@ -682,18 +682,20 @@
else
UITOOLS95_DrawRectEdge(dc, &myr, edge, (uFlags&DFCS_FLAT)|BF_RECT|BF_SOFT|BF_ADJUST);
- UITOOLS_DrawCheckedRect( dc, &myr );
- }
- else
- {
+ if (!(uFlags & DFCS_TRANSPARENT))
+ UITOOLS_DrawCheckedRect( dc, &myr );
+ }
+ else
+ {
if(uFlags & DFCS_MONO)
{
UITOOLS95_DrawRectEdge(dc, &myr, edge, BF_MONO|BF_RECT|BF_ADJUST);
- FillRect(dc, &myr, GetSysColorBrush(COLOR_BTNFACE));
+ if (!(uFlags & DFCS_TRANSPARENT))
+ FillRect(dc, &myr, GetSysColorBrush(COLOR_BTNFACE));
}
else
{
- UITOOLS95_DrawRectEdge(dc, r, edge, (uFlags&DFCS_FLAT) | BF_MIDDLE | BF_RECT);
+ UITOOLS95_DrawRectEdge(dc, r, edge, (uFlags & DFCS_FLAT) | ((uFlags & DFCS_TRANSPARENT) ? 0 : BF_MIDDLE) | BF_RECT);
}
}
@@ -724,6 +726,7 @@
{
RECT myr, bar;
UINT flags = BF_RECT | BF_ADJUST;
+
UITOOLS_MakeSquareRect(r, &myr);
if(uFlags & DFCS_FLAT) flags |= BF_FLAT;
@@ -731,13 +734,14 @@
UITOOLS95_DrawRectEdge( dc, &myr, EDGE_SUNKEN, flags );
- if(uFlags & (DFCS_INACTIVE|DFCS_PUSHED))
- FillRect(dc, &myr, GetSysColorBrush(COLOR_BTNFACE));
- else if( (uFlags & DFCS_BUTTON3STATE) && (uFlags & DFCS_CHECKED) )
- UITOOLS_DrawCheckedRect( dc, &myr );
- else
+ if (!(uFlags & DFCS_TRANSPARENT))
{
- FillRect(dc, &myr, GetSysColorBrush(COLOR_WINDOW));
+ if(uFlags & (DFCS_INACTIVE | DFCS_PUSHED))
+ FillRect(dc, &myr, GetSysColorBrush(COLOR_BTNFACE));
+ else if( (uFlags & DFCS_BUTTON3STATE) && (uFlags & DFCS_CHECKED) )
+ UITOOLS_DrawCheckedRect( dc, &myr );
+ else
+ FillRect(dc, &myr, GetSysColorBrush(COLOR_WINDOW));
}
if(uFlags & DFCS_CHECKED)
@@ -783,9 +787,7 @@
if(BorderShrink < 1) BorderShrink = 1;
if((uFlags & 0xff) == DFCS_BUTTONRADIOIMAGE)
- {
FillRect(dc, r, (HBRUSH)GetStockObject(BLACK_BRUSH));
- }
xc = myr.left + SmallDiam - SmallDiam/2;
yc = myr.top + SmallDiam - SmallDiam/2;
@@ -1414,6 +1416,9 @@
return UITOOLS95_DrawFrameCaption(hdc, rc, uState);
case DFC_MENU:
return UITOOLS95_DrawFrameMenu(hdc, rc, uState);
+ /*case DFC_POPUPMENU:
+ FIXME("DFC_POPUPMENU: not implemented\n");
+ break;*/
case DFC_SCROLL:
return UITOOLS95_DrawFrameScroll(hdc, rc, uState);
default:
More information about the wine-patches
mailing list