changed to take a pointer as first argument as all PixelProcessor

2008-05-21  Sven Neumann  <sven@gimp.org>

	* app/base/desaturate.[ch]: changed to take a pointer as first
	argument as all PixelProcessor functions.

	* app/core/gimpdrawable-desaturate.c: changed accordingly.

	* app/tools/gimpdesaturatetool.[ch]: added legacy code path.

svn path=/trunk/; revision=25730
This commit is contained in:
Sven Neumann
2008-05-21 14:20:15 +00:00
committed by Sven Neumann
parent 9519a1751d
commit c19b2170ff
6 changed files with 28 additions and 11 deletions

View File

@ -1,3 +1,12 @@
2008-05-21 Sven Neumann <sven@gimp.org>
* app/base/desaturate.[ch]: changed to take a pointer as first
argument as all PixelProcessor functions.
* app/core/gimpdrawable-desaturate.c: changed accordingly.
* app/tools/gimpdesaturatetool.[ch]: added legacy code path.
2008-05-21 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am

View File

@ -40,14 +40,15 @@ static void desaturate_region_average (PixelRegion *srcPR,
void
desaturate_region (GimpDesaturateMode mode,
desaturate_region (GimpDesaturateMode *mode,
PixelRegion *srcPR,
PixelRegion *destPR)
{
g_return_if_fail (mode != NULL);
g_return_if_fail (srcPR->bytes == destPR->bytes);
g_return_if_fail (srcPR->bytes == 3 || srcPR->bytes == 4);
switch (mode)
switch (*mode)
{
case GIMP_DESATURATE_LIGHTNESS:
desaturate_region_lightness (srcPR, destPR, srcPR->bytes == 4);

View File

@ -20,7 +20,7 @@
#define __DESATURATE_H__
void desaturate_region (GimpDesaturateMode mode,
void desaturate_region (GimpDesaturateMode *mode,
PixelRegion *srcPR,
PixelRegion *destPR);

View File

@ -88,7 +88,7 @@ gimp_drawable_desaturate (GimpDrawable *drawable,
x, y, width, height, TRUE);
pixel_regions_process_parallel ((PixelProcessorFunc) desaturate_region,
GINT_TO_POINTER (mode),
&mode,
2, &srcPR, &destPR);
gimp_drawable_merge_shadow_tiles (drawable, TRUE, _("Desaturate"));

View File

@ -27,8 +27,7 @@
#include "tools-types.h"
#include "base/gimplut.h"
#include "base/lut-funcs.h"
#include "base/desaturate.h"
#include "gegl/gimpdesaturateconfig.h"
@ -106,6 +105,10 @@ gimp_desaturate_tool_class_init (GimpDesaturateToolClass *klass)
static void
gimp_desaturate_tool_init (GimpDesaturateTool *desaturate_tool)
{
GimpImageMapTool *im_tool = GIMP_IMAGE_MAP_TOOL (desaturate_tool);
im_tool->apply_func = (GimpImageMapApplyFunc) desaturate_region;
im_tool->apply_data = &desaturate_tool->mode;
}
static gboolean
@ -114,7 +117,7 @@ gimp_desaturate_tool_initialize (GimpTool *tool,
GError **error)
{
GimpDesaturateTool *desaturate_tool = GIMP_DESATURATE_TOOL (tool);
GimpDrawable *drawable;
GimpDrawable *drawable;
drawable = gimp_image_get_active_drawable (display->image);
@ -145,7 +148,7 @@ gimp_desaturate_tool_get_operation (GimpImageMapTool *image_map_tool,
GObject **config)
{
GimpDesaturateTool *desaturate_tool = GIMP_DESATURATE_TOOL (image_map_tool);
GeglNode *node;
GeglNode *node;
node = g_object_new (GEGL_TYPE_NODE,
"operation", "gimp-desaturate",
@ -169,6 +172,9 @@ gimp_desaturate_tool_get_operation (GimpImageMapTool *image_map_tool,
static void
gimp_desaturate_tool_map (GimpImageMapTool *image_map_tool)
{
GimpDesaturateTool *desaturate_tool = GIMP_DESATURATE_TOOL (image_map_tool);
desaturate_tool->mode = desaturate_tool->config->mode;
}
@ -195,9 +201,9 @@ gimp_desaturate_tool_dialog (GimpImageMapTool *image_map_tool)
}
static void
gimp_desaturate_tool_config_notify (GObject *object,
GParamSpec *pspec,
GimpDesaturateTool *desaturate_tool)
gimp_desaturate_tool_config_notify (GObject *object,
GParamSpec *pspec,
GimpDesaturateTool *desaturate_tool)
{
GimpDesaturateConfig *config = GIMP_DESATURATE_CONFIG (object);

View File

@ -39,6 +39,7 @@ struct _GimpDesaturateTool
GimpImageMapTool parent_instance;
GimpDesaturateConfig *config;
GimpDesaturateMode mode; /* only for legacy mode */
/* dialog */
GtkWidget *button;