Sync to GQview 1.5.9 release.
[geeqie.git] / src / image-load.h
1 /*
2  * GQview
3  * (C) 2004 John Ellis
4  *
5  * Author: John Ellis
6  *
7  * This software is released under the GNU General Public License (GNU GPL).
8  * Please read the included file COPYING for more information.
9  * This software comes with no warranty of any kind, use at your own risk!
10  */
11
12
13 #ifndef IMAGE_LOAD_H
14 #define IMAGE_LOAD_H
15
16
17 ImageLoader *image_loader_new(const gchar *path);
18 void image_loader_free(ImageLoader *il);
19
20 void image_loader_set_area_ready_func(ImageLoader *il,
21                                       void (*func_area_ready)(ImageLoader *, guint, guint, guint, guint, gpointer),
22                                       gpointer data_area_ready);
23 void image_loader_set_error_func(ImageLoader *il,
24                                  void (*func_error)(ImageLoader *, gpointer),
25                                  gpointer data_error);
26 void image_loader_set_percent_func(ImageLoader *il,
27                                    void (*func_percent)(ImageLoader *, gdouble, gpointer),
28                                    gpointer data_percent);
29
30 /* Speed up loading when you only need at most width x height size image,
31  * only the jpeg GdkPixbuf loader benefits from it - so there is no
32  * guarantee that the image will scale down to the requested size..
33  */
34 void image_loader_set_requested_size(ImageLoader *il, gint width, gint height);
35
36 void image_loader_set_buffer_size(ImageLoader *il, guint size);
37
38 /* this only has effect if used before image_loader_start()
39  * default is G_PRIORITY_DEFAULT_IDLE
40  */
41 void image_loader_set_priority(ImageLoader *il, gint priority);
42
43 gint image_loader_start(ImageLoader *il, void (*func_done)(ImageLoader *, gpointer), gpointer data_done);
44
45
46 GdkPixbuf *image_loader_get_pixbuf(ImageLoader *il);
47 gchar *image_loader_get_format(ImageLoader *il);
48 gdouble image_loader_get_percent(ImageLoader *il);
49 gint image_loader_get_is_done(ImageLoader *il);
50
51 gint image_load_dimensions(const gchar *path, gint *width, gint *height);
52
53 #endif
54