Module: wine Branch: master Commit: d93aab9c2aac21048653b090fcae8f1ca310edd7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d93aab9c2aac21048653b090fc...
Author: Nikolay Sivov bunglehead@gmail.com Date: Sun May 17 23:08:44 2009 +0400
comctl32/treeview: Use cached colors instead of GetSysColor in TreeView.
---
dlls/comctl32/treeview.c | 24 +++++++++++++----------- 1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c index 4aa5725..d01a127 100644 --- a/dlls/comctl32/treeview.c +++ b/dlls/comctl32/treeview.c @@ -2306,7 +2306,7 @@ TREEVIEW_DrawItemLines(const TREEVIEW_INFO *infoPtr, HDC hdc, const TREEVIEW_ITE & (TVS_LINESATROOT|TVS_HASLINES|TVS_HASBUTTONS)) > TVS_LINESATROOT); HBRUSH hbr, hbrOld; - COLORREF clrBk = infoPtr->clrBk == -1 ? GetSysColor(COLOR_WINDOW): + COLORREF clrBk = infoPtr->clrBk == -1 ? comctl32_color.clrWindow: infoPtr->clrBk;
if (!lar && item->iLevel == 0) @@ -2460,26 +2460,26 @@ TREEVIEW_DrawItem(const TREEVIEW_INFO *infoPtr, HDC hdc, TREEVIEW_ITEM *wineItem { if ((wineItem->state & TVIS_DROPHILITED) || inFocus) { - nmcdhdr.clrTextBk = GetSysColor(COLOR_HIGHLIGHT); - nmcdhdr.clrText = GetSysColor(COLOR_HIGHLIGHTTEXT); + nmcdhdr.clrTextBk = comctl32_color.clrHighlight; + nmcdhdr.clrText = comctl32_color.clrHighlightText; } else { - nmcdhdr.clrTextBk = GetSysColor(COLOR_BTNFACE); + nmcdhdr.clrTextBk = comctl32_color.clrBtnFace; if (infoPtr->clrText == -1) - nmcdhdr.clrText = GetSysColor(COLOR_WINDOWTEXT); + nmcdhdr.clrText = comctl32_color.clrWindowText; else nmcdhdr.clrText = infoPtr->clrText; } } else { - nmcdhdr.clrTextBk = infoPtr->clrBk == -1 ? GetSysColor(COLOR_WINDOW): + nmcdhdr.clrTextBk = infoPtr->clrBk == -1 ? comctl32_color.clrWindow: infoPtr->clrBk; if ((infoPtr->dwStyle & TVS_TRACKSELECT) && (wineItem == infoPtr->hotItem)) nmcdhdr.clrText = comctl32_color.clrHighlight; else if (infoPtr->clrText == -1) - nmcdhdr.clrText = GetSysColor(COLOR_WINDOWTEXT); + nmcdhdr.clrText = comctl32_color.clrWindowText; else nmcdhdr.clrText = infoPtr->clrText; } @@ -2786,7 +2786,7 @@ static LRESULT TREEVIEW_EraseBackground(const TREEVIEW_INFO *infoPtr, HDC hDC) { HBRUSH hBrush; - COLORREF clrBk = infoPtr->clrBk == -1 ? GetSysColor(COLOR_WINDOW): + COLORREF clrBk = infoPtr->clrBk == -1 ? comctl32_color.clrWindow: infoPtr->clrBk; RECT rect;
@@ -4885,7 +4885,7 @@ initialize_checkboxes(TREEVIEW_INFO *infoPtr)
SelectObject(hdc, hbmOld); nIndex = ImageList_AddMasked(infoPtr->himlState, hbm, - GetSysColor(COLOR_WINDOW)); + comctl32_color.clrWindow); TRACE("checkbox index %d\n", nIndex);
DeleteObject(hbm); @@ -4949,7 +4949,7 @@ TREEVIEW_Create(HWND hwnd, const CREATESTRUCTW *lpcs) infoPtr->clrBk = -1; /* use system color */ infoPtr->clrText = -1; /* use system color */ infoPtr->clrLine = RGB(128, 128, 128); - infoPtr->clrInsertMark = GetSysColor(COLOR_BTNTEXT); + infoPtr->clrInsertMark = comctl32_color.clrBtnText;
/* hwndToolTip */
@@ -5705,7 +5705,9 @@ TREEVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_STYLECHANGED: return TREEVIEW_StyleChanged(infoPtr, wParam, lParam);
- /* WM_SYSCOLORCHANGE */ + case WM_SYSCOLORCHANGE: + COMCTL32_RefreshSysColors(); + return 0;
/* WM_SYSKEYDOWN */