X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5e091b2b01599d90ae53a16b18b5ba30e926659f..683b60e9ab1a059913d02d4bddf9e5dbc697967a:/docs/latex/wx/renderer.tex diff --git a/docs/latex/wx/renderer.tex b/docs/latex/wx/renderer.tex index 4217e25c48..d17248a300 100644 --- a/docs/latex/wx/renderer.tex +++ b/docs/latex/wx/renderer.tex @@ -6,7 +6,7 @@ %% Created: 06.08.03 %% RCS-ID: $Id$ %% Copyright: (c) 2003 Vadim Zeitlin -%% 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,6 +97,16 @@ 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}} @@ -98,14 +114,43 @@ Virtual destructor as for any base class. 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} -\func{void}{DrawHeaderButton}{\param{wxWindow* }{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags = 0}} +\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}} + +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}. + + +\membersection{wxRendererNative::DrawPushButton}\label{wxrenderernativedrawpushbutton} + +\func{void}{DrawPushButton}{\param{wxWindow *}{win}, \param{wxDC\& }{dc}, \param{const wxRect\& }{rect}, \param{int }{flags}} -Draw the header control button (used by \helpref{wxListCtrl}{wxlistctrl}). +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} @@ -122,7 +167,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} @@ -159,6 +204,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}}