From f05e0979c213a114fd5619dd5de837d05f62e3e0 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Mon, 7 Mar 2005 17:19:02 +0000 Subject: [PATCH] Use GtkPixmap instead of GtkImage as the latter incorrectly displays greyed images for some reason. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/tbargtk.cpp | 35 ++++++++++++++++++----------------- src/gtk1/tbargtk.cpp | 35 ++++++++++++++++++----------------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/src/gtk/tbargtk.cpp b/src/gtk/tbargtk.cpp index 46fecbc14a..f7f791c65e 100644 --- a/src/gtk/tbargtk.cpp +++ b/src/gtk/tbargtk.cpp @@ -136,14 +136,10 @@ public: : (GdkBitmap *)NULL; #ifdef __WXGTK20__ if (bitmap.HasPixbuf()) - gtk_image_set_from_pixbuf(GTK_IMAGE(m_pixmap), - bitmap.GetPixbuf()); + gtk_image_set_from_pixbuf( GTK_IMAGE(m_pixmap), bitmap.GetPixbuf() ); else - gtk_image_set_from_pixmap(GTK_IMAGE(m_pixmap), - bitmap.GetPixmap(), mask); -#else - gtk_pixmap_set(GTK_PIXMAP(m_pixmap), bitmap.GetPixmap(), mask); #endif // !__WXGTK20__ + gtk_pixmap_set( GTK_PIXMAP(m_pixmap), bitmap.GetPixmap(), mask ); } } @@ -396,19 +392,24 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) #ifdef __WXGTK20__ - tool_pixmap = gtk_image_new(); - tool->m_pixmap = tool_pixmap; - tool->SetPixmap(bitmap); -#else - GdkPixmap *pixmap = bitmap.GetPixmap(); + if (bitmap.HasPixbuf()) + { + tool_pixmap = gtk_image_new(); + tool->m_pixmap = tool_pixmap; + tool->SetPixmap(bitmap); + } + else +#endif + { + GdkPixmap *pixmap = bitmap.GetPixmap(); - GdkBitmap *mask = (GdkBitmap *)NULL; - if ( bitmap.GetMask() ) - mask = bitmap.GetMask()->GetBitmap(); + GdkBitmap *mask = (GdkBitmap *)NULL; + if ( bitmap.GetMask() ) + mask = bitmap.GetMask()->GetBitmap(); - tool_pixmap = gtk_pixmap_new( pixmap, mask ); - gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE ); -#endif + tool_pixmap = gtk_pixmap_new( pixmap, mask ); + gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE ); + } gtk_misc_set_alignment( GTK_MISC(tool_pixmap), 0.5, 0.5 ); diff --git a/src/gtk1/tbargtk.cpp b/src/gtk1/tbargtk.cpp index 46fecbc14a..f7f791c65e 100644 --- a/src/gtk1/tbargtk.cpp +++ b/src/gtk1/tbargtk.cpp @@ -136,14 +136,10 @@ public: : (GdkBitmap *)NULL; #ifdef __WXGTK20__ if (bitmap.HasPixbuf()) - gtk_image_set_from_pixbuf(GTK_IMAGE(m_pixmap), - bitmap.GetPixbuf()); + gtk_image_set_from_pixbuf( GTK_IMAGE(m_pixmap), bitmap.GetPixbuf() ); else - gtk_image_set_from_pixmap(GTK_IMAGE(m_pixmap), - bitmap.GetPixmap(), mask); -#else - gtk_pixmap_set(GTK_PIXMAP(m_pixmap), bitmap.GetPixmap(), mask); #endif // !__WXGTK20__ + gtk_pixmap_set( GTK_PIXMAP(m_pixmap), bitmap.GetPixmap(), mask ); } } @@ -396,19 +392,24 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) #ifdef __WXGTK20__ - tool_pixmap = gtk_image_new(); - tool->m_pixmap = tool_pixmap; - tool->SetPixmap(bitmap); -#else - GdkPixmap *pixmap = bitmap.GetPixmap(); + if (bitmap.HasPixbuf()) + { + tool_pixmap = gtk_image_new(); + tool->m_pixmap = tool_pixmap; + tool->SetPixmap(bitmap); + } + else +#endif + { + GdkPixmap *pixmap = bitmap.GetPixmap(); - GdkBitmap *mask = (GdkBitmap *)NULL; - if ( bitmap.GetMask() ) - mask = bitmap.GetMask()->GetBitmap(); + GdkBitmap *mask = (GdkBitmap *)NULL; + if ( bitmap.GetMask() ) + mask = bitmap.GetMask()->GetBitmap(); - tool_pixmap = gtk_pixmap_new( pixmap, mask ); - gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE ); -#endif + tool_pixmap = gtk_pixmap_new( pixmap, mask ); + gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE ); + } gtk_misc_set_alignment( GTK_MISC(tool_pixmap), 0.5, 0.5 ); -- 2.47.2