From 20fa338c4120e89356d31e46e9f8c97e0bca67c7 Mon Sep 17 00:00:00 2001 From: Dimitri Schoolwerth Date: Sun, 7 Mar 2004 20:00:28 +0000 Subject: [PATCH] Reverted FILLCOLORHINT->FILLCOLOR change. Now when a near black themeColor is returned with FILLCOLORHINT, retry with FILLCOLOR. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26133 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/notebook.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index 765866b191..e4cfd4c2a0 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -946,9 +946,28 @@ wxColour wxNotebook::GetThemeBackgroundColour() hTheme, 10 /* TABP_BODY */, 1 /* NORMAL */, - 3802 /* color of bg fill */, + 3821 /* FILLCOLORHINT */, &themeColor); - + + /* + [DS] Workaround for WindowBlinds: + Some themes return a near black theme color using FILLCOLORHINT, + this makes notebook pages have an ugly black background and makes + text (usually black) unreadable. Retry again with FILLCOLOR. + + This workaround potentially breaks appearance of some themes, + but in practice it already fixes some themes. + */ + if (themeColor == 1) + { + wxUxThemeEngine::Get()->GetThemeColor( + hTheme, + 10 /* TABP_BODY */, + 1 /* NORMAL */, + 3802 /* FILLCOLOR */, + &themeColor); + } + wxColour colour(GetRValue(themeColor), GetGValue(themeColor), GetBValue(themeColor)); return colour; } -- 2.45.2