// Modified by:
// Created: 20.07.2003
// RCS-ID: $Id$
-// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
+// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
/*
- Renderers are used in wxWindows for two similar but different things:
+ Renderers are used in wxWidgets for two similar but different things:
(a) wxUniversal uses them to draw everything, i.e. all the control
(b) all the native ports use them to draw generic controls only
wxCONTROL_SELECTED = 0x00000020, // selected item in e.g. listbox
wxCONTROL_CHECKED = 0x00000040, // (check/radio button) is checked
wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked
+ wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
wxCONTROL_FLAGS_MASK = 0x000000ff,
wxOrientation orient,
int flags = 0) = 0;
+ // draw a combobox dropdown button
+ //
+ // flags may use wxCONTROL_PRESSED and wxCONTROL_CURRENT
+ virtual void DrawComboBoxDropButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0) = 0;
+
+ // draw a dropdown arrow
+ //
+ // flags may use wxCONTROL_PRESSED and wxCONTROL_CURRENT
+ virtual void DrawDropArrow(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0) = 0;
+
+ // draw check button
+ //
+ // flags may use wxCONTROL_CHECKED, wxCONTROL_UNDETERMINED and wxCONTROL_CURRENT
+ virtual void DrawCheckBox(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0) = 0;
+
+ // draw blank button
+ //
+ // flags may use wxCONTROL_PRESSED, wxCONTROL_CURRENT and wxCONTROL_ISDEFAULT
+ virtual void DrawPushButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0) = 0;
+
+ // draw rectangle indicating that an item in e.g. a list control
+ // has been selected or focused
+ //
+ // flags may use
+ // wxCONTROL_SELECTED (item is selected, e.g. draw background)
+ // wxCONTROL_CURRENT (item is the current item, e.g. dotted border)
+ // wxCONTROL_FOCUSED (the whole control has focus, e.g. blue background vs. grey otherwise)
+ virtual void DrawItemSelectionRect(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 void DrawDropArrow(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0)
+ { m_rendererNative.DrawDropArrow(win, dc, rect, flags); }
+
+ virtual void DrawCheckBox(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0 )
+ { m_rendererNative.DrawCheckBox( win, dc, rect, flags ); }
+
+ virtual void DrawPushButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0 )
+ { m_rendererNative.DrawPushButton( win, dc, rect, flags ); }
+
+ virtual void DrawItemSelectionRect(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0 )
+ { m_rendererNative.DrawItemSelectionRect( win, dc, rect, flags ); }
virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win)
{ return m_rendererNative.GetSplitterParams(win); }
#endif // !wxHAS_NATIVE_RENDERER
#endif // _WX_RENDERER_H_
-