case wxWidgets provides a default, generic, implementation of them written in
wxWidgets itself.
-These controls don't have the native appearance if only the tandard
+These controls don't have the native appearance if only the standard
line drawing and other graphics primitives are used, because the native
appearance is different under different platforms while the lines are always
drawn in the same way.
wxCONTROL_DISABLED = 0x00000001, // control is disabled
wxCONTROL_FOCUSED = 0x00000002, // currently has keyboard focus
wxCONTROL_PRESSED = 0x00000004, // (button) is pressed
- wxCONTROL_ISDEFAULT = 0x00000008, // only applies to the buttons
- wxCONTROL_ISSUBMENU = wxCONTROL_ISDEFAULT, // only for menu items
- wxCONTROL_EXPANDED = wxCONTROL_ISDEFAULT, // only for the tree items
+ wxCONTROL_SPECIAL = 0x00000008, // control-specific bit:
+ wxCONTROL_ISDEFAULT = wxCONTROL_SPECIAL, // only for the buttons
+ wxCONTROL_ISSUBMENU = wxCONTROL_SPECIAL, // only for the menu items
+ wxCONTROL_EXPANDED = wxCONTROL_SPECIAL, // only for the tree items
+ wxCONTROL_SIZEGRIP = wxCONTROL_SPECIAL, // only for the status bar panes
+ wxCONTROL_FLAT = wxCONTROL_SPECIAL, // checkboxes only: flat border
wxCONTROL_CURRENT = 0x00000010, // mouse is currently over the control
wxCONTROL_SELECTED = 0x00000020, // selected item in e.g. listbox
wxCONTROL_CHECKED = 0x00000040, // (check/radio button) is checked
\membersection{wxRendererNative::DrawHeaderButton}\label{wxrenderernativedrawheaderbutton}
-\func{void}{DrawHeaderButton}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}, \param{wxHeaderSortIconType }{sortArrow = wxHDR\_SORT\_ICON\_NONE}, \param{wxHeaderButtonParams* }{params = NULL}}
+\func{int}{DrawHeaderButton}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}, \param{wxHeaderSortIconType }{sortArrow = wxHDR\_SORT\_ICON\_NONE}, \param{wxHeaderButtonParams* }{params = NULL}}
Draw the header control button (used, for example, by
\helpref{wxListCtrl}{wxlistctrl}). Depending on platforms the
\arg{flags} parameter may support the \texttt{wxCONTROL\_SELECTED}
\texttt{wxCONTROL\_DISABLED} and \texttt{wxCONTROL\_CURRENT} bits.
The \arg{sortArrow} parameter can be one of
-\texttt{wxHDR\_SORT\_ICON\_NONE}, \texttt{wxHDR\_SORT\_ICON\_UP}, or
+\texttt{wxHDR\_SORT\_ICON\_NONE}, \texttt{wxHDR\_SORT\_ICON\_UP}, or
\texttt{wxHDR\_SORT\_ICON\_DOWN}. Additional values controlling the
-drawing of a text or bitmap label can be passed in \arg{params}.
+drawing of a text or bitmap label can be passed in \arg{params}. The
+value returned is the optimal width to contain the the unabreviated
+label text or bitmap, the sort arrow if present, and internal margins.
+
+
+
+\membersection{wxRendererNative::DrawItemSelectionRect}\label{wxrenderernativedrawitemselectionrect}
+
+\func{void}{DrawItemSelectionRect}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}}
+
+Draw a selection rectangle underneath the text as used e.g. in a
+\helpref{wxListCtrl}{wxlistctrl}. The supported \arg{flags} are
+\texttt{wxCONTROL\_SELECTED} for items which are selected (e.g. often a blue
+rectangle) and \texttt{wxCONTROL\_CURRENT} for the item that has the focus
+(often a dotted line around the item's text). \texttt{wxCONTROL\_FOCUSED} may
+be used to indicate if the control has the focus (othewise the the selection
+rectangle is e.g. often grey and not blue). This may be ignored by the renderer
+or deduced by the code directly from the \arg{win}.
\membersection{wxRendererNative::DrawPushButton}\label{wxrenderernativedrawpushbutton}