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
);