mirror of https://github.com/GNOME/gimp.git
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:
parent
d294cfb8b2
commit
aee7ddd56d
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Loading…
Reference in New Issue