1 #ifndef _EOG_IMAGE_SAVE_INFO_H_
2 #define _EOG_IMAGE_SAVE_INFO_H_
3 
4 #include <glib-object.h>
5 #include <gio/gio.h>
6 #include <gdk-pixbuf/gdk-pixbuf.h>
7 
8 G_BEGIN_DECLS
9 
10 #ifndef __EOG_IMAGE_DECLR__
11 #define __EOG_IMAGE_DECLR__
12 typedef struct _EogImage EogImage;
13 #endif
14 
15 #define EOG_TYPE_IMAGE_SAVE_INFO            (eog_image_save_info_get_type ())
16 #define EOG_IMAGE_SAVE_INFO(o)         (G_TYPE_CHECK_INSTANCE_CAST ((o), EOG_TYPE_IMAGE_SAVE_INFO, EogImageSaveInfo))
17 #define EOG_IMAGE_SAVE_INFO_CLASS(k)   (G_TYPE_CHECK_CLASS_CAST((k), EOG_TYPE_IMAGE_SAVE_INFO, EogImageSaveInfoClass))
18 #define EOG_IS_IMAGE_SAVE_INFO(o)         (G_TYPE_CHECK_INSTANCE_TYPE ((o), EOG_TYPE_IMAGE_SAVE_INFO))
19 #define EOG_IS_IMAGE_SAVE_INFO_CLASS(k)   (G_TYPE_CHECK_CLASS_TYPE ((k), EOG_TYPE_IMAGE_SAVE_INFO))
20 #define EOG_IMAGE_SAVE_INFO_GET_CLASS(o)  (G_TYPE_INSTANCE_GET_CLASS ((o), EOG_TYPE_IMAGE_SAVE_INFO, EogImageSaveInfoClass))
21 
22 typedef struct _EogImageSaveInfo EogImageSaveInfo;
23 typedef struct _EogImageSaveInfoClass EogImageSaveInfoClass;
24 
25 struct _EogImageSaveInfo {
26 	GObject parent;
27 
28 	GFile       *file;
29 	char        *format;
30 	gboolean     exists;
31 	gboolean     local;
32 	gboolean     has_metadata;
33 	gboolean     modified;
34 	gboolean     overwrite;
35 
36 	float        jpeg_quality; /* valid range: [0.0 ... 1.0] */
37 };
38 
39 struct _EogImageSaveInfoClass {
40 	GObjectClass parent_klass;
41 };
42 
43 #define EOG_FILE_FORMAT_JPEG   "jpeg"
44 
45 GType             eog_image_save_info_get_type         (void) G_GNUC_CONST;
46 
47 EogImageSaveInfo *eog_image_save_info_new_from_image   (EogImage *image);
48 
49 EogImageSaveInfo *eog_image_save_info_new_from_uri     (const char      *uri,
50 							GdkPixbufFormat *format);
51 
52 EogImageSaveInfo *eog_image_save_info_new_from_file    (GFile           *file,
53 							GdkPixbufFormat *format);
54 
55 G_END_DECLS
56 
57 #endif /* _EOG_IMAGE_SAVE_INFO_H_ */
58