diff --git a/include/wx/bookctrl.h b/include/wx/bookctrl.h index a8e7ef7ce6..e1605aef73 100644 --- a/include/wx/bookctrl.h +++ b/include/wx/bookctrl.h @@ -179,8 +179,10 @@ public: } } + // override some base class virtuals virtual void ApplyParentThemeBackground(const wxColour& bg) { SetBackgroundColour(bg); } + virtual bool ProvidesBackground() const { return true; } protected: // remove the page and return a pointer to it diff --git a/include/wx/toplevel.h b/include/wx/toplevel.h index b14af59160..a3821d3199 100644 --- a/include/wx/toplevel.h +++ b/include/wx/toplevel.h @@ -191,6 +191,7 @@ public: virtual bool Destroy(); virtual bool IsTopLevel() const { return true; } virtual wxSize GetMaxSize() const; + virtual bool ProvidesBackground() const { return true; } // event handlers void OnCloseWindow(wxCloseEvent& event); diff --git a/include/wx/univ/toplevel.h b/include/wx/univ/toplevel.h index e0fb181d12..70f04446c3 100644 --- a/include/wx/univ/toplevel.h +++ b/include/wx/univ/toplevel.h @@ -143,8 +143,6 @@ public: virtual int GetMinWidth() const; virtual int GetMinHeight() const; - virtual bool ProvidesBackground() const { return true; } - protected: // handle titlebar button click event virtual void ClickTitleBarButton(long button); diff --git a/include/wx/univ/window.h b/include/wx/univ/window.h index c39940a21a..2ef6b3ea94 100644 --- a/include/wx/univ/window.h +++ b/include/wx/univ/window.h @@ -148,11 +148,6 @@ public: // as a wxStaticText and wxCheckBox and the background should // be adapted from a parent window virtual bool HasTransparentBackground() { return false; } - - // to be used with function above: transparent windows get - // their background from parents that return true here, - // so this is mostly for wxPanel, wxTopLevelWindow etc. - virtual bool ProvidesBackground() const { return false; } // return true if this control can be highlighted when the mouse is over // it (the theme decides itself whether it is really highlighted or not) @@ -183,7 +178,7 @@ public: // erase part of the control virtual void EraseBackground(wxDC& dc, const wxRect& rect); - + // overridden base class methods // ----------------------------- @@ -252,12 +247,12 @@ protected: // the renderer we use wxRenderer *m_renderer; - + // background bitmap info wxBitmap m_bitmapBg; int m_alignBgBitmap; wxStretch m_stretchBgBitmap; - + // old size wxSize m_oldSize; diff --git a/include/wx/window.h b/include/wx/window.h index db5205b6a7..47e9d653e1 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -757,6 +757,13 @@ public: } wxColour GetBackgroundColour() const; + // if the window shouldn't inherit its colour from the parent, override + // this function to return true + // + // this is currently only used by wxMSW and wxUniv but should be useful for + // the other ports too + virtual bool ProvidesBackground() const { return false; } + virtual bool SetForegroundColour(const wxColour& colour); void SetOwnForegroundColour(const wxColour& colour) {