]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/renderer.tex
added null pointer check and assert
[wxWidgets.git] / docs / latex / wx / renderer.tex
index 3524cd8aeeacca09bc1ecf78c4a1ab2218a1d51e..88f6923d74b12472eef31959e3634b87a641a198 100644 (file)
@@ -19,7 +19,7 @@ However not all controls exist under all (or even any) platforms and in this
 case wxWidgets provides a default, generic, implementation of them written in
 wxWidgets itself.
 
 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.
 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.
@@ -67,9 +67,12 @@ enum
     wxCONTROL_DISABLED   = 0x00000001,  // control is disabled
     wxCONTROL_FOCUSED    = 0x00000002,  // currently has keyboard focus
     wxCONTROL_PRESSED    = 0x00000004,  // (button) is pressed
     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
     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
@@ -86,6 +89,10 @@ No base class
 
 <wx/renderer.h>
 
 
 <wx/renderer.h>
 
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
@@ -129,18 +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.
 
 
 \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}
 
 \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
 
 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
 \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}
 
 
 \membersection{wxRendererNative::DrawPushButton}\label{wxrenderernativedrawpushbutton}
@@ -256,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.
 renderer (the global renderer must always exist).
 
 Return the previous renderer used with Set() or {\tt NULL} if none.
+