From 7b280524bb94f3e1ceca283b23b0f374e4182762 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Thu, 24 Jun 1999 14:43:01 +0000 Subject: [PATCH] wxGTK now chooses the best visual X offers, instead of the default one. Reordered object files for library creation. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/image.cpp | 8 ++++---- src/gtk/Makefile.am | 34 +++++++++++++++++----------------- src/gtk/app.cpp | 8 ++++++-- src/gtk1/Makefile.am | 34 +++++++++++++++++----------------- src/gtk1/app.cpp | 8 ++++++-- 5 files changed, 50 insertions(+), 42 deletions(-) diff --git a/src/common/image.cpp b/src/common/image.cpp index 714750f706..8ef0b3429a 100644 --- a/src/common/image.cpp +++ b/src/common/image.cpp @@ -944,7 +944,7 @@ wxBitmap wxImage::ConvertToBitmap() const // Retrieve depth GdkVisual *visual = gdk_window_get_visual( bitmap.GetPixmap() ); - if (visual == NULL) visual = gdk_window_get_visual( (GdkWindow*) &gdk_root_parent ); + if (visual == NULL) visual = gdk_visual_get_best(); int bpp = visual->depth; bitmap.SetDepth( bpp ); @@ -984,7 +984,7 @@ wxBitmap wxImage::ConvertToBitmap() const // Create picture image GdkImage *data_image = - gdk_image_new( GDK_IMAGE_FASTEST, gdk_visual_get_system(), width, height ); + gdk_image_new( GDK_IMAGE_FASTEST, gdk_visual_get_best(), width, height ); // Create mask image @@ -994,7 +994,7 @@ wxBitmap wxImage::ConvertToBitmap() const { unsigned char *mask_data = (unsigned char*)malloc( ((width >> 3)+8) * height ); - mask_image = gdk_image_new_bitmap( gdk_visual_get_system(), mask_data, width, height ); + mask_image = gdk_image_new_bitmap( gdk_visual_get_best(), mask_data, width, height ); wxMask *mask = new wxMask(); mask->m_bitmap = gdk_pixmap_new( (GdkWindow*)&gdk_root_parent, width, height, 1 ); @@ -1009,7 +1009,7 @@ wxBitmap wxImage::ConvertToBitmap() const if (bpp >= 24) { - GdkVisual *visual = gdk_visual_get_system(); + GdkVisual *visual = gdk_visual_get_best(); if ((visual->red_mask > visual->green_mask) && (visual->green_mask > visual->blue_mask)) b_o = RGB; else if ((visual->red_mask > visual->blue_mask) && (visual->blue_mask > visual->green_mask)) b_o = RGB; else if ((visual->blue_mask > visual->red_mask) && (visual->red_mask > visual->green_mask)) b_o = BRG; diff --git a/src/gtk/Makefile.am b/src/gtk/Makefile.am index 2c4e4a51eb..801d06a57e 100644 --- a/src/gtk/Makefile.am +++ b/src/gtk/Makefile.am @@ -33,36 +33,22 @@ libwx_gtk_la_SOURCES = \ parser.c \ \ cmndata.cpp \ - dynarray.cpp \ - filefn.cpp \ - hash.cpp \ - list.cpp \ - matrix.cpp \ - memory.cpp \ - module.cpp \ - object.cpp \ - string.cpp \ - timercmn.cpp \ - utilscmn.cpp \ - tokenzr.cpp \ - variant.cpp \ - wxchar.cpp \ -\ config.cpp \ date.cpp \ datstrm.cpp \ - db.cpp \ - dbtable.cpp \ dcbase.cpp \ docmdi.cpp \ docview.cpp \ + dynarray.cpp \ dynlib.cpp \ event.cpp \ file.cpp \ fileconf.cpp \ + filefn.cpp \ framecmn.cpp \ ftp.cpp \ gdicmn.cpp \ + hash.cpp \ helpbase.cpp \ http.cpp \ image.cpp \ @@ -73,10 +59,15 @@ libwx_gtk_la_SOURCES = \ intl.cpp \ ipcbase.cpp \ layout.cpp \ + list.cpp \ log.cpp \ longlong.cpp \ + matrix.cpp \ + memory.cpp \ mimetype.cpp \ + module.cpp \ mstream.cpp \ + object.cpp \ objstrm.cpp \ odbc.cpp \ paper.cpp \ @@ -92,18 +83,27 @@ libwx_gtk_la_SOURCES = \ serbase.cpp \ socket.cpp \ stream.cpp \ + string.cpp \ tbarbase.cpp \ tbarsmpl.cpp \ textfile.cpp \ time.cpp \ + timercmn.cpp \ + utilscmn.cpp \ + tokenzr.cpp \ url.cpp \ valgen.cpp \ validate.cpp \ valtext.cpp \ + variant.cpp \ wfstream.cpp \ wincmn.cpp \ + wxchar.cpp \ wxexpr.cpp \ zstream.cpp \ +\ + db.cpp \ + dbtable.cpp \ \ caret.cpp \ choicdgg.cpp \ diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp index f4e7a220a2..cc096abe1d 100644 --- a/src/gtk/app.cpp +++ b/src/gtk/app.cpp @@ -297,9 +297,13 @@ wxApp::~wxApp() bool wxApp::OnInitGui() { - /* Nothing to do for 15, 16, 24, 32 bit displays */ + /* on some SGIs, the default visual is just 256 colours, so we + make sure we get the best. this can sometimes be wasteful, + of course, but what do these guys pay $30.000 for? */ + GdkVisual* visual = gdk_visual_get_best(); + gtk_widget_set_default_visual( visual ); - GdkVisual *visual = gdk_visual_get_system(); + /* Nothing to do for 15, 16, 24, 32 bit displays */ if (visual->depth > 8) return TRUE; /* this initiates the standard palette as defined by GdkImlib diff --git a/src/gtk1/Makefile.am b/src/gtk1/Makefile.am index 2c4e4a51eb..801d06a57e 100644 --- a/src/gtk1/Makefile.am +++ b/src/gtk1/Makefile.am @@ -33,36 +33,22 @@ libwx_gtk_la_SOURCES = \ parser.c \ \ cmndata.cpp \ - dynarray.cpp \ - filefn.cpp \ - hash.cpp \ - list.cpp \ - matrix.cpp \ - memory.cpp \ - module.cpp \ - object.cpp \ - string.cpp \ - timercmn.cpp \ - utilscmn.cpp \ - tokenzr.cpp \ - variant.cpp \ - wxchar.cpp \ -\ config.cpp \ date.cpp \ datstrm.cpp \ - db.cpp \ - dbtable.cpp \ dcbase.cpp \ docmdi.cpp \ docview.cpp \ + dynarray.cpp \ dynlib.cpp \ event.cpp \ file.cpp \ fileconf.cpp \ + filefn.cpp \ framecmn.cpp \ ftp.cpp \ gdicmn.cpp \ + hash.cpp \ helpbase.cpp \ http.cpp \ image.cpp \ @@ -73,10 +59,15 @@ libwx_gtk_la_SOURCES = \ intl.cpp \ ipcbase.cpp \ layout.cpp \ + list.cpp \ log.cpp \ longlong.cpp \ + matrix.cpp \ + memory.cpp \ mimetype.cpp \ + module.cpp \ mstream.cpp \ + object.cpp \ objstrm.cpp \ odbc.cpp \ paper.cpp \ @@ -92,18 +83,27 @@ libwx_gtk_la_SOURCES = \ serbase.cpp \ socket.cpp \ stream.cpp \ + string.cpp \ tbarbase.cpp \ tbarsmpl.cpp \ textfile.cpp \ time.cpp \ + timercmn.cpp \ + utilscmn.cpp \ + tokenzr.cpp \ url.cpp \ valgen.cpp \ validate.cpp \ valtext.cpp \ + variant.cpp \ wfstream.cpp \ wincmn.cpp \ + wxchar.cpp \ wxexpr.cpp \ zstream.cpp \ +\ + db.cpp \ + dbtable.cpp \ \ caret.cpp \ choicdgg.cpp \ diff --git a/src/gtk1/app.cpp b/src/gtk1/app.cpp index f4e7a220a2..cc096abe1d 100644 --- a/src/gtk1/app.cpp +++ b/src/gtk1/app.cpp @@ -297,9 +297,13 @@ wxApp::~wxApp() bool wxApp::OnInitGui() { - /* Nothing to do for 15, 16, 24, 32 bit displays */ + /* on some SGIs, the default visual is just 256 colours, so we + make sure we get the best. this can sometimes be wasteful, + of course, but what do these guys pay $30.000 for? */ + GdkVisual* visual = gdk_visual_get_best(); + gtk_widget_set_default_visual( visual ); - GdkVisual *visual = gdk_visual_get_system(); + /* Nothing to do for 15, 16, 24, 32 bit displays */ if (visual->depth > 8) return TRUE; /* this initiates the standard palette as defined by GdkImlib -- 2.45.2