2 * Copyright (C) 2006 John Ellis
3 * Copyright (C) 2008 - 2016 The Geeqie Team
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28 ZOOM_RESET_ORIGINAL = 0,
29 ZOOM_RESET_FIT_WINDOW = 1,
33 enum ClipboardSelection {
34 CLIPBOARD_PRIMARY = 0,
35 CLIPBOARD_CLIPBOARD = 1,
40 MOUSE_BUTTON_LEFT = 1,
41 MOUSE_BUTTON_MIDDLE = 2,
42 MOUSE_BUTTON_RIGHT = 3,
43 MOUSE_BUTTON_WHEEL_UP = 4,
44 MOUSE_BUTTON_WHEEL_DOWN = 5,
53 DIRVIEW_LAST = DIRVIEW_TREE /**< Keep this up to date! */
60 FILEVIEW_LAST = FILEVIEW_ICON /**< Keep this up to date! */
63 #define CMD_COPY "geeqie-copy-command.desktop"
64 #define CMD_MOVE "geeqie-move-command.desktop"
65 #define CMD_RENAME "geeqie-rename-command.desktop"
66 #define CMD_DELETE "geeqie-delete-command.desktop"
67 #define CMD_FOLDER "geeqie-folder-command.desktop"
78 SORT_EXIFTIMEDIGITIZED,
84 ALTER_NONE, /**< do nothing */
86 ALTER_ROTATE_90_CC, /**< counterclockwise */
100 enum MarkToSelectionMode {
107 enum SelectionToMarkMode {
113 enum FileFormatClass {
114 FORMAT_CLASS_UNKNOWN,
116 FORMAT_CLASS_RAWIMAGE,
119 FORMAT_CLASS_COLLECTION,
120 FORMAT_CLASS_DOCUMENT,
121 FORMAT_CLASS_ARCHIVE,
125 extern const gchar *format_class_list[]; /**< defined in preferences.cc */
128 NOTIFY_MARKS = 1 << 1, /**< changed marks */
129 NOTIFY_PIXBUF = 1 << 2, /**< image was read into fd->pixbuf */
130 NOTIFY_HISTMAP = 1 << 3, /**< histmap was read into fd->histmap */
131 NOTIFY_ORIENTATION = 1 << 4, /**< image was rotated */
132 NOTIFY_METADATA = 1 << 5, /**< changed image metadata, not yet written */
133 NOTIFY_GROUPING = 1 << 6, /**< change in fd->sidecar_files or fd->parent */
134 NOTIFY_REREAD = 1 << 7, /**< changed file size, date, etc., file name remains unchanged */
135 NOTIFY_CHANGE = 1 << 8 /**< generic change described by fd->change */
140 CHANGE_WARN_DEST_EXISTS = 1 << 0,
141 CHANGE_WARN_NO_WRITE_PERM = 1 << 1,
142 CHANGE_WARN_SAME = 1 << 2,
143 CHANGE_WARN_CHANGED_EXT = 1 << 3,
144 CHANGE_WARN_UNSAVED_META = 1 << 4,
145 CHANGE_WARN_NO_WRITE_PERM_DEST_DIR = 1 << 5,
146 CHANGE_ERROR_MASK = ~0xff, /**< the values below are fatal errors */
147 CHANGE_NO_READ_PERM = 1 << 8,
148 CHANGE_NO_WRITE_PERM_DIR = 1 << 9,
149 CHANGE_NO_DEST_DIR = 1 << 10,
150 CHANGE_DUPLICATE_DEST = 1 << 11,
151 CHANGE_NO_WRITE_PERM_DEST = 1 << 12,
152 CHANGE_DEST_EXISTS = 1 << 13,
153 CHANGE_NO_SRC = 1 << 14,
154 CHANGE_GENERIC_ERROR = 1 << 16
157 enum MetadataFormat {
158 METADATA_PLAIN = 0, /**< format that can be edited and written back */
159 METADATA_FORMATTED = 1 /**< for display only */
168 enum PixbufRendererStereoMode {
169 PR_STEREO_NONE = 0, /**< do nothing */
170 PR_STEREO_DUAL = 1 << 0, /**< independent stereo buffers, for example nvidia opengl */
171 PR_STEREO_FIXED = 1 << 1, /**< custom position */
172 PR_STEREO_HORIZ = 1 << 2, /**< side by side */
173 PR_STEREO_VERT = 1 << 3, /**< above below */
174 PR_STEREO_RIGHT = 1 << 4, /**< render right buffer */
175 PR_STEREO_ANAGLYPH_RC = 1 << 5, /**< anaglyph red-cyan */
176 PR_STEREO_ANAGLYPH_GM = 1 << 6, /**< anaglyph green-magenta */
177 PR_STEREO_ANAGLYPH_YB = 1 << 7, /**< anaglyph yellow-blue */
178 PR_STEREO_ANAGLYPH_GRAY_RC = 1 << 8, /**< anaglyph gray red-cyan*/
179 PR_STEREO_ANAGLYPH_GRAY_GM = 1 << 9, /**< anaglyph gray green-magenta */
180 PR_STEREO_ANAGLYPH_GRAY_YB = 1 << 10, /**< anaglyph gray yellow-blue */
181 PR_STEREO_ANAGLYPH_DB_RC = 1 << 11, /**< anaglyph dubois red-cyan */
182 PR_STEREO_ANAGLYPH_DB_GM = 1 << 12, /**< anaglyph dubois green-magenta */
183 PR_STEREO_ANAGLYPH_DB_YB = 1 << 13, /**< anaglyph dubois yellow-blue */
184 PR_STEREO_ANAGLYPH = PR_STEREO_ANAGLYPH_RC |
185 PR_STEREO_ANAGLYPH_GM |
186 PR_STEREO_ANAGLYPH_YB |
187 PR_STEREO_ANAGLYPH_GRAY_RC |
188 PR_STEREO_ANAGLYPH_GRAY_GM |
189 PR_STEREO_ANAGLYPH_GRAY_YB |
190 PR_STEREO_ANAGLYPH_DB_RC |
191 PR_STEREO_ANAGLYPH_DB_GM |
192 PR_STEREO_ANAGLYPH_DB_YB, /**< anaglyph mask */
194 PR_STEREO_MIRROR_LEFT = 1 << 14, /**< mirror */
195 PR_STEREO_FLIP_LEFT = 1 << 15, /**< flip */
197 PR_STEREO_MIRROR_RIGHT = 1 << 16, /**< mirror */
198 PR_STEREO_FLIP_RIGHT = 1 << 17, /**< flip */
200 PR_STEREO_MIRROR = PR_STEREO_MIRROR_LEFT | PR_STEREO_MIRROR_RIGHT, /**< mirror mask*/
201 PR_STEREO_FLIP = PR_STEREO_FLIP_LEFT | PR_STEREO_FLIP_RIGHT, /**< flip mask*/
202 PR_STEREO_SWAP = 1 << 18, /**< swap left and right buffers */
203 PR_STEREO_TEMP_DISABLE = 1 << 19, /**< temporarily disable stereo mode if source image is not stereo */
204 PR_STEREO_HALF = 1 << 20
207 enum StereoPixbufData {
208 STEREO_PIXBUF_DEFAULT = 0,
209 STEREO_PIXBUF_SBS = 1,
210 STEREO_PIXBUF_CROSS = 2,
211 STEREO_PIXBUF_NONE = 3
214 using FileUtilDoneFunc = void (*)(gboolean, const gchar *, gpointer);
216 #define FILEDATA_MARKS_SIZE 10
219 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */