\section{\class{wxSystemOptions}}\label{wxsystemoptions}

wxSystemOptions stores option/value pairs that wxWidgets itself or
applications can use to alter behaviour at run-time. It can be
used to optimize behaviour that doesn't deserve a distinct API,
but is still important to be able to configure.

These options are currently recognised by wxWidgets.

\wxheading{All platforms}

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf Option}}{{\bf Value}}
\twocolitem{filesys.no-mimetypesmanager}{Set to 1 to avoid using the mime types manager in wxFileSystemHandler.
This can cut down loading time when loading an XRC file at startup, for example.}
\twocolitem{msw.window.no-clip-children}{If 1, windows will not automatically get the WS\_CLIPCHILDREN
style. This restores the way windows are refreshed back to the method used in versions of wxWidgets
earlier than 2.5.4, and for some complex window hierarchies it can reduce apparent refresh delays. You may
still specify wxCLIP\_CHILDREN for individual windows.}
\twocolitem{msw.notebook.themed-background}{If set to 0, globally disables themed backgrounds on notebook
pages. Note that this won't disable the theme on the actual notebook background (noticeable only if there are no
pages).}
\twocolitem{msw.staticbox.optimized-paint}{If set to 0, switches off optimized wxStaticBox painting.
Setting this to 0 causes more flicker, but allows applications to paint graphics on the parent of a static box
(the optimized refresh causes any such drawing to disappear).}
\twocolitem{msw.display.directdraw}{If set to 1, use DirectDraw-based implementation of
\helpref{wxDisplay}{wxdisplay}. By default the standard Win32 functions are
used.}
\twocolitem{msw.font.no-proof-quality}{If set to 1, use default fonts quality
instead of proof quality when creating fonts. With proof quality the fonts
have slightly better appearance but not all fonts are available in this
quality, e.g. the Terminal font in small sizes is not and this option may be
used if wider fonts selection is more important than higher quality.}
\end{twocollist}


\wxheading{Windows}

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf Option}}{{\bf Value}}
\twocolitem{no-maskblt}{1 to never use WIN32's MaskBlt function, 0 to allow it to be used where possible. Default: 0.
In some circumstances the MaskBlt function can be slower than using the fallback code, especially if using
DC cacheing. By default, MaskBlt will be used where it is implemented by the operating system and driver.}
\twocolitem{msw.remap}{If 1 (the default), wxToolBar bitmap colours will be remapped
to the current theme's values. Set this to 0 to disable this functionality, for example if you're using
more than 16 colours in your tool bitmaps.}
\twocolitem{msw.window.no-clip-children}{If 1, windows will not automatically get the WS\_CLIPCHILDREN
style. This restores the way windows are refreshed back to the method used in versions of wxWidgets
earlier than 2.5.4, and for some complex window hierarchies it can reduce apparent refresh delays. You may
still specify wxCLIP\_CHILDREN for individual windows.}
\twocolitem{msw.notebook.themed-background}{If set to 0, globally disables themed backgrounds on notebook
pages. Note that this won't disable the theme on the actual notebook background (noticeable only if there are no
pages).}
\twocolitem{msw.staticbox.optimized-paint}{If set to 0, switches off optimized wxStaticBox painting.
Setting this to 0 causes more flicker, but allows applications to paint graphics on the parent of a static box
(the optimized refresh causes any such drawing to disappear).}
\twocolitem{msw.display.directdraw}{If set to 1, use DirectDraw-based implementation of
\helpref{wxDisplay}{wxdisplay}. By default the standard Win32 functions are
used.}
\twocolitem{msw.font.no-proof-quality}{If set to 1, use default fonts quality
instead of proof quality when creating fonts. With proof quality the fonts
have slightly better appearance but not all fonts are available in this
quality, e.g. the Terminal font in small sizes is not and this option may be
used if wider fonts selection is more important than higher quality.}
\end{twocollist}

\wxheading{GTK+}

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf Option}}{{\bf Value}}
\twocolitem{gtk.window.force-background-colour}{If 1, the backgrounds of windows with the wxBG\_STYLE\_COLOUR background style are cleared forcibly instead
of relying on the underlying GTK+ window colour. This works around a display problem when running applications under KDE with the gtk-qt theme installed (0.6 and below).}
\end{twocollist}

\wxheading{Mac}

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf Option}}{{\bf Value}}
\twocolitem{mac.window-plain-transition}{If 1, uses a plainer transition when showing
a window. You can also use the symbol wxMAC\_WINDOW\_PLAIN\_TRANSITION.}
\twocolitem{window-default-variant}{The default variant used by windows (cast to integer from the wxWindowVariant enum).
Also known as wxWINDOW\_DEFAULT\_VARIANT.}
\twocolitem{mac.listctrl.always\_use\_generic}{Tells wxListCtrl to use the generic 
control even when it is capable of using the native control instead. 
Also knwon as wxMAC\_ALWAYS\_USE\_GENERIC\_LISTCTRL.}
\end{twocollist}

\wxheading{MGL}

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf Option}}{{\bf Value}}
\twocolitem{mgl.aa-threshold}{Set this integer option to point
size below which fonts are not antialiased. Default: 10.}
\twocolitem{mgl.screen-refresh}{Screen refresh rate in Hz.
A reasonable default is used if not specified.}
\end{twocollist}

\wxheading{Motif}

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf Option}}{{\bf Value}}
\twocolitem{motif.largebuttons}{If 1, uses a bigger default size for wxButtons.}
\end{twocollist}

The compile-time option to include or exclude this functionality
is wxUSE\_SYSTEM\_OPTIONS.

\wxheading{Derived from}

\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/sysopt.h>

\latexignore{\rtfignore{\wxheading{Members}}}


\membersection{wxSystemOptions::wxSystemOptions}\label{wxsystemoptionsctor}

\func{}{wxSystemOptions}{\void}

Default constructor. You don't need to create an instance of wxSystemOptions
since all of its functions are static.


\membersection{wxSystemOptions::GetOption}\label{wxsystemoptionsgetoption}

\constfunc{wxString}{GetOption}{\param{const wxString\&}{ name}}

Gets an option. The function is case-insensitive to {\it name}.

Returns empty string if the option hasn't been set.

\wxheading{See also}

\helpref{wxSystemOptions::SetOption}{wxsystemoptionssetoption},\rtfsp
\helpref{wxSystemOptions::GetOptionInt}{wxsystemoptionsgetoptionint},\rtfsp
\helpref{wxSystemOptions::HasOption}{wxsystemoptionshasoption}


\membersection{wxSystemOptions::GetOptionInt}\label{wxsystemoptionsgetoptionint}

\constfunc{int}{GetOptionInt}{\param{const wxString\&}{ name}}

Gets an option as an integer. The function is case-insensitive to {\it name}.

If the option hasn't been set, this function returns $0$.

\wxheading{See also}

\helpref{wxSystemOptions::SetOption}{wxsystemoptionssetoption},\rtfsp
\helpref{wxSystemOptions::GetOption}{wxsystemoptionsgetoption},\rtfsp
\helpref{wxSystemOptions::HasOption}{wxsystemoptionshasoption}


\membersection{wxSystemOptions::HasOption}\label{wxsystemoptionshasoption}

\constfunc{bool}{HasOption}{\param{const wxString\&}{ name}}

Returns \true if the given option is present. The function is case-insensitive to {\it name}.

\wxheading{See also}

\helpref{wxSystemOptions::SetOption}{wxsystemoptionssetoption},\rtfsp
\helpref{wxSystemOptions::GetOption}{wxsystemoptionsgetoption},\rtfsp
\helpref{wxSystemOptions::GetOptionInt}{wxsystemoptionsgetoptionint}


\membersection{wxSystemOptions::IsFalse}\label{wxsystemoptionsisfalse}

\constfunc{bool}{IsFalse}{\param{const wxString\&}{ name}}

Returns \true if the option with the given \arg{name} had been set to $0$
value. This is mostly useful for boolean options for which you can't use
\texttt{GetOptionInt(name) == 0} as this would also be true if the option
hadn't been set at all.


\membersection{wxSystemOptions::SetOption}\label{wxsystemoptionssetoption}

\func{void}{SetOption}{\param{const wxString\&}{ name}, \param{const wxString\&}{ value}}

\func{void}{SetOption}{\param{const wxString\&}{ name}, \param{int}{ value}}

Sets an option. The function is case-insensitive to {\it name}.

\wxheading{See also}

\helpref{wxSystemOptions::GetOption}{wxsystemoptionsgetoption},\rtfsp
\helpref{wxSystemOptions::GetOptionInt}{wxsystemoptionsgetoptionint},\rtfsp
\helpref{wxSystemOptions::HasOption}{wxsystemoptionshasoption}

