diff --git a/app/base/Makefile.am b/app/base/Makefile.am
index f1dbb7d8a6..8f55bdc305 100644
--- a/app/base/Makefile.am
+++ b/app/base/Makefile.am
@@ -52,8 +52,6 @@ libappbase_a_SOURCES = \
siox.h \
temp-buf.c \
temp-buf.h \
- threshold.c \
- threshold.h \
tile.c \
tile.h \
tile-private.h \
diff --git a/app/base/threshold.c b/app/base/threshold.c
deleted file mode 100644
index f744c13148..0000000000
--- a/app/base/threshold.c
+++ /dev/null
@@ -1,81 +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 "base-types.h"
-
-#include "pixel-region.h"
-#include "threshold.h"
-
-
-void
-threshold (Threshold *tr,
- PixelRegion *srcPR,
- PixelRegion *destPR)
-{
- const guchar *src, *s;
- guchar *dest, *d;
- gboolean has_alpha;
- gint alpha;
- gint w, h, b;
- gint value;
-
- h = srcPR->h;
- src = srcPR->data;
- dest = destPR->data;
- has_alpha = pixel_region_has_alpha (srcPR);
- alpha = has_alpha ? srcPR->bytes - 1 : srcPR->bytes;
-
- while (h--)
- {
- w = srcPR->w;
- s = src;
- d = dest;
-
- while (w--)
- {
- if (tr->color)
- {
- value = MAX (s[RED], s[GREEN]);
- value = MAX (value, s[BLUE]);
-
- value = (value >= tr->low_threshold &&
- value <= tr->high_threshold ) ? 255 : 0;
- }
- else
- {
- value = (s[GRAY] >= tr->low_threshold &&
- s[GRAY] <= tr->high_threshold) ? 255 : 0;
- }
-
- for (b = 0; b < alpha; b++)
- d[b] = value;
-
- if (has_alpha)
- d[alpha] = s[alpha];
-
- s += srcPR->bytes;
- d += destPR->bytes;
- }
-
- src += srcPR->rowstride;
- dest += destPR->rowstride;
- }
-}
diff --git a/app/base/threshold.h b/app/base/threshold.h
deleted file mode 100644
index d7389f4131..0000000000
--- a/app/base/threshold.h
+++ /dev/null
@@ -1,35 +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 __THRESHOLD_H__
-#define __THRESHOLD_H__
-
-
-struct _Threshold
-{
- gboolean color;
- gint low_threshold;
- gint high_threshold;
-};
-
-
-void threshold (Threshold *tr,
- PixelRegion *srcPR,
- PixelRegion *destPR);
-
-
-#endif /* __THRESHOLD_H__ */
diff --git a/app/core/gimpdrawable-threshold.c b/app/core/gimpdrawable-threshold.c
index 2835b21ec8..2f093b4017 100644
--- a/app/core/gimpdrawable-threshold.c
+++ b/app/core/gimpdrawable-threshold.c
@@ -21,18 +21,11 @@
#include "core-types.h"
-#include "base/threshold.h"
-
#include "gegl/gimpthresholdconfig.h"
-/* temp */
-#include "gimp.h"
-#include "gimpimage.h"
-
#include "gimpdrawable.h"
#include "gimpdrawable-operation.h"
#include "gimpdrawable-threshold.h"
-#include "gimpdrawable-process.h"
#include "gimp-intl.h"
@@ -45,42 +38,29 @@ gimp_drawable_threshold (GimpDrawable *drawable,
gint low,
gint high)
{
- GimpThresholdConfig *config;
+ GeglNode *node;
+ GObject *config;
g_return_if_fail (GIMP_IS_DRAWABLE (drawable));
g_return_if_fail (! gimp_drawable_is_indexed (drawable));
g_return_if_fail (gimp_item_is_attached (GIMP_ITEM (drawable)));
+ node = g_object_new (GEGL_TYPE_NODE,
+ "operation", "gimp:threshold",
+ NULL);
+
config = g_object_new (GIMP_TYPE_THRESHOLD_CONFIG,
"low", low / 255.0,
"high", high / 255.0,
NULL);
- if (gimp_use_gegl (gimp_item_get_image (GIMP_ITEM (drawable))->gimp))
- {
- GeglNode *node;
-
- node = g_object_new (GEGL_TYPE_NODE,
- "operation", "gimp:threshold",
- NULL);
- gegl_node_set (node,
- "config", config,
- NULL);
-
- gimp_drawable_apply_operation (drawable, progress, _("Threshold"),
- node, TRUE);
- g_object_unref (node);
- }
- else
- {
- Threshold cruft;
-
- gimp_threshold_config_to_cruft (config, &cruft,
- gimp_drawable_is_rgb (drawable));
-
- gimp_drawable_process (drawable, progress, _("Threshold"),
- (PixelProcessorFunc) threshold, &cruft);
- }
+ gegl_node_set (node,
+ "config", config,
+ NULL);
g_object_unref (config);
+
+ gimp_drawable_apply_operation (drawable, progress, _("Threshold"),
+ node, TRUE);
+ g_object_unref (node);
}
diff --git a/app/gegl/gimpthresholdconfig.c b/app/gegl/gimpthresholdconfig.c
index 8892f8d0b7..cff90b35b3 100644
--- a/app/gegl/gimpthresholdconfig.c
+++ b/app/gegl/gimpthresholdconfig.c
@@ -26,9 +26,6 @@
#include "gimp-gegl-types.h"
-/* temp cruft */
-#include "base/threshold.h"
-
#include "gimpthresholdconfig.h"
@@ -131,19 +128,3 @@ gimp_threshold_config_set_property (GObject *object,
break;
}
}
-
-
-/* temp cruft */
-
-void
-gimp_threshold_config_to_cruft (GimpThresholdConfig *config,
- Threshold *cruft,
- gboolean color)
-{
- g_return_if_fail (GIMP_IS_THRESHOLD_CONFIG (config));
- g_return_if_fail (cruft != NULL);
-
- cruft->low_threshold = config->low * 255.999;
- cruft->high_threshold = config->high * 255.999;
- cruft->color = color;
-}
diff --git a/app/gegl/gimpthresholdconfig.h b/app/gegl/gimpthresholdconfig.h
index 0fef784fd3..f4a14f7aa9 100644
--- a/app/gegl/gimpthresholdconfig.h
+++ b/app/gegl/gimpthresholdconfig.h
@@ -51,10 +51,5 @@ struct _GimpThresholdConfigClass
GType gimp_threshold_config_get_type (void) G_GNUC_CONST;
-/* temp cruft */
-void gimp_threshold_config_to_cruft (GimpThresholdConfig *config,
- Threshold *cruft,
- gboolean color);
-
#endif /* __GIMP_THRESHOLD_CONFIG_H__ */
diff --git a/app/tools/gimpthresholdtool.c b/app/tools/gimpthresholdtool.c
index 69628c7175..8738c3750e 100644
--- a/app/tools/gimpthresholdtool.c
+++ b/app/tools/gimpthresholdtool.c
@@ -26,7 +26,6 @@
#include "tools-types.h"
#include "base/gimphistogram.h"
-#include "base/threshold.h"
#include "gegl/gimpthresholdconfig.h"
@@ -57,7 +56,6 @@ static gboolean gimp_threshold_tool_initialize (GimpTool *tool,
static GeglNode * gimp_threshold_tool_get_operation (GimpImageMapTool *im_tool,
GObject **config);
-static void gimp_threshold_tool_map (GimpImageMapTool *im_tool);
static void gimp_threshold_tool_dialog (GimpImageMapTool *im_tool);
static void gimp_threshold_tool_config_notify (GObject *object,
@@ -112,20 +110,13 @@ gimp_threshold_tool_class_init (GimpThresholdToolClass *klass)
im_tool_class->export_dialog_title = _("Export Threshold Settings");
im_tool_class->get_operation = gimp_threshold_tool_get_operation;
- im_tool_class->map = gimp_threshold_tool_map;
im_tool_class->dialog = gimp_threshold_tool_dialog;
}
static void
gimp_threshold_tool_init (GimpThresholdTool *t_tool)
{
- GimpImageMapTool *im_tool = GIMP_IMAGE_MAP_TOOL (t_tool);
-
- t_tool->threshold = g_slice_new0 (Threshold);
t_tool->histogram = gimp_histogram_new ();
-
- im_tool->apply_func = (GimpImageMapApplyFunc) threshold;
- im_tool->apply_data = t_tool->threshold;
}
static void
@@ -133,8 +124,6 @@ gimp_threshold_tool_finalize (GObject *object)
{
GimpThresholdTool *t_tool = GIMP_THRESHOLD_TOOL (object);
- g_slice_free (Threshold, t_tool->threshold);
-
if (t_tool->histogram)
{
gimp_histogram_unref (t_tool->histogram);
@@ -205,16 +194,6 @@ gimp_threshold_tool_get_operation (GimpImageMapTool *image_map_tool,
return node;
}
-static void
-gimp_threshold_tool_map (GimpImageMapTool *image_map_tool)
-{
- GimpThresholdTool *t_tool = GIMP_THRESHOLD_TOOL (image_map_tool);
- GimpDrawable *drawable = image_map_tool->drawable;
-
- gimp_threshold_config_to_cruft (t_tool->config, t_tool->threshold,
- gimp_drawable_is_rgb (drawable));
-}
-
/**********************/
/* Threshold dialog */