1234567891011121314151617181920212223242526272829303132333435363738 |
- /* $Id: gtk.c,v 1.7 2001/04/14 20:01:15 kilobug Exp $ */
- #include "client.h"
- GtkWidget *create_picture(const char *filename, conf_t *conf)
- {
- GdkPixmap *pm;
- GdkBitmap *mask;
- GtkStyle *style;
- GtkWidget *wid;
- char *name;
- name = g_strconcat(getenv("PROLO_DATA_DIR"), G_DIR_SEPARATOR_S,
- filename, NULL);
- style = gtk_widget_get_style(conf->window);
- pm = gdk_pixmap_create_from_xpm(conf->window->window, &mask,
- &style->bg[GTK_STATE_NORMAL],
- name);
- g_free(name);
- wid = gtk_pixmap_new(pm, mask);
- gtk_widget_show(wid);
- return wid;
- }
- GtkWidget *create_xpm_button(const char *filename, GtkSignalFunc callback,
- conf_t *conf)
- {
- GtkWidget *pic, *wid;
- pic = create_picture(filename, conf);
- wid = gtk_button_new();
- gtk_container_add(GTK_CONTAINER(wid), pic);
- gtk_widget_show(wid);
- if (callback != NULL)
- gtk_signal_connect(GTK_OBJECT(wid), "pressed", callback, conf);
- return wid;
- }
|