X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/254fbd140e67b60f46d7380c6ac242110ddd7585..d167fc518a2f59d76f683da70a07f55bcbb95345:/src/msw/notebook.cpp diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index e5b6a4c85a..8eb710fbe4 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -42,13 +42,7 @@ #include -#ifdef __GNUWIN32_OLD__ - #include "wx/msw/gnuwin32/extra.h" -#endif - -#if !(defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__)) - #include -#endif +#include #include "wx/msw/winundef.h" @@ -970,8 +964,9 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event) // wxWindow * const parent = GetParent(); - const bool isFromParent = event.GetEventObject() == parent; - const bool isFromSelf = event.GetEventObject() == this; + // the wxObject* casts are required to avoid MinGW GCC 2.95.3 ICE + const bool isFromParent = event.GetEventObject() == (wxObject*) parent; + const bool isFromSelf = event.GetEventObject() == (wxObject*) this; if ( isFromParent || isFromSelf ) { @@ -1050,7 +1045,7 @@ bool wxNotebook::DoDrawBackground(WXHDC hDC, wxWindow *child) wxUxThemeEngine::Get()->DrawThemeBackground ( theme, - hDC, + (HDC) hDC, 9 /* TABP_PANE */, 0, &rc, @@ -1121,6 +1116,29 @@ bool wxNotebook::MSWPrintChild(WXHDC hDC, wxWindow *child) if ( !UseBgCol() && DoDrawBackground(hDC, child) ) return true; + // If we're using a solid colour (for example if we've switched off + // theming for this notebook), paint it + if (UseBgCol()) + { + wxRect r = GetPageSize(); + if ( r.IsEmpty() ) + return false; + + RECT rc; + wxCopyRectToRECT(r, rc); + + // map rect to the coords of the window we're drawing in + if ( child ) + ::MapWindowPoints(GetHwnd(), GetHwndOf(child), (POINT *)&rc, 2); + + wxBrush brush(GetBackgroundColour()); + HBRUSH hbr = GetHbrushOf(brush); + + ::FillRect((HDC) hDC, &rc, hbr); + + return true; + } + return wxNotebookBase::MSWPrintChild(hDC, child); }