From 63bd108afb7a5168bc42a2e79e5d9a9b99c685a4 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Wed, 14 Mar 2012 10:26:33 +0100 Subject: [PATCH] app: always use GEGL to invert drawables and remove the now useless gimpdrawable-invert.[ch]. --- app/actions/drawable-commands.c | 6 ++- app/core/Makefile.am | 2 - app/core/gimpdrawable-invert.c | 65 --------------------------------- app/core/gimpdrawable-invert.h | 26 ------------- app/core/gimplayer.c | 1 - app/pdb/color-cmds.c | 17 +++++---- tools/pdbgen/pdb/color.pdb | 17 +++++---- 7 files changed, 24 insertions(+), 110 deletions(-) delete mode 100644 app/core/gimpdrawable-invert.c delete mode 100644 app/core/gimpdrawable-invert.h diff --git a/app/actions/drawable-commands.c b/app/actions/drawable-commands.c index b0e5eb468b..9191b26704 100644 --- a/app/actions/drawable-commands.c +++ b/app/actions/drawable-commands.c @@ -26,8 +26,8 @@ #include "core/gimp.h" #include "core/gimpdrawable-equalize.h" -#include "core/gimpdrawable-invert.h" #include "core/gimpdrawable-levels.h" +#include "core/gimpdrawable-operation.h" #include "core/gimpimage.h" #include "core/gimpimage-undo.h" #include "core/gimpitem-linked.h" @@ -87,7 +87,9 @@ drawable_invert_cmd_callback (GtkAction *action, return; } - gimp_drawable_invert (drawable, GIMP_PROGRESS (display)); + gimp_drawable_apply_operation_by_name (drawable, GIMP_PROGRESS (display), + _("Invert"), "gegl:invert", + NULL, TRUE); gimp_image_flush (image); } diff --git a/app/core/Makefile.am b/app/core/Makefile.am index b98a0d097b..fbe0dccf8e 100644 --- a/app/core/Makefile.am +++ b/app/core/Makefile.am @@ -140,8 +140,6 @@ libappcore_a_sources = \ gimpdrawable-histogram.h \ gimpdrawable-hue-saturation.c \ gimpdrawable-hue-saturation.h \ - gimpdrawable-invert.c \ - gimpdrawable-invert.h \ gimpdrawable-levels.c \ gimpdrawable-levels.h \ gimpdrawable-offset.c \ diff --git a/app/core/gimpdrawable-invert.c b/app/core/gimpdrawable-invert.c deleted file mode 100644 index acb5e454db..0000000000 --- a/app/core/gimpdrawable-invert.c +++ /dev/null @@ -1,65 +0,0 @@ -/* 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 . - */ - -#include "config.h" - -#include - -#include "core-types.h" - -#include "base/gimplut.h" -#include "base/lut-funcs.h" - -/* temp */ -#include "gimp.h" -#include "gimpimage.h" - -#include "gimpdrawable.h" -#include "gimpdrawable-invert.h" -#include "gimpdrawable-operation.h" -#include "gimpdrawable-process.h" -#include "gimpprogress.h" - -#include "gimp-intl.h" - - -void -gimp_drawable_invert (GimpDrawable *drawable, - GimpProgress *progress) -{ - g_return_if_fail (GIMP_IS_DRAWABLE (drawable)); - g_return_if_fail (gimp_item_is_attached (GIMP_ITEM (drawable))); - g_return_if_fail (progress == NULL || GIMP_IS_PROGRESS (progress)); - - if (gimp_use_gegl (gimp_item_get_image (GIMP_ITEM (drawable))->gimp)) - { - GeglNode *invert; - - invert = g_object_new (GEGL_TYPE_NODE, "operation", "gegl:invert", NULL); - - gimp_drawable_apply_operation (drawable, progress, _("Invert"), - invert, TRUE); - g_object_unref (invert); - } - else - { - GimpLut *lut = invert_lut_new (gimp_drawable_bytes (drawable)); - - gimp_drawable_process_lut (drawable, progress, _("Invert"), lut); - gimp_lut_free (lut); - } -} diff --git a/app/core/gimpdrawable-invert.h b/app/core/gimpdrawable-invert.h deleted file mode 100644 index ba2c30b5ae..0000000000 --- a/app/core/gimpdrawable-invert.h +++ /dev/null @@ -1,26 +0,0 @@ -/* 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 . - */ - -#ifndef __GIMP_DRAWABLE_INVERT_H__ -#define __GIMP_DRAWABLE_INVERT_H__ - - -void gimp_drawable_invert (GimpDrawable *drawable, - GimpProgress *progress); - - -#endif /* __GIMP_DRAWABLE_INVERT_H__ */ diff --git a/app/core/gimplayer.c b/app/core/gimplayer.c index 5666d27bec..1853acf113 100644 --- a/app/core/gimplayer.c +++ b/app/core/gimplayer.c @@ -40,7 +40,6 @@ #include "gimpcontext.h" #include "gimpcontainer.h" #include "gimpdrawable-convert.h" -#include "gimpdrawable-invert.h" #include "gimperror.h" #include "gimpimage-undo-push.h" #include "gimpimage-undo.h" diff --git a/app/pdb/color-cmds.c b/app/pdb/color-cmds.c index ca80b52cb2..db1a1304a9 100644 --- a/app/pdb/color-cmds.c +++ b/app/pdb/color-cmds.c @@ -30,7 +30,6 @@ #include "core/gimpdrawable-equalize.h" #include "core/gimpdrawable-histogram.h" #include "core/gimpdrawable-hue-saturation.h" -#include "core/gimpdrawable-invert.h" #include "core/gimpdrawable-levels.h" #include "core/gimpdrawable-operation.h" #include "core/gimpdrawable.h" @@ -348,13 +347,17 @@ invert_invoker (GimpProcedure *procedure, if (success) { - if (! gimp_pdb_item_is_attached (GIMP_ITEM (drawable), NULL, TRUE, error) || - ! gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error) || - gimp_drawable_is_indexed (drawable)) + if (gimp_pdb_item_is_attached (GIMP_ITEM (drawable), NULL, TRUE, error) && + gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error) && + ! gimp_drawable_is_indexed (drawable)) + { + gimp_drawable_apply_operation_by_name (drawable, progress, + _("Invert"), + "gegl:invert", + NULL, TRUE); + } + else success = FALSE; - - if (success) - gimp_drawable_invert (drawable, progress); } return gimp_procedure_get_return_values (procedure, success, diff --git a/tools/pdbgen/pdb/color.pdb b/tools/pdbgen/pdb/color.pdb index 1c5d36252a..c56b816d31 100644 --- a/tools/pdbgen/pdb/color.pdb +++ b/tools/pdbgen/pdb/color.pdb @@ -361,16 +361,19 @@ HELP ); %invoke = ( - headers => [ qw("core/gimpdrawable-invert.h") ], code => <<'CODE' { - if (! gimp_pdb_item_is_attached (GIMP_ITEM (drawable), NULL, TRUE, error) || - ! gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error) || - gimp_drawable_is_indexed (drawable)) + if (gimp_pdb_item_is_attached (GIMP_ITEM (drawable), NULL, TRUE, error) && + gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error) && + ! gimp_drawable_is_indexed (drawable)) + { + gimp_drawable_apply_operation_by_name (drawable, progress, + _("Invert"), + "gegl:invert", + NULL, TRUE); + } + else success = FALSE; - - if (success) - gimp_drawable_invert (drawable, progress); } CODE );