From d406623139feb0bfe18794a454681ceb33e2777a Mon Sep 17 00:00:00 2001 From: Dimitri Schoolwerth Date: Thu, 13 May 2004 20:53:28 +0000 Subject: [PATCH] Backport: 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/branches/WX_2_4_BRANCH@27264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/notebook.cpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index aaa4c35864..a7001ddbf9 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -704,9 +704,27 @@ wxColour wxNotebookGetThemeBackgroundColour(wxNotebook* notebook) m_pfnGetThemeColor(hTheme, 10 /* TABP_BODY */, 1 /* NORMAL */, - 3802 /* color of bg fill */, - & themeColor); - + 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()->m_pfnGetThemeColor(hTheme, + 10 /* TABP_BODY */, + 1 /* NORMAL */, + 3802 /* FILLCOLOR */, + &themeColor); + } + wxUxThemeEngine::Get()->m_pfnCloseThemeData(hTheme); wxColour colour(GetRValue(themeColor), GetGValue(themeColor), GetBValue(themeColor));