Virtual destructor as for any base class.
+\membersection{wxRendererGeneric::DrawComboBoxDropButton}
+
+\func{void}{DrawComboBoxDropButton}{\param{wxWindow *}{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags}}
+
+Draw a button like the one used by \helpref{wxComboBox}{wxcombobox} to show a
+drop down window. The usual appearance is a downwards pointing arrow.
+
+\arg{flags} may have the \texttt{wxCONTROL\_PRESSED} bit set.
+
+
\membersection{wxRendererNative::DrawHeaderButton}\label{wxrenderernativedrawheaderbutton}
\func{void}{DrawHeaderButton}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}}
wxOrientation orient,
int flags = 0) = 0;
+ // draw a combobox dropdown button
+ //
+ // flags may only use wxCONTROL_PRESSED
+ virtual void DrawComboBoxDropButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0) = 0;
+
// geometry functions
// ------------------
{ m_rendererNative.DrawSplitterSash(win, dc, size,
position, orient, flags); }
+ virtual void DrawComboBoxDropButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0)
+ { m_rendererNative.DrawComboBoxDropButton(win, dc, rect, flags); }
+
virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win)
{ return m_rendererNative.GetSplitterParams(win); }
wxOrientation orient,
int flags = 0);
+ virtual void DrawComboBoxDropButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0);
+
virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win);
}
}
+void
+wxRendererGeneric::DrawComboBoxDropButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int WXUNUSED(flags))
+{
+ dc.SetBrush(wxBrush(win->GetBackgroundColour()));
+ dc.SetPen(wxPen(win->GetBackgroundColour()));
+ dc.DrawRectangle(0, 0, rect.width, rect.height);
+
+ wxPoint pt[] =
+ {
+ wxPoint(0, 0),
+ wxPoint(rect.width, 0),
+ wxPoint(rect.width/2, rect.height - 2)
+ };
+ dc.SetBrush(wxBrush(win->GetForegroundColour()));
+ dc.SetPen(wxPen(win->GetForegroundColour()));
+ dc.DrawPolygon(WXSIZEOF(pt), pt);
+}
+
+
+// ----------------------------------------------------------------------------
// A module to allow cleanup of generic renderer.
+// ----------------------------------------------------------------------------
+
class wxGenericRendererModule: public wxModule
{
DECLARE_DYNAMIC_CLASS(wxGenericRendererModule)