Nikolay Sivov : comctl32/treeview: Draw +/- signs with text color, not the lines' one.
Alexandre Julliard
julliard at winehq.org
Mon Dec 14 09:51:13 CST 2009
Module: wine
Branch: master
Commit: 49dabfe31d068bc8a87ef1e551be750dd639d002
URL: http://source.winehq.org/git/wine.git/?a=commit;h=49dabfe31d068bc8a87ef1e551be750dd639d002
Author: Nikolay Sivov <bunglehead at gmail.com>
Date: Sat Dec 12 12:32:54 2009 +0300
comctl32/treeview: Draw +/- signs with text color, not the lines' one.
+/- aren't affected by customdraw settings, only per control
set colors used.
---
dlls/comctl32/treeview.c | 25 ++++++++++++++++---------
1 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index c8524ca..4a8ced3 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -2333,7 +2333,7 @@ TREEVIEW_DrawItemLines(const TREEVIEW_INFO *infoPtr, HDC hdc, const TREEVIEW_ITE
hbr = CreateSolidBrush(clrBk);
hbrOld = SelectObject(hdc, hbr);
-
+
centerx = (item->linesOffset + item->stateOffset) / 2;
centery = (item->rect.top + item->rect.bottom) / 2;
@@ -2414,16 +2414,20 @@ TREEVIEW_DrawItemLines(const TREEVIEW_INFO *infoPtr, HDC hdc, const TREEVIEW_ITE
LONG rectsize = min(height, width) / 4;
/* plussize = ceil(rectsize * 3/4) */
LONG plussize = (rectsize + 1) * 3 / 4;
-
- HPEN hNewPen = CreatePen(PS_SOLID, 0, GETLINECOLOR(infoPtr->clrLine));
- HPEN hOldPen = SelectObject(hdc, hNewPen);
-
+
+ HPEN new_pen = CreatePen(PS_SOLID, 0, GETLINECOLOR(infoPtr->clrLine));
+ HPEN old_pen = SelectObject(hdc, new_pen);
+
Rectangle(hdc, centerx - rectsize - 1, centery - rectsize - 1,
centerx + rectsize + 2, centery + rectsize + 2);
-
- SelectObject(hdc, hOldPen);
- DeleteObject(hNewPen);
-
+
+ SelectObject(hdc, old_pen);
+ DeleteObject(new_pen);
+
+ /* draw +/- signs with current text color */
+ new_pen = CreatePen(PS_SOLID, 0, GETTXTCOLOR(infoPtr->clrText));
+ old_pen = SelectObject(hdc, new_pen);
+
if (height < 18 || width < 18)
{
MoveToEx(hdc, centerx - plussize + 1, centery, NULL);
@@ -2448,6 +2452,9 @@ TREEVIEW_DrawItemLines(const TREEVIEW_INFO *infoPtr, HDC hdc, const TREEVIEW_ITE
SetPixel(hdc, centerx + 1, centery, clrBk);
}
}
+
+ SelectObject(hdc, old_pen);
+ DeleteObject(new_pen);
}
}
}
More information about the wine-cvs
mailing list