comparison src/gtkutil.c @ 65006:ec2fa2e1d4ea

* gtkutil.c (xg_set_frame_icon): New function.
author Jan Djärv <jan.h.d@swipnet.se>
date Tue, 16 Aug 2005 19:33:40 +0000
parents d5e998f50c2d
children a998f173b21a 2d92f5c9d6ae
comparison
equal deleted inserted replaced
65005:5a24bf173f5c 65006:ec2fa2e1d4ea
239 return gdk_cursor_new_for_display (gdpy, GDK_LEFT_PTR); 239 return gdk_cursor_new_for_display (gdpy, GDK_LEFT_PTR);
240 } 240 }
241 241
242 /* Apply GMASK to GPIX and return a GdkPixbuf with an alpha channel. */ 242 /* Apply GMASK to GPIX and return a GdkPixbuf with an alpha channel. */
243 243
244 GdkPixbuf * 244 static GdkPixbuf *
245 xg_get_pixbuf_from_pix_and_mask (gpix, gmask, cmap) 245 xg_get_pixbuf_from_pix_and_mask (gpix, gmask, cmap)
246 GdkPixmap *gpix; 246 GdkPixmap *gpix;
247 GdkPixmap *gmask; 247 GdkPixmap *gmask;
248 GdkColormap *cmap; 248 GdkColormap *cmap;
249 { 249 {
947 BLOCK_INPUT; 947 BLOCK_INPUT;
948 xg_pix_to_gcolor (FRAME_GTK_WIDGET (f), bg, &gdk_bg); 948 xg_pix_to_gcolor (FRAME_GTK_WIDGET (f), bg, &gdk_bg);
949 gtk_widget_modify_bg (FRAME_GTK_WIDGET (f), GTK_STATE_NORMAL, &gdk_bg); 949 gtk_widget_modify_bg (FRAME_GTK_WIDGET (f), GTK_STATE_NORMAL, &gdk_bg);
950 UNBLOCK_INPUT; 950 UNBLOCK_INPUT;
951 } 951 }
952 }
953
954
955 /* Set the frame icon to ICON_PIXMAP/MASK. This must be done with GTK
956 functions so GTK does not overwrite the icon. */
957
958 void
959 xg_set_frame_icon (f, icon_pixmap, icon_mask)
960 FRAME_PTR f;
961 Pixmap icon_pixmap;
962 Pixmap icon_mask;
963 {
964 GdkDisplay *gdpy = gdk_x11_lookup_xdisplay (FRAME_X_DISPLAY (f));
965 GdkPixmap *gpix = gdk_pixmap_foreign_new_for_display (gdpy, icon_pixmap);
966 GdkPixmap *gmask = gdk_pixmap_foreign_new_for_display (gdpy, icon_mask);
967 GdkPixbuf *gp = xg_get_pixbuf_from_pix_and_mask (gpix, gmask, NULL);
968
969 gtk_window_set_icon (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), gp);
952 } 970 }
953 971
954 972
955 973
956 /*********************************************************************** 974 /***********************************************************************