]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/renderer.tex
Use const
[wxWidgets.git] / docs / latex / wx / renderer.tex
index 2f2a7d6fcd34fbff6f1ea1090afeb29afc188971..88f6923d74b12472eef31959e3634b87a641a198 100644 (file)
@@ -52,6 +52,11 @@ the rendering functions should always prepare it.
 combination of the \texttt{wxCONTROL\_XXX} constants below.
 \end{itemize}
 
+Note that each drawing function restores the \helpref{wxDC}{wxdc} attributes if
+it changes them, so it is safe to assume that the same pen, brush and colours
+that were active before the call to this function are still in effect after it.
+
+
 \wxheading{Constants}
 
 The following rendering flags are defined:
@@ -62,9 +67,12 @@ enum
     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
@@ -81,6 +89,10 @@ No base class
 
 <wx/renderer.h>
 
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
@@ -124,11 +136,44 @@ rectangle of a drop down button which arrow matches the size you need.
 \arg{flags} may have the \texttt{wxCONTROL\_PRESSED} or \texttt{wxCONTROL\_CURRENT} bit set.
 
 
+\membersection{wxRendererNative::DrawFocusRect}\label{wxrenderernativedrawfocusrect}
+
+\func{void}{DrawFocusRect}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}}
+
+Draw a focus rectangle using the specified rectangle.
+\helpref{wxListCtrl}{wxlistctrl}. The only supported flags is 
+\texttt{wxCONTROL\_SELECTED} for items which are selected.
+
+
 \membersection{wxRendererNative::DrawHeaderButton}\label{wxrenderernativedrawheaderbutton}
 
-\func{void}{DrawHeaderButton}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}}
+\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\_DOWN}.  Additional values controlling the
+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.
 
-Draw the header control button (used by \helpref{wxListCtrl}{wxlistctrl}).
+
+
+\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}
@@ -192,6 +237,14 @@ is the default renderer implementation, others have platform-specific default
 renderer which can be retrieved by calling \helpref{GetDefault}{wxrenderernativegetdefault}.
 
 
+\membersection{wxRendererNative::GetHeaderButtonHeight}\label{wxrenderernativegetheaderbuttonheight}
+
+\func{int}{GetHeaderButtonHeight}{\param{const wxWindow* }{win}}
+
+Returns the height of a header button, either a fixed platform height if available, or a 
+generic height based on the window's font.
+
+
 \membersection{wxRendererNative::GetSplitterParams}\label{wxrenderernativegetsplitterparams}
 
 \func{wxSplitterRenderParams}{GetSplitterParams}{\param{const wxWindow* }{win}}
@@ -236,3 +289,4 @@ Set the renderer to use, passing {\tt NULL} reverts to using the default
 renderer (the global renderer must always exist).
 
 Return the previous renderer used with Set() or {\tt NULL} if none.
+