support alpha channel in menu items bitmaps, too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
3141599efa
commit
b1ad1424b9
@ -1053,13 +1053,24 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos)
|
||||
{
|
||||
wxString text = mitem->GetText();
|
||||
const wxBitmap *bitmap = &mitem->GetBitmap();
|
||||
GdkPixmap *gdk_pixmap = bitmap->GetPixmap();
|
||||
GdkBitmap *gdk_bitmap = bitmap->GetMask() ? bitmap->GetMask()->GetBitmap() : (GdkBitmap*) NULL;
|
||||
|
||||
#ifdef __WXGTK20__
|
||||
menuItem = gtk_image_menu_item_new_with_mnemonic( wxGTK_CONV( text ) );
|
||||
|
||||
GtkWidget *image = gtk_image_new_from_pixmap( gdk_pixmap, gdk_bitmap );
|
||||
GtkWidget *image;
|
||||
if (bitmap->HasPixbuf())
|
||||
{
|
||||
image = gtk_image_new_from_pixbuf(bitmap->GetPixbuf());
|
||||
}
|
||||
else
|
||||
{
|
||||
GdkPixmap *gdk_pixmap = bitmap->GetPixmap();
|
||||
GdkBitmap *gdk_bitmap = bitmap->GetMask() ?
|
||||
bitmap->GetMask()->GetBitmap() :
|
||||
(GdkBitmap*) NULL;
|
||||
image = gtk_image_new_from_pixmap( gdk_pixmap, gdk_bitmap );
|
||||
}
|
||||
|
||||
gtk_widget_show(image);
|
||||
|
||||
gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM(menuItem), image );
|
||||
@ -1073,6 +1084,8 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos)
|
||||
else
|
||||
gtk_menu_shell_insert(GTK_MENU_SHELL(m_menu), menuItem, pos);
|
||||
#else
|
||||
GdkPixmap *gdk_pixmap = bitmap->GetPixmap();
|
||||
GdkBitmap *gdk_bitmap = bitmap->GetMask() ? bitmap->GetMask()->GetBitmap() : (GdkBitmap*) NULL;
|
||||
|
||||
menuItem = gtk_pixmap_menu_item_new ();
|
||||
GtkWidget *label = gtk_accel_label_new ( wxGTK_CONV( text ) );
|
||||
|
@ -1053,13 +1053,24 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos)
|
||||
{
|
||||
wxString text = mitem->GetText();
|
||||
const wxBitmap *bitmap = &mitem->GetBitmap();
|
||||
GdkPixmap *gdk_pixmap = bitmap->GetPixmap();
|
||||
GdkBitmap *gdk_bitmap = bitmap->GetMask() ? bitmap->GetMask()->GetBitmap() : (GdkBitmap*) NULL;
|
||||
|
||||
#ifdef __WXGTK20__
|
||||
menuItem = gtk_image_menu_item_new_with_mnemonic( wxGTK_CONV( text ) );
|
||||
|
||||
GtkWidget *image = gtk_image_new_from_pixmap( gdk_pixmap, gdk_bitmap );
|
||||
GtkWidget *image;
|
||||
if (bitmap->HasPixbuf())
|
||||
{
|
||||
image = gtk_image_new_from_pixbuf(bitmap->GetPixbuf());
|
||||
}
|
||||
else
|
||||
{
|
||||
GdkPixmap *gdk_pixmap = bitmap->GetPixmap();
|
||||
GdkBitmap *gdk_bitmap = bitmap->GetMask() ?
|
||||
bitmap->GetMask()->GetBitmap() :
|
||||
(GdkBitmap*) NULL;
|
||||
image = gtk_image_new_from_pixmap( gdk_pixmap, gdk_bitmap );
|
||||
}
|
||||
|
||||
gtk_widget_show(image);
|
||||
|
||||
gtk_image_menu_item_set_image( GTK_IMAGE_MENU_ITEM(menuItem), image );
|
||||
@ -1073,6 +1084,8 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos)
|
||||
else
|
||||
gtk_menu_shell_insert(GTK_MENU_SHELL(m_menu), menuItem, pos);
|
||||
#else
|
||||
GdkPixmap *gdk_pixmap = bitmap->GetPixmap();
|
||||
GdkBitmap *gdk_bitmap = bitmap->GetMask() ? bitmap->GetMask()->GetBitmap() : (GdkBitmap*) NULL;
|
||||
|
||||
menuItem = gtk_pixmap_menu_item_new ();
|
||||
GtkWidget *label = gtk_accel_label_new ( wxGTK_CONV( text ) );
|
||||
|
Loading…
Reference in New Issue
Block a user