Mercurial > geeqie
annotate src/typedefs.h @ 531:1149a7b0a3d7
cleanup: use image_get_image_size
author | nadvornik |
---|---|
date | Tue, 29 Apr 2008 18:12:49 +0000 |
parents | 011a6be611c8 |
children | 2da72a136070 |
rev | line source |
---|---|
9 | 1 /* |
196 | 2 * Geeqie |
115
53b2bfdcff69
Tue Nov 28 11:54:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
113
diff
changeset
|
3 * (C) 2006 John Ellis |
475 | 4 * Copyright (C) 2008 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 TYPEDEFS_H | |
15 #define TYPEDEFS_H | |
16 | |
134
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
17 typedef enum { |
448
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
18 MOUSE_BUTTON_LEFT = 1, |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
19 MOUSE_BUTTON_MIDDLE = 2, |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
20 MOUSE_BUTTON_RIGHT = 3, |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
21 MOUSE_BUTTON_WHEEL_UP = 4, |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
22 MOUSE_BUTTON_WHEEL_DOWN = 5 |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
23 } MouseButton; |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
24 |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
25 typedef enum { |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
26 DIRVIEW_LIST, |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
27 DIRVIEW_TREE |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
28 } DirViewType; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
29 |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
30 typedef enum { |
283 | 31 CMD_COPY = GQ_EDITOR_GENERIC_SLOTS, |
134
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
32 CMD_MOVE, |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
33 CMD_RENAME, |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
34 CMD_DELETE, |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
35 CMD_FOLDER, |
283 | 36 GQ_EDITOR_SLOTS |
134
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
37 } SpecialEditor; |
9 | 38 |
39 typedef enum { | |
40 SORT_NONE, | |
41 SORT_NAME, | |
42 SORT_SIZE, | |
43 SORT_TIME, | |
44 SORT_PATH, | |
45 SORT_NUMBER | |
46 } SortType; | |
47 | |
48 typedef enum { | |
49 ALTER_NONE, /* do nothing */ | |
50 ALTER_ROTATE_90, | |
51 ALTER_ROTATE_90_CC, /* counterclockwise */ | |
52 ALTER_ROTATE_180, | |
53 ALTER_MIRROR, | |
82
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
54 ALTER_FLIP, |
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
55 ALTER_DESATURATE |
9 | 56 } AlterType; |
57 | |
58 typedef enum { | |
59 LAYOUT_HIDE = 0, | |
60 LAYOUT_LEFT = 1 << 0, | |
61 LAYOUT_RIGHT = 1 << 1, | |
62 LAYOUT_TOP = 1 << 2, | |
63 LAYOUT_BOTTOM = 1 << 3 | |
64 } LayoutLocation; | |
65 | |
66 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
67 typedef enum { |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
68 IMAGE_STATE_NONE = 0, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
69 IMAGE_STATE_IMAGE = 1 << 0, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
70 IMAGE_STATE_LOADING = 1 << 1, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
71 IMAGE_STATE_ERROR = 1 << 2, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
72 IMAGE_STATE_COLOR_ADJ = 1 << 3, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
73 IMAGE_STATE_ROTATE_AUTO = 1 << 4, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
74 IMAGE_STATE_ROTATE_USER = 1 << 5, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
75 IMAGE_STATE_DELAY_FLIP = 1 << 6 |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
76 } ImageState; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
77 |
127 | 78 typedef enum { |
79 SPLIT_NONE = 0, | |
80 SPLIT_VERT, | |
81 SPLIT_HOR, | |
82 SPLIT_QUAD, | |
83 } ImageSplitMode; | |
84 | |
143
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
85 typedef enum { |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
86 FILEDATA_CHANGE_DELETE, |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
87 FILEDATA_CHANGE_MOVE, |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
88 FILEDATA_CHANGE_RENAME, |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
89 FILEDATA_CHANGE_COPY |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
90 } FileDataChangeType; |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
91 |
161 | 92 typedef enum { |
93 MTS_MODE_MINUS, | |
94 MTS_MODE_SET, | |
95 MTS_MODE_OR, | |
96 MTS_MODE_AND | |
97 } MarkToSelectionMode; | |
98 | |
99 typedef enum { | |
100 STM_MODE_RESET, | |
101 STM_MODE_SET, | |
102 STM_MODE_TOGGLE | |
103 } SelectionToMarkMode; | |
104 | |
212
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
105 typedef enum { |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
106 FORMAT_CLASS_UNKNOWN, |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
107 FORMAT_CLASS_IMAGE, |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
108 FORMAT_CLASS_RAWIMAGE, |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
109 FORMAT_CLASS_META, |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
110 FILE_FORMAT_CLASSES |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
111 } FileFormatClass; |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
112 |
276 | 113 typedef enum { |
114 SS_ERR_NONE = 0, | |
115 SS_ERR_DISABLED, /**< secsave is disabled. */ | |
116 SS_ERR_OUT_OF_MEM, /**< memory allocation failure */ | |
117 | |
118 /* see err field in SecureSaveInfo */ | |
119 SS_ERR_OPEN_READ, | |
120 SS_ERR_OPEN_WRITE, | |
121 SS_ERR_STAT, | |
122 SS_ERR_ACCESS, | |
123 SS_ERR_MKSTEMP, | |
124 SS_ERR_RENAME, | |
125 SS_ERR_OTHER, | |
126 } SecureSaveErrno; | |
127 | |
143
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
128 |
127 | 129 #define MAX_SPLIT_IMAGES 4 |
130 | |
9 | 131 typedef struct _ImageLoader ImageLoader; |
132 typedef struct _ThumbLoader ThumbLoader; | |
133 | |
134 typedef struct _CollectInfo CollectInfo; | |
135 typedef struct _CollectionData CollectionData; | |
136 typedef struct _CollectTable CollectTable; | |
137 typedef struct _CollectWindow CollectWindow; | |
138 | |
139 typedef struct _ImageWindow ImageWindow; | |
140 | |
141 typedef struct _FileData FileData; | |
138 | 142 typedef struct _FileDataChangeInfo FileDataChangeInfo; |
9 | 143 |
144 typedef struct _LayoutWindow LayoutWindow; | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
145 typedef struct _ViewDir ViewDir; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
146 typedef struct _ViewDirInfoList ViewDirInfoList; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
147 typedef struct _ViewDirInfoTree ViewDirInfoTree; |
9 | 148 typedef struct _ViewFileList ViewFileList; |
149 typedef struct _ViewFileIcon ViewFileIcon; | |
150 | |
151 typedef struct _SlideShowData SlideShowData; | |
152 typedef struct _FullScreenData FullScreenData; | |
153 | |
154 typedef struct _PixmapFolders PixmapFolders; | |
273
e0e2c2b72c5a
reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents:
212
diff
changeset
|
155 typedef struct _Histogram Histogram; |
e0e2c2b72c5a
reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents:
212
diff
changeset
|
156 |
276 | 157 typedef struct _SecureSaveInfo SecureSaveInfo; |
9 | 158 |
159 | |
160 struct _ImageLoader | |
161 { | |
162 GdkPixbuf *pixbuf; | |
138 | 163 FileData *fd; |
9 | 164 gchar *path; |
165 | |
166 gint bytes_read; | |
167 gint bytes_total; | |
168 | |
169 gint requested_width; | |
170 gint requested_height; | |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
171 gint shrunk; |
9 | 172 |
173 gint done; | |
174 gint idle_id; | |
175 gint idle_priority; | |
176 | |
177 GdkPixbufLoader *loader; | |
178 gint load_fd; | |
179 | |
180 void (*func_area_ready)(ImageLoader *, guint x, guint y, guint w, guint h, gpointer); | |
181 void (*func_error)(ImageLoader *, gpointer); | |
182 void (*func_done)(ImageLoader *, gpointer); | |
183 void (*func_percent)(ImageLoader *, gdouble, gpointer); | |
184 | |
185 gpointer data_area_ready; | |
186 gpointer data_error; | |
187 gpointer data_done; | |
188 gpointer data_percent; | |
189 | |
190 gint idle_done_id; | |
413
9e521adbf312
Add two new options to control image read buffer at runtime.
zas_
parents:
407
diff
changeset
|
191 |
9e521adbf312
Add two new options to control image read buffer at runtime.
zas_
parents:
407
diff
changeset
|
192 guchar *read_buffer; |
9e521adbf312
Add two new options to control image read buffer at runtime.
zas_
parents:
407
diff
changeset
|
193 gint read_buffer_size; |
9e521adbf312
Add two new options to control image read buffer at runtime.
zas_
parents:
407
diff
changeset
|
194 gint idle_read_loop_count; |
9 | 195 }; |
196 | |
197 typedef void (* ThumbLoaderFunc)(ThumbLoader *tl, gpointer data); | |
198 | |
199 struct _ThumbLoader | |
200 { | |
201 gint standard_loader; | |
202 | |
203 GdkPixbuf *pixbuf; /* contains final (scaled) image when done */ | |
204 ImageLoader *il; | |
205 gchar *path; | |
206 | |
207 gint cache_enable; | |
208 gint cache_hit; | |
209 gdouble percent_done; | |
210 | |
211 gint max_w; | |
212 gint max_h; | |
213 | |
214 ThumbLoaderFunc func_done; | |
215 ThumbLoaderFunc func_error; | |
216 ThumbLoaderFunc func_progress; | |
217 | |
218 gpointer data; | |
219 | |
220 gint idle_done_id; | |
221 }; | |
222 | |
223 struct _CollectInfo | |
224 { | |
138 | 225 FileData *fd; |
9 | 226 GdkPixbuf *pixbuf; |
227 gint flag_mask; | |
228 }; | |
229 | |
230 struct _CollectionData | |
231 { | |
232 gchar *path; | |
233 gchar *name; | |
234 GList *list; | |
235 SortType sort_method; | |
236 | |
237 ThumbLoader *thumb_loader; | |
238 CollectInfo *thumb_info; | |
239 | |
240 void (*info_updated_func)(CollectionData *, CollectInfo *, gpointer); | |
241 gpointer info_updated_data; | |
242 | |
243 gint ref; | |
244 | |
245 /* geometry */ | |
246 gint window_read; | |
247 gint window_x; | |
248 gint window_y; | |
249 gint window_w; | |
250 gint window_h; | |
251 | |
252 /* contents changed since save flag */ | |
253 gint changed; | |
303
6ff0bc50ac46
Prevent multiple insertion of the same file in a collection.
zas_
parents:
290
diff
changeset
|
254 |
6ff0bc50ac46
Prevent multiple insertion of the same file in a collection.
zas_
parents:
290
diff
changeset
|
255 GHashTable *existence; |
9 | 256 }; |
257 | |
258 struct _CollectTable | |
259 { | |
260 GtkWidget *scrolled; | |
261 GtkWidget *listview; | |
262 gint columns; | |
263 gint rows; | |
264 | |
265 CollectionData *cd; | |
266 | |
267 GList *selection; | |
268 CollectInfo *prev_selection; | |
269 | |
270 CollectInfo *click_info; | |
271 | |
272 GtkWidget *tip_window; | |
273 gint tip_delay_id; | |
274 CollectInfo *tip_info; | |
275 | |
276 GdkWindow *marker_window; | |
277 CollectInfo *marker_info; | |
278 | |
279 GtkWidget *status_label; | |
280 GtkWidget *extra_label; | |
281 | |
282 gint focus_row; | |
283 gint focus_column; | |
284 CollectInfo *focus_info; | |
285 | |
286 GtkWidget *popup; | |
287 CollectInfo *drop_info; | |
288 GList *drop_list; | |
289 | |
290 gint sync_idle_id; | |
291 gint drop_idle_id; | |
292 | |
293 gint show_text; | |
294 }; | |
295 | |
296 struct _CollectWindow | |
297 { | |
298 GtkWidget *window; | |
299 CollectTable *table; | |
300 GtkWidget *status_box; | |
301 GList *list; | |
302 | |
303 GtkWidget *close_dialog; | |
304 | |
305 CollectionData *cd; | |
306 }; | |
307 | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
308 typedef gint (* ImageTileRequestFunc)(ImageWindow *imd, gint x, gint y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
309 gint width, gint height, GdkPixbuf *pixbuf, gpointer); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
310 typedef void (* ImageTileDisposeFunc)(ImageWindow *imd, gint x, gint y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
311 gint width, gint height, GdkPixbuf *pixbuf, gpointer); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
312 |
9 | 313 struct _ImageWindow |
314 { | |
315 GtkWidget *widget; /* use this to add it and show it */ | |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
316 GtkWidget *pr; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
317 GtkWidget *frame; |
9 | 318 |
138 | 319 FileData *image_fd; |
9 | 320 |
321 gint64 size; /* file size (bytes) */ | |
322 time_t mtime; /* file modified time stamp */ | |
323 gint unknown; /* failed to load image */ | |
324 | |
325 ImageLoader *il; | |
326 | |
327 gint has_frame; | |
328 | |
329 /* top level (not necessarily parent) window */ | |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
330 gint top_window_sync; /* resize top_window when image dimensions change */ |
9 | 331 GtkWidget *top_window; /* window that gets title, and window to resize when 'fitting' */ |
332 gchar *title; /* window title to display left of file name */ | |
333 gchar *title_right; /* window title to display right of file name */ | |
334 gint title_show_zoom; /* option to include zoom in window title */ | |
335 | |
336 gint completed; | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
337 ImageState state; /* mask of IMAGE_STATE_* flags about current image */ |
9 | 338 |
117
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
339 void (*func_update)(ImageWindow *imd, gpointer data); |
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
340 void (*func_complete)(ImageWindow *imd, gint preload, gpointer data); |
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
341 void (*func_state)(ImageWindow *imd, ImageState state, gpointer data); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
342 ImageTileRequestFunc func_tile_request; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
343 ImageTileDisposeFunc func_tile_dispose; |
9 | 344 |
345 gpointer data_update; | |
346 gpointer data_complete; | |
117
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
347 gpointer data_state; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
348 gpointer data_tile; |
9 | 349 |
350 /* button, scroll functions */ | |
351 void (*func_button)(ImageWindow *, gint button, | |
352 guint32 time, gdouble x, gdouble y, guint state, gpointer); | |
128
98e2632b5d3d
improved connected scroll and active image switching
nadvornik
parents:
127
diff
changeset
|
353 void (*func_drag)(ImageWindow *, gint button, |
98e2632b5d3d
improved connected scroll and active image switching
nadvornik
parents:
127
diff
changeset
|
354 guint32 time, gdouble x, gdouble y, guint state, gdouble dx, gdouble dy,gpointer); |
9 | 355 void (*func_scroll)(ImageWindow *, GdkScrollDirection direction, |
356 guint32 time, gdouble x, gdouble y, guint state, gpointer); | |
357 | |
358 gpointer data_button; | |
128
98e2632b5d3d
improved connected scroll and active image switching
nadvornik
parents:
127
diff
changeset
|
359 gpointer data_drag; |
9 | 360 gpointer data_scroll; |
361 | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
362 /* scroll notification (for scroll bar implementation) */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
363 void (*func_scroll_notify)(ImageWindow *, gint x, gint y, gint width, gint height, gpointer); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
364 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
365 gpointer data_scroll_notify; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
366 |
9 | 367 /* collection info */ |
368 CollectionData *collection; | |
369 CollectInfo *collection_info; | |
370 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
371 /* color profiles */ |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
372 gint color_profile_enable; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
373 gint color_profile_input; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
374 gint color_profile_screen; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
375 gint color_profile_use_image; |
426
9fe0ca1b5263
show the AdobeRGB profile in the menu, indicate input profile from image
nadvornik
parents:
415
diff
changeset
|
376 gint color_profile_from_image; |
115
53b2bfdcff69
Tue Nov 28 11:54:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
113
diff
changeset
|
377 gpointer cm; |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
378 |
480
805c3258d228
Make histogram depends on image window not layout window.
zas_
parents:
475
diff
changeset
|
379 /* histogram */ |
805c3258d228
Make histogram depends on image window not layout window.
zas_
parents:
475
diff
changeset
|
380 gint histogram_enabled; |
805c3258d228
Make histogram depends on image window not layout window.
zas_
parents:
475
diff
changeset
|
381 Histogram *histogram; |
805c3258d228
Make histogram depends on image window not layout window.
zas_
parents:
475
diff
changeset
|
382 |
9 | 383 AlterType delay_alter_type; |
384 | |
385 ImageLoader *read_ahead_il; | |
386 GdkPixbuf *read_ahead_pixbuf; | |
138 | 387 FileData *read_ahead_fd; |
9 | 388 |
389 GdkPixbuf *prev_pixbuf; | |
138 | 390 FileData *prev_fd; |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
391 gint prev_color_row; |
9 | 392 |
393 gint auto_refresh_id; | |
394 gint auto_refresh_interval; | |
395 | |
396 gint delay_flip; | |
398
c4080362d619
image post-processing (rotation and color management) moved to
nadvornik
parents:
384
diff
changeset
|
397 gint orientation; |
c4080362d619
image post-processing (rotation and color management) moved to
nadvornik
parents:
384
diff
changeset
|
398 gint desaturate; |
415 | 399 |
400 gint overlay_show_zoom; /* set to true if overlay is showing zoom ratio */ | |
9 | 401 }; |
402 | |
149 | 403 #define FILEDATA_MARKS_SIZE 6 |
132 | 404 |
138 | 405 struct _FileDataChangeInfo { |
143
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
406 FileDataChangeType type; |
138 | 407 gchar *source; |
408 gchar *dest; | |
409 }; | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
410 |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
411 struct _FileData { |
138 | 412 gint magick; |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
413 gint type; |
138 | 414 gchar *original_path; /* key to file_data_pool hash table */ |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
415 gchar *path; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
416 const gchar *name; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
417 const gchar *extension; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
418 gint64 size; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
419 time_t date; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
420 gboolean marks[FILEDATA_MARKS_SIZE]; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
421 GList *sidecar_files; |
141 | 422 FileData *parent; /* parent file if this is a sidecar file, NULL otherwise */ |
138 | 423 FileDataChangeInfo *change; /* for rename, move ... */ |
9 | 424 GdkPixbuf *pixbuf; |
138 | 425 gint ref; |
434
1b0aee2b162e
Keep image orientation set by the user during the session.
zas_
parents:
433
diff
changeset
|
426 gint user_orientation; |
439 | 427 gint exif_orientation; |
9 | 428 }; |
429 | |
430 struct _LayoutWindow | |
431 { | |
432 gchar *path; | |
433 | |
434 /* base */ | |
435 | |
436 GtkWidget *window; | |
437 | |
438 GtkWidget *main_box; | |
439 | |
440 GtkWidget *group_box; | |
441 GtkWidget *h_pane; | |
442 GtkWidget *v_pane; | |
443 | |
444 /* menus, path selector */ | |
445 | |
446 GtkActionGroup *action_group; | |
447 GtkUIManager *ui_manager; | |
448 | |
449 GtkWidget *path_entry; | |
450 | |
451 /* image */ | |
452 | |
453 LayoutLocation image_location; | |
454 | |
455 ImageWindow *image; | |
456 | |
127 | 457 ImageWindow *split_images[MAX_SPLIT_IMAGES]; |
442 | 458 ImageSplitMode split_mode; |
127 | 459 gint active_split_image; |
460 | |
442 | 461 GtkWidget *split_image_widget; |
462 | |
127 | 463 gint connect_zoom, connect_scroll; |
442 | 464 |
9 | 465 /* tools window (float) */ |
466 | |
467 GtkWidget *tools; | |
468 GtkWidget *tools_pane; | |
469 | |
470 gint tools_float; | |
471 gint tools_hidden; | |
472 | |
473 /* toolbar */ | |
474 | |
475 GtkWidget *toolbar; | |
476 gint toolbar_hidden; | |
477 | |
478 GtkWidget *thumb_button; | |
479 gint thumbs_enabled; | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
480 gint marks_enabled; |
442 | 481 |
9 | 482 /* dir view */ |
483 | |
484 LayoutLocation dir_location; | |
485 | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
486 ViewDir *vd; |
9 | 487 GtkWidget *dir_view; |
488 | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
489 DirViewType dir_view_type; |
9 | 490 |
491 /* file view */ | |
492 | |
493 LayoutLocation file_location; | |
494 | |
495 ViewFileList *vfl; | |
496 ViewFileIcon *vfi; | |
497 GtkWidget *file_view; | |
498 | |
499 gint icon_view; | |
500 SortType sort_method; | |
501 gint sort_ascend; | |
502 | |
503 /* status bar */ | |
504 | |
505 GtkWidget *info_box; | |
506 GtkWidget *info_progress_bar; | |
507 GtkWidget *info_sort; | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
508 GtkWidget *info_color; |
9 | 509 GtkWidget *info_status; |
510 GtkWidget *info_details; | |
511 GtkWidget *info_zoom; | |
512 | |
513 /* slide show */ | |
514 | |
515 SlideShowData *slideshow; | |
516 | |
517 /* full screen */ | |
518 | |
519 FullScreenData *full_screen; | |
520 | |
521 /* dividers */ | |
522 | |
523 gint div_h; | |
524 gint div_v; | |
525 gint div_float; | |
526 | |
527 /* directory update check */ | |
528 | |
529 gint last_time_id; | |
530 time_t last_time; | |
531 | |
532 /* misc */ | |
533 | |
534 GtkWidget *utility_box; | |
535 GtkWidget *bar_sort; | |
536 GtkWidget *bar_exif; | |
537 GtkWidget *bar_info; | |
538 | |
539 gint bar_sort_enabled; | |
540 gint bar_exif_enabled; | |
541 gint bar_info_enabled; | |
542 | |
489
3809ffa3567b
Save state and width of exif, info and sort panels to rc file.
zas_
parents:
480
diff
changeset
|
543 gint bar_exif_width; |
9 | 544 gint bar_exif_advanced; |
489
3809ffa3567b
Save state and width of exif, info and sort panels to rc file.
zas_
parents:
480
diff
changeset
|
545 gint bar_info_width; |
9 | 546 }; |
547 | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
548 struct _ViewDir |
9 | 549 { |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
550 DirViewType type; |
384
392dd6541d51
Merge parts of view_dir_list/tree constructors/destructors to
zas_
parents:
380
diff
changeset
|
551 gpointer info; |
392dd6541d51
Merge parts of view_dir_list/tree constructors/destructors to
zas_
parents:
380
diff
changeset
|
552 |
9 | 553 GtkWidget *widget; |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
554 GtkWidget *view; |
9 | 555 |
556 gchar *path; | |
557 | |
558 FileData *click_fd; | |
559 | |
560 FileData *drop_fd; | |
561 GList *drop_list; | |
562 gint drop_scroll_id; | |
563 | |
564 /* func list */ | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
565 void (*select_func)(ViewDir *vd, const gchar *path, gpointer data); |
9 | 566 gpointer select_data; |
567 | |
407 | 568 void (*dnd_drop_update_func)(ViewDir *vd); |
569 void (*dnd_drop_leave_func)(ViewDir *vd); | |
442 | 570 |
9 | 571 LayoutWindow *layout; |
572 | |
573 GtkWidget *popup; | |
574 | |
575 PixmapFolders *pf; | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
576 }; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
577 |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
578 struct _ViewDirInfoList |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
579 { |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
580 GList *list; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
581 }; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
582 |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
583 struct _ViewDirInfoTree |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
584 { |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
585 gint drop_expand_id; |
9 | 586 gint busy_ref; |
587 }; | |
588 | |
589 struct _ViewFileList | |
590 { | |
591 GtkWidget *widget; | |
592 GtkWidget *listview; | |
593 | |
594 gchar *path; | |
595 GList *list; | |
596 | |
597 SortType sort_method; | |
598 gint sort_ascend; | |
599 | |
600 FileData *click_fd; | |
601 FileData *select_fd; | |
602 | |
603 gint thumbs_enabled; | |
138 | 604 gint marks_enabled; |
150 | 605 gint active_mark; |
442 | 606 |
9 | 607 /* thumb updates */ |
608 gint thumbs_running; | |
609 gint thumbs_count; | |
610 ThumbLoader *thumbs_loader; | |
611 FileData *thumbs_filedata; | |
612 | |
613 /* func list */ | |
614 void (*func_thumb_status)(ViewFileList *vfl, gdouble val, const gchar *text, gpointer data); | |
615 gpointer data_thumb_status; | |
616 | |
617 void (*func_status)(ViewFileList *vfl, gpointer data); | |
618 gpointer data_status; | |
619 | |
620 gint select_idle_id; | |
621 LayoutWindow *layout; | |
622 | |
623 GtkWidget *popup; | |
624 }; | |
625 | |
138 | 626 struct _IconData; |
627 | |
9 | 628 struct _ViewFileIcon |
629 { | |
630 GtkWidget *widget; | |
631 GtkWidget *listview; | |
632 | |
633 gchar *path; | |
634 GList *list; | |
635 | |
636 /* table stuff */ | |
637 | |
638 gint columns; | |
639 gint rows; | |
640 | |
641 GList *selection; | |
138 | 642 struct _IconData *prev_selection; |
9 | 643 |
644 GtkWidget *tip_window; | |
645 gint tip_delay_id; | |
138 | 646 struct _IconData *tip_id; |
9 | 647 |
138 | 648 struct _IconData *click_id; |
9 | 649 |
138 | 650 struct _IconData *focus_id; |
9 | 651 gint focus_row; |
652 gint focus_column; | |
653 | |
654 SortType sort_method; | |
655 gint sort_ascend; | |
656 | |
657 gint show_text; | |
658 | |
659 gint sync_idle_id; | |
660 | |
661 /* thumbs */ | |
442 | 662 |
9 | 663 gint thumbs_running; |
664 GList *thumbs_list; | |
665 gint thumbs_count; | |
666 ThumbLoader *thumbs_loader; | |
667 FileData *thumbs_fd; | |
668 | |
669 /* func list */ | |
670 void (*func_thumb_status)(ViewFileIcon *vfi, gdouble val, const gchar *text, gpointer data); | |
671 gpointer data_thumb_status; | |
672 | |
673 void (*func_status)(ViewFileIcon *vfi, gpointer data); | |
674 gpointer data_status; | |
675 | |
676 LayoutWindow *layout; | |
677 | |
678 GtkWidget *popup; | |
679 }; | |
680 | |
681 struct _SlideShowData | |
682 { | |
683 ImageWindow *imd; | |
684 | |
138 | 685 GList *filelist; |
9 | 686 CollectionData *cd; |
687 gchar *layout_path; | |
688 LayoutWindow *layout; | |
689 | |
690 GList *list; | |
691 GList *list_done; | |
692 | |
138 | 693 FileData *slide_fd; |
9 | 694 |
695 gint slide_count; | |
696 gint timeout_id; | |
697 | |
698 gint from_selection; | |
699 | |
700 void (*stop_func)(SlideShowData *, gpointer); | |
701 gpointer stop_data; | |
702 | |
703 gint paused; | |
704 }; | |
705 | |
706 struct _FullScreenData | |
707 { | |
708 GtkWidget *window; | |
709 ImageWindow *imd; | |
710 | |
711 GtkWidget *normal_window; | |
712 ImageWindow *normal_imd; | |
713 | |
714 gint hide_mouse_id; | |
715 gint busy_mouse_id; | |
716 gint cursor_state; | |
717 | |
718 gint saver_block_id; | |
719 | |
720 void (*stop_func)(FullScreenData *, gpointer); | |
721 gpointer stop_data; | |
722 }; | |
723 | |
724 struct _PixmapFolders | |
725 { | |
726 GdkPixbuf *close; | |
727 GdkPixbuf *open; | |
728 GdkPixbuf *deny; | |
729 GdkPixbuf *parent; | |
730 }; | |
731 | |
276 | 732 struct _SecureSaveInfo { |
733 FILE *fp; /**< file stream pointer */ | |
734 gchar *file_name; /**< final file name */ | |
735 gchar *tmp_file_name; /**< temporary file name */ | |
736 gint err; /**< set to non-zero value in case of error */ | |
313
a955b7fd626b
Secure save now unlinks temporary file on error by default.
zas_
parents:
311
diff
changeset
|
737 gint secure_save; /**< use secure save for this file, internal use only */ |
a955b7fd626b
Secure save now unlinks temporary file on error by default.
zas_
parents:
311
diff
changeset
|
738 gint preserve_perms; /**< whether to preserve perms, TRUE by default */ |
a955b7fd626b
Secure save now unlinks temporary file on error by default.
zas_
parents:
311
diff
changeset
|
739 gint preserve_mtime; /**< whether to preserve mtime, FALSE by default */ |
a955b7fd626b
Secure save now unlinks temporary file on error by default.
zas_
parents:
311
diff
changeset
|
740 gint unlink_on_error; /**< whether to remove temporary file on save failure, TRUE by default */ |
276 | 741 }; |
742 | |
9 | 743 |
744 #endif |