1 /* GIMP - The GNU Image Manipulation Program
2  * Copyright (C) 1995 Spencer Kimball and Peter Mattis
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef __WIDGETS_TYPES_H__
19 #define __WIDGETS_TYPES_H__
20 
21 
22 #include "libgimpwidgets/gimpwidgetstypes.h"
23 
24 #include "core/core-types.h"
25 
26 #include "widgets/widgets-enums.h"
27 
28 
29 /*  input devices & controllers  */
30 
31 typedef struct _GimpControllerInfo           GimpControllerInfo;
32 typedef struct _GimpControllerKeyboard       GimpControllerKeyboard;
33 typedef struct _GimpControllerMouse          GimpControllerMouse;
34 typedef struct _GimpControllerWheel          GimpControllerWheel;
35 typedef struct _GimpDeviceInfo               GimpDeviceInfo;
36 typedef struct _GimpDeviceManager            GimpDeviceManager;
37 
38 
39 /*  docks  */
40 
41 typedef struct _GimpDock                     GimpDock;
42 typedef struct _GimpDockColumns              GimpDockColumns;
43 typedef struct _GimpDockContainer            GimpDockContainer; /* dummy typedef */
44 typedef struct _GimpDockWindow               GimpDockWindow;
45 typedef struct _GimpDockable                 GimpDockable;
46 typedef struct _GimpDockbook                 GimpDockbook;
47 typedef struct _GimpDocked                   GimpDocked; /* dummy typedef */
48 typedef struct _GimpMenuDock                 GimpMenuDock;
49 typedef struct _GimpPanedBox                 GimpPanedBox;
50 typedef struct _GimpToolbox                  GimpToolbox;
51 
52 
53 /*  GimpEditor widgets  */
54 
55 typedef struct _GimpColorEditor              GimpColorEditor;
56 typedef struct _GimpDeviceStatus             GimpDeviceStatus;
57 typedef struct _GimpEditor                   GimpEditor;
58 typedef struct _GimpErrorConsole             GimpErrorConsole;
59 typedef struct _GimpToolOptionsEditor        GimpToolOptionsEditor;
60 typedef struct _GimpDashboard                GimpDashboard;
61 
62 
63 /*  GimpDataEditor widgets  */
64 
65 typedef struct _GimpBrushEditor              GimpBrushEditor;
66 typedef struct _GimpDataEditor               GimpDataEditor;
67 typedef struct _GimpDynamicsEditor           GimpDynamicsEditor;
68 typedef struct _GimpGradientEditor           GimpGradientEditor;
69 typedef struct _GimpPaletteEditor            GimpPaletteEditor;
70 typedef struct _GimpToolPresetEditor         GimpToolPresetEditor;
71 
72 
73 /*  GimpImageEditor widgets  */
74 
75 typedef struct _GimpColormapEditor           GimpColormapEditor;
76 typedef struct _GimpComponentEditor          GimpComponentEditor;
77 typedef struct _GimpHistogramEditor          GimpHistogramEditor;
78 typedef struct _GimpImageEditor              GimpImageEditor;
79 typedef struct _GimpSamplePointEditor        GimpSamplePointEditor;
80 typedef struct _GimpSelectionEditor          GimpSelectionEditor;
81 typedef struct _GimpSymmetryEditor           GimpSymmetryEditor;
82 typedef struct _GimpUndoEditor               GimpUndoEditor;
83 
84 
85 /*  GimpContainerView and its implementors  */
86 
87 typedef struct _GimpChannelTreeView          GimpChannelTreeView;
88 typedef struct _GimpContainerBox             GimpContainerBox;
89 typedef struct _GimpContainerComboBox        GimpContainerComboBox;
90 typedef struct _GimpContainerEntry           GimpContainerEntry;
91 typedef struct _GimpContainerGridView        GimpContainerGridView;
92 typedef struct _GimpContainerIconView        GimpContainerIconView;
93 typedef struct _GimpContainerTreeStore       GimpContainerTreeStore;
94 typedef struct _GimpContainerTreeView        GimpContainerTreeView;
95 typedef struct _GimpContainerView            GimpContainerView; /* dummy typedef */
96 typedef struct _GimpDrawableTreeView         GimpDrawableTreeView;
97 typedef struct _GimpItemTreeView             GimpItemTreeView;
98 typedef struct _GimpLayerTreeView            GimpLayerTreeView;
99 typedef struct _GimpVectorsTreeView          GimpVectorsTreeView;
100 
101 typedef struct _GimpContainerPopup           GimpContainerPopup;
102 typedef struct _GimpViewableButton           GimpViewableButton;
103 
104 
105 /*  GimpContainerEditor widgets  */
106 
107 typedef struct _GimpContainerEditor          GimpContainerEditor;
108 typedef struct _GimpBufferView               GimpBufferView;
109 typedef struct _GimpDocumentView             GimpDocumentView;
110 typedef struct _GimpFontView                 GimpFontView;
111 typedef struct _GimpImageView                GimpImageView;
112 typedef struct _GimpTemplateView             GimpTemplateView;
113 typedef struct _GimpToolEditor               GimpToolEditor;
114 
115 
116 /*  GimpDataFactoryView widgets  */
117 
118 typedef struct _GimpBrushFactoryView         GimpBrushFactoryView;
119 typedef struct _GimpDataFactoryView          GimpDataFactoryView;
120 typedef struct _GimpDynamicsFactoryView      GimpDynamicsFactoryView;
121 typedef struct _GimpFontFactoryView          GimpFontFactoryView;
122 typedef struct _GimpPatternFactoryView       GimpPatternFactoryView;
123 typedef struct _GimpToolPresetFactoryView    GimpToolPresetFactoryView;
124 
125 
126 /*  menus  */
127 
128 typedef struct _GimpAction                   GimpAction;
129 typedef struct _GimpActionFactory            GimpActionFactory;
130 typedef struct _GimpActionGroup              GimpActionGroup;
131 typedef struct _GimpEnumAction               GimpEnumAction;
132 typedef struct _GimpMenuFactory              GimpMenuFactory;
133 typedef struct _GimpProcedureAction          GimpProcedureAction;
134 typedef struct _GimpStringAction             GimpStringAction;
135 typedef struct _GimpUIManager                GimpUIManager;
136 
137 
138 /*  file dialogs  */
139 
140 typedef struct _GimpExportDialog             GimpExportDialog;
141 typedef struct _GimpFileDialog               GimpFileDialog;
142 typedef struct _GimpOpenDialog               GimpOpenDialog;
143 typedef struct _GimpSaveDialog               GimpSaveDialog;
144 
145 
146 /*  misc dialogs  */
147 
148 typedef struct _GimpColorDialog              GimpColorDialog;
149 typedef struct _GimpCriticalDialog           GimpCriticalDialog;
150 typedef struct _GimpErrorDialog              GimpErrorDialog;
151 typedef struct _GimpMessageDialog            GimpMessageDialog;
152 typedef struct _GimpProgressDialog           GimpProgressDialog;
153 typedef struct _GimpTextEditor               GimpTextEditor;
154 typedef struct _GimpViewableDialog           GimpViewableDialog;
155 
156 
157 /*  GimpPdbDialog widgets  */
158 
159 typedef struct _GimpBrushSelect              GimpBrushSelect;
160 typedef struct _GimpFontSelect               GimpFontSelect;
161 typedef struct _GimpGradientSelect           GimpGradientSelect;
162 typedef struct _GimpPaletteSelect            GimpPaletteSelect;
163 typedef struct _GimpPatternSelect            GimpPatternSelect;
164 typedef struct _GimpPdbDialog                GimpPdbDialog;
165 
166 
167 /*  misc widgets  */
168 
169 typedef struct _GimpAccelLabel               GimpAccelLabel;
170 typedef struct _GimpActionEditor             GimpActionEditor;
171 typedef struct _GimpActionView               GimpActionView;
172 typedef struct _GimpBlobEditor               GimpBlobEditor;
173 typedef struct _GimpBufferSourceBox          GimpBufferSourceBox;
174 typedef struct _GimpCircle                   GimpCircle;
175 typedef struct _GimpColorBar                 GimpColorBar;
176 typedef struct _GimpColorDisplayEditor       GimpColorDisplayEditor;
177 typedef struct _GimpColorFrame               GimpColorFrame;
178 typedef struct _GimpColorHistory             GimpColorHistory;
179 typedef struct _GimpColorPanel               GimpColorPanel;
180 typedef struct _GimpComboTagEntry            GimpComboTagEntry;
181 typedef struct _GimpCompressionComboBox      GimpCompressionComboBox;
182 typedef struct _GimpControllerEditor         GimpControllerEditor;
183 typedef struct _GimpControllerList           GimpControllerList;
184 typedef struct _GimpCurveView                GimpCurveView;
185 typedef struct _GimpDashEditor               GimpDashEditor;
186 typedef struct _GimpDeviceEditor             GimpDeviceEditor;
187 typedef struct _GimpDeviceInfoEditor         GimpDeviceInfoEditor;
188 typedef struct _GimpDial                     GimpDial;
189 typedef struct _GimpDynamicsOutputEditor     GimpDynamicsOutputEditor;
190 typedef struct _GimpFgBgEditor               GimpFgBgEditor;
191 typedef struct _GimpFgBgView                 GimpFgBgView;
192 typedef struct _GimpFileProcView             GimpFileProcView;
193 typedef struct _GimpFillEditor               GimpFillEditor;
194 typedef struct _GimpGridEditor               GimpGridEditor;
195 typedef struct _GimpHandleBar                GimpHandleBar;
196 typedef struct _GimpHighlightableButton      GimpHighlightableButton;
197 typedef struct _GimpHistogramBox             GimpHistogramBox;
198 typedef struct _GimpHistogramView            GimpHistogramView;
199 typedef struct _GimpIconPicker               GimpIconPicker;
200 typedef struct _GimpIconSizeScale            GimpIconSizeScale;
201 typedef struct _GimpImageCommentEditor       GimpImageCommentEditor;
202 typedef struct _GimpImageParasiteView        GimpImageParasiteView;
203 typedef struct _GimpImageProfileView         GimpImageProfileView;
204 typedef struct _GimpImagePropView            GimpImagePropView;
205 typedef struct _GimpLanguageComboBox         GimpLanguageComboBox;
206 typedef struct _GimpLanguageEntry            GimpLanguageEntry;
207 typedef struct _GimpLanguageStore            GimpLanguageStore;
208 typedef struct _GimpLayerModeBox             GimpLayerModeBox;
209 typedef struct _GimpLayerModeComboBox        GimpLayerModeComboBox;
210 typedef struct _GimpMessageBox               GimpMessageBox;
211 typedef struct _GimpMeter                    GimpMeter;
212 typedef struct _GimpOverlayBox               GimpOverlayBox;
213 typedef struct _GimpPickableButton           GimpPickableButton;
214 typedef struct _GimpPickablePopup            GimpPickablePopup;
215 typedef struct _GimpPivotSelector            GimpPivotSelector;
216 typedef struct _GimpPlugInView               GimpPlugInView;
217 typedef struct _GimpPolar                    GimpPolar;
218 typedef struct _GimpPopup                    GimpPopup;
219 typedef struct _GimpPrefsBox                 GimpPrefsBox;
220 typedef struct _GimpProgressBox              GimpProgressBox;
221 typedef struct _GimpScaleButton              GimpScaleButton;
222 typedef struct _GimpSettingsBox              GimpSettingsBox;
223 typedef struct _GimpSettingsEditor           GimpSettingsEditor;
224 typedef struct _GimpSizeBox                  GimpSizeBox;
225 typedef struct _GimpStrokeEditor             GimpStrokeEditor;
226 typedef struct _GimpTagEntry                 GimpTagEntry;
227 typedef struct _GimpTagPopup                 GimpTagPopup;
228 typedef struct _GimpTemplateEditor           GimpTemplateEditor;
229 typedef struct _GimpTextStyleEditor          GimpTextStyleEditor;
230 typedef struct _GimpThumbBox                 GimpThumbBox;
231 typedef struct _GimpToolButton               GimpToolButton;
232 typedef struct _GimpToolPalette              GimpToolPalette;
233 typedef struct _GimpTranslationStore         GimpTranslationStore;
234 typedef struct _GimpWindow                   GimpWindow;
235 
236 
237 /*  views  */
238 
239 typedef struct _GimpNavigationView           GimpNavigationView;
240 typedef struct _GimpPaletteView              GimpPaletteView;
241 typedef struct _GimpView                     GimpView;
242 
243 
244 /*  view renderers  */
245 
246 typedef struct _GimpViewRenderer             GimpViewRenderer;
247 typedef struct _GimpViewRendererBrush        GimpViewRendererBrush;
248 typedef struct _GimpViewRendererBuffer       GimpViewRendererBuffer;
249 typedef struct _GimpViewRendererDrawable     GimpViewRendererDrawable;
250 typedef struct _GimpViewRendererGradient     GimpViewRendererGradient;
251 typedef struct _GimpViewRendererImage        GimpViewRendererImage;
252 typedef struct _GimpViewRendererImagefile    GimpViewRendererImagefile;
253 typedef struct _GimpViewRendererLayer        GimpViewRendererLayer;
254 typedef struct _GimpViewRendererPalette      GimpViewRendererPalette;
255 typedef struct _GimpViewRendererVectors      GimpViewRendererVectors;
256 
257 
258 /*  cell renderers  */
259 
260 typedef struct _GimpCellRendererButton       GimpCellRendererButton;
261 typedef struct _GimpCellRendererDashes       GimpCellRendererDashes;
262 typedef struct _GimpCellRendererViewable     GimpCellRendererViewable;
263 
264 
265 /*  misc objects  */
266 
267 typedef struct _GimpDialogFactory            GimpDialogFactory;
268 typedef struct _GimpTextBuffer               GimpTextBuffer;
269 typedef struct _GimpUIConfigurer             GimpUIConfigurer;
270 typedef struct _GimpWindowStrategy           GimpWindowStrategy;
271 
272 
273 /*  session management objects and structs  */
274 
275 typedef struct _GimpSessionInfo              GimpSessionInfo;
276 typedef struct _GimpSessionInfoAux           GimpSessionInfoAux;
277 typedef struct _GimpSessionInfoBook          GimpSessionInfoBook;
278 typedef struct _GimpSessionInfoDock          GimpSessionInfoDock;
279 typedef struct _GimpSessionInfoDockable      GimpSessionInfoDockable;
280 typedef struct _GimpSessionManaged           GimpSessionManaged;
281 
282 
283 /*  structs  */
284 
285 typedef struct _GimpActionEntry              GimpActionEntry;
286 typedef struct _GimpEnumActionEntry          GimpEnumActionEntry;
287 typedef struct _GimpProcedureActionEntry     GimpProcedureActionEntry;
288 typedef struct _GimpRadioActionEntry         GimpRadioActionEntry;
289 typedef struct _GimpStringActionEntry        GimpStringActionEntry;
290 typedef struct _GimpToggleActionEntry        GimpToggleActionEntry;
291 
292 typedef struct _GimpDialogFactoryEntry       GimpDialogFactoryEntry;
293 
294 typedef struct _GimpDashboardLogParams       GimpDashboardLogParams;
295 
296 
297 /*  function types  */
298 
299 typedef GtkWidget * (* GimpDialogRestoreFunc)        (GimpDialogFactory *factory,
300                                                       GdkScreen         *screen,
301                                                       gint               monitor,
302                                                       GimpSessionInfo   *info);
303 typedef void        (* GimpActionGroupSetupFunc)     (GimpActionGroup   *group);
304 typedef void        (* GimpActionGroupUpdateFunc)    (GimpActionGroup   *group,
305                                                       gpointer           data);
306 
307 typedef void        (* GimpUIManagerSetupFunc)       (GimpUIManager     *manager,
308                                                       const gchar       *ui_path);
309 
310 typedef void        (* GimpMenuPositionFunc)         (GtkMenu           *menu,
311                                                       gint              *x,
312                                                       gint              *y,
313                                                       gpointer           data);
314 typedef gboolean    (* GimpPanedBoxDroppedFunc)      (GtkWidget         *source,
315                                                       gint               insert_index,
316                                                       gpointer           data);
317 
318 typedef GtkWidget * (* GimpToolOptionsGUIFunc)       (GimpToolOptions   *tool_options);
319 
320 
321 #endif /* __WIDGETS_TYPES_H__ */
322