1 /* LIBGIMP - The GIMP Library
2  * Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
3  *
4  * Thumbnail handling according to the Thumbnail Managing Standard.
5  * https://specifications.freedesktop.org/thumbnail-spec/
6  *
7  * Copyright (C) 2001-2003  Sven Neumann <sven@gimp.org>
8  *                          Michael Natterer <mitch@gimp.org>
9  *
10  * This library is free software: you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library.  If not, see
22  * <https://www.gnu.org/licenses/>.
23  */
24 
25 #ifndef __GIMP_THUMB_ENUMS_H__
26 #define __GIMP_THUMB_ENUMS_H__
27 
28 G_BEGIN_DECLS
29 
30 
31 /**
32  * SECTION: gimpthumb-enums
33  * @title: GimpThumb-enums
34  * @short_description: Enumerations used by libgimpthumb
35  *
36  * Enumerations used by libgimpthumb
37  **/
38 
39 
40 /**
41  * GimpThumbFileType:
42  * @GIMP_THUMB_FILE_TYPE_NONE:    file does not exist
43  * @GIMP_THUMB_FILE_TYPE_REGULAR: a regular file
44  * @GIMP_THUMB_FILE_TYPE_FOLDER:  a directory
45  * @GIMP_THUMB_FILE_TYPE_SPECIAL: a special file (device node, fifo, socket, ...)
46  *
47  * File types as returned by gimp_thumb_file_test().
48  **/
49 #define GIMP_TYPE_THUMB_FILE_TYPE (gimp_thumb_file_type_get_type ())
50 
51 GType gimp_thumb_file_type_get_type (void) G_GNUC_CONST;
52 
53 typedef enum
54 {
55   GIMP_THUMB_FILE_TYPE_NONE,
56   GIMP_THUMB_FILE_TYPE_REGULAR,
57   GIMP_THUMB_FILE_TYPE_FOLDER,
58   GIMP_THUMB_FILE_TYPE_SPECIAL
59 } GimpThumbFileType;
60 
61 
62 /**
63  * GimpThumbSize:
64  * @GIMP_THUMB_SIZE_FAIL:   special size used to indicate a thumbnail
65  *                          creation failure
66  * @GIMP_THUMB_SIZE_NORMAL: normal thumbnail size (128 pixels)
67  * @GIMP_THUMB_SIZE_LARGE:  large thumbnail size (256 pixels)
68  *
69  * Possible thumbnail sizes as defined by the Thumbnail Managing
70  * Standard.
71  **/
72 #define GIMP_TYPE_THUMB_SIZE (gimp_thumb_size_get_type ())
73 
74 GType gimp_thumb_size_get_type (void) G_GNUC_CONST;
75 
76 typedef enum
77 {
78   GIMP_THUMB_SIZE_FAIL   = 0,
79   GIMP_THUMB_SIZE_NORMAL = 128,
80   GIMP_THUMB_SIZE_LARGE  = 256
81 } GimpThumbSize;
82 
83 
84 /**
85  * GimpThumbState:
86  * @GIMP_THUMB_STATE_UNKNOWN:   nothing is known about the file/thumbnail
87  * @GIMP_THUMB_STATE_REMOTE:    the file is on a remote file system
88  * @GIMP_THUMB_STATE_FOLDER:    the file is a directory
89  * @GIMP_THUMB_STATE_SPECIAL:   the file is a special file
90  * @GIMP_THUMB_STATE_NOT_FOUND: the file/thumbnail doesn't exist
91  * @GIMP_THUMB_STATE_EXISTS:    the file/thumbnail exists
92  * @GIMP_THUMB_STATE_OLD:       the thumbnail may be outdated
93  * @GIMP_THUMB_STATE_FAILED:    the thumbnail couldn't be created
94  * @GIMP_THUMB_STATE_OK:        the thumbnail exists and matches the image
95  *
96  * Possible image and thumbnail file states used by libgimpthumb.
97  **/
98 #define GIMP_TYPE_THUMB_STATE (gimp_thumb_state_get_type ())
99 
100 GType gimp_thumb_state_get_type (void) G_GNUC_CONST;
101 
102 typedef enum
103 {
104   GIMP_THUMB_STATE_UNKNOWN,
105   GIMP_THUMB_STATE_REMOTE,
106   GIMP_THUMB_STATE_FOLDER,
107   GIMP_THUMB_STATE_SPECIAL,
108   GIMP_THUMB_STATE_NOT_FOUND,
109   GIMP_THUMB_STATE_EXISTS,
110   GIMP_THUMB_STATE_OLD,
111   GIMP_THUMB_STATE_FAILED,
112   GIMP_THUMB_STATE_OK
113 } GimpThumbState;
114 
115 
116 G_END_DECLS
117 
118 #endif  /* __GIMP_THUMB_ENUMS_H__ */
119