Mercurial > geeqie
annotate src/image-load.h @ 1312:fcf0e7a6143e
Introduce helpers histogram_toggle_channel() and histogram_toggle_mode().
author | zas_ |
---|---|
date | Mon, 23 Feb 2009 17:20:40 +0000 |
parents | 8b89e3ff286b |
children | b4ad1d201279 |
rev | line source |
---|---|
9 | 1 /* |
196 | 2 * Geeqie |
9 | 3 * (C) 2004 John Ellis |
1284 | 4 * Copyright (C) 2008 - 2009 The Geeqie Team |
9 | 5 * |
6 * Author: John Ellis | |
7 * | |
8 * This software is released under the GNU General Public License (GNU GPL). | |
9 * Please read the included file COPYING for more information. | |
10 * This software comes with no warranty of any kind, use at your own risk! | |
11 */ | |
12 | |
13 | |
14 #ifndef IMAGE_LOAD_H | |
15 #define IMAGE_LOAD_H | |
16 | |
1012
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
17 #define TYPE_IMAGE_LOADER (image_loader_get_type()) |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
18 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
19 //typedef struct _ImageLoader ImageLoader; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
20 typedef struct _ImageLoaderClass ImageLoaderClass; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
21 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
22 struct _ImageLoader |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
23 { |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
24 GObject parent; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
25 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
26 /*< private >*/ |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
27 GdkPixbuf *pixbuf; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
28 FileData *fd; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
29 gchar *path; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
30 |
1185 | 31 gsize bytes_read; |
32 gsize bytes_total; | |
1012
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
33 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
34 gint preview; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
35 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
36 gint requested_width; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
37 gint requested_height; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
38 gint shrunk; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
39 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
40 gint done; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
41 gint idle_id; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
42 gint idle_priority; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
43 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
44 GdkPixbufLoader *loader; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
45 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
46 gint idle_done_id; |
1014 | 47 GList *area_param_list; |
1045
0ab0deb0cfcc
added possibility to redraw only the parts of image that are already
nadvornik
parents:
1021
diff
changeset
|
48 GList *area_param_delayed_list; |
0ab0deb0cfcc
added possibility to redraw only the parts of image that are already
nadvornik
parents:
1021
diff
changeset
|
49 |
0ab0deb0cfcc
added possibility to redraw only the parts of image that are already
nadvornik
parents:
1021
diff
changeset
|
50 gint delay_area_ready; |
1015 | 51 |
52 GMutex *data_mutex; | |
53 gint stopping; | |
1021 | 54 gint can_destroy; |
55 GCond *can_destroy_cond; | |
56 gboolean thread; | |
1012
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
57 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
58 guchar *mapped_file; |
1185 | 59 gsize read_buffer_size; |
1012
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
60 gint idle_read_loop_count; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
61 }; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
62 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
63 struct _ImageLoaderClass { |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
64 GObjectClass parent; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
65 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
66 /* class members */ |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
67 void (*area_ready)(ImageLoader *, guint x, guint y, guint w, guint h, gpointer); |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
68 void (*error)(ImageLoader *, gpointer); |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
69 void (*done)(ImageLoader *, gpointer); |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
70 void (*percent)(ImageLoader *, gdouble, gpointer); |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
71 }; |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
72 |
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
73 GType image_loader_get_type(void); |
9 | 74 |
138 | 75 ImageLoader *image_loader_new(FileData *fd); |
76 | |
9 | 77 void image_loader_free(ImageLoader *il); |
78 | |
1045
0ab0deb0cfcc
added possibility to redraw only the parts of image that are already
nadvornik
parents:
1021
diff
changeset
|
79 /* delay area_ready signals */ |
0ab0deb0cfcc
added possibility to redraw only the parts of image that are already
nadvornik
parents:
1021
diff
changeset
|
80 void image_loader_delay_area_ready(ImageLoader *il, gint enable); |
9 | 81 |
82 /* Speed up loading when you only need at most width x height size image, | |
83 * only the jpeg GdkPixbuf loader benefits from it - so there is no | |
84 * guarantee that the image will scale down to the requested size.. | |
85 */ | |
86 void image_loader_set_requested_size(ImageLoader *il, gint width, gint height); | |
87 | |
88 void image_loader_set_buffer_size(ImageLoader *il, guint size); | |
89 | |
90 /* this only has effect if used before image_loader_start() | |
91 * default is G_PRIORITY_DEFAULT_IDLE | |
92 */ | |
93 void image_loader_set_priority(ImageLoader *il, gint priority); | |
94 | |
1012
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1011
diff
changeset
|
95 gint image_loader_start(ImageLoader *il); |
9 | 96 |
97 | |
98 GdkPixbuf *image_loader_get_pixbuf(ImageLoader *il); | |
99 gchar *image_loader_get_format(ImageLoader *il); | |
100 gdouble image_loader_get_percent(ImageLoader *il); | |
101 gint image_loader_get_is_done(ImageLoader *il); | |
1011 | 102 FileData *image_loader_get_fd(ImageLoader *il); |
103 gint image_loader_get_shrunk(ImageLoader *il); | |
9 | 104 |
138 | 105 gint image_load_dimensions(FileData *fd, gint *width, gint *height); |
9 | 106 |
107 #endif | |
1055
1646720364cf
Adding a vim modeline to all files - patch by Klaus Ethgen
nadvornik
parents:
1045
diff
changeset
|
108 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ |