\wxheading{See also}
-\helpref{wxApp::SetTopWindow}{wxappsettopwindow}
+\helpref{SetTopWindow}{wxappsettopwindow}
+
+\membersection{wxApp::GetUseBestVisual}\label{wxappgetusebestvisual}
+
+\constfunc{bool}{GetUseBestVisual}{\void}
+
+Returns TRUE if the application will use the best visual on system that support
+different visuals, FALSE otherwise.
+
+\wxheading{See also}
+
+\helpref{SetUseBestVisual}{wxappsetusebestvisual}
\membersection{wxApp::ExitMainLoop}\label{wxappexitmainloop}
\docparam{which}{One of the wxICON\_XXX defines and chooses which icon to return.}
+\membersection{wxApp::SetUseBestVisual}\label{wxappsetusebestvisual}
+
+\func{void}{SetUseBestVisual}{\param{bool}{ flag}}
+
+Allows the programmer to specify whether the application will use the best visual
+on system that support several visual on the same display. This is typically the
+case under Solaris and IRIX, where the default visual is only 8-bit but some apps
+are supposed to run in TrueColour mode.
+
+Note that this function has to be called in the constructor of the {\tt wxApp}
+instance and won't have any effect when called later on.
+
+This function currently only has effect under GTK.
+
+\wxheading{Parameters}
+
+\docparam{flag}{If TRUE, the app will use the best visual.}
void SetWantDebugOutput( bool flag ) { m_wantDebugOutput = flag; }
bool GetWantDebugOutput() const { return m_wantDebugOutput; }
+ // set use of best visual flag (see below)
+ void SetUseBestVisual( bool flag ) { m_useBestVisual = flag; }
+ bool GetUseBestVisual() const { return m_useBestVisual; }
+
// set/get printing mode: see wxPRINT_XXX constants.
//
// default behaviour is the normal one for Unix: always use PostScript
// TRUE if the application wants to get debug output
bool m_wantDebugOutput;
+
+ // TRUE if the apps whats to use the best visual on systems where
+ // more than one are available (Sun, SGI, XFree86 4.0 ?)
+ bool m_useBestVisual;
#if wxUSE_GUI
// the main top level window - may be NULL
#endif
m_colorCube = (unsigned char*) NULL;
+
+ m_useBestVisual = FALSE;
}
wxApp::~wxApp()
we make sure we get the best. this can sometimes be wasteful,
of course, but what do these guys pay $30.000 for? */
- if (gdk_visual_get_best() != gdk_visual_get_system())
+ if ((gdk_visual_get_best() != gdk_visual_get_system()) &&
+ (m_useBestVisual))
{
GdkVisual* vis = gdk_visual_get_best();
gtk_widget_set_default_visual( vis );
// data
//-----------------------------------------------------------------------------
-extern bool g_blockEventsOnDrag;
-extern bool g_blockEventsOnScroll;
+extern bool g_blockEventsOnDrag;
+extern bool g_blockEventsOnScroll;
+extern GtkWidget *wxRootWindow;
//-----------------------------------------------------------------------------
// local functions
((style & wxCAPTION) || (style & wxTINY_CAPTION_HORIZ) || (style & wxTINY_CAPTION_VERT)))
{
GdkBitmap *mask = (GdkBitmap*) NULL;
- GdkWindow *parent = (GdkWindow*) &gdk_root_parent;
- GdkPixmap *pixmap = gdk_pixmap_create_from_xpm_d( parent, &mask, NULL, cross_xpm );
+ GdkPixmap *pixmap = gdk_pixmap_create_from_xpm_d( wxRootWindow->window, &mask, NULL, cross_xpm );
GtkWidget *pw = gtk_pixmap_new( pixmap, mask );
gdk_bitmap_unref( mask );
#endif
m_colorCube = (unsigned char*) NULL;
+
+ m_useBestVisual = FALSE;
}
wxApp::~wxApp()
we make sure we get the best. this can sometimes be wasteful,
of course, but what do these guys pay $30.000 for? */
- if (gdk_visual_get_best() != gdk_visual_get_system())
+ if ((gdk_visual_get_best() != gdk_visual_get_system()) &&
+ (m_useBestVisual))
{
GdkVisual* vis = gdk_visual_get_best();
gtk_widget_set_default_visual( vis );
// data
//-----------------------------------------------------------------------------
-extern bool g_blockEventsOnDrag;
-extern bool g_blockEventsOnScroll;
+extern bool g_blockEventsOnDrag;
+extern bool g_blockEventsOnScroll;
+extern GtkWidget *wxRootWindow;
//-----------------------------------------------------------------------------
// local functions
((style & wxCAPTION) || (style & wxTINY_CAPTION_HORIZ) || (style & wxTINY_CAPTION_VERT)))
{
GdkBitmap *mask = (GdkBitmap*) NULL;
- GdkWindow *parent = (GdkWindow*) &gdk_root_parent;
- GdkPixmap *pixmap = gdk_pixmap_create_from_xpm_d( parent, &mask, NULL, cross_xpm );
+ GdkPixmap *pixmap = gdk_pixmap_create_from_xpm_d( wxRootWindow->window, &mask, NULL, cross_xpm );
GtkWidget *pw = gtk_pixmap_new( pixmap, mask );
gdk_bitmap_unref( mask );