@a flags may have the @c wxCONTROL_CHECKED, @c wxCONTROL_CURRENT or
@c wxCONTROL_UNDETERMINED bit set, see @ref wxCONTROL_FLAGS.
*/
- virtual void DrawCheckBox(wxWindow* win, wxDC& dc,
- const wxRect& rect, int flags);
+ virtual void DrawCheckBox(wxWindow* win, wxDC& dc, const wxRect& rect,
+ int flags = 0) = 0;
/**
Draw a button like the one used by wxComboBox to show a
see @ref wxCONTROL_FLAGS.
*/
virtual void DrawComboBoxDropButton(wxWindow* win, wxDC& dc,
- const wxRect& rect,
- int flags);
+ const wxRect& rect, int flags = 0) = 0;
/**
Draw a drop down arrow that is suitable for use outside a combo box. Arrow will
see @ref wxCONTROL_FLAGS.
*/
virtual void DrawDropArrow(wxWindow* win, wxDC& dc, const wxRect& rect,
- int flags);
+ int flags = 0) = 0;
/**
Draw a focus rectangle using the specified rectangle.
see @ref wxCONTROL_FLAGS.
*/
virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect,
- int flags = 0);
+ int flags = 0) = 0;
/**
Draw the header control button (used, for example, by wxListCtrl).
the @a win.
*/
virtual void DrawItemSelectionRect(wxWindow* win, wxDC& dc,
- const wxRect& rect, int flags = 0);
+ const wxRect& rect, int flags = 0) = 0;
/**
Draw a blank push button that looks very similar to wxButton.
@a flags may have the @c wxCONTROL_PRESSED, @c wxCONTROL_CURRENT or
@c wxCONTROL_ISDEFAULT bit set, see @ref wxCONTROL_FLAGS.
*/
- virtual void DrawPushButton(wxWindow* win, wxDC& dc,
- const wxRect& rect, int flags);
+ virtual void DrawPushButton(wxWindow* win, wxDC& dc, const wxRect& rect,
+ int flags = 0) = 0;
/**
Draw the border for sash window: this border must be such that the sash
drawn by DrawSplitterSash() blends into it well.
*/
- virtual void DrawSplitterBorder(wxWindow* win, wxDC& dc,
- const wxRect& rect, int flags = 0);
+ virtual void DrawSplitterBorder(wxWindow* win, wxDC& dc, const wxRect& rect,
+ int flags = 0) = 0;
/**
Draw a sash. The @a orient parameter defines whether the sash should be
To draw an expanded button the @a flags parameter must contain @c wxCONTROL_EXPANDED bit,
see @ref wxCONTROL_FLAGS.
*/
- virtual void DrawTreeItemButton(wxWindow* win, wxDC& dc,
- const wxRect& rect, int flags = 0);
+ virtual void DrawTreeItemButton(wxWindow* win, wxDC& dc, const wxRect& rect,
+ int flags = 0) = 0;
+
+ /**
+ Draw a native wxChoice
+ */
+ virtual void DrawChoice(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0) = 0;
+
+ /**
+ Draw a native wxComboBox
+ */
+ virtual void DrawComboBox(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0) = 0;
+
+ /**
+ Draw a native wxTextCtrl frame
+ */
+ virtual void DrawTextCtrl(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0) = 0;
+
+ /**
+ Draw a native wxRadioButton (just the button image, not the text)
+ */
+ virtual void DrawRadioButton(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0) = 0;
/**
Return the currently used renderer.
*/
- static wxRendererNative Get();
+ static wxRendererNative& Get();
/**
Return the default (native) implementation for this platform -- this is also
Set() in which case the return value of this
method may be different from the return value of Get().
*/
- static wxRendererNative GetDefault();
+ static wxRendererNative& GetDefault();
/**
Return the generic implementation of the renderer. Under some platforms, this
is the default renderer implementation, others have platform-specific default
renderer which can be retrieved by calling GetDefault().
*/
- static wxRendererNative GetGeneric();
+ static wxRendererNative& GetGeneric();
/**
Returns the size of a check box.
+ The @a win parameter is not used currently and can be @NULL.
*/
virtual wxSize GetCheckBoxSize(wxWindow* win) = 0;
/**
Returns the height of a header button, either a fixed platform height if
- available, or a
- generic height based on the window's font.
+ available, or a generic height based on the @a win window's font.
*/
virtual int GetHeaderButtonHeight(wxWindow* win) = 0;
/**
- Get the splitter parameters, see
- wxSplitterRenderParams.
+ Get the splitter parameters, see wxSplitterRenderParams.
+ The @a win parameter should be a wxSplitterWindow.
*/
virtual wxSplitterRenderParams GetSplitterParams(const wxWindow* win) = 0;