virtualized splitter drawing; removed/deprecated some styles and moved others from wx/defs.h; eliminated flicker

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-07-21 23:12:17 +00:00
parent f65a69e9a0
commit b3208e1158
8 changed files with 310 additions and 343 deletions

View File

@@ -76,6 +76,26 @@ public:
const wxRect& rect,
int flags = 0) = 0;
// draw the border for sash window: this border must be such that the sash
// drawn by DrawSash() blends into it well
virtual void DrawSplitterBorder(wxWindow *win,
wxDC& dc,
const wxRect& rect) = 0;
// draw a (vertical) sash
virtual void DrawSplitterSash(wxWindow *win,
wxDC& dc,
const wxSize& size,
wxCoord position) = 0;
// geometry functions
// ------------------
// get the splitter parameters: the x field of the returned point is the
// sash width and the y field is the border width
virtual wxPoint GetSplitterSashAndBorder(const wxWindow *win) = 0;
// pseudo constructors
// -------------------
@@ -106,12 +126,28 @@ public:
const wxRect& rect,
int flags = 0)
{ m_rendererNative.DrawHeaderButton(win, dc, rect, flags); }
virtual void DrawTreeItemButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags = 0)
{ m_rendererNative.DrawTreeItemButton(win, dc, rect, flags); }
virtual void DrawSplitterBorder(wxWindow *win,
wxDC& dc,
const wxRect& rect)
{ m_rendererNative.DrawSplitterBorder(win, dc, rect); }
virtual void DrawSplitterSash(wxWindow *win,
wxDC& dc,
const wxSize& size,
wxCoord position)
{ m_rendererNative.DrawSplitterSash(win, dc, size, position); }
virtual wxPoint GetSplitterSashAndBorder(const wxWindow *win)
{ return m_rendererNative.GetSplitterSashAndBorder(win); }
protected:
wxRendererNative& m_rendererNative;
};