X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b93051ef464981ad580518dc88a985f28db1e0dd..ade4ae2c51fd5406a8d7bbebc36ccd2c94e48c59:/include/wx/msw/toolbar.h?ds=inline diff --git a/include/wx/msw/toolbar.h b/include/wx/msw/toolbar.h index eadf5217c4..bef24a2ee4 100644 --- a/include/wx/msw/toolbar.h +++ b/include/wx/msw/toolbar.h @@ -80,6 +80,11 @@ public: // returns true if the platform should explicitly apply a theme border virtual bool CanApplyThemeBorder() const { return false; } +#ifdef wxHAS_MSW_BACKGROUND_ERASE_HOOK + virtual bool MSWEraseBgHook(WXHDC hDC); + virtual WXHBRUSH MSWGetBgBrushForChild(WXHDC hDC, wxWindowMSW *child); +#endif // wxHAS_MSW_BACKGROUND_ERASE_HOOK + protected: // common part of all ctors void Init(); @@ -115,9 +120,9 @@ protected: // handlers for various events bool HandleSize(WXWPARAM wParam, WXLPARAM lParam); -#ifndef __WXWINCE__ +#ifdef wxHAS_MSW_BACKGROUND_ERASE_HOOK bool HandlePaint(WXWPARAM wParam, WXLPARAM lParam); -#endif // __WXWINCE__ +#endif // wxHAS_MSW_BACKGROUND_ERASE_HOOK void HandleMouseMove(WXWPARAM wParam, WXLPARAM lParam); // should be called whenever the toolbar size changes @@ -156,11 +161,15 @@ private: // have void UpdateStretchableSpacersSize(); -#ifndef __WXWINCE__ - // redraw the background of the given part of the window to erase separator - // drawn in it - void MSWEraseRect(wxDC& dc, const wxRect& rectItem); -#endif // !__WXWINCE__ +#ifdef wxHAS_MSW_BACKGROUND_ERASE_HOOK + // do erase the toolbar background, always do it for the entire control as + // the caller sets the clipping region correctly to exclude parts which + // should not be erased + void MSWDoEraseBackground(WXHDC hDC); + + // return the brush to use for erasing the toolbar background + WXHBRUSH MSWGetToolbarBgBrush(); +#endif // wxHAS_MSW_BACKGROUND_ERASE_HOOK DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxToolBar)