X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d2c2afc91be4bdb6e036516785f334ddb54afa0c..766571a7039fe4428dabe5e2aabcb4055ceb9db9:/docs/latex/wx/renderer.tex?ds=inline diff --git a/docs/latex/wx/renderer.tex b/docs/latex/wx/renderer.tex index 3e5f7b52c5..17469cdc33 100644 --- a/docs/latex/wx/renderer.tex +++ b/docs/latex/wx/renderer.tex @@ -13,11 +13,11 @@ First, a brief introduction to wxRenderer and why it is needed. -Usually wxWindows 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. +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. However not all controls exist under all (or even any) platforms and in this -case wxWindows provides a default, generic, implementation of them written in -wxWindows 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 standard line drawing and other graphics primitives are used, because the native @@ -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,6 +97,38 @@ No base class Virtual destructor as for any base class. +\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} 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} \func{void}{DrawHeaderButton}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}} @@ -98,6 +136,16 @@ Virtual destructor as for any base class. 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}} @@ -112,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} @@ -193,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. -