Rebar fixes from CW
Dimitrie O. Paun
dimi at cs.toronto.edu
Sat Jan 26 01:45:15 CST 2002
Extracted from office1.diff
ChangeLog
Text/Bkgnd color fixes for the rebar (by Codeweavers).
--
Dimi.
-------------- next part --------------
Index: dlls/comctl32/rebar.c
===================================================================
RCS file: /var/cvs/wine/dlls/comctl32/rebar.c,v
retrieving revision 1.51
diff -u -r1.51 rebar.c
--- dlls/comctl32/rebar.c 14 Jan 2002 18:32:42 -0000 1.51
+++ dlls/comctl32/rebar.c 26 Jan 2002 06:32:22 -0000
@@ -569,13 +569,18 @@
/* need to handle CDRF_NEWFONT here */
INT oldBkMode = SetBkMode (hdc, TRANSPARENT);
COLORREF oldcolor = CLR_NONE;
- oldcolor = SetTextColor (hdc, (lpBand->clrFore != CLR_NONE) ?
- lpBand->clrFore : infoPtr->clrBtnText);
+ COLORREF new;
+ if (lpBand->clrFore != CLR_NONE) {
+ new = (lpBand->clrFore == CLR_DEFAULT) ? infoPtr->clrBtnText :
+ lpBand->clrFore;
+ oldcolor = SetTextColor (hdc, new);
+ }
DrawTextW (hdc, lpBand->lpText, -1, &lpBand->rcCapText,
DT_CENTER | DT_VCENTER | DT_SINGLELINE);
if (oldBkMode != TRANSPARENT)
SetBkMode (hdc, oldBkMode);
- SetTextColor (hdc, oldcolor);
+ if (lpBand->clrFore != CLR_NONE)
+ SetTextColor (hdc, oldcolor);
SelectObject (hdc, hOldFont);
}
@@ -2078,7 +2083,7 @@
INT i, oldrow;
HDC hdc = (HDC)wParam;
RECT rect;
- COLORREF old, new;
+ COLORREF old = CLR_NONE, new;
oldrow = -1;
for(i=0; i<infoPtr->uNumBands; i++) {
@@ -2124,25 +2129,28 @@
}
/* draw the actual background */
- if (lpBand->clrBack != CLR_NONE)
- new = lpBand->clrBack;
- else
- new = infoPtr->clrBtnFace;
- rect = lpBand->rcBand;
+ if (lpBand->clrBack != CLR_NONE) {
+ new = (lpBand->clrBack == CLR_DEFAULT) ? infoPtr->clrBtnFace :
+ lpBand->clrBack;
#if GLATESTING
- /* testing only - make background green to see it */
- new = RGB(0,128,0);
+ /* testing only - make background green to see it */
+ new = RGB(0,128,0);
#endif
- old = SetBkColor (hdc, new);
+ old = SetBkColor (hdc, new);
+ }
+
+ rect = lpBand->rcBand;
TRACE("%s background color=0x%06lx, band (%d,%d)-(%d,%d), clip (%d,%d)-(%d,%d)\n",
- (lpBand->clrBack == CLR_NONE) ? "std" : "",
- new,
+ (lpBand->clrBack == CLR_NONE) ? "none" :
+ ((lpBand->clrBack == CLR_DEFAULT) ? "dft" : ""),
+ GetBkColor(hdc),
lpBand->rcBand.left,lpBand->rcBand.top,
lpBand->rcBand.right,lpBand->rcBand.bottom,
clip->left, clip->top,
clip->right, clip->bottom);
ExtTextOutA (hdc, 0, 0, ETO_OPAQUE, &rect, NULL, 0, 0);
- SetBkColor (hdc, old);
+ if (lpBand->clrBack != CLR_NONE)
+ SetBkColor (hdc, old);
}
return TRUE;
}
@@ -2589,7 +2597,7 @@
if (lprbbi->fMask & RBBIM_COLORS) {
lprbbi->clrFore = lpBand->clrFore;
lprbbi->clrBack = lpBand->clrBack;
- if (lprbbi->clrBack == CLR_NONE)
+ if (lprbbi->clrBack == CLR_DEFAULT)
lprbbi->clrBack = infoPtr->clrBtnFace;
}
@@ -2675,7 +2683,7 @@
if (lprbbi->fMask & RBBIM_COLORS) {
lprbbi->clrFore = lpBand->clrFore;
lprbbi->clrBack = lpBand->clrBack;
- if (lprbbi->clrBack == CLR_NONE)
+ if (lprbbi->clrBack == CLR_DEFAULT)
lprbbi->clrBack = infoPtr->clrBtnFace;
}
@@ -2773,7 +2781,7 @@
{
COLORREF clr = infoPtr->clrBk;
- if (clr == CLR_NONE)
+ if (clr == CLR_DEFAULT)
clr = infoPtr->clrBtnFace;
TRACE("background color 0x%06lx!\n", clr);
More information about the wine-patches
mailing list