1. added support for bitmaps with alpha channel
2. use GtkImage instead of deprecated GtkPixmap with GTK2 3. create bogus pixmap instead of GtkLabel in wxStaticBitmap with invalid bitmap git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -236,14 +236,30 @@ void wxBitmapButton::OnSetBitmap()
|
||||
if (child == NULL)
|
||||
{
|
||||
// initial bitmap
|
||||
GtkWidget *pixmap = gtk_pixmap_new(the_one.GetPixmap(), mask);
|
||||
GtkWidget *pixmap;
|
||||
#ifdef __WXGTK20__
|
||||
if (the_one.HasPixbuf())
|
||||
pixmap = gtk_image_new_from_pixbuf(the_one.GetPixbuf());
|
||||
else
|
||||
pixmap = gtk_image_new_from_pixmap(the_one.GetPixmap(), mask);
|
||||
#else
|
||||
pixmap = gtk_pixmap_new(the_one.GetPixmap(), mask);
|
||||
#endif
|
||||
gtk_widget_show(pixmap);
|
||||
gtk_container_add(GTK_CONTAINER(m_widget), pixmap);
|
||||
}
|
||||
else
|
||||
{ // subsequent bitmaps
|
||||
GtkPixmap *g_pixmap = GTK_PIXMAP(child);
|
||||
gtk_pixmap_set(g_pixmap, the_one.GetPixmap(), mask);
|
||||
#ifdef __WXGTK20__
|
||||
GtkImage *pixmap = GTK_IMAGE(child);
|
||||
if (the_one.HasPixbuf())
|
||||
gtk_image_set_from_pixbuf(pixmap, the_one.GetPixbuf());
|
||||
else
|
||||
gtk_image_set_from_pixmap(pixmap, the_one.GetPixmap(), mask);
|
||||
#else
|
||||
GtkPixmap *pixmap = GTK_PIXMAP(child);
|
||||
gtk_pixmap_set(pixmap, the_one.GetPixmap(), mask);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user