app: remove the !use_gegl case from gimp_drawable_apply_buffer()

and its last three parameters because they were only used for legacy
floating selection projection.
This commit is contained in:
Michael Natterer 2012-05-19 00:14:51 +02:00
parent d294cfb8b2
commit aee7ddd56d
13 changed files with 36 additions and 172 deletions

View File

@ -501,7 +501,6 @@ gimp_edit_fill_full (GimpImage *image,
GEGL_RECTANGLE (0, 0, width, height), GEGL_RECTANGLE (0, 0, width, height),
TRUE, undo_desc, TRUE, undo_desc,
opacity, paint_mode, opacity, paint_mode,
NULL, x, y,
NULL, x, y); NULL, x, y);
g_object_unref (dest_buffer); g_object_unref (dest_buffer);
@ -542,7 +541,6 @@ gimp_edit_fade (GimpImage *image,
gimp_object_get_name (undo), gimp_object_get_name (undo),
gimp_context_get_opacity (context), gimp_context_get_opacity (context),
gimp_context_get_paint_mode (context), gimp_context_get_paint_mode (context),
NULL, undo->x, undo->y,
NULL, undo->x, undo->y); NULL, undo->x, undo->y);
g_object_unref (buffer); g_object_unref (buffer);

View File

@ -144,10 +144,7 @@ static void gimp_channel_apply_buffer (GimpDrawable *drawable,
GimpLayerModeEffects mode, GimpLayerModeEffects mode,
GeglBuffer *base_buffer, GeglBuffer *base_buffer,
gint base_x, gint base_x,
gint base_y, gint base_y);
GeglBuffer *dest_buffer,
gint dest_x,
gint dest_y);
static void gimp_channel_replace_buffer (GimpDrawable *drawable, static void gimp_channel_replace_buffer (GimpDrawable *drawable,
GeglBuffer *buffer, GeglBuffer *buffer,
const GeglRectangle *buffer_region, const GeglRectangle *buffer_region,
@ -821,10 +818,7 @@ gimp_channel_apply_buffer (GimpDrawable *drawable,
GimpLayerModeEffects mode, GimpLayerModeEffects mode,
GeglBuffer *base_buffer, GeglBuffer *base_buffer,
gint base_x, gint base_x,
gint base_y, gint base_y)
GeglBuffer *dest_buffer,
gint dest_x,
gint dest_y)
{ {
gimp_drawable_invalidate_boundary (drawable); gimp_drawable_invalidate_boundary (drawable);
@ -833,9 +827,7 @@ gimp_channel_apply_buffer (GimpDrawable *drawable,
push_undo, undo_desc, push_undo, undo_desc,
opacity, mode, opacity, mode,
base_buffer, base_buffer,
base_x, base_y, base_x, base_y);
dest_buffer,
dest_x, dest_y);
GIMP_CHANNEL (drawable)->bounds_known = FALSE; GIMP_CHANNEL (drawable)->bounds_known = FALSE;
} }

View File

@ -207,7 +207,6 @@ gimp_drawable_blend (GimpDrawable *drawable,
GEGL_RECTANGLE (0, 0, width, height), GEGL_RECTANGLE (0, 0, width, height),
TRUE, C_("undo-type", "Blend"), TRUE, C_("undo-type", "Blend"),
opacity, paint_mode, opacity, paint_mode,
NULL, x, y,
NULL, x, y); NULL, x, y);
/* update the image */ /* update the image */

View File

@ -263,7 +263,6 @@ gimp_drawable_bucket_fill_internal (GimpDrawable *drawable,
GEGL_RECTANGLE (0, 0, x2 - x1, y2 - y1), GEGL_RECTANGLE (0, 0, x2 - x1, y2 - y1),
TRUE, C_("undo-type", "Bucket Fill"), TRUE, C_("undo-type", "Bucket Fill"),
opacity, paint_mode, opacity, paint_mode,
NULL, x1, y1,
NULL, x1, y1); NULL, x1, y1);
g_object_unref (buffer); g_object_unref (buffer);

View File

@ -23,10 +23,6 @@
#include "core-types.h" #include "core-types.h"
#include "base/pixel-region.h"
#include "paint-funcs/paint-funcs.h"
#include "gegl/gimp-babl-compat.h" #include "gegl/gimp-babl-compat.h"
#include "gegl/gimp-gegl-loops.h" #include "gegl/gimp-gegl-loops.h"
#include "gegl/gimp-gegl-nodes.h" #include "gegl/gimp-gegl-nodes.h"
@ -52,15 +48,14 @@ gimp_drawable_real_apply_buffer (GimpDrawable *drawable,
GimpLayerModeEffects mode, GimpLayerModeEffects mode,
GeglBuffer *base_buffer, GeglBuffer *base_buffer,
gint base_x, gint base_x,
gint base_y, gint base_y)
GeglBuffer *dest_buffer,
gint dest_x,
gint dest_y)
{ {
GimpItem *item = GIMP_ITEM (drawable); GimpItem *item = GIMP_ITEM (drawable);
GimpImage *image = gimp_item_get_image (item); GimpImage *image = gimp_item_get_image (item);
GimpChannel *mask = gimp_image_get_mask (image); GimpChannel *mask = gimp_image_get_mask (image);
GeglBuffer *mask_buffer = NULL; GeglBuffer *mask_buffer = NULL;
GeglNode *apply;
GimpComponentMask affect;
gint x, y, width, height; gint x, y, width, height;
gint offset_x, offset_y; gint offset_x, offset_y;
@ -127,13 +122,6 @@ gimp_drawable_real_apply_buffer (GimpDrawable *drawable,
if (mask) if (mask)
mask_buffer = gimp_drawable_get_buffer (GIMP_DRAWABLE (mask)); mask_buffer = gimp_drawable_get_buffer (GIMP_DRAWABLE (mask));
if (gimp_use_gegl (image->gimp) && ! dest_buffer)
{
GeglNode *apply;
GimpComponentMask affect;
dest_buffer = gimp_drawable_get_buffer (drawable);
affect = gimp_drawable_get_active_mask (drawable); affect = gimp_drawable_get_active_mask (drawable);
apply = gimp_gegl_create_apply_buffer_node (buffer, apply = gimp_gegl_create_apply_buffer_node (buffer,
@ -152,99 +140,11 @@ gimp_drawable_real_apply_buffer (GimpDrawable *drawable,
gimp_apply_operation (base_buffer, NULL, NULL, gimp_apply_operation (base_buffer, NULL, NULL,
apply, apply,
dest_buffer, gimp_drawable_get_buffer (drawable),
GEGL_RECTANGLE (x, y, width, height)); GEGL_RECTANGLE (x, y, width, height));
g_object_unref (apply); g_object_unref (apply);
} }
else
{
PixelRegion src1PR, src2PR, destPR;
CombinationMode operation;
gboolean active_components[MAX_CHANNELS];
if (gimp_gegl_buffer_get_temp_buf (buffer))
{
pixel_region_init_temp_buf (&src2PR,
gimp_gegl_buffer_get_temp_buf (buffer),
buffer_region->x, buffer_region->y,
buffer_region->width, buffer_region->height);
}
else
{
pixel_region_init (&src2PR, gimp_gegl_buffer_get_tiles (buffer),
buffer_region->x, buffer_region->y,
buffer_region->width, buffer_region->height,
FALSE);
}
/* configure the active channel array */
gimp_drawable_get_active_components (drawable, active_components);
/* determine what sort of operation is being attempted and
* if it's actually legal...
*/
operation = gimp_image_get_combination_mode (gimp_babl_format_get_image_type (gimp_drawable_get_format (drawable)),
src2PR.bytes);
if (operation == -1)
{
g_warning ("%s: illegal parameters.", G_STRFUNC);
return;
}
/* configure the pixel regions */
pixel_region_init (&src1PR, gimp_gegl_buffer_get_tiles (base_buffer),
x, y, width, height,
FALSE);
pixel_region_resize (&src2PR,
src2PR.x + (x - base_x), src2PR.y + (y - base_y),
width, height);
if (dest_buffer)
{
pixel_region_init (&destPR, gimp_gegl_buffer_get_tiles (dest_buffer),
dest_x, dest_y,
buffer_region->width, buffer_region->height,
TRUE);
}
else
{
dest_buffer = gimp_drawable_get_buffer (drawable);
pixel_region_init (&destPR, gimp_gegl_buffer_get_tiles (dest_buffer),
x, y, width, height,
TRUE);
}
if (mask_buffer)
{
PixelRegion maskPR;
pixel_region_init (&maskPR,
gimp_gegl_buffer_get_tiles (mask_buffer),
x + offset_x,
y + offset_y,
width, height,
FALSE);
combine_regions (&src1PR, &src2PR, &destPR, &maskPR, NULL,
opacity * 255.999,
mode,
active_components,
operation);
}
else
{
combine_regions (&src1PR, &src2PR, &destPR, NULL, NULL,
opacity * 255.999,
mode,
active_components,
operation);
}
}
}
/* Similar to gimp_drawable_apply_region but works in "replace" mode (i.e. /* Similar to gimp_drawable_apply_region but works in "replace" mode (i.e.
* transparent pixels in src2 make the result transparent rather than * transparent pixels in src2 make the result transparent rather than

View File

@ -30,10 +30,7 @@ void gimp_drawable_real_apply_buffer (GimpDrawable *drawable,
GimpLayerModeEffects mode, GimpLayerModeEffects mode,
GeglBuffer *base_buffer, GeglBuffer *base_buffer,
gint base_x, gint base_x,
gint base_y, gint base_y);
GeglBuffer *dest_buffer,
gint dest_x,
gint dest_y);
void gimp_drawable_real_replace_buffer (GimpDrawable *drawable, void gimp_drawable_real_replace_buffer (GimpDrawable *drawable,
GeglBuffer *buffer, GeglBuffer *buffer,
const GeglRectangle *buffer_region, const GeglRectangle *buffer_region,

View File

@ -103,7 +103,6 @@ gimp_drawable_merge_shadow_buffer (GimpDrawable *drawable,
GEGL_RECTANGLE (x, y, width, height), GEGL_RECTANGLE (x, y, width, height),
push_undo, undo_desc, push_undo, undo_desc,
GIMP_OPACITY_OPAQUE, GIMP_REPLACE_MODE, GIMP_OPACITY_OPAQUE, GIMP_REPLACE_MODE,
NULL, x, y,
NULL, x, y); NULL, x, y);
g_object_unref (buffer); g_object_unref (buffer);

View File

@ -395,7 +395,6 @@ gimp_drawable_stroke_scan_convert (GimpDrawable *drawable,
push_undo, C_("undo-type", "Render Stroke"), push_undo, C_("undo-type", "Render Stroke"),
gimp_context_get_opacity (context), gimp_context_get_opacity (context),
gimp_context_get_paint_mode (context), gimp_context_get_paint_mode (context),
NULL, x, y,
NULL, x, y); NULL, x, y);
g_object_unref (base_buffer); g_object_unref (base_buffer);

View File

@ -1188,26 +1188,20 @@ gimp_drawable_apply_buffer (GimpDrawable *drawable,
GimpLayerModeEffects mode, GimpLayerModeEffects mode,
GeglBuffer *base_buffer, GeglBuffer *base_buffer,
gint base_x, gint base_x,
gint base_y, gint base_y)
GeglBuffer *dest_buffer,
gint dest_x,
gint dest_y)
{ {
g_return_if_fail (GIMP_IS_DRAWABLE (drawable)); g_return_if_fail (GIMP_IS_DRAWABLE (drawable));
g_return_if_fail (gimp_item_is_attached (GIMP_ITEM (drawable))); g_return_if_fail (gimp_item_is_attached (GIMP_ITEM (drawable)));
g_return_if_fail (GEGL_IS_BUFFER (buffer)); g_return_if_fail (GEGL_IS_BUFFER (buffer));
g_return_if_fail (buffer_region != NULL); g_return_if_fail (buffer_region != NULL);
g_return_if_fail (base_buffer == NULL || GEGL_IS_BUFFER (base_buffer)); g_return_if_fail (base_buffer == NULL || GEGL_IS_BUFFER (base_buffer));
g_return_if_fail (dest_buffer == NULL || GEGL_IS_BUFFER (dest_buffer));
GIMP_DRAWABLE_GET_CLASS (drawable)->apply_buffer (drawable, buffer, GIMP_DRAWABLE_GET_CLASS (drawable)->apply_buffer (drawable, buffer,
buffer_region, buffer_region,
push_undo, undo_desc, push_undo, undo_desc,
opacity, mode, opacity, mode,
base_buffer, base_buffer,
base_x, base_y, base_x, base_y);
dest_buffer,
dest_x, dest_y);
} }
void void

View File

@ -74,10 +74,7 @@ struct _GimpDrawableClass
GimpLayerModeEffects mode, GimpLayerModeEffects mode,
GeglBuffer *base_buffer, GeglBuffer *base_buffer,
gint base_x, gint base_x,
gint base_y, gint base_y);
GeglBuffer *dest_buffer,
gint dest_x,
gint dest_y);
void (* replace_buffer) (GimpDrawable *drawable, void (* replace_buffer) (GimpDrawable *drawable,
GeglBuffer *buffer, GeglBuffer *buffer,
const GeglRectangle *buffer_region, const GeglRectangle *buffer_region,
@ -151,10 +148,7 @@ void gimp_drawable_apply_buffer (GimpDrawable *drawable,
GimpLayerModeEffects mode, GimpLayerModeEffects mode,
GeglBuffer *base_buffer, GeglBuffer *base_buffer,
gint base_x, gint base_x,
gint base_y, gint base_y);
GeglBuffer *dest_buffer,
gint dest_x,
gint dest_y);
void gimp_drawable_replace_buffer (GimpDrawable *drawable, void gimp_drawable_replace_buffer (GimpDrawable *drawable,
GeglBuffer *buffer, GeglBuffer *buffer,
const GeglRectangle *buffer_region, const GeglRectangle *buffer_region,

View File

@ -680,7 +680,6 @@ gimp_image_map_data_written (GObject *operation,
extent->width, extent->height), extent->width, extent->height),
FALSE, NULL, FALSE, NULL,
GIMP_OPACITY_OPAQUE, GIMP_REPLACE_MODE, GIMP_OPACITY_OPAQUE, GIMP_REPLACE_MODE,
NULL, extent->x, extent->y,
NULL, extent->x, extent->y); NULL, extent->x, extent->y);
gimp_drawable_update (image_map->drawable, gimp_drawable_update (image_map->drawable,

View File

@ -337,9 +337,6 @@ floating_sel_composite (GimpLayer *layer)
gimp_layer_get_mode (layer), gimp_layer_get_mode (layer),
NULL, NULL,
combine_x - dr_off_x, combine_x - dr_off_x,
combine_y - dr_off_y,
NULL,
combine_x - dr_off_x,
combine_y - dr_off_y); combine_y - dr_off_y);
/* restore lock alpha */ /* restore lock alpha */

View File

@ -760,9 +760,6 @@ gimp_paint_core_paste (GimpPaintCore *core,
image_opacity, paint_mode, image_opacity, paint_mode,
base_buffer, /* specify an alternative src1 */ base_buffer, /* specify an alternative src1 */
core->paint_buffer_x, core->paint_buffer_x,
core->paint_buffer_y,
NULL,
core->paint_buffer_x,
core->paint_buffer_y); core->paint_buffer_y);
/* Update the undo extents */ /* Update the undo extents */