]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkimage.h
fix local prototype of _gtk_file_chooser_label_for_file() (takes a GFile,
[~andy/gtk] / gtk / gtkimage.h
index 28c6776c642fbe963b1779bdd95a0233d11b5415..c4dacfeefac69bf38aee85f032aea28304b68e68 100644 (file)
  * 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 <gtk/gtk.h> can be included directly."
+#endif
+
 #ifndef __GTK_IMAGE_H__
 #define __GTK_IMAGE_H__
 
 
 #include <gdk/gdk.h>
+#include <gio/gio.h>
 #include <gtk/gtkmisc.h>
 
 
-#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__ */