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.
26 ZOOM_RESET_ORIGINAL = 0,
27 ZOOM_RESET_FIT_WINDOW = 1,
31 enum ClipboardSelection {
32 CLIPBOARD_PRIMARY = 0,
33 CLIPBOARD_CLIPBOARD = 1,
38 MOUSE_BUTTON_LEFT = 1,
39 MOUSE_BUTTON_MIDDLE = 2,
40 MOUSE_BUTTON_RIGHT = 3,
41 MOUSE_BUTTON_WHEEL_UP = 4,
42 MOUSE_BUTTON_WHEEL_DOWN = 5,
51 DIRVIEW_LAST = DIRVIEW_TREE /**< Keep this up to date! */
58 FILEVIEW_LAST = FILEVIEW_ICON /**< Keep this up to date! */
61 #define CMD_COPY "geeqie-copy-command.desktop"
62 #define CMD_MOVE "geeqie-move-command.desktop"
63 #define CMD_RENAME "geeqie-rename-command.desktop"
64 #define CMD_DELETE "geeqie-delete-command.desktop"
65 #define CMD_FOLDER "geeqie-folder-command.desktop"
76 SORT_EXIFTIMEDIGITIZED,
82 ALTER_NONE, /**< do nothing */
84 ALTER_ROTATE_90_CC, /**< counterclockwise */
98 enum MarkToSelectionMode {
105 enum SelectionToMarkMode {
111 enum FileFormatClass {
112 FORMAT_CLASS_UNKNOWN,
114 FORMAT_CLASS_RAWIMAGE,
117 FORMAT_CLASS_COLLECTION,
118 FORMAT_CLASS_DOCUMENT,
119 FORMAT_CLASS_ARCHIVE,
123 extern const gchar *format_class_list[]; /**< defined in preferences.cc */
126 NOTIFY_MARKS = 1 << 1, /**< changed marks */
127 NOTIFY_PIXBUF = 1 << 2, /**< image was read into fd->pixbuf */
128 NOTIFY_HISTMAP = 1 << 3, /**< histmap was read into fd->histmap */
129 NOTIFY_ORIENTATION = 1 << 4, /**< image was rotated */
130 NOTIFY_METADATA = 1 << 5, /**< changed image metadata, not yet written */
131 NOTIFY_GROUPING = 1 << 6, /**< change in fd->sidecar_files or fd->parent */
132 NOTIFY_REREAD = 1 << 7, /**< changed file size, date, etc., file name remains unchanged */
133 NOTIFY_CHANGE = 1 << 8 /**< generic change described by fd->change */
138 CHANGE_WARN_DEST_EXISTS = 1 << 0,
139 CHANGE_WARN_NO_WRITE_PERM = 1 << 1,
140 CHANGE_WARN_SAME = 1 << 2,
141 CHANGE_WARN_CHANGED_EXT = 1 << 3,
142 CHANGE_WARN_UNSAVED_META = 1 << 4,
143 CHANGE_WARN_NO_WRITE_PERM_DEST_DIR = 1 << 5,
144 CHANGE_ERROR_MASK = ~0xff, /**< the values below are fatal errors */
145 CHANGE_NO_READ_PERM = 1 << 8,
146 CHANGE_NO_WRITE_PERM_DIR = 1 << 9,
147 CHANGE_NO_DEST_DIR = 1 << 10,
148 CHANGE_DUPLICATE_DEST = 1 << 11,
149 CHANGE_NO_WRITE_PERM_DEST = 1 << 12,
150 CHANGE_DEST_EXISTS = 1 << 13,
151 CHANGE_NO_SRC = 1 << 14,
152 CHANGE_GENERIC_ERROR = 1 << 16
155 enum MetadataFormat {
156 METADATA_PLAIN = 0, /**< format that can be edited and written back */
157 METADATA_FORMATTED = 1 /**< for display only */
166 enum PixbufRendererStereoMode {
167 PR_STEREO_NONE = 0, /**< do nothing */
168 PR_STEREO_DUAL = 1 << 0, /**< independent stereo buffers, for example nvidia opengl */
169 PR_STEREO_FIXED = 1 << 1, /**< custom position */
170 PR_STEREO_HORIZ = 1 << 2, /**< side by side */
171 PR_STEREO_VERT = 1 << 3, /**< above below */
172 PR_STEREO_RIGHT = 1 << 4, /**< render right buffer */
173 PR_STEREO_ANAGLYPH_RC = 1 << 5, /**< anaglyph red-cyan */
174 PR_STEREO_ANAGLYPH_GM = 1 << 6, /**< anaglyph green-magenta */
175 PR_STEREO_ANAGLYPH_YB = 1 << 7, /**< anaglyph yellow-blue */
176 PR_STEREO_ANAGLYPH_GRAY_RC = 1 << 8, /**< anaglyph gray red-cyan*/
177 PR_STEREO_ANAGLYPH_GRAY_GM = 1 << 9, /**< anaglyph gray green-magenta */
178 PR_STEREO_ANAGLYPH_GRAY_YB = 1 << 10, /**< anaglyph gray yellow-blue */
179 PR_STEREO_ANAGLYPH_DB_RC = 1 << 11, /**< anaglyph dubois red-cyan */
180 PR_STEREO_ANAGLYPH_DB_GM = 1 << 12, /**< anaglyph dubois green-magenta */
181 PR_STEREO_ANAGLYPH_DB_YB = 1 << 13, /**< anaglyph dubois yellow-blue */
182 PR_STEREO_ANAGLYPH = PR_STEREO_ANAGLYPH_RC |
183 PR_STEREO_ANAGLYPH_GM |
184 PR_STEREO_ANAGLYPH_YB |
185 PR_STEREO_ANAGLYPH_GRAY_RC |
186 PR_STEREO_ANAGLYPH_GRAY_GM |
187 PR_STEREO_ANAGLYPH_GRAY_YB |
188 PR_STEREO_ANAGLYPH_DB_RC |
189 PR_STEREO_ANAGLYPH_DB_GM |
190 PR_STEREO_ANAGLYPH_DB_YB, /**< anaglyph mask */
192 PR_STEREO_MIRROR_LEFT = 1 << 14, /**< mirror */
193 PR_STEREO_FLIP_LEFT = 1 << 15, /**< flip */
195 PR_STEREO_MIRROR_RIGHT = 1 << 16, /**< mirror */
196 PR_STEREO_FLIP_RIGHT = 1 << 17, /**< flip */
198 PR_STEREO_MIRROR = PR_STEREO_MIRROR_LEFT | PR_STEREO_MIRROR_RIGHT, /**< mirror mask*/
199 PR_STEREO_FLIP = PR_STEREO_FLIP_LEFT | PR_STEREO_FLIP_RIGHT, /**< flip mask*/
200 PR_STEREO_SWAP = 1 << 18, /**< swap left and right buffers */
201 PR_STEREO_TEMP_DISABLE = 1 << 19, /**< temporarily disable stereo mode if source image is not stereo */
202 PR_STEREO_HALF = 1 << 20
205 enum StereoPixbufData {
206 STEREO_PIXBUF_DEFAULT = 0,
207 STEREO_PIXBUF_SBS = 1,
208 STEREO_PIXBUF_CROSS = 2,
209 STEREO_PIXBUF_NONE = 3
212 using FileUtilDoneFunc = void (*)(gboolean, const gchar *, gpointer);
214 #define FILEDATA_MARKS_SIZE 10
217 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */