/** show_xpm_button.c **/ #include gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); int main(int argc,char *argv[]) { GtkWidget *topLevel; GdkBitmap *mask; GdkPixmap *pixmap; GtkStyle *style; GtkWidget *button; GtkWidget *pixmapWidget; gnome_init("show_xpm_button","1.0",argc,argv); topLevel = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width(GTK_CONTAINER(topLevel), 10); gtk_widget_show(topLevel); gtk_signal_connect(GTK_OBJECT(topLevel),"delete_event", GTK_SIGNAL_FUNC(eventDelete),NULL); gtk_signal_connect(GTK_OBJECT(topLevel),"destroy", GTK_SIGNAL_FUNC(eventDestroy),NULL); style = gtk_widget_get_style(topLevel); pixmap = gdk_pixmap_create_from_xpm(topLevel->window, &mask,&style->bg[GTK_STATE_NORMAL], "island.xpm"); pixmapWidget = gtk_pixmap_new(pixmap,mask); button = gtk_button_new(); gtk_container_add(GTK_CONTAINER(button),pixmapWidget); gtk_container_add(GTK_CONTAINER(topLevel),button); gtk_widget_show_all(topLevel); gtk_main(); exit(0); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); }