Mercurial > geeqie
annotate src/typedefs.h @ 127:271afad04d07
implemented split windows
TODO: menus and hotkeys, connected zoom, activating on drag
author | nadvornik |
---|---|
date | Fri, 29 Jun 2007 15:16:46 +0000 |
parents | e2a8b7f2165b |
children | 98e2632b5d3d |
rev | line source |
---|---|
9 | 1 /* |
2 * GQview | |
115
53b2bfdcff69
Tue Nov 28 11:54:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
113
diff
changeset
|
3 * (C) 2006 John Ellis |
9 | 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 TYPEDEFS_H | |
14 #define TYPEDEFS_H | |
15 | |
16 | |
17 typedef enum { | |
18 SORT_NONE, | |
19 SORT_NAME, | |
20 SORT_SIZE, | |
21 SORT_TIME, | |
22 SORT_PATH, | |
23 SORT_NUMBER | |
24 } SortType; | |
25 | |
26 typedef enum { | |
27 ALTER_NONE, /* do nothing */ | |
28 ALTER_ROTATE_90, | |
29 ALTER_ROTATE_90_CC, /* counterclockwise */ | |
30 ALTER_ROTATE_180, | |
31 ALTER_MIRROR, | |
82
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
32 ALTER_FLIP, |
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
33 ALTER_DESATURATE |
9 | 34 } AlterType; |
35 | |
36 typedef enum { | |
37 LAYOUT_HIDE = 0, | |
38 LAYOUT_LEFT = 1 << 0, | |
39 LAYOUT_RIGHT = 1 << 1, | |
40 LAYOUT_TOP = 1 << 2, | |
41 LAYOUT_BOTTOM = 1 << 3 | |
42 } LayoutLocation; | |
43 | |
44 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
45 typedef enum { |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
46 IMAGE_STATE_NONE = 0, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
47 IMAGE_STATE_IMAGE = 1 << 0, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
48 IMAGE_STATE_LOADING = 1 << 1, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
49 IMAGE_STATE_ERROR = 1 << 2, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
50 IMAGE_STATE_COLOR_ADJ = 1 << 3, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
51 IMAGE_STATE_ROTATE_AUTO = 1 << 4, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
52 IMAGE_STATE_ROTATE_USER = 1 << 5, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
53 IMAGE_STATE_DELAY_FLIP = 1 << 6 |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
54 } ImageState; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
55 |
127 | 56 typedef enum { |
57 SPLIT_NONE = 0, | |
58 SPLIT_VERT, | |
59 SPLIT_HOR, | |
60 SPLIT_QUAD, | |
61 } ImageSplitMode; | |
62 | |
63 #define MAX_SPLIT_IMAGES 4 | |
64 | |
9 | 65 typedef struct _ImageLoader ImageLoader; |
66 typedef struct _ThumbLoader ThumbLoader; | |
67 | |
68 typedef struct _CollectInfo CollectInfo; | |
69 typedef struct _CollectionData CollectionData; | |
70 typedef struct _CollectTable CollectTable; | |
71 typedef struct _CollectWindow CollectWindow; | |
72 | |
73 typedef struct _ImageWindow ImageWindow; | |
74 | |
75 typedef struct _FileData FileData; | |
76 | |
77 typedef struct _LayoutWindow LayoutWindow; | |
78 typedef struct _ViewDirList ViewDirList; | |
79 typedef struct _ViewDirTree ViewDirTree; | |
80 typedef struct _ViewFileList ViewFileList; | |
81 typedef struct _ViewFileIcon ViewFileIcon; | |
82 | |
83 typedef struct _SlideShowData SlideShowData; | |
84 typedef struct _FullScreenData FullScreenData; | |
85 | |
86 typedef struct _PixmapFolders PixmapFolders; | |
87 | |
88 | |
89 struct _ImageLoader | |
90 { | |
91 GdkPixbuf *pixbuf; | |
92 gchar *path; | |
93 | |
94 gint bytes_read; | |
95 gint bytes_total; | |
96 | |
97 guint buffer_size; | |
98 | |
99 gint requested_width; | |
100 gint requested_height; | |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
101 gint shrunk; |
9 | 102 |
103 gint done; | |
104 gint idle_id; | |
105 gint idle_priority; | |
106 | |
107 GdkPixbufLoader *loader; | |
108 gint load_fd; | |
109 | |
110 void (*func_area_ready)(ImageLoader *, guint x, guint y, guint w, guint h, gpointer); | |
111 void (*func_error)(ImageLoader *, gpointer); | |
112 void (*func_done)(ImageLoader *, gpointer); | |
113 void (*func_percent)(ImageLoader *, gdouble, gpointer); | |
114 | |
115 gpointer data_area_ready; | |
116 gpointer data_error; | |
117 gpointer data_done; | |
118 gpointer data_percent; | |
119 | |
120 gint idle_done_id; | |
121 }; | |
122 | |
123 typedef void (* ThumbLoaderFunc)(ThumbLoader *tl, gpointer data); | |
124 | |
125 struct _ThumbLoader | |
126 { | |
127 gint standard_loader; | |
128 | |
129 GdkPixbuf *pixbuf; /* contains final (scaled) image when done */ | |
130 ImageLoader *il; | |
131 gchar *path; | |
132 | |
133 gint cache_enable; | |
134 gint cache_hit; | |
135 gdouble percent_done; | |
136 | |
137 gint max_w; | |
138 gint max_h; | |
139 | |
140 ThumbLoaderFunc func_done; | |
141 ThumbLoaderFunc func_error; | |
142 ThumbLoaderFunc func_progress; | |
143 | |
144 gpointer data; | |
145 | |
146 gint idle_done_id; | |
147 }; | |
148 | |
149 struct _CollectInfo | |
150 { | |
151 gchar *path; | |
152 gint64 size; | |
153 time_t date; | |
154 | |
155 GdkPixbuf *pixbuf; | |
156 gint flag_mask; | |
157 }; | |
158 | |
159 struct _CollectionData | |
160 { | |
161 gchar *path; | |
162 gchar *name; | |
163 GList *list; | |
164 SortType sort_method; | |
165 | |
166 ThumbLoader *thumb_loader; | |
167 CollectInfo *thumb_info; | |
168 | |
169 void (*info_updated_func)(CollectionData *, CollectInfo *, gpointer); | |
170 gpointer info_updated_data; | |
171 | |
172 gint ref; | |
173 | |
174 /* geometry */ | |
175 gint window_read; | |
176 gint window_x; | |
177 gint window_y; | |
178 gint window_w; | |
179 gint window_h; | |
180 | |
181 /* contents changed since save flag */ | |
182 gint changed; | |
183 }; | |
184 | |
185 struct _CollectTable | |
186 { | |
187 GtkWidget *scrolled; | |
188 GtkWidget *listview; | |
189 gint columns; | |
190 gint rows; | |
191 | |
192 CollectionData *cd; | |
193 | |
194 GList *selection; | |
195 CollectInfo *prev_selection; | |
196 | |
197 CollectInfo *click_info; | |
198 | |
199 GtkWidget *tip_window; | |
200 gint tip_delay_id; | |
201 CollectInfo *tip_info; | |
202 | |
203 GdkWindow *marker_window; | |
204 CollectInfo *marker_info; | |
205 | |
206 GtkWidget *status_label; | |
207 GtkWidget *extra_label; | |
208 | |
209 gint focus_row; | |
210 gint focus_column; | |
211 CollectInfo *focus_info; | |
212 | |
213 GtkWidget *popup; | |
214 CollectInfo *drop_info; | |
215 GList *drop_list; | |
216 | |
217 gint sync_idle_id; | |
218 gint drop_idle_id; | |
219 | |
220 gint show_text; | |
221 }; | |
222 | |
223 struct _CollectWindow | |
224 { | |
225 GtkWidget *window; | |
226 CollectTable *table; | |
227 GtkWidget *status_box; | |
228 GList *list; | |
229 | |
230 GtkWidget *close_dialog; | |
231 | |
232 CollectionData *cd; | |
233 }; | |
234 | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
235 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
|
236 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
|
237 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
|
238 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
|
239 |
9 | 240 struct _ImageWindow |
241 { | |
242 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
|
243 GtkWidget *pr; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
244 GtkWidget *frame; |
127 | 245 GtkWidget *inner_frame; |
9 | 246 |
247 gchar *image_path; | |
248 const gchar *image_name; | |
249 | |
250 gint64 size; /* file size (bytes) */ | |
251 time_t mtime; /* file modified time stamp */ | |
252 gint unknown; /* failed to load image */ | |
253 | |
254 ImageLoader *il; | |
255 | |
256 gint has_frame; | |
257 | |
258 /* 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
|
259 gint top_window_sync; /* resize top_window when image dimensions change */ |
9 | 260 GtkWidget *top_window; /* window that gets title, and window to resize when 'fitting' */ |
261 gchar *title; /* window title to display left of file name */ | |
262 gchar *title_right; /* window title to display right of file name */ | |
263 gint title_show_zoom; /* option to include zoom in window title */ | |
264 | |
265 gint completed; | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
266 ImageState state; /* mask of IMAGE_STATE_* flags about current image */ |
9 | 267 |
117
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
268 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
|
269 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
|
270 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
|
271 ImageTileRequestFunc func_tile_request; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
272 ImageTileDisposeFunc func_tile_dispose; |
9 | 273 |
274 gpointer data_update; | |
275 gpointer data_complete; | |
117
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
276 gpointer data_state; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
277 gpointer data_tile; |
9 | 278 |
279 /* button, scroll functions */ | |
280 void (*func_button)(ImageWindow *, gint button, | |
281 guint32 time, gdouble x, gdouble y, guint state, gpointer); | |
282 void (*func_scroll)(ImageWindow *, GdkScrollDirection direction, | |
283 guint32 time, gdouble x, gdouble y, guint state, gpointer); | |
284 | |
285 gpointer data_button; | |
286 gpointer data_scroll; | |
287 | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
288 /* 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
|
289 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
|
290 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
291 gpointer data_scroll_notify; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
292 |
9 | 293 /* collection info */ |
294 CollectionData *collection; | |
295 CollectInfo *collection_info; | |
296 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
297 /* color profiles */ |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
298 gint color_profile_enable; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
299 gint color_profile_input; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
300 gint color_profile_screen; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
301 gint color_profile_use_image; |
115
53b2bfdcff69
Tue Nov 28 11:54:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
113
diff
changeset
|
302 gpointer cm; |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
303 |
9 | 304 AlterType delay_alter_type; |
305 | |
306 ImageLoader *read_ahead_il; | |
307 GdkPixbuf *read_ahead_pixbuf; | |
308 gchar *read_ahead_path; | |
309 | |
310 GdkPixbuf *prev_pixbuf; | |
311 gchar *prev_path; | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
312 gint prev_color_row; |
9 | 313 |
314 gint auto_refresh_id; | |
315 gint auto_refresh_interval; | |
316 | |
317 gint delay_flip; | |
318 }; | |
319 | |
320 struct _FileData { | |
321 gchar *path; | |
322 const gchar *name; | |
323 gint64 size; | |
324 time_t date; | |
325 | |
326 GdkPixbuf *pixbuf; | |
327 }; | |
328 | |
329 struct _LayoutWindow | |
330 { | |
331 gchar *path; | |
332 | |
333 /* base */ | |
334 | |
335 GtkWidget *window; | |
336 | |
337 GtkWidget *main_box; | |
338 | |
339 GtkWidget *group_box; | |
340 GtkWidget *h_pane; | |
341 GtkWidget *v_pane; | |
342 | |
343 /* menus, path selector */ | |
344 | |
345 GtkActionGroup *action_group; | |
346 GtkUIManager *ui_manager; | |
347 | |
348 GtkWidget *path_entry; | |
349 | |
350 /* image */ | |
351 | |
352 LayoutLocation image_location; | |
353 | |
354 ImageWindow *image; | |
355 | |
127 | 356 ImageWindow *split_images[MAX_SPLIT_IMAGES]; |
357 ImageSplitMode split_mode; | |
358 gint active_split_image; | |
359 | |
360 GtkWidget *split_image_widget; | |
361 | |
362 gint connect_zoom, connect_scroll; | |
363 | |
9 | 364 /* tools window (float) */ |
365 | |
366 GtkWidget *tools; | |
367 GtkWidget *tools_pane; | |
368 | |
369 gint tools_float; | |
370 gint tools_hidden; | |
371 | |
372 /* toolbar */ | |
373 | |
374 GtkWidget *toolbar; | |
375 gint toolbar_hidden; | |
376 | |
377 GtkWidget *thumb_button; | |
378 gint thumbs_enabled; | |
379 | |
380 /* dir view */ | |
381 | |
382 LayoutLocation dir_location; | |
383 | |
384 ViewDirList *vdl; | |
385 ViewDirTree *vdt; | |
386 GtkWidget *dir_view; | |
387 | |
388 gint tree_view; | |
389 | |
390 /* file view */ | |
391 | |
392 LayoutLocation file_location; | |
393 | |
394 ViewFileList *vfl; | |
395 ViewFileIcon *vfi; | |
396 GtkWidget *file_view; | |
397 | |
398 gint icon_view; | |
399 SortType sort_method; | |
400 gint sort_ascend; | |
401 | |
402 /* status bar */ | |
403 | |
404 GtkWidget *info_box; | |
405 GtkWidget *info_progress_bar; | |
406 GtkWidget *info_sort; | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
407 GtkWidget *info_color; |
9 | 408 GtkWidget *info_status; |
409 GtkWidget *info_details; | |
410 GtkWidget *info_zoom; | |
411 | |
412 /* slide show */ | |
413 | |
414 SlideShowData *slideshow; | |
415 | |
416 /* full screen */ | |
417 | |
418 FullScreenData *full_screen; | |
419 | |
420 /* dividers */ | |
421 | |
422 gint div_h; | |
423 gint div_v; | |
424 gint div_float; | |
425 | |
426 /* directory update check */ | |
427 | |
428 gint last_time_id; | |
429 time_t last_time; | |
430 | |
431 /* misc */ | |
432 | |
433 GtkWidget *utility_box; | |
434 GtkWidget *bar_sort; | |
435 GtkWidget *bar_exif; | |
436 GtkWidget *bar_info; | |
437 | |
438 gint bar_sort_enabled; | |
439 gint bar_exif_enabled; | |
440 gint bar_info_enabled; | |
441 | |
442 gint bar_exif_size; | |
443 gint bar_exif_advanced; | |
444 }; | |
445 | |
446 struct _ViewDirList | |
447 { | |
448 GtkWidget *widget; | |
449 GtkWidget *listview; | |
450 | |
451 gchar *path; | |
452 GList *list; | |
453 | |
454 FileData *click_fd; | |
455 | |
456 FileData *drop_fd; | |
457 GList *drop_list; | |
458 | |
459 gint drop_scroll_id; | |
460 | |
461 /* func list */ | |
462 void (*select_func)(ViewDirList *vdl, const gchar *path, gpointer data); | |
463 gpointer select_data; | |
464 | |
465 LayoutWindow *layout; | |
466 | |
467 GtkWidget *popup; | |
468 | |
469 PixmapFolders *pf; | |
470 }; | |
471 | |
472 struct _ViewDirTree | |
473 { | |
474 GtkWidget *widget; | |
475 GtkWidget *treeview; | |
476 | |
477 gchar *path; | |
478 | |
479 FileData *click_fd; | |
480 | |
481 FileData *drop_fd; | |
482 GList *drop_list; | |
483 | |
484 gint drop_scroll_id; | |
485 gint drop_expand_id; | |
486 | |
487 /* func list */ | |
488 void (*select_func)(ViewDirTree *vdt, const gchar *path, gpointer data); | |
489 gpointer select_data; | |
490 | |
491 LayoutWindow *layout; | |
492 | |
493 GtkWidget *popup; | |
494 | |
495 PixmapFolders *pf; | |
496 | |
497 gint busy_ref; | |
498 }; | |
499 | |
500 struct _ViewFileList | |
501 { | |
502 GtkWidget *widget; | |
503 GtkWidget *listview; | |
504 | |
505 gchar *path; | |
506 GList *list; | |
507 | |
508 SortType sort_method; | |
509 gint sort_ascend; | |
510 | |
511 FileData *click_fd; | |
512 FileData *select_fd; | |
513 | |
514 gint thumbs_enabled; | |
515 | |
516 /* thumb updates */ | |
517 gint thumbs_running; | |
518 gint thumbs_count; | |
519 ThumbLoader *thumbs_loader; | |
520 FileData *thumbs_filedata; | |
521 | |
522 /* func list */ | |
523 void (*func_thumb_status)(ViewFileList *vfl, gdouble val, const gchar *text, gpointer data); | |
524 gpointer data_thumb_status; | |
525 | |
526 void (*func_status)(ViewFileList *vfl, gpointer data); | |
527 gpointer data_status; | |
528 | |
529 gint select_idle_id; | |
530 LayoutWindow *layout; | |
531 | |
532 GtkWidget *popup; | |
533 }; | |
534 | |
535 struct _ViewFileIcon | |
536 { | |
537 GtkWidget *widget; | |
538 GtkWidget *listview; | |
539 | |
540 gchar *path; | |
541 GList *list; | |
542 | |
543 /* table stuff */ | |
544 | |
545 gint columns; | |
546 gint rows; | |
547 | |
548 GList *selection; | |
549 FileData *prev_selection; | |
550 | |
551 GtkWidget *tip_window; | |
552 gint tip_delay_id; | |
553 FileData *tip_fd; | |
554 | |
555 FileData *click_fd; | |
556 | |
557 FileData *focus_fd; | |
558 gint focus_row; | |
559 gint focus_column; | |
560 | |
561 SortType sort_method; | |
562 gint sort_ascend; | |
563 | |
564 gint show_text; | |
565 | |
566 gint sync_idle_id; | |
567 | |
568 /* thumbs */ | |
569 | |
570 gint thumbs_running; | |
571 GList *thumbs_list; | |
572 gint thumbs_count; | |
573 ThumbLoader *thumbs_loader; | |
574 FileData *thumbs_fd; | |
575 | |
576 /* func list */ | |
577 void (*func_thumb_status)(ViewFileIcon *vfi, gdouble val, const gchar *text, gpointer data); | |
578 gpointer data_thumb_status; | |
579 | |
580 void (*func_status)(ViewFileIcon *vfi, gpointer data); | |
581 gpointer data_status; | |
582 | |
583 LayoutWindow *layout; | |
584 | |
585 GtkWidget *popup; | |
586 }; | |
587 | |
588 struct _SlideShowData | |
589 { | |
590 ImageWindow *imd; | |
591 | |
592 GList *path_list; | |
593 CollectionData *cd; | |
594 gchar *layout_path; | |
595 LayoutWindow *layout; | |
596 | |
597 GList *list; | |
598 GList *list_done; | |
599 | |
600 gchar *slide_path; | |
601 | |
602 gint slide_count; | |
603 gint timeout_id; | |
604 | |
605 gint from_selection; | |
606 | |
607 void (*stop_func)(SlideShowData *, gpointer); | |
608 gpointer stop_data; | |
609 | |
610 gint paused; | |
611 }; | |
612 | |
613 struct _FullScreenData | |
614 { | |
615 GtkWidget *window; | |
616 ImageWindow *imd; | |
617 | |
618 GtkWidget *normal_window; | |
619 ImageWindow *normal_imd; | |
620 | |
621 gint hide_mouse_id; | |
622 gint busy_mouse_id; | |
623 gint cursor_state; | |
624 | |
625 gint saver_block_id; | |
626 | |
627 void (*stop_func)(FullScreenData *, gpointer); | |
628 gpointer stop_data; | |
629 }; | |
630 | |
631 struct _PixmapFolders | |
632 { | |
633 GdkPixbuf *close; | |
634 GdkPixbuf *open; | |
635 GdkPixbuf *deny; | |
636 GdkPixbuf *parent; | |
637 }; | |
638 | |
639 | |
640 #endif | |
641 | |
642 |