summaryrefslogtreecommitdiffstats
path: root/app/core/gimp.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/core/gimp.h')
-rw-r--r--app/core/gimp.h248
1 files changed, 248 insertions, 0 deletions
diff --git a/app/core/gimp.h b/app/core/gimp.h
new file mode 100644
index 0000000..d4b1e39
--- /dev/null
+++ b/app/core/gimp.h
@@ -0,0 +1,248 @@
+/* GIMP - The GNU Image Manipulation Program
+ * Copyright (C) 1995-1997 Spencer Kimball and Peter Mattis
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#ifndef __GIMP_H__
+#define __GIMP_H__
+
+
+#include "gimpobject.h"
+#include "gimp-gui.h"
+
+
+#define GIMP_TYPE_GIMP (gimp_get_type ())
+#define GIMP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_GIMP, Gimp))
+#define GIMP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_GIMP, GimpClass))
+#define GIMP_IS_GIMP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_GIMP))
+#define GIMP_IS_GIMP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_GIMP))
+
+
+typedef struct _GimpClass GimpClass;
+
+struct _Gimp
+{
+ GimpObject parent_instance;
+
+ GimpCoreConfig *config;
+ GimpCoreConfig *edit_config; /* don't use this one, it's just
+ * for the preferences dialog
+ */
+ gchar *session_name;
+ GFile *default_folder;
+
+ gboolean be_verbose;
+ gboolean no_data;
+ gboolean no_fonts;
+ gboolean no_interface;
+ gboolean show_gui;
+ gboolean use_shm;
+ gboolean use_cpu_accel;
+ GimpMessageHandlerType message_handler;
+ gboolean console_messages;
+ gboolean show_playground;
+ gboolean show_debug_menu;
+ GimpStackTraceMode stack_trace_mode;
+ GimpPDBCompatMode pdb_compat_mode;
+
+ GimpGui gui; /* gui vtable */
+
+ gboolean restored; /* becomes TRUE in gimp_restore() */
+ gboolean initialized; /* Fully initialized (only set once at start). */
+
+ gint busy;
+ guint busy_idle_id;
+
+ GList *user_units;
+ gint n_user_units;
+
+ GimpParasiteList *parasites;
+
+ GimpContainer *paint_info_list;
+ GimpPaintInfo *standard_paint_info;
+
+ GimpModuleDB *module_db;
+ gboolean write_modulerc;
+
+ GimpPlugInManager *plug_in_manager;
+
+ GList *filter_history;
+
+ GimpContainer *images;
+ guint32 next_guide_ID;
+ guint32 next_sample_point_ID;
+ GimpIdTable *image_table;
+ GimpIdTable *item_table;
+
+ GimpContainer *displays;
+ gint next_display_ID;
+
+ GList *image_windows;
+
+ GimpImage *clipboard_image;
+ GimpBuffer *clipboard_buffer;
+ GimpContainer *named_buffers;
+
+ GimpDataFactory *brush_factory;
+ GimpDataFactory *dynamics_factory;
+ GimpDataFactory *mybrush_factory;
+ GimpDataFactory *pattern_factory;
+ GimpDataFactory *gradient_factory;
+ GimpDataFactory *palette_factory;
+ GimpDataFactory *font_factory;
+ GimpDataFactory *tool_preset_factory;
+
+ GimpTagCache *tag_cache;
+
+ GimpPDB *pdb;
+
+ GimpContainer *tool_info_list;
+ GimpToolInfo *standard_tool_info;
+
+ GimpContainer *tool_item_list;
+ GimpContainer *tool_item_ui_list;
+
+ /* the opened and saved images in MRU order */
+ GimpContainer *documents;
+
+ /* image_new values */
+ GimpContainer *templates;
+ GimpTemplate *image_new_last_template;
+
+ /* the list of all contexts */
+ GList *context_list;
+
+ /* the default context which is initialized from gimprc */
+ GimpContext *default_context;
+
+ /* the context used by the interface */
+ GimpContext *user_context;
+};
+
+struct _GimpClass
+{
+ GimpObjectClass parent_class;
+
+ void (* initialize) (Gimp *gimp,
+ GimpInitStatusFunc status_callback);
+ void (* restore) (Gimp *gimp,
+ GimpInitStatusFunc status_callback);
+ gboolean (* exit) (Gimp *gimp,
+ gboolean force);
+
+ void (* clipboard_changed) (Gimp *gimp);
+
+ void (* filter_history_changed) (Gimp *gimp);
+
+ /* emitted if an image is loaded and opened with a display */
+ void (* image_opened) (Gimp *gimp,
+ GFile *file);
+};
+
+
+GType gimp_get_type (void) G_GNUC_CONST;
+
+Gimp * gimp_new (const gchar *name,
+ const gchar *session_name,
+ GFile *default_folder,
+ gboolean be_verbose,
+ gboolean no_data,
+ gboolean no_fonts,
+ gboolean no_interface,
+ gboolean use_shm,
+ gboolean use_cpu_accel,
+ gboolean console_messages,
+ gboolean show_playground,
+ gboolean show_debug_menu,
+ GimpStackTraceMode stack_trace_mode,
+ GimpPDBCompatMode pdb_compat_mode);
+void gimp_set_show_gui (Gimp *gimp,
+ gboolean show_gui);
+gboolean gimp_get_show_gui (Gimp *gimp);
+
+void gimp_load_config (Gimp *gimp,
+ GFile *alternate_system_gimprc,
+ GFile *alternate_gimprc);
+void gimp_initialize (Gimp *gimp,
+ GimpInitStatusFunc status_callback);
+void gimp_restore (Gimp *gimp,
+ GimpInitStatusFunc status_callback,
+ GError **error);
+gboolean gimp_is_restored (Gimp *gimp);
+
+void gimp_exit (Gimp *gimp,
+ gboolean force);
+
+GList * gimp_get_image_iter (Gimp *gimp);
+GList * gimp_get_display_iter (Gimp *gimp);
+GList * gimp_get_image_windows (Gimp *gimp);
+GList * gimp_get_paint_info_iter (Gimp *gimp);
+GList * gimp_get_tool_info_iter (Gimp *gimp);
+GList * gimp_get_tool_item_iter (Gimp *gimp);
+GList * gimp_get_tool_item_ui_iter (Gimp *gimp);
+
+GimpObject * gimp_get_clipboard_object (Gimp *gimp);
+
+void gimp_set_clipboard_image (Gimp *gimp,
+ GimpImage *image);
+GimpImage * gimp_get_clipboard_image (Gimp *gimp);
+
+void gimp_set_clipboard_buffer (Gimp *gimp,
+ GimpBuffer *buffer);
+GimpBuffer * gimp_get_clipboard_buffer (Gimp *gimp);
+
+GimpImage * gimp_create_image (Gimp *gimp,
+ gint width,
+ gint height,
+ GimpImageBaseType type,
+ GimpPrecision precision,
+ gboolean attach_comment);
+
+void gimp_set_default_context (Gimp *gimp,
+ GimpContext *context);
+GimpContext * gimp_get_default_context (Gimp *gimp);
+
+void gimp_set_user_context (Gimp *gimp,
+ GimpContext *context);
+GimpContext * gimp_get_user_context (Gimp *gimp);
+
+GimpToolInfo * gimp_get_tool_info (Gimp *gimp,
+ const gchar *tool_name);
+
+void gimp_message (Gimp *gimp,
+ GObject *handler,
+ GimpMessageSeverity severity,
+ const gchar *format,
+ ...) G_GNUC_PRINTF (4, 5);
+void gimp_message_valist (Gimp *gimp,
+ GObject *handler,
+ GimpMessageSeverity severity,
+ const gchar *format,
+ va_list args) G_GNUC_PRINTF (4, 0);
+void gimp_message_literal (Gimp *gimp,
+ GObject *handler,
+ GimpMessageSeverity severity,
+ const gchar *message);
+
+void gimp_filter_history_changed (Gimp *gimp);
+
+void gimp_image_opened (Gimp *gimp,
+ GFile *file);
+
+GFile * gimp_get_temp_file (Gimp *gimp,
+ const gchar *extension);
+
+
+#endif /* __GIMP_H__ */