annotate src/image.h @ 1779:f64e346a3d9c

Move "Add Keyword" menu item at top of Keywords bar contextual menu. Suggested by Lars T¸«£uber.
author zas_
date Thu, 10 Dec 2009 17:48:43 +0000
parents 1d7941c147be
children 956aab097ea7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
1 /*
196
f6e307c7bad6 rename GQview -> Geeqie over the code
nadvornik
parents: 174
diff changeset
2 * Geeqie
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
3 * (C) 2004 John Ellis
1284
8b89e3ff286b Add year 2009 to copyright info everywhere.
zas_
parents: 1269
diff changeset
4 * Copyright (C) 2008 - 2009 The Geeqie Team
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
5 *
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
6 * Author: John Ellis
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
7 *
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
8 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
9 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
10 * This software comes with no warranty of any kind, use at your own risk!
1
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
11 */
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
12
b3e0e515fabf Initial revision
gqview
parents:
diff changeset
13
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
14 #ifndef IMAGE_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
15 #define IMAGE_H
3
gqview
parents: 1
diff changeset
16
gqview
parents: 1
diff changeset
17
247
5b5376acdf7c Add missing prototype.
zas_
parents: 208
diff changeset
18 void image_set_frame(ImageWindow *imd, gboolean frame);
1431
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
19 ImageWindow *image_new(gboolean frame);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
20
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
21 /* additional setup */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
22 void image_attach_window(ImageWindow *imd, GtkWidget *window,
1431
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
23 const gchar *title, const gchar *title_right, gboolean show_zoom);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
24 void image_set_update_func(ImageWindow *imd,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
25 void (*func)(ImageWindow *imd, gpointer data),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
26 gpointer data);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
27 void image_set_button_func(ImageWindow *imd,
868
db6977f8b0f1 Reduce number of parameters (mostly unused), just pass the event pointer.
zas_
parents: 821
diff changeset
28 void (*func)(ImageWindow *, GdkEventButton *event, gpointer),
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
29 gpointer data);
128
98e2632b5d3d improved connected scroll and active image switching
nadvornik
parents: 127
diff changeset
30 void image_set_drag_func(ImageWindow *imd,
868
db6977f8b0f1 Reduce number of parameters (mostly unused), just pass the event pointer.
zas_
parents: 821
diff changeset
31 void (*func)(ImageWindow *, GdkEventButton *event, gdouble dx, gdouble dy, gpointer),
128
98e2632b5d3d improved connected scroll and active image switching
nadvornik
parents: 127
diff changeset
32 gpointer data);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
33 void image_set_scroll_func(ImageWindow *imd,
868
db6977f8b0f1 Reduce number of parameters (mostly unused), just pass the event pointer.
zas_
parents: 821
diff changeset
34 void (*func)(ImageWindow *, GdkEventScroll *event, gpointer),
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 426
diff changeset
35 gpointer data);
1481
96897bd5f6cd active image follows keyboard focus
nadvornik
parents: 1431
diff changeset
36 void image_set_focus_in_func(ImageWindow *imd,
96897bd5f6cd active image follows keyboard focus
nadvornik
parents: 1431
diff changeset
37 void (*func)(ImageWindow *, gpointer),
96897bd5f6cd active image follows keyboard focus
nadvornik
parents: 1431
diff changeset
38 gpointer data);
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
39 void image_set_scroll_notify_func(ImageWindow *imd,
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
40 void (*func)(ImageWindow *imd, gint x, gint y, gint width, gint height, gpointer data),
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
41 gpointer data);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
42 void image_set_complete_func(ImageWindow *imd,
117
0c2e1f0a001b Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents: 113
diff changeset
43 void (*func)(ImageWindow *imd, gint preload, gpointer data),
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
44 gpointer data);
117
0c2e1f0a001b Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents: 113
diff changeset
45 void image_set_state_func(ImageWindow *imd,
0c2e1f0a001b Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents: 113
diff changeset
46 void (*func)(ImageWindow *imd, ImageState state, gpointer data),
0c2e1f0a001b Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents: 113
diff changeset
47 gpointer data);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
48
127
271afad04d07 implemented split windows
nadvornik
parents: 117
diff changeset
49 void image_select(ImageWindow *imd, gboolean select);
174
126724275319 improved drawing of image frames
nadvornik
parents: 138
diff changeset
50 void image_set_selectable(ImageWindow *imd, gboolean selectable);
127
271afad04d07 implemented split windows
nadvornik
parents: 117
diff changeset
51
1482
dac747d99394 fixed keyboard focus on start-up
nadvornik
parents: 1481
diff changeset
52 void image_grab_focus(ImageWindow *imd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
53 /* path, name */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
54 const gchar *image_get_path(ImageWindow *imd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
55 const gchar *image_get_name(ImageWindow *imd);
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 131
diff changeset
56 FileData *image_get_fd(ImageWindow *imd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
57
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
58 /* merely changes path string, does not change the image! */
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 131
diff changeset
59 void image_set_fd(ImageWindow *imd, FileData *fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
60
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
61 /* load a new image */
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 131
diff changeset
62 void image_change_fd(ImageWindow *imd, FileData *fd, gdouble zoom);
1431
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
63 void image_change_pixbuf(ImageWindow *imd, GdkPixbuf *pixbuf, gdouble zoom, gboolean lazy);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
64 void image_change_from_collection(ImageWindow *imd, CollectionData *cd, CollectInfo *info, gdouble zoom);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
65 CollectionData *image_get_collection(ImageWindow *imd, CollectInfo **info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
66 void image_change_from_image(ImageWindow *imd, ImageWindow *source);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
67
1431
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
68 gboolean image_get_image_size(ImageWindow *imd, gint *width, gint *height);
23
17acca639a86 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 13
diff changeset
69 GdkPixbuf *image_get_pixbuf(ImageWindow *imd);
17acca639a86 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 13
diff changeset
70
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
71 /* manipulation */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
72 void image_area_changed(ImageWindow *imd, gint x, gint y, gint width, gint height);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
73 void image_reload(ImageWindow *imd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
74 void image_scroll(ImageWindow *imd, gint x, gint y);
13
ef790149ae21 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 12
diff changeset
75 void image_scroll_to_point(ImageWindow *imd, gint x, gint y,
ef790149ae21 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 12
diff changeset
76 gdouble x_align, gdouble y_align);
131
b1acdfc7271b relative scroll is working; some cleanup
nadvornik
parents: 129
diff changeset
77 void image_get_scroll_center(ImageWindow *imd, gdouble *x, gdouble *y);
b1acdfc7271b relative scroll is working; some cleanup
nadvornik
parents: 129
diff changeset
78 void image_set_scroll_center(ImageWindow *imd, gdouble x, gdouble y);
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1549
diff changeset
79 void image_alter_orientation(ImageWindow *imd, AlterType type);
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1549
diff changeset
80 void image_set_desaturate(ImageWindow *imd, gboolean desaturate);
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1549
diff changeset
81 gboolean image_get_desaturate(ImageWindow *imd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
82
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
83 /* zoom */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
84 void image_zoom_adjust(ImageWindow *imd, gdouble increment);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
85 void image_zoom_adjust_at_point(ImageWindow *imd, gdouble increment, gint x, gint y);
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
86 void image_zoom_set_limits(ImageWindow *imd, gdouble min, gdouble max);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
87 void image_zoom_set(ImageWindow *imd, gdouble zoom);
1269
08b4598c7cba gint -> gboolean.
zas_
parents: 1055
diff changeset
88 void image_zoom_set_fill_geometry(ImageWindow *imd, gboolean vertical);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
89 gdouble image_zoom_get(ImageWindow *imd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
90 gdouble image_zoom_get_real(ImageWindow *imd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
91 gchar *image_zoom_get_as_text(ImageWindow *imd);
885
ad420f2eb789 Use a specific enum for image.zoom_mode values (ZoomMode) and
zas_
parents: 868
diff changeset
92 gdouble image_zoom_get_default(ImageWindow *imd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
93
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
94 /* read ahead, pass NULL to cancel */
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 131
diff changeset
95 void image_prebuffer_set(ImageWindow *imd, FileData *fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
96
888
d8e1e820cee7 reload changed images
nadvornik
parents: 885
diff changeset
97 /* auto refresh */
d8e1e820cee7 reload changed images
nadvornik
parents: 885
diff changeset
98 void image_auto_refresh_enable(ImageWindow *imd, gboolean enable);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
99
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
100 /* allow top window to be resized ? */
1431
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
101 void image_top_window_set_sync(ImageWindow *imd, gboolean allow_sync);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
102
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
103 /* background of image */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
104 void image_background_set_color(ImageWindow *imd, GdkColor *color);
1626
1d7941c147be Add an option to Image preferences to restrict custom border to fullscreen mode only. Bug 2798062.
zas_
parents: 1566
diff changeset
105 void image_background_set_color_from_options(ImageWindow *imd, gboolean fullscreen);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
106
113
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 26
diff changeset
107 /* color profiles */
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 26
diff changeset
108 void image_color_profile_set(ImageWindow *imd,
1548
b5608391f479 support X11 screen profile
nadvornik
parents: 1482
diff changeset
109 gint input_type,
1431
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
110 gboolean use_image);
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
111 gboolean image_color_profile_get(ImageWindow *imd,
1548
b5608391f479 support X11 screen profile
nadvornik
parents: 1482
diff changeset
112 gint *input_type,
1431
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
113 gboolean *use_image);
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
114 void image_color_profile_set_use(ImageWindow *imd, gboolean enable);
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
115 gboolean image_color_profile_get_use(ImageWindow *imd);
1549
7302ff300a52 show color management status on statusbar
nadvornik
parents: 1548
diff changeset
116 gboolean image_color_profile_get_status(ImageWindow *imd, gchar **image_profile, gchar **screen_profile);
113
55166d93498d Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents: 26
diff changeset
117
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
118 /* set delayed page flipping */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
119 void image_set_delay_flip(ImageWindow *imd, gint delay);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
120
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
121 /* wallpaper util */
1431
7e180091e0b7 More gboolean and tidy up.
zas_
parents: 1284
diff changeset
122 void image_to_root_window(ImageWindow *imd, gboolean scaled);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
123
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
124
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
125
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
126 void image_set_image_as_tiles(ImageWindow *imd, gint width, gint height,
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
127 gint tile_width, gint tile_height, gint cache_size,
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
128 ImageTileRequestFunc func_tile_request,
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
129 ImageTileDisposeFunc func_tile_dispose,
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
130 gpointer data,
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
131 gdouble zoom);
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
132
26
acd9885ebd78 Mon Mar 28 20:23:34 2005 John Ellis <johne@verizon.net>
gqview
parents: 23
diff changeset
133 /* reset default options */
acd9885ebd78 Mon Mar 28 20:23:34 2005 John Ellis <johne@verizon.net>
gqview
parents: 23
diff changeset
134 void image_options_sync(void);
acd9885ebd78 Mon Mar 28 20:23:34 2005 John Ellis <johne@verizon.net>
gqview
parents: 23
diff changeset
135
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
136
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents: 3
diff changeset
137 #endif
1055
1646720364cf Adding a vim modeline to all files - patch by Klaus Ethgen
nadvornik
parents: 1045
diff changeset
138 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */