In order to make a clear separation between the core modules and the UI modules, move the necessary enums from display-enums.h and widgets-enums.h to config-enums.h and the files gimpdisplayoptions.[ch] from the display to the config module. This removes the config -> display dependency. This change has three main benefits * It lets us remove includes of display files from the config module * We don't have to link gimp-console and test-config with a subset of object files from the display module * It is reflected in devel-docs/gimp-module-dependencies.svg that the application is made up of core modules and UI modules and that no core module depends on any UI module --- app/Makefile.am | 3 - app/actions/view-actions.c | 2 +- app/actions/view-commands.c | 2 +- app/config/Makefile.am | 38 ++- app/config/config-enums.c | 226 +++++++++++ app/config/config-enums.h | 105 +++++ app/config/config-types.h | 7 +- app/config/gimpdisplayconfig.c | 9 +- app/config/gimpdisplayconfig.h | 2 - app/config/gimpdisplayoptions.c | 350 ++++++++++++++++ app/config/gimpdisplayoptions.h | 72 ++++ app/config/gimpguiconfig.h | 2 - app/config/gimppluginconfig.h | 2 - app/core/core-types.h | 3 - app/display/Makefile.am | 2 - app/display/display-enums.c | 124 ------ app/display/display-enums.h | 49 --- app/display/gimpdisplayoptions.c | 351 ---------------- app/display/gimpdisplayoptions.h | 72 ---- app/display/gimpdisplayshell-appearance.c | 3 +- app/display/gimpdisplayshell-handlers.c | 2 +- app/display/gimpdisplayshell.c | 2 +- app/widgets/widgets-enums.c | 89 ---- app/widgets/widgets-enums.h | 34 -- devel-docs/gimp-module-dependencies.svg | 618 +++++++++++++++-------------- 25 files changed, 1113 insertions(+), 1056 deletions(-) create mode 100644 app/config/config-enums.c create mode 100644 app/config/config-enums.h create mode 100644 app/config/gimpdisplayoptions.c create mode 100644 app/config/gimpdisplayoptions.h delete mode 100644 app/display/gimpdisplayoptions.c delete mode 100644 app/display/gimpdisplayoptions.h diff --git a/app/Makefile.am b/app/Makefile.am index 3654e79..dd5ef21 100644 --- a/app/Makefile.am +++ b/app/Makefile.am @@ -142,9 +142,6 @@ AM_LDFLAGS = \ $(workaround_that_file_depends_on_plug_in) gimpconsoleldadd = \ - display/gimpdisplayoptions.o \ - display/display-enums.o \ - widgets/widgets-enums.o \ xcf/libappxcf.a \ pdb/libappinternal-procs.a \ pdb/libapppdb.a \ diff --git a/app/actions/view-actions.c b/app/actions/view-actions.c index d83312b..b245653 100644 --- a/app/actions/view-actions.c +++ b/app/actions/view-actions.c @@ -26,6 +26,7 @@ #include "actions-types.h" +#include "config/gimpdisplayoptions.h" #include "config/gimpguiconfig.h" #include "core/gimp.h" @@ -39,7 +40,6 @@ #include "widgets/gimpwidgets-utils.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplayoptions.h" #include "display/gimpdisplayshell.h" #include "display/gimpdisplayshell-appearance.h" #include "display/gimpdisplayshell-scale.h" diff --git a/app/actions/view-commands.c b/app/actions/view-commands.c index cacdd16..ace7806 100644 --- a/app/actions/view-commands.c +++ b/app/actions/view-commands.c @@ -25,6 +25,7 @@ #include "actions-types.h" +#include "config/gimpdisplayoptions.h" #include "config/gimpguiconfig.h" #include "core/gimp.h" @@ -35,7 +36,6 @@ #include "display/gimpdisplay.h" #include "display/gimpdisplay-foreach.h" -#include "display/gimpdisplayoptions.h" #include "display/gimpdisplayshell.h" #include "display/gimpdisplayshell-appearance.h" #include "display/gimpdisplayshell-filter-dialog.h" diff --git a/app/config/Makefile.am b/app/config/Makefile.am index c3ad7c5..968c37c 100644 --- a/app/config/Makefile.am +++ b/app/config/Makefile.am @@ -21,7 +21,8 @@ INCLUDES = \ noinst_LIBRARIES = libappconfig.a -libappconfig_a_SOURCES = \ +libappconfig_a_sources = \ + config-enums.h \ config-types.h \ gimpconfig-dump.c \ gimpconfig-dump.h \ @@ -35,6 +36,8 @@ libappconfig_a_SOURCES = \ gimpcoreconfig.h \ gimpdisplayconfig.c \ gimpdisplayconfig.h \ + gimpdisplayoptions.c \ + gimpdisplayoptions.h \ gimpguiconfig.c \ gimpguiconfig.h \ gimppluginconfig.c \ @@ -51,6 +54,14 @@ libappconfig_a_SOURCES = \ gimpxmlparser.c \ gimpxmlparser.h +libappconfig_a_built_sources = \ + config-enums.c + +libappconfig_a_SOURCES = \ + $(libappconfig_a_built_sources) \ + $(libappconfig_a_sources) + + EXTRA_PROGRAMS = test-config EXTRA_DIST = makefile.msc @@ -77,9 +88,6 @@ test_config_LDFLAGS = \ -u $(SYMPREFIX)gimp_image_map_config_get_type test_config_LDADD = \ - ../display/gimpdisplayoptions.o \ - ../display/display-enums.o \ - ../widgets/widgets-enums.o \ ../xcf/libappxcf.a \ ../pdb/libappinternal-procs.a \ ../pdb/libapppdb.a \ @@ -107,3 +115,25 @@ test_config_LDADD = \ $(GLIB_LIBS) CLEANFILES = $(EXTRA_PROGRAMS) foorc + +# +# rules to generate built sources +# +# setup autogeneration dependencies +gen_sources = xgen-dec +CLEANFILES += $(gen_sources) + +config-enums.c: $(srcdir)/config-enums.h $(GIMP_MKENUMS) + $(GIMP_MKENUMS) \ + --fhead "#include \"config.h\"\n#include <glib-object.h>\n#include \"libgimpbase/gimpbase.h\"\n#include \"config-enums.h\"\n#include\"gimp-intl.h\"" \ + --fprod "\n/* enumerations from \"@filename@\" */" \ + --vhead "GType\n@enum_name@_get_type (void)\n{\n static const G@Type@Value values[] =\n {" \ + --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ + --vtail " { 0, NULL, NULL }\n };\n" \ + --dhead " static const Gimp@Type@Desc descs[] =\n {" \ + --dprod " { @VALUENAME@, @valuedesc@, @valuehelp@ }," \ + --dtail " { 0, NULL, NULL }\n };\n\n static GType type = 0;\n\n if (G_UNLIKELY (! type))\n {\n type = g_@type@_register_static (\"@EnumName@\", values);\n gimp_type_set_translation_context (type, \"@enumnick@\");\n gimp_@type@_set_value_descriptions (type, descs);\n }\n\n return type;\n}\n" \ + $(srcdir)/config-enums.h > xgen-dec \ + && cp xgen-dec $(@F) \ + && rm -f xgen-dec + diff --git a/app/config/config-enums.c b/app/config/config-enums.c new file mode 100644 index 0000000..4844f87 --- /dev/null +++ b/app/config/config-enums.c @@ -0,0 +1,226 @@ + +/* Generated data (by gimp-mkenums) */ + +#include "config.h" +#include <glib-object.h> +#include "libgimpbase/gimpbase.h" +#include "config-enums.h" +#include"gimp-intl.h" + +/* enumerations from "./config-enums.h" */ +GType +gimp_cursor_mode_get_type (void) +{ + static const GEnumValue values[] = + { + { GIMP_CURSOR_MODE_TOOL_ICON, "GIMP_CURSOR_MODE_TOOL_ICON", "tool-icon" }, + { GIMP_CURSOR_MODE_TOOL_CROSSHAIR, "GIMP_CURSOR_MODE_TOOL_CROSSHAIR", "tool-crosshair" }, + { GIMP_CURSOR_MODE_CROSSHAIR, "GIMP_CURSOR_MODE_CROSSHAIR", "crosshair" }, + { 0, NULL, NULL } + }; + + static const GimpEnumDesc descs[] = + { + { GIMP_CURSOR_MODE_TOOL_ICON, NC_("cursor-mode", "Tool icon"), NULL }, + { GIMP_CURSOR_MODE_TOOL_CROSSHAIR, NC_("cursor-mode", "Tool icon with crosshair"), NULL }, + { GIMP_CURSOR_MODE_CROSSHAIR, NC_("cursor-mode", "Crosshair only"), NULL }, + { 0, NULL, NULL } + }; + + static GType type = 0; + + if (G_UNLIKELY (! type)) + { + type = g_enum_register_static ("GimpCursorMode", values); + gimp_type_set_translation_context (type, "cursor-mode"); + gimp_enum_set_value_descriptions (type, descs); + } + + return type; +} + +GType +gimp_canvas_padding_mode_get_type (void) +{ + static const GEnumValue values[] = + { + { GIMP_CANVAS_PADDING_MODE_DEFAULT, "GIMP_CANVAS_PADDING_MODE_DEFAULT", "default" }, + { GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK, "GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK", "light-check" }, + { GIMP_CANVAS_PADDING_MODE_DARK_CHECK, "GIMP_CANVAS_PADDING_MODE_DARK_CHECK", "dark-check" }, + { GIMP_CANVAS_PADDING_MODE_CUSTOM, "GIMP_CANVAS_PADDING_MODE_CUSTOM", "custom" }, + { 0, NULL, NULL } + }; + + static const GimpEnumDesc descs[] = + { + { GIMP_CANVAS_PADDING_MODE_DEFAULT, NC_("canvas-padding-mode", "From theme"), NULL }, + { GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK, NC_("canvas-padding-mode", "Light check color"), NULL }, + { GIMP_CANVAS_PADDING_MODE_DARK_CHECK, NC_("canvas-padding-mode", "Dark check color"), NULL }, + { GIMP_CANVAS_PADDING_MODE_CUSTOM, NC_("canvas-padding-mode", "Custom color"), NULL }, + { 0, NULL, NULL } + }; + + static GType type = 0; + + if (G_UNLIKELY (! type)) + { + type = g_enum_register_static ("GimpCanvasPaddingMode", values); + gimp_type_set_translation_context (type, "canvas-padding-mode"); + gimp_enum_set_value_descriptions (type, descs); + } + + return type; +} + +GType +gimp_space_bar_action_get_type (void) +{ + static const GEnumValue values[] = + { + { GIMP_SPACE_BAR_ACTION_NONE, "GIMP_SPACE_BAR_ACTION_NONE", "none" }, + { GIMP_SPACE_BAR_ACTION_PAN, "GIMP_SPACE_BAR_ACTION_PAN", "pan" }, + { GIMP_SPACE_BAR_ACTION_MOVE, "GIMP_SPACE_BAR_ACTION_MOVE", "move" }, + { 0, NULL, NULL } + }; + + static const GimpEnumDesc descs[] = + { + { GIMP_SPACE_BAR_ACTION_NONE, NC_("space-bar-action", "No action"), NULL }, + { GIMP_SPACE_BAR_ACTION_PAN, NC_("space-bar-action", "Pan view"), NULL }, + { GIMP_SPACE_BAR_ACTION_MOVE, NC_("space-bar-action", "Switch to Move tool"), NULL }, + { 0, NULL, NULL } + }; + + static GType type = 0; + + if (G_UNLIKELY (! type)) + { + type = g_enum_register_static ("GimpSpaceBarAction", values); + gimp_type_set_translation_context (type, "space-bar-action"); + gimp_enum_set_value_descriptions (type, descs); + } + + return type; +} + +GType +gimp_zoom_quality_get_type (void) +{ + static const GEnumValue values[] = + { + { GIMP_ZOOM_QUALITY_LOW, "GIMP_ZOOM_QUALITY_LOW", "low" }, + { GIMP_ZOOM_QUALITY_HIGH, "GIMP_ZOOM_QUALITY_HIGH", "high" }, + { 0, NULL, NULL } + }; + + static const GimpEnumDesc descs[] = + { + { GIMP_ZOOM_QUALITY_LOW, NC_("zoom-quality", "Low"), NULL }, + { GIMP_ZOOM_QUALITY_HIGH, NC_("zoom-quality", "High"), NULL }, + { 0, NULL, NULL } + }; + + static GType type = 0; + + if (G_UNLIKELY (! type)) + { + type = g_enum_register_static ("GimpZoomQuality", values); + gimp_type_set_translation_context (type, "zoom-quality"); + gimp_enum_set_value_descriptions (type, descs); + } + + return type; +} + +GType +gimp_help_browser_type_get_type (void) +{ + static const GEnumValue values[] = + { + { GIMP_HELP_BROWSER_GIMP, "GIMP_HELP_BROWSER_GIMP", "gimp" }, + { GIMP_HELP_BROWSER_WEB_BROWSER, "GIMP_HELP_BROWSER_WEB_BROWSER", "web-browser" }, + { 0, NULL, NULL } + }; + + static const GimpEnumDesc descs[] = + { + { GIMP_HELP_BROWSER_GIMP, NC_("help-browser-type", "GIMP help browser"), NULL }, + { GIMP_HELP_BROWSER_WEB_BROWSER, NC_("help-browser-type", "Web browser"), NULL }, + { 0, NULL, NULL } + }; + + static GType type = 0; + + if (G_UNLIKELY (! type)) + { + type = g_enum_register_static ("GimpHelpBrowserType", values); + gimp_type_set_translation_context (type, "help-browser-type"); + gimp_enum_set_value_descriptions (type, descs); + } + + return type; +} + +GType +gimp_window_hint_get_type (void) +{ + static const GEnumValue values[] = + { + { GIMP_WINDOW_HINT_NORMAL, "GIMP_WINDOW_HINT_NORMAL", "normal" }, + { GIMP_WINDOW_HINT_UTILITY, "GIMP_WINDOW_HINT_UTILITY", "utility" }, + { GIMP_WINDOW_HINT_KEEP_ABOVE, "GIMP_WINDOW_HINT_KEEP_ABOVE", "keep-above" }, + { 0, NULL, NULL } + }; + + static const GimpEnumDesc descs[] = + { + { GIMP_WINDOW_HINT_NORMAL, NC_("window-hint", "Normal window"), NULL }, + { GIMP_WINDOW_HINT_UTILITY, NC_("window-hint", "Utility window"), NULL }, + { GIMP_WINDOW_HINT_KEEP_ABOVE, NC_("window-hint", "Keep above"), NULL }, + { 0, NULL, NULL } + }; + + static GType type = 0; + + if (G_UNLIKELY (! type)) + { + type = g_enum_register_static ("GimpWindowHint", values); + gimp_type_set_translation_context (type, "window-hint"); + gimp_enum_set_value_descriptions (type, descs); + } + + return type; +} + +GType +gimp_cursor_format_get_type (void) +{ + static const GEnumValue values[] = + { + { GIMP_CURSOR_FORMAT_BITMAP, "GIMP_CURSOR_FORMAT_BITMAP", "bitmap" }, + { GIMP_CURSOR_FORMAT_PIXBUF, "GIMP_CURSOR_FORMAT_PIXBUF", "pixbuf" }, + { 0, NULL, NULL } + }; + + static const GimpEnumDesc descs[] = + { + { GIMP_CURSOR_FORMAT_BITMAP, NC_("cursor-format", "Black & white"), NULL }, + { GIMP_CURSOR_FORMAT_PIXBUF, NC_("cursor-format", "Fancy"), NULL }, + { 0, NULL, NULL } + }; + + static GType type = 0; + + if (G_UNLIKELY (! type)) + { + type = g_enum_register_static ("GimpCursorFormat", values); + gimp_type_set_translation_context (type, "cursor-format"); + gimp_enum_set_value_descriptions (type, descs); + } + + return type; +} + + +/* Generated data ends here */ + diff --git a/app/config/config-enums.h b/app/config/config-enums.h new file mode 100644 index 0000000..0bb4778 --- /dev/null +++ b/app/config/config-enums.h @@ -0,0 +1,105 @@ +/* GIMP - The GNU Image Manipulation Program + * Copyright (C) 1995 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 <http://www.gnu.org/licenses/>. + */ + +#ifndef __CONFIG_ENUMS_H__ +#define __CONFIG_ENUMS_H__ + + +#define GIMP_TYPE_CURSOR_MODE (gimp_cursor_mode_get_type ()) + +GType gimp_cursor_mode_get_type (void) G_GNUC_CONST; + +typedef enum +{ + GIMP_CURSOR_MODE_TOOL_ICON, /*< desc="Tool icon" >*/ + GIMP_CURSOR_MODE_TOOL_CROSSHAIR, /*< desc="Tool icon with crosshair" >*/ + GIMP_CURSOR_MODE_CROSSHAIR /*< desc="Crosshair only" >*/ +} GimpCursorMode; + + +#define GIMP_TYPE_CANVAS_PADDING_MODE (gimp_canvas_padding_mode_get_type ()) + +GType gimp_canvas_padding_mode_get_type (void) G_GNUC_CONST; + +typedef enum +{ + GIMP_CANVAS_PADDING_MODE_DEFAULT, /*< desc="From theme" >*/ + GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK, /*< desc="Light check color" >*/ + GIMP_CANVAS_PADDING_MODE_DARK_CHECK, /*< desc="Dark check color" >*/ + GIMP_CANVAS_PADDING_MODE_CUSTOM, /*< desc="Custom color" >*/ + GIMP_CANVAS_PADDING_MODE_RESET = -1 /*< skip >*/ +} GimpCanvasPaddingMode; + + +#define GIMP_TYPE_SPACE_BAR_ACTION (gimp_space_bar_action_get_type ()) + +GType gimp_space_bar_action_get_type (void) G_GNUC_CONST; + +typedef enum +{ + GIMP_SPACE_BAR_ACTION_NONE, /*< desc="No action" >*/ + GIMP_SPACE_BAR_ACTION_PAN, /*< desc="Pan view" >*/ + GIMP_SPACE_BAR_ACTION_MOVE /*< desc="Switch to Move tool" >*/ +} GimpSpaceBarAction; + + +#define GIMP_TYPE_ZOOM_QUALITY (gimp_zoom_quality_get_type ()) + +GType gimp_zoom_quality_get_type (void) G_GNUC_CONST; + +typedef enum +{ + GIMP_ZOOM_QUALITY_LOW, /*< desc="Low" >*/ + GIMP_ZOOM_QUALITY_HIGH /*< desc="High" >*/ +} GimpZoomQuality; + + +#define GIMP_TYPE_HELP_BROWSER_TYPE (gimp_help_browser_type_get_type ()) + +GType gimp_help_browser_type_get_type (void) G_GNUC_CONST; + +typedef enum +{ + GIMP_HELP_BROWSER_GIMP, /*< desc="GIMP help browser" >*/ + GIMP_HELP_BROWSER_WEB_BROWSER /*< desc="Web browser" >*/ +} GimpHelpBrowserType; + + +#define GIMP_TYPE_WINDOW_HINT (gimp_window_hint_get_type ()) + +GType gimp_window_hint_get_type (void) G_GNUC_CONST; + +typedef enum +{ + GIMP_WINDOW_HINT_NORMAL, /*< desc="Normal window" >*/ + GIMP_WINDOW_HINT_UTILITY, /*< desc="Utility window" >*/ + GIMP_WINDOW_HINT_KEEP_ABOVE /*< desc="Keep above" >*/ +} GimpWindowHint; + + +#define GIMP_TYPE_CURSOR_FORMAT (gimp_cursor_format_get_type ()) + +GType gimp_cursor_format_get_type (void) G_GNUC_CONST; + +typedef enum +{ + GIMP_CURSOR_FORMAT_BITMAP, /*< desc="Black & white" >*/ + GIMP_CURSOR_FORMAT_PIXBUF /*< desc="Fancy" >*/ +} GimpCursorFormat; + + +#endif /* __CONFIG_ENUMS_H__ */ diff --git a/app/config/config-types.h b/app/config/config-types.h index 97fa63c..eed275d 100644 --- a/app/config/config-types.h +++ b/app/config/config-types.h @@ -24,6 +24,12 @@ #include "libgimpconfig/gimpconfigtypes.h" +#include "config/config-enums.h" + + +#define GIMP_OPACITY_TRANSPARENT 0.0 +#define GIMP_OPACITY_OPAQUE 1.0 + typedef struct _GimpBaseConfig GimpBaseConfig; typedef struct _GimpCoreConfig GimpCoreConfig; @@ -34,7 +40,6 @@ typedef struct _GimpRc GimpRc; typedef struct _GimpXmlParser GimpXmlParser; -/* should be in display/display-types.h */ typedef struct _GimpDisplayOptions GimpDisplayOptions; /* should be in core/core-types.h */ diff --git a/app/config/gimpdisplayconfig.c b/app/config/gimpdisplayconfig.c index e2f0697..5ce6399 100644 --- a/app/config/gimpdisplayconfig.c +++ b/app/config/gimpdisplayconfig.c @@ -28,16 +28,9 @@ #include "config-types.h" -/* FIXME: If we can get rid of this dependency to the display module, - * we will greatly improve the module dependencies in the core, see - * devel-docs/gimp-module-dependencies.svg. In particular, we will get - * rid of the (transitive) dependency from the core to the UI code - */ -#include "display/display-enums.h" -#include "display/gimpdisplayoptions.h" - #include "gimprc-blurbs.h" #include "gimpdisplayconfig.h" +#include "gimpdisplayoptions.h" #include "gimp-intl.h" diff --git a/app/config/gimpdisplayconfig.h b/app/config/gimpdisplayconfig.h index ca184f4..cfdbdf2 100644 --- a/app/config/gimpdisplayconfig.h +++ b/app/config/gimpdisplayconfig.h @@ -21,8 +21,6 @@ #ifndef __GIMP_DISPLAY_CONFIG_H__ #define __GIMP_DISPLAY_CONFIG_H__ -#include "display/display-enums.h" - #include "config/gimpcoreconfig.h" diff --git a/app/config/gimpdisplayoptions.c b/app/config/gimpdisplayoptions.c new file mode 100644 index 0000000..82eb388 --- /dev/null +++ b/app/config/gimpdisplayoptions.c @@ -0,0 +1,350 @@ +/* GIMP - The GNU Image Manipulation Program + * Copyright (C) 1995 Spencer Kimball and Peter Mattis + * + * GimpDisplayOptions + * Copyright (C) 2003 Sven Neumann <sven@xxxxxxxx> + * + * 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 <http://www.gnu.org/licenses/>. + */ + +#include "config.h" + +#include <glib-object.h> + +#include "libgimpbase/gimpbase.h" +#include "libgimpmath/gimpmath.h" +#include "libgimpcolor/gimpcolor.h" +#include "libgimpconfig/gimpconfig.h" + +#include "config-types.h" + +#include "gimprc-blurbs.h" + +#include "gimpdisplayoptions.h" + +#include "gimp-intl.h" + + +enum +{ + PROP_0, + PROP_SHOW_MENUBAR, + PROP_SHOW_STATUSBAR, + PROP_SHOW_RULERS, + PROP_SHOW_SCROLLBARS, + PROP_SHOW_SELECTION, + PROP_SHOW_LAYER_BOUNDARY, + PROP_SHOW_GUIDES, + PROP_SHOW_GRID, + PROP_SHOW_SAMPLE_POINTS, + PROP_PADDING_MODE, + PROP_PADDING_COLOR +}; + + +static void gimp_display_options_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec); +static void gimp_display_options_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec); + + +G_DEFINE_TYPE_WITH_CODE (GimpDisplayOptions, + gimp_display_options, + G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GIMP_TYPE_CONFIG, NULL)) + +typedef struct _GimpDisplayOptions GimpDisplayOptionsFullscreen; +typedef struct _GimpDisplayOptionsClass GimpDisplayOptionsFullscreenClass; + +#define gimp_display_options_fullscreen_init gimp_display_options_init + +G_DEFINE_TYPE_WITH_CODE (GimpDisplayOptionsFullscreen, + gimp_display_options_fullscreen, + GIMP_TYPE_DISPLAY_OPTIONS, + G_IMPLEMENT_INTERFACE (GIMP_TYPE_CONFIG, NULL)) + +typedef struct _GimpDisplayOptions GimpDisplayOptionsNoImage; +typedef struct _GimpDisplayOptionsClass GimpDisplayOptionsNoImageClass; + +#define gimp_display_options_no_image_init gimp_display_options_init + +G_DEFINE_TYPE_WITH_CODE (GimpDisplayOptionsNoImage, + gimp_display_options_no_image, + GIMP_TYPE_DISPLAY_OPTIONS, + G_IMPLEMENT_INTERFACE (GIMP_TYPE_CONFIG, NULL)) + + +static void +gimp_display_options_class_init (GimpDisplayOptionsClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GimpRGB white; + + gimp_rgba_set (&white, 1.0, 1.0, 1.0, GIMP_OPACITY_OPAQUE); + + object_class->set_property = gimp_display_options_set_property; + object_class->get_property = gimp_display_options_get_property; + + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_MENUBAR, + "show-menubar", SHOW_MENUBAR_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_STATUSBAR, + "show-statusbar", SHOW_STATUSBAR_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_RULERS, + "show-rulers", SHOW_RULERS_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SCROLLBARS, + "show-scrollbars", SHOW_SCROLLBARS_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SELECTION, + "show-selection", SHOW_SELECTION_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_LAYER_BOUNDARY, + "show-layer-boundary", SHOW_LAYER_BOUNDARY_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GUIDES, + "show-guides", SHOW_GUIDES_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GRID, + "show-grid", SHOW_GRID_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SAMPLE_POINTS, + "show-sample-points", SHOW_SAMPLE_POINTS_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_PADDING_MODE, + "padding-mode", CANVAS_PADDING_MODE_BLURB, + GIMP_TYPE_CANVAS_PADDING_MODE, + GIMP_CANVAS_PADDING_MODE_DEFAULT, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_PADDING_COLOR, + "padding-color", CANVAS_PADDING_COLOR_BLURB, + FALSE, &white, + GIMP_PARAM_STATIC_STRINGS); +} + +static void +gimp_display_options_fullscreen_class_init (GimpDisplayOptionsFullscreenClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GimpRGB black; + + gimp_rgba_set (&black, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE); + + object_class->set_property = gimp_display_options_set_property; + object_class->get_property = gimp_display_options_get_property; + + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_MENUBAR, + "show-menubar", SHOW_MENUBAR_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_STATUSBAR, + "show-statusbar", SHOW_STATUSBAR_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_RULERS, + "show-rulers", SHOW_RULERS_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SCROLLBARS, + "show-scrollbars", SHOW_SCROLLBARS_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SELECTION, + "show-selection", SHOW_SELECTION_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_LAYER_BOUNDARY, + "show-layer-boundary", SHOW_LAYER_BOUNDARY_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GUIDES, + "show-guides", SHOW_GUIDES_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GRID, + "show-grid", SHOW_GRID_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SAMPLE_POINTS, + "show-sample-points", SHOW_SAMPLE_POINTS_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_PADDING_MODE, + "padding-mode", CANVAS_PADDING_MODE_BLURB, + GIMP_TYPE_CANVAS_PADDING_MODE, + GIMP_CANVAS_PADDING_MODE_CUSTOM, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_PADDING_COLOR, + "padding-color", CANVAS_PADDING_COLOR_BLURB, + FALSE, &black, + GIMP_PARAM_STATIC_STRINGS); +} + +static void +gimp_display_options_no_image_class_init (GimpDisplayOptionsNoImageClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->set_property = gimp_display_options_set_property; + object_class->get_property = gimp_display_options_get_property; + + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_RULERS, + "show-rulers", SHOW_RULERS_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SCROLLBARS, + "show-scrollbars", SHOW_SCROLLBARS_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SELECTION, + "show-selection", SHOW_SELECTION_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_LAYER_BOUNDARY, + "show-layer-boundary", SHOW_LAYER_BOUNDARY_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GUIDES, + "show-guides", SHOW_GUIDES_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GRID, + "show-grid", SHOW_GRID_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SAMPLE_POINTS, + "show-sample-points", SHOW_SAMPLE_POINTS_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); +} + +static void +gimp_display_options_init (GimpDisplayOptions *options) +{ + options->padding_mode_set = FALSE; +} + +static void +gimp_display_options_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + GimpDisplayOptions *options = GIMP_DISPLAY_OPTIONS (object); + + switch (property_id) + { + case PROP_SHOW_MENUBAR: + options->show_menubar = g_value_get_boolean (value); + break; + case PROP_SHOW_STATUSBAR: + options->show_statusbar = g_value_get_boolean (value); + break; + case PROP_SHOW_RULERS: + options->show_rulers = g_value_get_boolean (value); + break; + case PROP_SHOW_SCROLLBARS: + options->show_scrollbars = g_value_get_boolean (value); + break; + case PROP_SHOW_SELECTION: + options->show_selection = g_value_get_boolean (value); + break; + case PROP_SHOW_LAYER_BOUNDARY: + options->show_layer_boundary = g_value_get_boolean (value); + break; + case PROP_SHOW_GUIDES: + options->show_guides = g_value_get_boolean (value); + break; + case PROP_SHOW_GRID: + options->show_grid = g_value_get_boolean (value); + break; + case PROP_SHOW_SAMPLE_POINTS: + options->show_sample_points = g_value_get_boolean (value); + break; + case PROP_PADDING_MODE: + options->padding_mode = g_value_get_enum (value); + break; + case PROP_PADDING_COLOR: + options->padding_color = *(GimpRGB *) g_value_get_boxed (value); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +gimp_display_options_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + GimpDisplayOptions *options = GIMP_DISPLAY_OPTIONS (object); + + switch (property_id) + { + case PROP_SHOW_MENUBAR: + g_value_set_boolean (value, options->show_menubar); + break; + case PROP_SHOW_STATUSBAR: + g_value_set_boolean (value, options->show_statusbar); + break; + case PROP_SHOW_RULERS: + g_value_set_boolean (value, options->show_rulers); + break; + case PROP_SHOW_SCROLLBARS: + g_value_set_boolean (value, options->show_scrollbars); + break; + case PROP_SHOW_SELECTION: + g_value_set_boolean (value, options->show_selection); + break; + case PROP_SHOW_LAYER_BOUNDARY: + g_value_set_boolean (value, options->show_layer_boundary); + break; + case PROP_SHOW_GUIDES: + g_value_set_boolean (value, options->show_guides); + break; + case PROP_SHOW_GRID: + g_value_set_boolean (value, options->show_grid); + break; + case PROP_SHOW_SAMPLE_POINTS: + g_value_set_boolean (value, options->show_sample_points); + break; + case PROP_PADDING_MODE: + g_value_set_enum (value, options->padding_mode); + break; + case PROP_PADDING_COLOR: + g_value_set_boxed (value, &options->padding_color); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} diff --git a/app/config/gimpdisplayoptions.h b/app/config/gimpdisplayoptions.h new file mode 100644 index 0000000..ef9bd18 --- /dev/null +++ b/app/config/gimpdisplayoptions.h @@ -0,0 +1,72 @@ +/* GIMP - The GNU Image Manipulation Program + * Copyright (C) 1995 Spencer Kimball and Peter Mattis + * + * GimpDisplayOptions + * Copyright (C) 2003 Sven Neumann <sven@xxxxxxxx> + * + * 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 <http://www.gnu.org/licenses/>. + */ + +#ifndef __GIMP_DISPLAY_OPTIONS_H__ +#define __GIMP_DISPLAY_OPTIONS_H__ + + +#define GIMP_TYPE_DISPLAY_OPTIONS (gimp_display_options_get_type ()) +#define GIMP_TYPE_DISPLAY_OPTIONS_FULLSCREEN (gimp_display_options_fullscreen_get_type ()) +#define GIMP_TYPE_DISPLAY_OPTIONS_NO_IMAGE (gimp_display_options_no_image_get_type ()) + +#define GIMP_DISPLAY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_DISPLAY_OPTIONS, GimpDisplayOptions)) +#define GIMP_DISPLAY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_DISPLAY_OPTIONS, GimpDisplayOptionsClass)) +#define GIMP_IS_DISPLAY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_DISPLAY_OPTIONS)) +#define GIMP_IS_DISPLAY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_DISPLAY_OPTIONS)) +#define GIMP_DISPLAY_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_DISPLAY_OPTIONS, GimpDisplayOptionsClass)) + + +typedef struct _GimpDisplayOptionsClass GimpDisplayOptionsClass; + +struct _GimpDisplayOptions +{ + GObject parent_instance; + + /* GimpImageWindow options */ + gboolean show_menubar; + gboolean show_statusbar; + + /* GimpDisplayShell options */ + gboolean show_rulers; + gboolean show_scrollbars; + + /* GimpCanvas options */ + gboolean show_selection; + gboolean show_layer_boundary; + gboolean show_guides; + gboolean show_grid; + gboolean show_sample_points; + GimpCanvasPaddingMode padding_mode; + GimpRGB padding_color; + gboolean padding_mode_set; +}; + +struct _GimpDisplayOptionsClass +{ + GObjectClass parent_class; +}; + + +GType gimp_display_options_get_type (void) G_GNUC_CONST; +GType gimp_display_options_fullscreen_get_type (void) G_GNUC_CONST; +GType gimp_display_options_no_image_get_type (void) G_GNUC_CONST; + + +#endif /* __GIMP_DISPLAY_OPTIONS_H__ */ diff --git a/app/config/gimpguiconfig.h b/app/config/gimpguiconfig.h index 6963d74..1e6d7f7 100644 --- a/app/config/gimpguiconfig.h +++ b/app/config/gimpguiconfig.h @@ -21,8 +21,6 @@ #ifndef __GIMP_GUI_CONFIG_H__ #define __GIMP_GUI_CONFIG_H__ -#include "widgets/widgets-enums.h" - #include "config/gimpdisplayconfig.h" diff --git a/app/config/gimppluginconfig.h b/app/config/gimppluginconfig.h index 3f27fd5..bf34fd9 100644 --- a/app/config/gimppluginconfig.h +++ b/app/config/gimppluginconfig.h @@ -21,8 +21,6 @@ #ifndef __GIMP_PLUGIN_CONFIG_H__ #define __GIMP_PLUGIN_CONFIG_H__ -#include "widgets/widgets-enums.h" - #include "config/gimpguiconfig.h" diff --git a/app/core/core-types.h b/app/core/core-types.h index 45a1d64..3b645aa 100644 --- a/app/core/core-types.h +++ b/app/core/core-types.h @@ -29,9 +29,6 @@ /* defines */ -#define GIMP_OPACITY_TRANSPARENT 0.0 -#define GIMP_OPACITY_OPAQUE 1.0 - #define GIMP_COORDS_MIN_PRESSURE 0.0 #define GIMP_COORDS_MAX_PRESSURE 1.0 #define GIMP_COORDS_DEFAULT_PRESSURE 1.0 diff --git a/app/display/Makefile.am b/app/display/Makefile.am index 031ec42..987c995 100644 --- a/app/display/Makefile.am +++ b/app/display/Makefile.am @@ -23,8 +23,6 @@ libappdisplay_a_sources = \ gimpcursorview.h \ gimpdisplay.c \ gimpdisplay.h \ - gimpdisplayoptions.c \ - gimpdisplayoptions.h \ gimpdisplay-foreach.c \ gimpdisplay-foreach.h \ gimpdisplay-handlers.c \ diff --git a/app/display/display-enums.c b/app/display/display-enums.c index 7e48a1e..0db113e 100644 --- a/app/display/display-enums.c +++ b/app/display/display-enums.c @@ -9,37 +9,6 @@ /* enumerations from "./display-enums.h" */ GType -gimp_cursor_mode_get_type (void) -{ - static const GEnumValue values[] = - { - { GIMP_CURSOR_MODE_TOOL_ICON, "GIMP_CURSOR_MODE_TOOL_ICON", "tool-icon" }, - { GIMP_CURSOR_MODE_TOOL_CROSSHAIR, "GIMP_CURSOR_MODE_TOOL_CROSSHAIR", "tool-crosshair" }, - { GIMP_CURSOR_MODE_CROSSHAIR, "GIMP_CURSOR_MODE_CROSSHAIR", "crosshair" }, - { 0, NULL, NULL } - }; - - static const GimpEnumDesc descs[] = - { - { GIMP_CURSOR_MODE_TOOL_ICON, NC_("cursor-mode", "Tool icon"), NULL }, - { GIMP_CURSOR_MODE_TOOL_CROSSHAIR, NC_("cursor-mode", "Tool icon with crosshair"), NULL }, - { GIMP_CURSOR_MODE_CROSSHAIR, NC_("cursor-mode", "Crosshair only"), NULL }, - { 0, NULL, NULL } - }; - - static GType type = 0; - - if (G_UNLIKELY (! type)) - { - type = g_enum_register_static ("GimpCursorMode", values); - gimp_type_set_translation_context (type, "cursor-mode"); - gimp_enum_set_value_descriptions (type, descs); - } - - return type; -} - -GType gimp_cursor_precision_get_type (void) { static const GEnumValue values[] = @@ -71,99 +40,6 @@ gimp_cursor_precision_get_type (void) } GType -gimp_canvas_padding_mode_get_type (void) -{ - static const GEnumValue values[] = - { - { GIMP_CANVAS_PADDING_MODE_DEFAULT, "GIMP_CANVAS_PADDING_MODE_DEFAULT", "default" }, - { GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK, "GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK", "light-check" }, - { GIMP_CANVAS_PADDING_MODE_DARK_CHECK, "GIMP_CANVAS_PADDING_MODE_DARK_CHECK", "dark-check" }, - { GIMP_CANVAS_PADDING_MODE_CUSTOM, "GIMP_CANVAS_PADDING_MODE_CUSTOM", "custom" }, - { 0, NULL, NULL } - }; - - static const GimpEnumDesc descs[] = - { - { GIMP_CANVAS_PADDING_MODE_DEFAULT, NC_("canvas-padding-mode", "From theme"), NULL }, - { GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK, NC_("canvas-padding-mode", "Light check color"), NULL }, - { GIMP_CANVAS_PADDING_MODE_DARK_CHECK, NC_("canvas-padding-mode", "Dark check color"), NULL }, - { GIMP_CANVAS_PADDING_MODE_CUSTOM, NC_("canvas-padding-mode", "Custom color"), NULL }, - { 0, NULL, NULL } - }; - - static GType type = 0; - - if (G_UNLIKELY (! type)) - { - type = g_enum_register_static ("GimpCanvasPaddingMode", values); - gimp_type_set_translation_context (type, "canvas-padding-mode"); - gimp_enum_set_value_descriptions (type, descs); - } - - return type; -} - -GType -gimp_space_bar_action_get_type (void) -{ - static const GEnumValue values[] = - { - { GIMP_SPACE_BAR_ACTION_NONE, "GIMP_SPACE_BAR_ACTION_NONE", "none" }, - { GIMP_SPACE_BAR_ACTION_PAN, "GIMP_SPACE_BAR_ACTION_PAN", "pan" }, - { GIMP_SPACE_BAR_ACTION_MOVE, "GIMP_SPACE_BAR_ACTION_MOVE", "move" }, - { 0, NULL, NULL } - }; - - static const GimpEnumDesc descs[] = - { - { GIMP_SPACE_BAR_ACTION_NONE, NC_("space-bar-action", "No action"), NULL }, - { GIMP_SPACE_BAR_ACTION_PAN, NC_("space-bar-action", "Pan view"), NULL }, - { GIMP_SPACE_BAR_ACTION_MOVE, NC_("space-bar-action", "Switch to Move tool"), NULL }, - { 0, NULL, NULL } - }; - - static GType type = 0; - - if (G_UNLIKELY (! type)) - { - type = g_enum_register_static ("GimpSpaceBarAction", values); - gimp_type_set_translation_context (type, "space-bar-action"); - gimp_enum_set_value_descriptions (type, descs); - } - - return type; -} - -GType -gimp_zoom_quality_get_type (void) -{ - static const GEnumValue values[] = - { - { GIMP_ZOOM_QUALITY_LOW, "GIMP_ZOOM_QUALITY_LOW", "low" }, - { GIMP_ZOOM_QUALITY_HIGH, "GIMP_ZOOM_QUALITY_HIGH", "high" }, - { 0, NULL, NULL } - }; - - static const GimpEnumDesc descs[] = - { - { GIMP_ZOOM_QUALITY_LOW, NC_("zoom-quality", "Low"), NULL }, - { GIMP_ZOOM_QUALITY_HIGH, NC_("zoom-quality", "High"), NULL }, - { 0, NULL, NULL } - }; - - static GType type = 0; - - if (G_UNLIKELY (! type)) - { - type = g_enum_register_static ("GimpZoomQuality", values); - gimp_type_set_translation_context (type, "zoom-quality"); - gimp_enum_set_value_descriptions (type, descs); - } - - return type; -} - -GType gimp_zoom_focus_get_type (void) { static const GEnumValue values[] = diff --git a/app/display/display-enums.h b/app/display/display-enums.h index 9455ace..28a1ae1 100644 --- a/app/display/display-enums.h +++ b/app/display/display-enums.h @@ -19,18 +19,6 @@ #define __DISPLAY_ENUMS_H__ -#define GIMP_TYPE_CURSOR_MODE (gimp_cursor_mode_get_type ()) - -GType gimp_cursor_mode_get_type (void) G_GNUC_CONST; - -typedef enum -{ - GIMP_CURSOR_MODE_TOOL_ICON, /*< desc="Tool icon" >*/ - GIMP_CURSOR_MODE_TOOL_CROSSHAIR, /*< desc="Tool icon with crosshair" >*/ - GIMP_CURSOR_MODE_CROSSHAIR /*< desc="Crosshair only" >*/ -} GimpCursorMode; - - #define GIMP_TYPE_CURSOR_PRECISION (gimp_cursor_precision_get_type ()) GType gimp_cursor_precision_get_type (void) G_GNUC_CONST; @@ -43,43 +31,6 @@ typedef enum } GimpCursorPrecision; -#define GIMP_TYPE_CANVAS_PADDING_MODE (gimp_canvas_padding_mode_get_type ()) - -GType gimp_canvas_padding_mode_get_type (void) G_GNUC_CONST; - -typedef enum -{ - GIMP_CANVAS_PADDING_MODE_DEFAULT, /*< desc="From theme" >*/ - GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK, /*< desc="Light check color" >*/ - GIMP_CANVAS_PADDING_MODE_DARK_CHECK, /*< desc="Dark check color" >*/ - GIMP_CANVAS_PADDING_MODE_CUSTOM, /*< desc="Custom color" >*/ - GIMP_CANVAS_PADDING_MODE_RESET = -1 /*< skip >*/ -} GimpCanvasPaddingMode; - - -#define GIMP_TYPE_SPACE_BAR_ACTION (gimp_space_bar_action_get_type ()) - -GType gimp_space_bar_action_get_type (void) G_GNUC_CONST; - -typedef enum -{ - GIMP_SPACE_BAR_ACTION_NONE, /*< desc="No action" >*/ - GIMP_SPACE_BAR_ACTION_PAN, /*< desc="Pan view" >*/ - GIMP_SPACE_BAR_ACTION_MOVE /*< desc="Switch to Move tool" >*/ -} GimpSpaceBarAction; - - -#define GIMP_TYPE_ZOOM_QUALITY (gimp_zoom_quality_get_type ()) - -GType gimp_zoom_quality_get_type (void) G_GNUC_CONST; - -typedef enum -{ - GIMP_ZOOM_QUALITY_LOW, /*< desc="Low" >*/ - GIMP_ZOOM_QUALITY_HIGH /*< desc="High" >*/ -} GimpZoomQuality; - - #define GIMP_TYPE_ZOOM_FOCUS (gimp_zoom_focus_get_type ()) GType gimp_zoom_focus_get_type (void) G_GNUC_CONST; diff --git a/app/display/gimpdisplayoptions.c b/app/display/gimpdisplayoptions.c deleted file mode 100644 index 5cff716..0000000 --- a/app/display/gimpdisplayoptions.c +++ /dev/null @@ -1,351 +0,0 @@ -/* GIMP - The GNU Image Manipulation Program - * Copyright (C) 1995 Spencer Kimball and Peter Mattis - * - * GimpDisplayOptions - * Copyright (C) 2003 Sven Neumann <sven@xxxxxxxx> - * - * 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 <http://www.gnu.org/licenses/>. - */ - -#include "config.h" - -#include <glib-object.h> - -#include "libgimpbase/gimpbase.h" -#include "libgimpmath/gimpmath.h" -#include "libgimpcolor/gimpcolor.h" -#include "libgimpconfig/gimpconfig.h" - -#include "core/core-types.h" -#include "display-enums.h" - -#include "config/gimprc-blurbs.h" - -#include "gimpdisplayoptions.h" - -#include "gimp-intl.h" - - -enum -{ - PROP_0, - PROP_SHOW_MENUBAR, - PROP_SHOW_STATUSBAR, - PROP_SHOW_RULERS, - PROP_SHOW_SCROLLBARS, - PROP_SHOW_SELECTION, - PROP_SHOW_LAYER_BOUNDARY, - PROP_SHOW_GUIDES, - PROP_SHOW_GRID, - PROP_SHOW_SAMPLE_POINTS, - PROP_PADDING_MODE, - PROP_PADDING_COLOR -}; - - -static void gimp_display_options_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec); -static void gimp_display_options_get_property (GObject *object, - guint property_id, - GValue *value, - GParamSpec *pspec); - - -G_DEFINE_TYPE_WITH_CODE (GimpDisplayOptions, - gimp_display_options, - G_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE (GIMP_TYPE_CONFIG, NULL)) - -typedef struct _GimpDisplayOptions GimpDisplayOptionsFullscreen; -typedef struct _GimpDisplayOptionsClass GimpDisplayOptionsFullscreenClass; - -#define gimp_display_options_fullscreen_init gimp_display_options_init - -G_DEFINE_TYPE_WITH_CODE (GimpDisplayOptionsFullscreen, - gimp_display_options_fullscreen, - GIMP_TYPE_DISPLAY_OPTIONS, - G_IMPLEMENT_INTERFACE (GIMP_TYPE_CONFIG, NULL)) - -typedef struct _GimpDisplayOptions GimpDisplayOptionsNoImage; -typedef struct _GimpDisplayOptionsClass GimpDisplayOptionsNoImageClass; - -#define gimp_display_options_no_image_init gimp_display_options_init - -G_DEFINE_TYPE_WITH_CODE (GimpDisplayOptionsNoImage, - gimp_display_options_no_image, - GIMP_TYPE_DISPLAY_OPTIONS, - G_IMPLEMENT_INTERFACE (GIMP_TYPE_CONFIG, NULL)) - - -static void -gimp_display_options_class_init (GimpDisplayOptionsClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GimpRGB white; - - gimp_rgba_set (&white, 1.0, 1.0, 1.0, GIMP_OPACITY_OPAQUE); - - object_class->set_property = gimp_display_options_set_property; - object_class->get_property = gimp_display_options_get_property; - - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_MENUBAR, - "show-menubar", SHOW_MENUBAR_BLURB, - TRUE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_STATUSBAR, - "show-statusbar", SHOW_STATUSBAR_BLURB, - TRUE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_RULERS, - "show-rulers", SHOW_RULERS_BLURB, - TRUE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SCROLLBARS, - "show-scrollbars", SHOW_SCROLLBARS_BLURB, - TRUE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SELECTION, - "show-selection", SHOW_SELECTION_BLURB, - TRUE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_LAYER_BOUNDARY, - "show-layer-boundary", SHOW_LAYER_BOUNDARY_BLURB, - TRUE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GUIDES, - "show-guides", SHOW_GUIDES_BLURB, - TRUE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GRID, - "show-grid", SHOW_GRID_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SAMPLE_POINTS, - "show-sample-points", SHOW_SAMPLE_POINTS_BLURB, - TRUE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_PADDING_MODE, - "padding-mode", CANVAS_PADDING_MODE_BLURB, - GIMP_TYPE_CANVAS_PADDING_MODE, - GIMP_CANVAS_PADDING_MODE_DEFAULT, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_PADDING_COLOR, - "padding-color", CANVAS_PADDING_COLOR_BLURB, - FALSE, &white, - GIMP_PARAM_STATIC_STRINGS); -} - -static void -gimp_display_options_fullscreen_class_init (GimpDisplayOptionsFullscreenClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GimpRGB black; - - gimp_rgba_set (&black, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE); - - object_class->set_property = gimp_display_options_set_property; - object_class->get_property = gimp_display_options_get_property; - - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_MENUBAR, - "show-menubar", SHOW_MENUBAR_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_STATUSBAR, - "show-statusbar", SHOW_STATUSBAR_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_RULERS, - "show-rulers", SHOW_RULERS_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SCROLLBARS, - "show-scrollbars", SHOW_SCROLLBARS_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SELECTION, - "show-selection", SHOW_SELECTION_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_LAYER_BOUNDARY, - "show-layer-boundary", SHOW_LAYER_BOUNDARY_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GUIDES, - "show-guides", SHOW_GUIDES_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GRID, - "show-grid", SHOW_GRID_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SAMPLE_POINTS, - "show-sample-points", SHOW_SAMPLE_POINTS_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_PADDING_MODE, - "padding-mode", CANVAS_PADDING_MODE_BLURB, - GIMP_TYPE_CANVAS_PADDING_MODE, - GIMP_CANVAS_PADDING_MODE_CUSTOM, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_RGB (object_class, PROP_PADDING_COLOR, - "padding-color", CANVAS_PADDING_COLOR_BLURB, - FALSE, &black, - GIMP_PARAM_STATIC_STRINGS); -} - -static void -gimp_display_options_no_image_class_init (GimpDisplayOptionsNoImageClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->set_property = gimp_display_options_set_property; - object_class->get_property = gimp_display_options_get_property; - - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_RULERS, - "show-rulers", SHOW_RULERS_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SCROLLBARS, - "show-scrollbars", SHOW_SCROLLBARS_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SELECTION, - "show-selection", SHOW_SELECTION_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_LAYER_BOUNDARY, - "show-layer-boundary", SHOW_LAYER_BOUNDARY_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GUIDES, - "show-guides", SHOW_GUIDES_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_GRID, - "show-grid", SHOW_GRID_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); - GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SAMPLE_POINTS, - "show-sample-points", SHOW_SAMPLE_POINTS_BLURB, - FALSE, - GIMP_PARAM_STATIC_STRINGS); -} - -static void -gimp_display_options_init (GimpDisplayOptions *options) -{ - options->padding_mode_set = FALSE; -} - -static void -gimp_display_options_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec) -{ - GimpDisplayOptions *options = GIMP_DISPLAY_OPTIONS (object); - - switch (property_id) - { - case PROP_SHOW_MENUBAR: - options->show_menubar = g_value_get_boolean (value); - break; - case PROP_SHOW_STATUSBAR: - options->show_statusbar = g_value_get_boolean (value); - break; - case PROP_SHOW_RULERS: - options->show_rulers = g_value_get_boolean (value); - break; - case PROP_SHOW_SCROLLBARS: - options->show_scrollbars = g_value_get_boolean (value); - break; - case PROP_SHOW_SELECTION: - options->show_selection = g_value_get_boolean (value); - break; - case PROP_SHOW_LAYER_BOUNDARY: - options->show_layer_boundary = g_value_get_boolean (value); - break; - case PROP_SHOW_GUIDES: - options->show_guides = g_value_get_boolean (value); - break; - case PROP_SHOW_GRID: - options->show_grid = g_value_get_boolean (value); - break; - case PROP_SHOW_SAMPLE_POINTS: - options->show_sample_points = g_value_get_boolean (value); - break; - case PROP_PADDING_MODE: - options->padding_mode = g_value_get_enum (value); - break; - case PROP_PADDING_COLOR: - options->padding_color = *(GimpRGB *) g_value_get_boxed (value); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; - } -} - -static void -gimp_display_options_get_property (GObject *object, - guint property_id, - GValue *value, - GParamSpec *pspec) -{ - GimpDisplayOptions *options = GIMP_DISPLAY_OPTIONS (object); - - switch (property_id) - { - case PROP_SHOW_MENUBAR: - g_value_set_boolean (value, options->show_menubar); - break; - case PROP_SHOW_STATUSBAR: - g_value_set_boolean (value, options->show_statusbar); - break; - case PROP_SHOW_RULERS: - g_value_set_boolean (value, options->show_rulers); - break; - case PROP_SHOW_SCROLLBARS: - g_value_set_boolean (value, options->show_scrollbars); - break; - case PROP_SHOW_SELECTION: - g_value_set_boolean (value, options->show_selection); - break; - case PROP_SHOW_LAYER_BOUNDARY: - g_value_set_boolean (value, options->show_layer_boundary); - break; - case PROP_SHOW_GUIDES: - g_value_set_boolean (value, options->show_guides); - break; - case PROP_SHOW_GRID: - g_value_set_boolean (value, options->show_grid); - break; - case PROP_SHOW_SAMPLE_POINTS: - g_value_set_boolean (value, options->show_sample_points); - break; - case PROP_PADDING_MODE: - g_value_set_enum (value, options->padding_mode); - break; - case PROP_PADDING_COLOR: - g_value_set_boxed (value, &options->padding_color); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; - } -} diff --git a/app/display/gimpdisplayoptions.h b/app/display/gimpdisplayoptions.h deleted file mode 100644 index ef9bd18..0000000 --- a/app/display/gimpdisplayoptions.h +++ /dev/null @@ -1,72 +0,0 @@ -/* GIMP - The GNU Image Manipulation Program - * Copyright (C) 1995 Spencer Kimball and Peter Mattis - * - * GimpDisplayOptions - * Copyright (C) 2003 Sven Neumann <sven@xxxxxxxx> - * - * 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 <http://www.gnu.org/licenses/>. - */ - -#ifndef __GIMP_DISPLAY_OPTIONS_H__ -#define __GIMP_DISPLAY_OPTIONS_H__ - - -#define GIMP_TYPE_DISPLAY_OPTIONS (gimp_display_options_get_type ()) -#define GIMP_TYPE_DISPLAY_OPTIONS_FULLSCREEN (gimp_display_options_fullscreen_get_type ()) -#define GIMP_TYPE_DISPLAY_OPTIONS_NO_IMAGE (gimp_display_options_no_image_get_type ()) - -#define GIMP_DISPLAY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_DISPLAY_OPTIONS, GimpDisplayOptions)) -#define GIMP_DISPLAY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_DISPLAY_OPTIONS, GimpDisplayOptionsClass)) -#define GIMP_IS_DISPLAY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_DISPLAY_OPTIONS)) -#define GIMP_IS_DISPLAY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_DISPLAY_OPTIONS)) -#define GIMP_DISPLAY_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_DISPLAY_OPTIONS, GimpDisplayOptionsClass)) - - -typedef struct _GimpDisplayOptionsClass GimpDisplayOptionsClass; - -struct _GimpDisplayOptions -{ - GObject parent_instance; - - /* GimpImageWindow options */ - gboolean show_menubar; - gboolean show_statusbar; - - /* GimpDisplayShell options */ - gboolean show_rulers; - gboolean show_scrollbars; - - /* GimpCanvas options */ - gboolean show_selection; - gboolean show_layer_boundary; - gboolean show_guides; - gboolean show_grid; - gboolean show_sample_points; - GimpCanvasPaddingMode padding_mode; - GimpRGB padding_color; - gboolean padding_mode_set; -}; - -struct _GimpDisplayOptionsClass -{ - GObjectClass parent_class; -}; - - -GType gimp_display_options_get_type (void) G_GNUC_CONST; -GType gimp_display_options_fullscreen_get_type (void) G_GNUC_CONST; -GType gimp_display_options_no_image_get_type (void) G_GNUC_CONST; - - -#endif /* __GIMP_DISPLAY_OPTIONS_H__ */ diff --git a/app/display/gimpdisplayshell-appearance.c b/app/display/gimpdisplayshell-appearance.c index 3bc5bbd..269d3d9 100644 --- a/app/display/gimpdisplayshell-appearance.c +++ b/app/display/gimpdisplayshell-appearance.c @@ -25,6 +25,8 @@ #include "display-types.h" +#include "config/gimpdisplayoptions.h" + #include "core/gimp.h" #include "core/gimpcontext.h" #include "core/gimpimage.h" @@ -39,7 +41,6 @@ #include "gimpcanvas.h" #include "gimpdisplay.h" -#include "gimpdisplayoptions.h" #include "gimpdisplayshell.h" #include "gimpdisplayshell-appearance.h" #include "gimpdisplayshell-expose.h" diff --git a/app/display/gimpdisplayshell-handlers.c b/app/display/gimpdisplayshell-handlers.c index 79e77d4..58b8cb8 100644 --- a/app/display/gimpdisplayshell-handlers.c +++ b/app/display/gimpdisplayshell-handlers.c @@ -27,6 +27,7 @@ #include "display-types.h" #include "config/gimpdisplayconfig.h" +#include "config/gimpdisplayoptions.h" #include "core/gimp.h" #include "core/gimpcontainer.h" @@ -39,7 +40,6 @@ #include "widgets/gimpwidgets-utils.h" #include "gimpdisplay.h" -#include "gimpdisplayoptions.h" #include "gimpdisplayshell.h" #include "gimpdisplayshell-appearance.h" #include "gimpdisplayshell-callbacks.h" diff --git a/app/display/gimpdisplayshell.c b/app/display/gimpdisplayshell.c index dddca53..e6c9d31 100644 --- a/app/display/gimpdisplayshell.c +++ b/app/display/gimpdisplayshell.c @@ -33,6 +33,7 @@ #include "config/gimpcoreconfig.h" #include "config/gimpdisplayconfig.h" +#include "config/gimpdisplayoptions.h" #include "core/gimp.h" #include "core/gimpchannel.h" @@ -53,7 +54,6 @@ #include "gimpcanvas.h" #include "gimpdisplay.h" -#include "gimpdisplayoptions.h" #include "gimpdisplayshell.h" #include "gimpdisplayshell-appearance.h" #include "gimpdisplayshell-callbacks.h" diff --git a/app/widgets/widgets-enums.c b/app/widgets/widgets-enums.c index e56215b..826edb1 100644 --- a/app/widgets/widgets-enums.c +++ b/app/widgets/widgets-enums.c @@ -164,64 +164,6 @@ gimp_color_pick_state_get_type (void) } GType -gimp_cursor_format_get_type (void) -{ - static const GEnumValue values[] = - { - { GIMP_CURSOR_FORMAT_BITMAP, "GIMP_CURSOR_FORMAT_BITMAP", "bitmap" }, - { GIMP_CURSOR_FORMAT_PIXBUF, "GIMP_CURSOR_FORMAT_PIXBUF", "pixbuf" }, - { 0, NULL, NULL } - }; - - static const GimpEnumDesc descs[] = - { - { GIMP_CURSOR_FORMAT_BITMAP, NC_("cursor-format", "Black & white"), NULL }, - { GIMP_CURSOR_FORMAT_PIXBUF, NC_("cursor-format", "Fancy"), NULL }, - { 0, NULL, NULL } - }; - - static GType type = 0; - - if (G_UNLIKELY (! type)) - { - type = g_enum_register_static ("GimpCursorFormat", values); - gimp_type_set_translation_context (type, "cursor-format"); - gimp_enum_set_value_descriptions (type, descs); - } - - return type; -} - -GType -gimp_help_browser_type_get_type (void) -{ - static const GEnumValue values[] = - { - { GIMP_HELP_BROWSER_GIMP, "GIMP_HELP_BROWSER_GIMP", "gimp" }, - { GIMP_HELP_BROWSER_WEB_BROWSER, "GIMP_HELP_BROWSER_WEB_BROWSER", "web-browser" }, - { 0, NULL, NULL } - }; - - static const GimpEnumDesc descs[] = - { - { GIMP_HELP_BROWSER_GIMP, NC_("help-browser-type", "GIMP help browser"), NULL }, - { GIMP_HELP_BROWSER_WEB_BROWSER, NC_("help-browser-type", "Web browser"), NULL }, - { 0, NULL, NULL } - }; - - static GType type = 0; - - if (G_UNLIKELY (! type)) - { - type = g_enum_register_static ("GimpHelpBrowserType", values); - gimp_type_set_translation_context (type, "help-browser-type"); - gimp_enum_set_value_descriptions (type, descs); - } - - return type; -} - -GType gimp_histogram_scale_get_type (void) { static const GEnumValue values[] = @@ -320,37 +262,6 @@ gimp_tag_entry_mode_get_type (void) return type; } -GType -gimp_window_hint_get_type (void) -{ - static const GEnumValue values[] = - { - { GIMP_WINDOW_HINT_NORMAL, "GIMP_WINDOW_HINT_NORMAL", "normal" }, - { GIMP_WINDOW_HINT_UTILITY, "GIMP_WINDOW_HINT_UTILITY", "utility" }, - { GIMP_WINDOW_HINT_KEEP_ABOVE, "GIMP_WINDOW_HINT_KEEP_ABOVE", "keep-above" }, - { 0, NULL, NULL } - }; - - static const GimpEnumDesc descs[] = - { - { GIMP_WINDOW_HINT_NORMAL, NC_("window-hint", "Normal window"), NULL }, - { GIMP_WINDOW_HINT_UTILITY, NC_("window-hint", "Utility window"), NULL }, - { GIMP_WINDOW_HINT_KEEP_ABOVE, NC_("window-hint", "Keep above"), NULL }, - { 0, NULL, NULL } - }; - - static GType type = 0; - - if (G_UNLIKELY (! type)) - { - type = g_enum_register_static ("GimpWindowHint", values); - gimp_type_set_translation_context (type, "window-hint"); - gimp_enum_set_value_descriptions (type, descs); - } - - return type; -} - /* Generated data ends here */ diff --git a/app/widgets/widgets-enums.h b/app/widgets/widgets-enums.h index 13df471..8404478 100644 --- a/app/widgets/widgets-enums.h +++ b/app/widgets/widgets-enums.h @@ -83,28 +83,6 @@ typedef enum } GimpColorPickState; -#define GIMP_TYPE_CURSOR_FORMAT (gimp_cursor_format_get_type ()) - -GType gimp_cursor_format_get_type (void) G_GNUC_CONST; - -typedef enum -{ - GIMP_CURSOR_FORMAT_BITMAP, /*< desc="Black & white" >*/ - GIMP_CURSOR_FORMAT_PIXBUF /*< desc="Fancy" >*/ -} GimpCursorFormat; - - -#define GIMP_TYPE_HELP_BROWSER_TYPE (gimp_help_browser_type_get_type ()) - -GType gimp_help_browser_type_get_type (void) G_GNUC_CONST; - -typedef enum -{ - GIMP_HELP_BROWSER_GIMP, /*< desc="GIMP help browser" >*/ - GIMP_HELP_BROWSER_WEB_BROWSER /*< desc="Web browser" >*/ -} GimpHelpBrowserType; - - #define GIMP_TYPE_HISTOGRAM_SCALE (gimp_histogram_scale_get_type ()) GType gimp_histogram_scale_get_type (void) G_GNUC_CONST; @@ -144,18 +122,6 @@ typedef enum } GimpTagEntryMode; -#define GIMP_TYPE_WINDOW_HINT (gimp_window_hint_get_type ()) - -GType gimp_window_hint_get_type (void) G_GNUC_CONST; - -typedef enum -{ - GIMP_WINDOW_HINT_NORMAL, /*< desc="Normal window" >*/ - GIMP_WINDOW_HINT_UTILITY, /*< desc="Utility window" >*/ - GIMP_WINDOW_HINT_KEEP_ABOVE /*< desc="Keep above" >*/ -} GimpWindowHint; - - /* * non-registered enums; register them if needed */ diff --git a/devel-docs/gimp-module-dependencies.svg b/devel-docs/gimp-module-dependencies.svg index 9778ed8..f0a36e1 100644 --- a/devel-docs/gimp-module-dependencies.svg +++ b/devel-docs/gimp-module-dependencies.svg @@ -1,385 +1,393 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" - "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ - <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> -]> -<!-- Generated by Graphviz version 2.20.2 (Wed Dec 30 22:01:07 UTC 2009) - For user: (martin) Martin Nordholts,,, --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 2.26.3 (20100126.1600) + --> <!-- Title: _anonymous_0 Pages: 1 --> -<svg width="738pt" height="1628pt" - viewBox="0.00 0.00 738.00 1628.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> -<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1624)"> +<svg width="862pt" height="1008pt" + viewBox="0.00 0.00 862.00 1008.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 1004)"> <title>_anonymous_0</title> -<polygon style="fill:white;stroke:white;" points="-4,4 -4,-1624 734,-1624 734,4 -4,4"/> -<!-- app/tests --> -<g id="node1" class="node"><title>app/tests</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="125" cy="-1602" rx="54.8957" ry="18"/> -<text text-anchor="middle" x="125" y="-1597.9" style="font-family:Times New Roman;font-size:14.00;">app/tests</text> -</g> -<!-- app/vectors --> -<g id="node2" class="node"><title>app/vectors</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="125" cy="-1530" rx="66.2071" ry="18"/> -<text text-anchor="middle" x="125" y="-1525.9" style="font-family:Times New Roman;font-size:14.00;">app/vectors</text> +<polygon fill="white" stroke="white" points="-4,5 -4,-1004 859,-1004 859,5 -4,5"/> +<!-- app/plug-in --> +<g id="node1" class="node"><title>app/plug-in</title> +<ellipse fill="lawngreen" stroke="black" cx="128" cy="-981" rx="55.8614" ry="19.0919"/> +<text text-anchor="middle" x="128" y="-977.9" font-family="Times Roman,serif" font-size="14.00">app/plug-in</text> </g> -<!-- app/tests->app/vectors --> -<g id="edge2" class="edge"><title>app/tests->app/vectors</title> -<path style="fill:none;stroke:black;" d="M125,-1584C125,-1576 125,-1567 125,-1558"/> -<polygon style="fill:black;stroke:black;" points="128.5,-1558 125,-1548 121.5,-1558 128.5,-1558"/> +<!-- app/composite --> +<g id="node2" class="node"><title>app/composite</title> +<ellipse fill="lawngreen" stroke="black" cx="176" cy="-907" rx="67.8823" ry="19.0919"/> +<text text-anchor="middle" x="176" y="-903.9" font-family="Times Roman,serif" font-size="14.00">app/composite</text> </g> -<!-- app/core --> -<g id="node4" class="node"><title>app/core</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="176" cy="-1458" rx="52.1162" ry="18"/> -<text text-anchor="middle" x="176" y="-1453.9" style="font-family:Times New Roman;font-size:14.00;">app/core</text> +<!-- app/plug-in->app/composite --> +<g id="edge2" class="edge"><title>app/plug-in->app/composite</title> +<path fill="none" stroke="black" d="M140.112,-962.327C145.585,-953.891 152.16,-943.754 158.178,-934.475"/> +<polygon fill="black" stroke="black" points="161.219,-936.219 163.724,-925.925 155.346,-932.41 161.219,-936.219"/> </g> -<!-- app/vectors->app/core --> -<g id="edge4" class="edge"><title>app/vectors->app/core</title> -<path style="fill:none;stroke:black;" d="M138,-1512C144,-1504 151,-1493 158,-1484"/> -<polygon style="fill:black;stroke:black;" points="160.8,-1486.1 164,-1476 155.2,-1481.9 160.8,-1486.1"/> +<!-- app/base --> +<g id="node4" class="node"><title>app/base</title> +<ellipse fill="lawngreen" stroke="black" cx="285" cy="-833" rx="44.7575" ry="19.0919"/> +<text text-anchor="middle" x="285" y="-829.9" font-family="Times Roman,serif" font-size="14.00">app/base</text> </g> -<!-- app/xcf --> -<g id="node6" class="node"><title>app/xcf</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="328" cy="-1386" rx="45.1673" ry="18"/> -<text text-anchor="middle" x="328" y="-1381.9" style="font-family:Times New Roman;font-size:14.00;">app/xcf</text> +<!-- app/composite->app/base --> +<g id="edge4" class="edge"><title>app/composite->app/base</title> +<path fill="none" stroke="black" d="M202.108,-889.275C217.2,-879.029 236.322,-866.047 252.396,-855.135"/> +<polygon fill="black" stroke="black" points="254.66,-857.828 260.968,-849.315 250.728,-852.037 254.66,-857.828"/> </g> -<!-- app/core->app/xcf --> -<g id="edge6" class="edge"><title>app/core->app/xcf</title> -<path style="fill:none;stroke:black;" d="M207,-1443C231,-1431 264,-1416 290,-1404"/> -<polygon style="fill:black;stroke:black;" points="291.283,-1407.26 299,-1400 288.44,-1400.86 291.283,-1407.26"/> +<!-- app/config --> +<g id="node11" class="node"><title>app/config</title> +<ellipse fill="lawngreen" stroke="black" cx="311" cy="-759" rx="51.8276" ry="19.0919"/> +<text text-anchor="middle" x="311" y="-755.9" font-family="Times Roman,serif" font-size="14.00">app/config</text> </g> -<!-- Cairo --> -<g id="node8" class="node"><title>Cairo</title> -<ellipse style="fill:lightblue;stroke:black;" cx="198" cy="-1386" rx="36.1339" ry="18"/> -<text text-anchor="middle" x="198" y="-1381.9" style="font-family:Times New Roman;font-size:14.00;">Cairo</text> +<!-- app/base->app/config --> +<g id="edge10" class="edge"><title>app/base->app/config</title> +<path fill="none" stroke="black" d="M291.696,-813.943C294.516,-805.916 297.859,-796.402 300.964,-787.565"/> +<polygon fill="black" stroke="black" points="304.314,-788.587 304.327,-777.992 297.71,-786.267 304.314,-788.587"/> </g> -<!-- app/core->Cairo --> -<g id="edge8" class="edge"><title>app/core->Cairo</title> -<path style="fill:none;stroke:black;" d="M182,-1440C184,-1432 187,-1422 190,-1414"/> -<polygon style="fill:black;stroke:black;" points="193.479,-1414.58 193,-1404 186.774,-1412.57 193.479,-1414.58"/> +<!-- libgimpcolor --> +<g id="node6" class="node"><title>libgimpcolor</title> +<ellipse fill="#ff7256" stroke="black" cx="418" cy="-167" rx="61.0181" ry="19.0919"/> +<text text-anchor="middle" x="418" y="-163.9" font-family="Times Roman,serif" font-size="14.00">libgimpcolor</text> </g> -<!-- app/plug-in --> -<g id="node17" class="node"><title>app/plug-in</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="359" cy="-1314" rx="64.1231" ry="18"/> -<text text-anchor="middle" x="359" y="-1309.9" style="font-family:Times New Roman;font-size:14.00;">app/plug-in</text> +<!-- libgimpmath --> +<g id="node7" class="node"><title>libgimpmath</title> +<ellipse fill="#ff7256" stroke="black" cx="418" cy="-93" rx="61.0181" ry="19.0919"/> +<text text-anchor="middle" x="418" y="-89.9" font-family="Times Roman,serif" font-size="14.00">libgimpmath</text> </g> -<!-- app/xcf->app/plug-in --> -<g id="edge20" class="edge"><title>app/xcf->app/plug-in</title> -<path style="fill:none;stroke:black;" d="M336,-1368C340,-1360 344,-1350 347,-1342"/> -<polygon style="fill:black;stroke:black;" points="350.536,-1342.58 351,-1332 344.036,-1339.98 350.536,-1342.58"/> +<!-- libgimpcolor->libgimpmath --> +<g id="edge6" class="edge"><title>libgimpcolor->libgimpmath</title> +<path fill="none" stroke="black" d="M418,-147.943C418,-140.149 418,-130.954 418,-122.338"/> +<polygon fill="black" stroke="black" points="421.5,-122.249 418,-112.249 414.5,-122.249 421.5,-122.249"/> </g> -<!-- app/widgets --> -<g id="node10" class="node"><title>app/widgets</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="516" cy="-738" rx="68.7933" ry="18"/> -<text text-anchor="middle" x="516" y="-733.9" style="font-family:Times New Roman;font-size:14.00;">app/widgets</text> +<!-- GLib --> +<g id="node9" class="node"><title>GLib</title> +<ellipse fill="lightblue" stroke="black" cx="418" cy="-19" rx="31.8198" ry="19.0919"/> +<text text-anchor="middle" x="418" y="-15.9" font-family="Times Roman,serif" font-size="14.00">GLib</text> </g> -<!-- app/dialogs --> -<g id="node11" class="node"><title>app/dialogs</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="516" cy="-666" rx="64.1231" ry="18"/> -<text text-anchor="middle" x="516" y="-661.9" style="font-family:Times New Roman;font-size:14.00;">app/dialogs</text> +<!-- libgimpmath->GLib --> +<g id="edge8" class="edge"><title>libgimpmath->GLib</title> +<path fill="none" stroke="black" d="M418,-73.9432C418,-66.1493 418,-56.9538 418,-48.3381"/> +<polygon fill="black" stroke="black" points="421.5,-48.2494 418,-38.2495 414.5,-48.2495 421.5,-48.2494"/> </g> -<!-- app/widgets->app/dialogs --> -<g id="edge10" class="edge"><title>app/widgets->app/dialogs</title> -<path style="fill:none;stroke:black;" d="M516,-720C516,-712 516,-703 516,-694"/> -<polygon style="fill:black;stroke:black;" points="519.5,-694 516,-684 512.5,-694 519.5,-694"/> +<!-- app/core --> +<g id="node14" class="node"><title>app/core</title> +<ellipse fill="lawngreen" stroke="black" cx="336" cy="-685" rx="44.0472" ry="19.0919"/> +<text text-anchor="middle" x="336" y="-681.9" font-family="Times Roman,serif" font-size="14.00">app/core</text> </g> -<!-- libgimpmodule --> -<g id="node13" class="node"><title>libgimpmodule</title> -<ellipse style="fill:#ff7256;stroke:black;" cx="580" cy="-378" rx="79.9115" ry="18"/> -<text text-anchor="middle" x="580" y="-373.9" style="font-family:Times New Roman;font-size:14.00;">libgimpmodule</text> +<!-- app/config->app/core --> +<g id="edge26" class="edge"><title>app/config->app/core</title> +<path fill="none" stroke="black" d="M317.438,-739.943C320.15,-731.916 323.364,-722.402 326.35,-713.565"/> +<polygon fill="black" stroke="black" points="329.699,-714.586 329.584,-703.992 323.067,-712.346 329.699,-714.586"/> </g> -<!-- app/dialogs->libgimpmodule --> -<g id="edge12" class="edge"><title>app/dialogs->libgimpmodule</title> -<path style="fill:none;stroke:black;" d="M527,-648C533,-638 540,-624 544,-612 567,-540 576,-451 578,-406"/> -<polygon style="fill:black;stroke:black;" points="581.488,-406.299 579,-396 574.522,-405.602 581.488,-406.299"/> +<!-- GEGL --> +<g id="node13" class="node"><title>GEGL</title> +<ellipse fill="lightblue" stroke="black" cx="339" cy="-315" rx="36.977" ry="19.0919"/> +<text text-anchor="middle" x="339" y="-311.9" font-family="Times Roman,serif" font-size="14.00">GEGL</text> </g> -<!-- app/gui --> -<g id="node15" class="node"><title>app/gui</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="489" cy="-594" rx="45.8622" ry="18"/> -<text text-anchor="middle" x="489" y="-589.9" style="font-family:Times New Roman;font-size:14.00;">app/gui</text> +<!-- app/pdb --> +<g id="node15" class="node"><title>app/pdb</title> +<ellipse fill="lawngreen" stroke="black" cx="232" cy="-611" rx="41.9273" ry="19.0919"/> +<text text-anchor="middle" x="232" y="-607.9" font-family="Times Roman,serif" font-size="14.00">app/pdb</text> </g> -<!-- app/dialogs->app/gui --> -<g id="edge14" class="edge"><title>app/dialogs->app/gui</title> -<path style="fill:none;stroke:black;" d="M509,-648C506,-640 503,-630 499,-622"/> -<polygon style="fill:black;stroke:black;" points="502.226,-620.573 496,-612 495.521,-622.584 502.226,-620.573"/> +<!-- app/core->app/pdb --> +<g id="edge12" class="edge"><title>app/core->app/pdb</title> +<path fill="none" stroke="black" d="M312.919,-668.577C298.276,-658.158 279.148,-644.548 263.166,-633.176"/> +<polygon fill="black" stroke="black" points="264.836,-630.068 254.659,-627.122 260.777,-635.772 264.836,-630.068"/> </g> -<!-- libgimpbase --> -<g id="node28" class="node"><title>libgimpbase</title> -<ellipse style="fill:#ff7256;stroke:black;" cx="472" cy="-234" rx="66.2071" ry="18"/> -<text text-anchor="middle" x="472" y="-229.9" style="font-family:Times New Roman;font-size:14.00;">libgimpbase</text> +<!-- app/gegl --> +<g id="node17" class="node"><title>app/gegl</title> +<ellipse fill="lawngreen" stroke="black" cx="336" cy="-611" rx="44.0472" ry="19.0919"/> +<text text-anchor="middle" x="336" y="-607.9" font-family="Times Roman,serif" font-size="14.00">app/gegl</text> </g> -<!-- libgimpmodule->libgimpbase --> -<g id="edge28" class="edge"><title>libgimpmodule->libgimpbase</title> -<path style="fill:none;stroke:black;" d="M567,-360C548,-335 513,-289 491,-260"/> -<polygon style="fill:black;stroke:black;" points="493.8,-257.9 485,-252 488.2,-262.1 493.8,-257.9"/> +<!-- app/core->app/gegl --> +<g id="edge14" class="edge"><title>app/core->app/gegl</title> +<path fill="none" stroke="black" d="M330.012,-665.943C329.288,-658.088 329.08,-648.81 329.387,-640.136"/> +<polygon fill="black" stroke="black" points="332.891,-640.19 330.018,-629.992 325.904,-639.756 332.891,-640.19"/> </g> -<!-- app/actions --> -<g id="node34" class="node"><title>app/actions</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="477" cy="-522" rx="64.8203" ry="18"/> -<text text-anchor="middle" x="477" y="-517.9" style="font-family:Times New Roman;font-size:14.00;">app/actions</text> +<!-- app/xcf --> +<g id="node19" class="node"><title>app/xcf</title> +<ellipse fill="lawngreen" stroke="black" cx="438" cy="-611" rx="39.8075" ry="19.0919"/> +<text text-anchor="middle" x="438" y="-607.9" font-family="Times Roman,serif" font-size="14.00">app/xcf</text> </g> -<!-- app/gui->app/actions --> -<g id="edge30" class="edge"><title>app/gui->app/actions</title> -<path style="fill:none;stroke:black;" d="M486,-576C485,-568 483,-559 482,-550"/> -<polygon style="fill:black;stroke:black;" points="485.393,-549.119 480,-540 478.529,-550.492 485.393,-549.119"/> +<!-- app/core->app/xcf --> +<g id="edge16" class="edge"><title>app/core->app/xcf</title> +<path fill="none" stroke="black" d="M358.637,-668.577C372.998,-658.158 391.759,-644.548 407.434,-633.176"/> +<polygon fill="black" stroke="black" points="409.738,-635.828 415.777,-627.122 405.628,-630.162 409.738,-635.828"/> </g> <!-- app/file --> -<g id="node18" class="node"><title>app/file</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="359" cy="-1242" rx="45.8622" ry="18"/> -<text text-anchor="middle" x="359" y="-1237.9" style="font-family:Times New Roman;font-size:14.00;">app/file</text> +<g id="node21" class="node"><title>app/file</title> +<ellipse fill="lawngreen" stroke="black" cx="80" cy="-537" rx="41.0122" ry="19.0919"/> +<text text-anchor="middle" x="80" y="-533.9" font-family="Times Roman,serif" font-size="14.00">app/file</text> </g> -<!-- app/plug-in->app/file --> -<g id="edge16" class="edge"><title>app/plug-in->app/file</title> -<path style="fill:none;stroke:black;" d="M359,-1296C359,-1288 359,-1279 359,-1270"/> -<polygon style="fill:black;stroke:black;" points="362.5,-1270 359,-1260 355.5,-1270 362.5,-1270"/> +<!-- app/pdb->app/file --> +<g id="edge18" class="edge"><title>app/pdb->app/file</title> +<path fill="none" stroke="black" d="M203.41,-597.081C179.101,-585.246 144.017,-568.166 117.466,-555.24"/> +<polygon fill="black" stroke="black" points="118.985,-552.087 108.462,-550.856 115.921,-558.381 118.985,-552.087"/> </g> -<!-- app/pdb --> -<g id="node20" class="node"><title>app/pdb</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="359" cy="-1170" rx="48.1403" ry="18"/> -<text text-anchor="middle" x="359" y="-1165.9" style="font-family:Times New Roman;font-size:14.00;">app/pdb</text> -</g> -<!-- app/file->app/pdb --> -<g id="edge18" class="edge"><title>app/file->app/pdb</title> -<path style="fill:none;stroke:black;" d="M359,-1224C359,-1216 359,-1207 359,-1198"/> -<polygon style="fill:black;stroke:black;" points="362.5,-1198 359,-1188 355.5,-1198 362.5,-1198"/> -</g> -<!-- app/paint --> -<g id="node25" class="node"><title>app/paint</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="359" cy="-1098" rx="55.7874" ry="18"/> -<text text-anchor="middle" x="359" y="-1093.9" style="font-family:Times New Roman;font-size:14.00;">app/paint</text> -</g> -<!-- app/pdb->app/paint --> -<g id="edge22" class="edge"><title>app/pdb->app/paint</title> -<path style="fill:none;stroke:black;" d="M359,-1152C359,-1144 359,-1135 359,-1126"/> -<polygon style="fill:black;stroke:black;" points="362.5,-1126 359,-1116 355.5,-1126 362.5,-1126"/> +<!-- libgimpmodule --> +<g id="node23" class="node"><title>libgimpmodule</title> +<ellipse fill="#ff7256" stroke="black" cx="413" cy="-537" rx="70.9184" ry="19.0919"/> +<text text-anchor="middle" x="413" y="-533.9" font-family="Times Roman,serif" font-size="14.00">libgimpmodule</text> </g> -<!-- GTK+ --> -<g id="node23" class="node"><title>GTK+</title> -<ellipse style="fill:lightblue;stroke:black;" cx="241" cy="-306" rx="39.1069" ry="18"/> -<text text-anchor="middle" x="241" y="-301.9" style="font-family:Times New Roman;font-size:14.00;">GTK+</text> +<!-- app/pdb->libgimpmodule --> +<g id="edge20" class="edge"><title>app/pdb->libgimpmodule</title> +<path fill="none" stroke="black" d="M263.528,-598.11C291.34,-586.739 332.313,-569.988 364.331,-556.898"/> +<polygon fill="black" stroke="black" points="366.024,-559.987 373.955,-552.963 363.375,-553.508 366.024,-559.987"/> </g> -<!-- GEGL --> -<g id="node24" class="node"><title>GEGL</title> -<ellipse style="fill:lightblue;stroke:black;" cx="145" cy="-306" rx="38.9134" ry="18"/> -<text text-anchor="middle" x="145" y="-301.9" style="font-family:Times New Roman;font-size:14.00;">GEGL</text> +<!-- app/gegl->app/core --> +<g id="edge22" class="edge"><title>app/gegl->app/core</title> +<path fill="none" stroke="black" d="M341.982,-629.992C342.709,-637.839 342.92,-647.115 342.615,-655.792"/> +<polygon fill="black" stroke="black" points="339.111,-655.746 341.988,-665.943 346.098,-656.178 339.111,-655.746"/> </g> -<!-- app/paint-funcs --> -<g id="node38" class="node"><title>app/paint-funcs</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="359" cy="-1026" rx="84.7756" ry="18"/> -<text text-anchor="middle" x="359" y="-1021.9" style="font-family:Times New Roman;font-size:14.00;">app/paint-funcs</text> +<!-- app/text --> +<g id="node26" class="node"><title>app/text</title> +<ellipse fill="lawngreen" stroke="black" cx="282" cy="-537" rx="41.9273" ry="19.0919"/> +<text text-anchor="middle" x="282" y="-533.9" font-family="Times Roman,serif" font-size="14.00">app/text</text> </g> -<!-- app/paint->app/paint-funcs --> -<g id="edge34" class="edge"><title>app/paint->app/paint-funcs</title> -<path style="fill:none;stroke:black;" d="M359,-1080C359,-1072 359,-1063 359,-1054"/> -<polygon style="fill:black;stroke:black;" points="362.5,-1054 359,-1044 355.5,-1054 362.5,-1054"/> +<!-- app/xcf->app/text --> +<g id="edge24" class="edge"><title>app/xcf->app/text</title> +<path fill="none" stroke="black" d="M409.387,-597.427C384.444,-585.595 348.056,-568.334 320.55,-555.287"/> +<polygon fill="black" stroke="black" points="321.76,-551.987 311.225,-550.863 318.76,-558.311 321.76,-551.987"/> </g> -<!-- GLib --> -<g id="node27" class="node"><title>GLib</title> -<ellipse style="fill:lightblue;stroke:black;" cx="472" cy="-18" rx="32.8565" ry="18"/> -<text text-anchor="middle" x="472" y="-13.9" style="font-family:Times New Roman;font-size:14.00;">GLib</text> +<!-- app/file->app/plug-in --> +<g id="edge32" class="edge"><title>app/file->app/plug-in</title> +<path fill="none" stroke="black" d="M80,-556.158C80,-584.37 80,-638.75 80,-685 80,-833 80,-833 80,-833 80,-875.187 84.7969,-886.276 99,-926 102.309,-935.256 106.934,-944.886 111.519,-953.453"/> +<polygon fill="black" stroke="black" points="108.498,-955.223 116.415,-962.264 114.617,-951.823 108.498,-955.223"/> </g> -<!-- libgimpcolor --> -<g id="node29" class="node"><title>libgimpcolor</title> -<ellipse style="fill:#ff7256;stroke:black;" cx="472" cy="-162" rx="68.0985" ry="18"/> -<text text-anchor="middle" x="472" y="-157.9" style="font-family:Times New Roman;font-size:14.00;">libgimpcolor</text> +<!-- libgimpthumb --> +<g id="node34" class="node"><title>libgimpthumb</title> +<ellipse fill="#ff7256" stroke="black" cx="67" cy="-389" rx="67.1751" ry="19.0919"/> +<text text-anchor="middle" x="67" y="-385.9" font-family="Times Roman,serif" font-size="14.00">libgimpthumb</text> </g> -<!-- libgimpbase->libgimpcolor --> -<g id="edge24" class="edge"><title>libgimpbase->libgimpcolor</title> -<path style="fill:none;stroke:black;" d="M472,-216C472,-208 472,-199 472,-190"/> -<polygon style="fill:black;stroke:black;" points="475.5,-190 472,-180 468.5,-190 475.5,-190"/> +<!-- app/file->libgimpthumb --> +<g id="edge34" class="edge"><title>app/file->libgimpthumb</title> +<path fill="none" stroke="black" d="M78.3271,-517.955C76.1162,-492.784 72.1982,-448.18 69.5998,-418.598"/> +<polygon fill="black" stroke="black" points="73.0694,-418.098 68.7078,-408.442 66.0963,-418.71 73.0694,-418.098"/> </g> -<!-- libgimpmath --> -<g id="node31" class="node"><title>libgimpmath</title> -<ellipse style="fill:#ff7256;stroke:black;" cx="472" cy="-90" rx="70.1831" ry="18"/> -<text text-anchor="middle" x="472" y="-85.9" style="font-family:Times New Roman;font-size:14.00;">libgimpmath</text> +<!-- libgimpbase --> +<g id="node29" class="node"><title>libgimpbase</title> +<ellipse fill="#ff7256" stroke="black" cx="418" cy="-241" rx="58.1882" ry="19.0919"/> +<text text-anchor="middle" x="418" y="-237.9" font-family="Times Roman,serif" font-size="14.00">libgimpbase</text> </g> -<!-- libgimpcolor->libgimpmath --> -<g id="edge26" class="edge"><title>libgimpcolor->libgimpmath</title> -<path style="fill:none;stroke:black;" d="M472,-144C472,-136 472,-127 472,-118"/> -<polygon style="fill:black;stroke:black;" points="475.5,-118 472,-108 468.5,-118 475.5,-118"/> +<!-- libgimpmodule->libgimpbase --> +<g id="edge36" class="edge"><title>libgimpmodule->libgimpbase</title> +<path fill="none" stroke="black" d="M413.328,-517.579C414.183,-466.967 416.483,-330.777 417.503,-270.452"/> +<polygon fill="black" stroke="black" points="421.008,-270.166 417.677,-260.108 414.009,-270.048 421.008,-270.166"/> </g> -<!-- libgimpmath->GLib --> -<g id="edge48" class="edge"><title>libgimpmath->GLib</title> -<path style="fill:none;stroke:black;" d="M472,-72C472,-64 472,-55 472,-46"/> -<polygon style="fill:black;stroke:black;" points="475.5,-46 472,-36 468.5,-46 475.5,-46"/> +<!-- app/vectors --> +<g id="node56" class="node"><title>app/vectors</title> +<ellipse fill="lawngreen" stroke="black" cx="334" cy="-463" rx="55.8614" ry="19.0919"/> +<text text-anchor="middle" x="334" y="-459.9" font-family="Times Roman,serif" font-size="14.00">app/vectors</text> </g> -<!-- libgimpthumb --> -<g id="node55" class="node"><title>libgimpthumb</title> -<ellipse style="fill:#ff7256;stroke:black;" cx="472" cy="-450" rx="75.9375" ry="18"/> -<text text-anchor="middle" x="472" y="-445.9" style="font-family:Times New Roman;font-size:14.00;">libgimpthumb</text> +<!-- app/text->app/vectors --> +<g id="edge76" class="edge"><title>app/text->app/vectors</title> +<path fill="none" stroke="black" d="M294.854,-518.708C300.933,-510.057 308.313,-499.554 315.02,-490.01"/> +<polygon fill="black" stroke="black" points="318.047,-491.79 320.933,-481.596 312.32,-487.765 318.047,-491.79"/> </g> -<!-- app/actions->libgimpthumb --> -<g id="edge54" class="edge"><title>app/actions->libgimpthumb</title> -<path style="fill:none;stroke:black;" d="M476,-504C475,-496 475,-487 474,-478"/> -<polygon style="fill:black;stroke:black;" points="477.478,-477.602 473,-468 470.512,-478.299 477.478,-477.602"/> +<!-- Pango --> +<g id="node70" class="node"><title>Pango</title> +<ellipse fill="lightblue" stroke="black" cx="225" cy="-463" rx="34.8574" ry="19.0919"/> +<text text-anchor="middle" x="225" y="-459.9" font-family="Times Roman,serif" font-size="14.00">Pango</text> </g> -<!-- app/menus --> -<g id="node57" class="node"><title>app/menus</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="667" cy="-450" rx="63.2343" ry="18"/> -<text text-anchor="middle" x="667" y="-445.9" style="font-family:Times New Roman;font-size:14.00;">app/menus</text> +<!-- app/text->Pango --> +<g id="edge78" class="edge"><title>app/text->Pango</title> +<path fill="none" stroke="black" d="M267.91,-518.708C260.905,-509.613 252.323,-498.471 244.679,-488.549"/> +<polygon fill="black" stroke="black" points="247.41,-486.359 238.535,-480.572 241.865,-490.63 247.41,-486.359"/> </g> -<!-- app/actions->app/menus --> -<g id="edge56" class="edge"><title>app/actions->app/menus</title> -<path style="fill:none;stroke:black;" d="M515,-507C545,-496 587,-480 619,-468"/> -<polygon style="fill:black;stroke:black;" points="621.015,-470.964 629,-464 618.415,-464.464 621.015,-470.964"/> +<!-- libgimpbase->libgimpcolor --> +<g id="edge28" class="edge"><title>libgimpbase->libgimpcolor</title> +<path fill="none" stroke="black" d="M418,-221.943C418,-214.149 418,-204.954 418,-196.338"/> +<polygon fill="black" stroke="black" points="421.5,-196.249 418,-186.249 414.5,-196.249 421.5,-196.249"/> </g> -<!-- app/tools --> -<g id="node59" class="node"><title>app/tools</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="216" cy="-450" rx="54.2008" ry="18"/> -<text text-anchor="middle" x="216" y="-445.9" style="font-family:Times New Roman;font-size:14.00;">app/tools</text> +<!-- libgimpconfig --> +<g id="node31" class="node"><title>libgimpconfig</title> +<ellipse fill="#ff7256" stroke="black" cx="512" cy="-315" rx="65.9683" ry="19.0919"/> +<text text-anchor="middle" x="512" y="-311.9" font-family="Times Roman,serif" font-size="14.00">libgimpconfig</text> </g> -<!-- app/actions->app/tools --> -<g id="edge58" class="edge"><title>app/actions->app/tools</title> -<path style="fill:none;stroke:black;" d="M431,-509C390,-498 331,-482 279,-468 275,-467 271,-466 267,-465"/> -<polygon style="fill:black;stroke:black;" points="267.584,-461.521 257,-462 265.573,-468.226 267.584,-461.521"/> +<!-- libgimpconfig->libgimpbase --> +<g id="edge30" class="edge"><title>libgimpconfig->libgimpbase</title> +<path fill="none" stroke="black" d="M489.245,-297.087C477.006,-287.452 461.747,-275.439 448.493,-265.005"/> +<polygon fill="black" stroke="black" points="450.568,-262.184 440.545,-258.748 446.238,-267.684 450.568,-262.184"/> </g> -<!-- app/display --> -<g id="node36" class="node"><title>app/display</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="516" cy="-810" rx="64.1231" ry="18"/> -<text text-anchor="middle" x="516" y="-805.9" style="font-family:Times New Roman;font-size:14.00;">app/display</text> +<!-- libgimpthumb->libgimpbase --> +<g id="edge38" class="edge"><title>libgimpthumb->libgimpbase</title> +<path fill="none" stroke="black" d="M72.6671,-369.993C80.1177,-348.474 95.3615,-314.069 121,-296 157.281,-270.43 275.454,-254.627 351.346,-246.855"/> +<polygon fill="black" stroke="black" points="352.16,-250.291 361.761,-245.811 351.462,-243.326 352.16,-250.291"/> </g> -<!-- app/display->app/widgets --> -<g id="edge32" class="edge"><title>app/display->app/widgets</title> -<path style="fill:none;stroke:black;" d="M516,-792C516,-784 516,-775 516,-766"/> -<polygon style="fill:black;stroke:black;" points="519.5,-766 516,-756 512.5,-766 519.5,-766"/> +<!-- Cairo --> +<g id="node38" class="node"><title>Cairo</title> +<ellipse fill="lightblue" stroke="black" cx="241" cy="-389" rx="33.234" ry="19.0919"/> +<text text-anchor="middle" x="241" y="-385.9" font-family="Times Roman,serif" font-size="14.00">Cairo</text> </g> -<!-- app/base --> -<g id="node40" class="node"><title>app/base</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="359" cy="-954" rx="53.0059" ry="18"/> -<text text-anchor="middle" x="359" y="-949.9" style="font-family:Times New Roman;font-size:14.00;">app/base</text> +<!-- app/actions --> +<g id="node39" class="node"><title>app/actions</title> +<ellipse fill="lawngreen" stroke="black" cx="799" cy="-315" rx="55.1543" ry="19.0919"/> +<text text-anchor="middle" x="799" y="-311.9" font-family="Times Roman,serif" font-size="14.00">app/actions</text> </g> -<!-- app/paint-funcs->app/base --> -<g id="edge36" class="edge"><title>app/paint-funcs->app/base</title> -<path style="fill:none;stroke:black;" d="M359,-1008C359,-1000 359,-991 359,-982"/> -<polygon style="fill:black;stroke:black;" points="362.5,-982 359,-972 355.5,-982 362.5,-982"/> +<!-- app/dialogs --> +<g id="node40" class="node"><title>app/dialogs</title> +<ellipse fill="lawngreen" stroke="black" cx="756" cy="-685" rx="55.8614" ry="19.0919"/> +<text text-anchor="middle" x="756" y="-681.9" font-family="Times Roman,serif" font-size="14.00">app/dialogs</text> </g> -<!-- app/config --> -<g id="node42" class="node"><title>app/config</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="516" cy="-882" rx="59.7599" ry="18"/> -<text text-anchor="middle" x="516" y="-877.9" style="font-family:Times New Roman;font-size:14.00;">app/config</text> +<!-- app/actions->app/dialogs --> +<g id="edge40" class="edge"><title>app/actions->app/dialogs</title> +<path fill="none" stroke="black" d="M807.896,-334.161C819.955,-361.932 840,-415.275 840,-463 840,-537 840,-537 840,-537 840,-581.164 827.852,-592.208 805,-630 798.654,-640.495 790.185,-650.846 782.075,-659.688"/> +<polygon fill="black" stroke="black" points="779.448,-657.372 775.103,-667.035 784.526,-662.19 779.448,-657.372"/> </g> -<!-- app/base->app/config --> -<g id="edge38" class="edge"><title>app/base->app/config</title> -<path style="fill:none;stroke:black;" d="M391,-939C415,-928 448,-913 474,-901"/> -<polygon style="fill:black;stroke:black;" points="475.283,-904.26 483,-897 472.44,-897.863 475.283,-904.26"/> +<!-- app/gui --> +<g id="node42" class="node"><title>app/gui</title> +<ellipse fill="lawngreen" stroke="black" cx="756" cy="-611" rx="39.8075" ry="19.0919"/> +<text text-anchor="middle" x="756" y="-607.9" font-family="Times Roman,serif" font-size="14.00">app/gui</text> </g> -<!-- app/composite --> -<g id="node44" class="node"><title>app/composite</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="359" cy="-882" rx="79.2166" ry="18"/> -<text text-anchor="middle" x="359" y="-877.9" style="font-family:Times New Roman;font-size:14.00;">app/composite</text> +<!-- app/dialogs->app/gui --> +<g id="edge42" class="edge"><title>app/dialogs->app/gui</title> +<path fill="none" stroke="black" d="M756,-665.943C756,-658.149 756,-648.954 756,-640.338"/> +<polygon fill="black" stroke="black" points="759.5,-640.249 756,-630.249 752.5,-640.249 759.5,-640.249"/> </g> -<!-- app/base->app/composite --> -<g id="edge40" class="edge"><title>app/base->app/composite</title> -<path style="fill:none;stroke:black;" d="M353,-936C352,-928 352,-919 352,-910"/> -<polygon style="fill:black;stroke:black;" points="355.488,-910.299 353,-900 348.522,-909.602 355.488,-910.299"/> +<!-- app/display --> +<g id="node44" class="node"><title>app/display</title> +<ellipse fill="lawngreen" stroke="black" cx="756" cy="-537" rx="55.8614" ry="19.0919"/> +<text text-anchor="middle" x="756" y="-533.9" font-family="Times Roman,serif" font-size="14.00">app/display</text> </g> -<!-- app/config->app/display --> -<g id="edge42" class="edge"><title>app/config->app/display</title> -<path style="fill:none;stroke:black;" d="M516,-864C516,-856 516,-847 516,-838"/> -<polygon style="fill:black;stroke:black;" points="519.5,-838 516,-828 512.5,-838 519.5,-838"/> +<!-- app/gui->app/display --> +<g id="edge44" class="edge"><title>app/gui->app/display</title> +<path fill="none" stroke="black" d="M756,-591.943C756,-584.149 756,-574.954 756,-566.338"/> +<polygon fill="black" stroke="black" points="759.5,-566.249 756,-556.249 752.5,-566.249 759.5,-566.249"/> </g> -<!-- app/composite->app/base --> -<g id="edge44" class="edge"><title>app/composite->app/base</title> -<path style="fill:none;stroke:black;" d="M365,-900C366,-908 366,-917 366,-926"/> -<polygon style="fill:black;stroke:black;" points="362.512,-925.701 365,-936 369.478,-926.398 362.512,-925.701"/> +<!-- app/widgets --> +<g id="node50" class="node"><title>app/widgets</title> +<ellipse fill="lawngreen" stroke="black" cx="754" cy="-463" rx="57.9828" ry="19.0919"/> +<text text-anchor="middle" x="754" y="-459.9" font-family="Times Roman,serif" font-size="14.00">app/widgets</text> </g> -<!-- libgimpconfig --> -<g id="node48" class="node"><title>libgimpconfig</title> -<ellipse style="fill:#ff7256;stroke:black;" cx="371" cy="-306" rx="72.9626" ry="18"/> -<text text-anchor="middle" x="371" y="-301.9" style="font-family:Times New Roman;font-size:14.00;">libgimpconfig</text> +<!-- app/display->app/widgets --> +<g id="edge50" class="edge"><title>app/display->app/widgets</title> +<path fill="none" stroke="black" d="M755.485,-517.943C755.274,-510.149 755.026,-500.954 754.793,-492.338"/> +<polygon fill="black" stroke="black" points="758.289,-492.151 754.52,-482.249 751.292,-492.34 758.289,-492.151"/> </g> -<!-- libgimpconfig->libgimpbase --> -<g id="edge46" class="edge"><title>libgimpconfig->libgimpbase</title> -<path style="fill:none;stroke:black;" d="M395,-289C408,-280 425,-268 440,-257"/> -<polygon style="fill:black;stroke:black;" points="442.1,-259.8 448,-251 437.9,-254.2 442.1,-259.8"/> +<!-- libgimpwidgets --> +<g id="node46" class="node"><title>libgimpwidgets</title> +<ellipse fill="#ff7256" stroke="black" cx="573" cy="-537" rx="70.9184" ry="19.0919"/> +<text text-anchor="middle" x="573" y="-533.9" font-family="Times Roman,serif" font-size="14.00">libgimpwidgets</text> </g> -<!-- app/text --> -<g id="node51" class="node"><title>app/text</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="51" cy="-378" rx="50.9221" ry="18"/> -<text text-anchor="middle" x="51" y="-373.9" style="font-family:Times New Roman;font-size:14.00;">app/text</text> +<!-- libgimpwidgets->libgimpconfig --> +<g id="edge46" class="edge"><title>libgimpwidgets->libgimpconfig</title> +<path fill="none" stroke="black" d="M554.592,-518.249C545.949,-508.295 536.384,-495.374 531,-482 512.661,-436.447 510.223,-378.617 510.704,-344.337"/> +<polygon fill="black" stroke="black" points="514.209,-344.16 510.947,-334.08 507.211,-343.994 514.209,-344.16"/> </g> -<!-- app/text->app/vectors --> -<g id="edge50" class="edge"><title>app/text->app/vectors</title> -<path style="fill:none;stroke:black;" d="M56,-396C63,-423 75,-476 75,-522 75,-1386 75,-1386 75,-1386 75,-1428 95,-1474 109,-1503"/> -<polygon style="fill:black;stroke:black;" points="106.084,-1504.96 114,-1512 112.203,-1501.56 106.084,-1504.96"/> +<!-- GTK+ --> +<g id="node48" class="node"><title>GTK+</title> +<ellipse fill="lightblue" stroke="black" cx="577" cy="-463" rx="36.977" ry="19.0919"/> +<text text-anchor="middle" x="577" y="-459.9" font-family="Times Roman,serif" font-size="14.00">GTK+</text> </g> -<!-- Pango --> -<g id="node53" class="node"><title>Pango</title> -<ellipse style="fill:lightblue;stroke:black;" cx="48" cy="-306" rx="39.8056" ry="18"/> -<text text-anchor="middle" x="48" y="-301.9" style="font-family:Times New Roman;font-size:14.00;">Pango</text> +<!-- libgimpwidgets->GTK+ --> +<g id="edge48" class="edge"><title>libgimpwidgets->GTK+</title> +<path fill="none" stroke="black" d="M574.03,-517.943C574.451,-510.149 574.948,-500.954 575.414,-492.338"/> +<polygon fill="black" stroke="black" points="578.915,-492.424 575.959,-482.249 571.925,-492.046 578.915,-492.424"/> </g> -<!-- app/text->Pango --> -<g id="edge52" class="edge"><title>app/text->Pango</title> -<path style="fill:none;stroke:black;" d="M50,-360C49,-352 49,-343 49,-334"/> -<polygon style="fill:black;stroke:black;" points="52.5001,-334 49,-324 45.5001,-334 52.5001,-334"/> +<!-- app/menus --> +<g id="node52" class="node"><title>app/menus</title> +<ellipse fill="lawngreen" stroke="black" cx="756" cy="-389" rx="53.2379" ry="19.0919"/> +<text text-anchor="middle" x="756" y="-385.9" font-family="Times Roman,serif" font-size="14.00">app/menus</text> </g> -<!-- libgimpthumb->libgimpbase --> -<g id="edge60" class="edge"><title>libgimpthumb->libgimpbase</title> -<path style="fill:none;stroke:black;" d="M472,-432C472,-394 472,-307 472,-262"/> -<polygon style="fill:black;stroke:black;" points="475.5,-262 472,-252 468.5,-262 475.5,-262"/> +<!-- app/widgets->app/menus --> +<g id="edge52" class="edge"><title>app/widgets->app/menus</title> +<path fill="none" stroke="black" d="M754.515,-443.943C754.726,-436.149 754.974,-426.954 755.207,-418.338"/> +<polygon fill="black" stroke="black" points="758.708,-418.34 755.48,-408.249 751.711,-418.151 758.708,-418.34"/> </g> -<!-- app/menus->app/plug-in --> -<g id="edge62" class="edge"><title>app/menus->app/plug-in</title> -<path style="fill:none;stroke:black;" d="M661,-468C653,-495 640,-548 640,-594 640,-1170 640,-1170 640,-1170 640,-1263 514,-1296 431,-1308"/> -<polygon style="fill:black;stroke:black;" points="430.602,-1304.52 421,-1309 431.299,-1311.49 430.602,-1304.52"/> +<!-- app/tools --> +<g id="node54" class="node"><title>app/tools</title> +<ellipse fill="lawngreen" stroke="black" cx="641" cy="-759" rx="46.1672" ry="19.0919"/> +<text text-anchor="middle" x="641" y="-755.9" font-family="Times Roman,serif" font-size="14.00">app/tools</text> +</g> +<!-- app/widgets->app/tools --> +<g id="edge54" class="edge"><title>app/widgets->app/tools</title> +<path fill="none" stroke="black" d="M727.313,-480.099C714.423,-489.715 699.864,-502.832 691,-518 651.098,-586.285 642.758,-681.803 641.199,-729.484"/> +<polygon fill="black" stroke="black" points="637.694,-729.637 640.946,-739.72 644.692,-729.81 637.694,-729.637"/> +</g> +<!-- app/menus->app/actions --> +<g id="edge66" class="edge"><title>app/menus->app/actions</title> +<path fill="none" stroke="black" d="M766.851,-370.327C771.74,-361.913 777.611,-351.809 782.991,-342.55"/> +<polygon fill="black" stroke="black" points="786.155,-344.072 788.153,-333.667 780.102,-340.555 786.155,-344.072"/> +</g> +<!-- app/tools->app/core --> +<g id="edge68" class="edge"><title>app/tools->app/core</title> +<path fill="none" stroke="black" d="M601.127,-749.326C545.412,-735.808 444.384,-711.296 384.418,-696.747"/> +<polygon fill="black" stroke="black" points="384.983,-693.283 374.44,-694.326 383.333,-700.086 384.983,-693.283"/> +</g> +<!-- app/tools->app/dialogs --> +<g id="edge70" class="edge"><title>app/tools->app/dialogs</title> +<path fill="none" stroke="black" d="M665.953,-742.943C682.076,-732.569 703.289,-718.918 721.076,-707.473"/> +<polygon fill="black" stroke="black" points="722.979,-710.41 729.495,-702.055 719.191,-704.524 722.979,-710.41"/> </g> -<!-- app/tools->app/text --> -<g id="edge64" class="edge"><title>app/tools->app/text</title> -<path style="fill:none;stroke:black;" d="M183,-436C157,-424 120,-409 92,-396"/> -<polygon style="fill:black;stroke:black;" points="93.5596,-392.863 83,-392 90.7166,-399.26 93.5596,-392.863"/> +<!-- app/tools->libgimpwidgets --> +<g id="edge72" class="edge"><title>app/tools->libgimpwidgets</title> +<path fill="none" stroke="black" d="M638.418,-739.973C633.758,-708.448 622.562,-643.73 603,-592 599.525,-582.81 594.767,-573.258 590.065,-564.744"/> +<polygon fill="black" stroke="black" points="593.052,-562.918 585.047,-555.978 586.977,-566.395 593.052,-562.918"/> </g> -<!-- app/gegl --> -<g id="node64" class="node"><title>app/gegl</title> -<ellipse style="fill:lawngreen;stroke:black;" cx="171" cy="-378" rx="50.9221" ry="18"/> -<text text-anchor="middle" x="171" y="-373.9" style="font-family:Times New Roman;font-size:14.00;">app/gegl</text> +<!-- app/vectors->Cairo --> +<g id="edge56" class="edge"><title>app/vectors->Cairo</title> +<path fill="none" stroke="black" d="M311.96,-445.463C298.849,-435.031 282.111,-421.712 268.184,-410.63"/> +<polygon fill="black" stroke="black" points="270.362,-407.891 260.358,-404.403 266.004,-413.368 270.362,-407.891"/> </g> -<!-- app/tools->app/gegl --> -<g id="edge66" class="edge"><title>app/tools->app/gegl</title> -<path style="fill:none;stroke:black;" d="M205,-432C200,-424 193,-414 187,-404"/> -<polygon style="fill:black;stroke:black;" points="190.268,-402.625 182,-396 184.332,-406.335 190.268,-402.625"/> +<!-- app/paint --> +<g id="node58" class="node"><title>app/paint</title> +<ellipse fill="lawngreen" stroke="black" cx="339" cy="-389" rx="46.8775" ry="19.0919"/> +<text text-anchor="middle" x="339" y="-385.9" font-family="Times Roman,serif" font-size="14.00">app/paint</text> </g> -<!-- libgimpwidgets --> -<g id="node66" class="node"><title>libgimpwidgets</title> -<ellipse style="fill:#ff7256;stroke:black;" cx="329" cy="-378" rx="82.1898" ry="18"/> -<text text-anchor="middle" x="329" y="-373.9" style="font-family:Times New Roman;font-size:14.00;">libgimpwidgets</text> +<!-- app/vectors->app/paint --> +<g id="edge58" class="edge"><title>app/vectors->app/paint</title> +<path fill="none" stroke="black" d="M335.288,-443.943C335.814,-436.149 336.436,-426.954 337.018,-418.338"/> +<polygon fill="black" stroke="black" points="340.517,-418.463 337.699,-408.249 333.533,-417.991 340.517,-418.463"/> </g> -<!-- app/tools->libgimpwidgets --> -<g id="edge68" class="edge"><title>app/tools->libgimpwidgets</title> -<path style="fill:none;stroke:black;" d="M241,-434C256,-425 276,-412 293,-401"/> -<polygon style="fill:black;stroke:black;" points="295.621,-403.459 302,-395 291.738,-397.635 295.621,-403.459"/> +<!-- app/paint->GEGL --> +<g id="edge60" class="edge"><title>app/paint->GEGL</title> +<path fill="none" stroke="black" d="M339,-369.943C339,-362.149 339,-352.954 339,-344.338"/> +<polygon fill="black" stroke="black" points="342.5,-344.249 339,-334.249 335.5,-344.249 342.5,-344.249"/> </g> -<!-- app/gegl->app/core --> -<g id="edge70" class="edge"><title>app/gegl->app/core</title> -<path style="fill:none;stroke:black;" d="M163,-396C152,-423 134,-475 134,-522 134,-1314 134,-1314 134,-1314 134,-1356 151,-1402 163,-1431"/> -<polygon style="fill:black;stroke:black;" points="159.74,-1432.28 167,-1440 166.137,-1429.44 159.74,-1432.28"/> +<!-- app/paint->libgimpconfig --> +<g id="edge62" class="edge"><title>app/paint->libgimpconfig</title> +<path fill="none" stroke="black" d="M371.54,-375.081C398.124,-363.71 436.03,-347.496 465.765,-334.777"/> +<polygon fill="black" stroke="black" points="467.29,-337.931 475.108,-330.781 464.537,-331.495 467.29,-337.931"/> </g> -<!-- app/gegl->GEGL --> -<g id="edge72" class="edge"><title>app/gegl->GEGL</title> -<path style="fill:none;stroke:black;" d="M164,-360C161,-352 158,-343 155,-334"/> -<polygon style="fill:black;stroke:black;" points="158.226,-332.573 152,-324 151.521,-334.584 158.226,-332.573"/> +<!-- app/paint-funcs --> +<g id="node62" class="node"><title>app/paint-funcs</title> +<ellipse fill="lawngreen" stroke="black" cx="201" cy="-315" rx="70.9184" ry="19.0919"/> +<text text-anchor="middle" x="201" y="-311.9" font-family="Times Roman,serif" font-size="14.00">app/paint-funcs</text> </g> -<!-- libgimpwidgets->GTK+ --> -<g id="edge74" class="edge"><title>libgimpwidgets->GTK+</title> -<path style="fill:none;stroke:black;" d="M308,-361C296,-351 281,-338 268,-328"/> -<polygon style="fill:black;stroke:black;" points="270.1,-325.2 260,-322 265.9,-330.8 270.1,-325.2"/> +<!-- app/paint->app/paint-funcs --> +<g id="edge64" class="edge"><title>app/paint->app/paint-funcs</title> +<path fill="none" stroke="black" d="M310.406,-373.667C290.562,-363.026 263.832,-348.692 241.761,-336.857"/> +<polygon fill="black" stroke="black" points="243.401,-333.765 232.934,-332.124 240.092,-339.934 243.401,-333.765"/> </g> -<!-- libgimpwidgets->libgimpconfig --> -<g id="edge76" class="edge"><title>libgimpwidgets->libgimpconfig</title> -<path style="fill:none;stroke:black;" d="M340,-360C344,-352 350,-342 356,-333"/> -<polygon style="fill:black;stroke:black;" points="359.203,-334.441 361,-324 353.084,-331.042 359.203,-334.441"/> +<!-- app/paint-funcs->app/composite --> +<g id="edge74" class="edge"><title>app/paint-funcs->app/composite</title> +<path fill="none" stroke="black" d="M192.538,-334.205C181.067,-362.03 162,-415.437 162,-463 162,-759 162,-759 162,-759 162,-800.375 167.49,-847.969 171.594,-877.768"/> +<polygon fill="black" stroke="black" points="168.161,-878.487 173.031,-887.896 175.092,-877.504 168.161,-878.487"/> </g> <!-- libgimp --> <g id="node72" class="node"><title>libgimp</title> -<ellipse style="fill:#ff7256;stroke:black;" cx="333" cy="-450" rx="45.1673" ry="18"/> -<text text-anchor="middle" x="333" y="-445.9" style="font-family:Times New Roman;font-size:14.00;">libgimp</text> +<ellipse fill="#ff7256" stroke="black" cx="553" cy="-611" rx="41.2167" ry="19.0919"/> +<text text-anchor="middle" x="553" y="-607.9" font-family="Times Roman,serif" font-size="14.00">libgimp</text> </g> <!-- libgimp->libgimpmodule --> -<g id="edge78" class="edge"><title>libgimp->libgimpmodule</title> -<path style="fill:none;stroke:black;" d="M367,-438C374,-436 381,-434 387,-432 430,-418 479,-404 517,-395"/> -<polygon style="fill:black;stroke:black;" points="518.427,-398.226 527,-392 516.416,-391.521 518.427,-398.226"/> +<g id="edge80" class="edge"><title>libgimp->libgimpmodule</title> +<path fill="none" stroke="black" d="M525.674,-596.556C505.302,-585.788 477.131,-570.898 454.054,-558.7"/> +<polygon fill="black" stroke="black" points="455.641,-555.58 445.164,-554.001 452.369,-561.768 455.641,-555.58"/> </g> <!-- libgimp->libgimpwidgets --> -<g id="edge80" class="edge"><title>libgimp->libgimpwidgets</title> -<path style="fill:none;stroke:black;" d="M332,-432C331,-424 331,-415 331,-406"/> -<polygon style="fill:black;stroke:black;" points="334.478,-405.602 330,-396 327.512,-406.299 334.478,-405.602"/> +<g id="edge82" class="edge"><title>libgimp->libgimpwidgets</title> +<path fill="none" stroke="black" d="M558.15,-591.943C560.297,-584.002 562.836,-574.606 565.203,-565.851"/> +<polygon fill="black" stroke="black" points="568.637,-566.559 567.867,-555.992 561.879,-564.733 568.637,-566.559"/> +</g> +<!-- app/tests --> +<g id="node75" class="node"><title>app/tests</title> +<ellipse fill="lawngreen" stroke="black" cx="756" cy="-759" rx="44.7575" ry="19.0919"/> +<text text-anchor="middle" x="756" y="-755.9" font-family="Times Roman,serif" font-size="14.00">app/tests</text> +</g> +<!-- app/tests->app/dialogs --> +<g id="edge84" class="edge"><title>app/tests->app/dialogs</title> +<path fill="none" stroke="black" d="M756,-739.943C756,-732.149 756,-722.954 756,-714.338"/> +<polygon fill="black" stroke="black" points="759.5,-714.249 756,-704.249 752.5,-714.249 759.5,-714.249"/> </g> </g> </svg> -- 1.6.6 _______________________________________________ Gimp-developer mailing list Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer