Pixmaps
Le pixmaps sono struture di dati contenenti immagini.
Per usare le pixmaps in GTK non dobbiamo prima creare una struttura
GdkPixmap.
Le pixmaps possono essere create con i dati in memoria o con i dati letti da un file.
Avremo quindi le funzioni:
GdkPixmap *gdk_bitmap_create_from_data( GdkWindow *window,
gchar *data,
gint width,
gint height );
Crea una pixmaps di due colori (bitmap) dai dati in memoria.
GdkPixmap *gdk_pixmap_create_from_data( GdkWindow *window,
gchar *data,
gint width,
gint height,
gint depth,
GdkColor *fg,
GdkColor *bg );
Crea una pixmaps di n. colori (depth) dai dati in memoria.
GdkPixmap *gdk_pixmap_create_from_xpm( GdkWindow *window,
GdkBitmap **mask,
GdkColor *transparent_color,
const gchar *filename );
Crea una pixmaps da un file *.xpm
Una volta creata la pixmap noi possiamo visualizzarla come una GTK
widget.
Creiamo quindi una GTK pixmap widget per contenerla usando la specifica funzione:
GtkWidget *gtk_pixmap_new( GdkPixmap
*pixmap,
GdkBitmap *mask );
Abbiamo inoltre le seguenti ulteriori funzioni per i pixmap
widget:
guint gtk_pixmap_get_type( void );
void gtk_pixmap_set( GtkPixmap
*pixmap,
GdkPixmap *val,
GdkBitmap *mask );
void gtk_pixmap_get( GtkPixmap
*pixmap,
GdkPixmap **val,
GdkBitmap **mask);
gtk_pixmap_set è usata per cambiare la pixmap contenuta nel
widget. Val è la pixmap creata.
Ad esempio se vogliamo caricare il file chiamato icon0.xpm potremo usare il seguente codice di esempio.
/* carica una pixmap da un file */
pixmap = gdk_pixmap_create_from_xpm( window->window, &mask,
&style->bg[GTK_STATE_NORMAL],
"./icon0.xpm" );
pixmapwid = gtk_pixmap_new( pixmap, mask );
gtk_widget_show( pixmapwid );
gtk_container_add( GTK_CONTAINER(window), pixmapwid );