X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;ds=sidebyside;f=gtk%2Fgtkimage.h;h=c4dacfeefac69bf38aee85f032aea28304b68e68;hb=6f25f771c5e36876cbcc27e13eb463c9c2311f23;hp=28c6776c642fbe963b1779bdd95a0233d11b5415;hpb=b63431c82ade00c522ab2df06ee3476085bd6941;p=~andy%2Fgtk diff --git a/gtk/gtkimage.h b/gtk/gtkimage.h index 28c6776c6..c4dacfeef 100644 --- a/gtk/gtkimage.h +++ b/gtk/gtkimage.h @@ -21,20 +21,23 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __GTK_IMAGE_H__ #define __GTK_IMAGE_H__ #include +#include #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS #define GTK_TYPE_IMAGE (gtk_image_get_type ()) #define GTK_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IMAGE, GtkImage)) @@ -54,6 +57,7 @@ typedef struct _GtkImageStockData GtkImageStockData; typedef struct _GtkImageIconSetData GtkImageIconSetData; typedef struct _GtkImageAnimationData GtkImageAnimationData; typedef struct _GtkImageIconNameData GtkImageIconNameData; +typedef struct _GtkImageGIconData GtkImageGIconData; struct _GtkImagePixmapData { @@ -94,6 +98,13 @@ struct _GtkImageIconNameData guint theme_change_id; }; +struct _GtkImageGIconData +{ + GIcon *icon; + GdkPixbuf *pixbuf; + guint theme_change_id; +}; + typedef enum { GTK_IMAGE_EMPTY, @@ -103,7 +114,8 @@ typedef enum GTK_IMAGE_STOCK, GTK_IMAGE_ICON_SET, GTK_IMAGE_ANIMATION, - GTK_IMAGE_ICON_NAME + GTK_IMAGE_ICON_NAME, + GTK_IMAGE_GICON } GtkImageType; struct _GtkImage @@ -121,6 +133,7 @@ struct _GtkImage GtkImageIconSetData icon_set; GtkImageAnimationData anim; GtkImageIconNameData name; + GtkImageGIconData gicon; } data; /* Only used with GTK_IMAGE_PIXMAP, GTK_IMAGE_IMAGE */ @@ -141,6 +154,12 @@ struct _GtkImageClass void (*_gtk_reserved4) (void); }; +#ifdef G_OS_WIN32 +/* Reserve old names for DLL ABI backward compatibility */ +#define gtk_image_new_from_file gtk_image_new_from_file_utf8 +#define gtk_image_set_from_file gtk_image_set_from_file_utf8 +#endif + GType gtk_image_get_type (void) G_GNUC_CONST; GtkWidget* gtk_image_new (void); @@ -157,7 +176,10 @@ GtkWidget* gtk_image_new_from_icon_set (GtkIconSet *icon_set, GtkWidget* gtk_image_new_from_animation (GdkPixbufAnimation *animation); GtkWidget* gtk_image_new_from_icon_name (const gchar *icon_name, GtkIconSize size); +GtkWidget* gtk_image_new_from_gicon (GIcon *icon, + GtkIconSize size); +void gtk_image_clear (GtkImage *image); void gtk_image_set_from_pixmap (GtkImage *image, GdkPixmap *pixmap, GdkBitmap *mask); @@ -179,6 +201,9 @@ void gtk_image_set_from_animation (GtkImage *image, void gtk_image_set_from_icon_name (GtkImage *image, const gchar *icon_name, GtkIconSize size); +void gtk_image_set_from_gicon (GtkImage *image, + GIcon *icon, + GtkIconSize size); void gtk_image_set_pixel_size (GtkImage *image, gint pixel_size); @@ -198,10 +223,13 @@ void gtk_image_get_icon_set (GtkImage *image, GtkIconSet **icon_set, GtkIconSize *size); GdkPixbufAnimation* gtk_image_get_animation (GtkImage *image); -void gtk_image_get_icon_name (GtkImage *image, - gchar **icon_name, - GtkIconSize *size); -gint gtk_image_get_pixel_size (GtkImage *image); +void gtk_image_get_icon_name (GtkImage *image, + G_CONST_RETURN gchar **icon_name, + GtkIconSize *size); +void gtk_image_get_gicon (GtkImage *image, + GIcon **gicon, + GtkIconSize *size); +gint gtk_image_get_pixel_size (GtkImage *image); #ifndef GTK_DISABLE_DEPRECATED /* These three are deprecated */ @@ -214,9 +242,6 @@ void gtk_image_get (GtkImage *image, GdkBitmap **mask); #endif /* GTK_DISABLE_DEPRECATED */ -#ifdef __cplusplus -} -#endif /* __cplusplus */ - +G_END_DECLS #endif /* __GTK_IMAGE_H__ */