added DrawComboBoxDropButton()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-01-21 15:32:07 +00:00
parent b6292ff062
commit f33cef9fec
3 changed files with 54 additions and 0 deletions

View File

@@ -91,6 +91,16 @@ No base class
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}}

View File

@@ -154,6 +154,14 @@ public:
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
// ------------------
@@ -245,6 +253,12 @@ public:
{ 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); }

View File

@@ -68,6 +68,11 @@ public:
wxOrientation orient,
int flags = 0);
virtual void DrawComboBoxDropButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags = 0);
virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win);
@@ -338,7 +343,32 @@ wxRendererGeneric::DrawSplitterSash(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)