// 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();
// 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
// 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)