1 /* GIMP - The GNU Image Manipulation Program 2 * Copyright (C) 1995 Spencer Kimball and Peter Mattis 3 * 4 * GimpCoreConfig class 5 * Copyright (C) 2001 Sven Neumann <sven@gimp.org> 6 * 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 3 of the License, or 10 * (at your option) any later version. 11 * 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. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <https://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef __GIMP_CORE_CONFIG_H__ 22 #define __GIMP_CORE_CONFIG_H__ 23 24 #include "operations/operations-enums.h" 25 #include "core/core-enums.h" 26 27 #include "config/gimpgeglconfig.h" 28 29 30 #define GIMP_TYPE_CORE_CONFIG (gimp_core_config_get_type ()) 31 #define GIMP_CORE_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_CORE_CONFIG, GimpCoreConfig)) 32 #define GIMP_CORE_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_CORE_CONFIG, GimpCoreConfigClass)) 33 #define GIMP_IS_CORE_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_CORE_CONFIG)) 34 #define GIMP_IS_CORE_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_CORE_CONFIG)) 35 36 37 typedef struct _GimpCoreConfigClass GimpCoreConfigClass; 38 39 struct _GimpCoreConfig 40 { 41 GimpGeglConfig parent_instance; 42 43 gchar *language; 44 GimpInterpolationType interpolation_type; 45 gint default_threshold; 46 gchar *plug_in_path; 47 gchar *module_path; 48 gchar *interpreter_path; 49 gchar *environ_path; 50 gchar *brush_path; 51 gchar *brush_path_writable; 52 gchar *dynamics_path; 53 gchar *dynamics_path_writable; 54 gchar *mypaint_brush_path; 55 gchar *mypaint_brush_path_writable; 56 gchar *pattern_path; 57 gchar *pattern_path_writable; 58 gchar *palette_path; 59 gchar *palette_path_writable; 60 gchar *gradient_path; 61 gchar *gradient_path_writable; 62 gchar *tool_preset_path; 63 gchar *tool_preset_path_writable; 64 gchar *font_path; 65 gchar *font_path_writable; /* unused */ 66 gchar *default_brush; 67 gchar *default_dynamics; 68 gchar *default_mypaint_brush; 69 gchar *default_pattern; 70 gchar *default_palette; 71 gchar *default_tool_preset; 72 gchar *default_gradient; 73 gchar *default_font; 74 gboolean global_brush; 75 gboolean global_dynamics; 76 gboolean global_pattern; 77 gboolean global_palette; 78 gboolean global_gradient; 79 gboolean global_font; 80 GimpTemplate *default_image; 81 GimpGrid *default_grid; 82 gint levels_of_undo; 83 guint64 undo_size; 84 GimpViewSize undo_preview_size; 85 gint filter_history_size; 86 gchar *plug_in_rc_path; 87 gboolean layer_previews; 88 gboolean group_layer_previews; 89 GimpViewSize layer_preview_size; 90 GimpThumbnailSize thumbnail_size; 91 guint64 thumbnail_filesize_limit; 92 GimpColorConfig *color_management; 93 gboolean save_document_history; 94 GimpRGB quick_mask_color; 95 gboolean import_promote_float; 96 gboolean import_promote_dither; 97 gboolean import_add_alpha; 98 gchar *import_raw_plug_in; 99 GimpExportFileType export_file_type; 100 gboolean export_color_profile; 101 gboolean export_metadata_exif; 102 gboolean export_metadata_xmp; 103 gboolean export_metadata_iptc; 104 GimpDebugPolicy debug_policy; 105 106 gboolean check_updates; 107 gint64 check_update_timestamp; 108 gchar *last_known_release; 109 gint64 last_release_timestamp; 110 gchar *last_release_comment; 111 gint last_revision; 112 }; 113 114 struct _GimpCoreConfigClass 115 { 116 GimpGeglConfigClass parent_class; 117 }; 118 119 120 GType gimp_core_config_get_type (void) G_GNUC_CONST; 121 122 123 #endif /* GIMP_CORE_CONFIG_H__ */ 124