]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/renderer.tex
pickers code cleanup (patch 1552220)
[wxWidgets.git] / docs / latex / wx / renderer.tex
index 221f6594259c2d024fee1d8c00c8466286ebde9f..17469cdc33d9e864df880f2e4d1f2f3acb328a79 100644 (file)
@@ -6,7 +6,7 @@
 %% Created:     06.08.03
 %% RCS-ID:      $Id$
 %% Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-%% License:     wxWidgets license
+%% License:     wxWindows license
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \section{\class{wxRendererNative}}\label{wxrenderernative}
@@ -14,7 +14,7 @@
 First, a brief introduction to wxRenderer and why it is needed.
 
 Usually wxWidgets uses the underlying low level GUI system to draw all the
-controls -- this is what we mean when we say that it is a ``native'' framework.
+controls - this is what we mean when we say that it is a ``native'' framework.
 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.
@@ -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:
@@ -68,7 +73,8 @@ enum
     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_CHECKABLE  = 0x00000080   // (menu) item can be checked
+    wxCONTROL_CHECKABLE  = 0x00000080,  // (menu) item can be checked
+    wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE  // (check) undetermined state
 };
 \end{verbatim}
 
@@ -91,14 +97,36 @@ No base class
 Virtual destructor as for any base class.
 
 
-\membersection{wxRendererGeneric::DrawComboBoxDropButton}
+\membersection{wxRendererNative::DrawCheckBox}\label{wxrenderernativedrawcheckbox}
+
+\func{void}{DrawCheckBox}{\param{wxWindow *}{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags}}
+
+Draw a check box (used by wxDataViewCtrl).
+
+\arg{flags} may have the \texttt{wxCONTROL\_CHECKED}, \texttt{wxCONTROL\_CURRENT} or
+\texttt{wxCONTROL\_UNDETERMINED} bit set.
+
+
+\membersection{wxRendererNative::DrawComboBoxDropButton}\label{wxrenderernativedrawcomboboxdropbutton}
 
 \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.
+\arg{flags} may have the \texttt{wxCONTROL\_PRESSED} or \texttt{wxCONTROL\_CURRENT} bit set.
+
+
+\membersection{wxRendererNative::DrawDropArrow}\label{wxrenderernativedrawdroparrow}
+
+\func{void}{DrawDropArrow}{\param{wxWindow *}{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags}}
+
+Draw a drop down arrow that is suitable for use outside a combo box. Arrow will have
+transparent background.
+
+\arg{rect} is not entirely filled by the arrow. Instead, you should use bounding
+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::DrawHeaderButton}\label{wxrenderernativedrawheaderbutton}
@@ -108,6 +136,16 @@ drop down window. The usual appearance is a downwards pointing arrow.
 Draw the header control button (used by \helpref{wxListCtrl}{wxlistctrl}).
 
 
+\membersection{wxRendererNative::DrawPushButton}\label{wxrenderernativedrawpushbutton}
+
+\func{void}{DrawPushButton}{\param{wxWindow *}{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags}}
+
+Draw a blank push button that looks very similar to \helpref{wxButton}{wxbutton}.
+
+\arg{flags} may have the \texttt{wxCONTROL\_PRESSED}, \texttt{wxCONTROL\_CURRENT} or
+\texttt{wxCONTROL\_ISDEFAULT} bit set.
+
+
 \membersection{wxRendererNative::DrawSplitterBorder}\label{wxrenderernativedrawsplitterborder}
 
 \func{void}{DrawSplitterBorder}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}}
@@ -122,7 +160,7 @@ well.
 \func{void}{DrawSplitterSash}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxSize\& }{size}, \param{wxCoord }{position}, \param{wxOrientation }{orient}, \param{int }{flags = 0}}
 
 Draw a sash. The \arg{orient} parameter defines whether the sash should be
-vertical or horizontal and how should the \arg{position} be interpreted.
+vertical or horizontal and how the \arg{position} should be interpreted.
 
 
 \membersection{wxRendererNative::DrawTreeItemButton}\label{wxrenderernativedrawtreeitembutton}
@@ -203,4 +241,3 @@ 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.
-