[gimp] app: heal the paint_buffer directly, without an intermediate copy
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: heal the paint_buffer directly, without an intermediate copy
- Date: Wed, 2 May 2012 16:31:22 +0000 (UTC)
commit f07f01664e6bb58de13c3d76c5e19fc862365638
Author: Michael Natterer <mitch gimp org>
Date: Tue Apr 3 21:41:41 2012 +0200
app: heal the paint_buffer directly, without an intermediate copy
app/paint/gimpheal.c | 32 ++++++++++----------------------
1 files changed, 10 insertions(+), 22 deletions(-)
---
diff --git a/app/paint/gimpheal.c b/app/paint/gimpheal.c
index 77f11e5..b01ad1a 100644
--- a/app/paint/gimpheal.c
+++ b/app/paint/gimpheal.c
@@ -482,7 +482,6 @@ gimp_heal_motion (GimpSourceCore *source_core,
GimpDynamicsOutput *hardness_output;
GimpImage *image = gimp_item_get_image (GIMP_ITEM (drawable));
GeglBuffer *src_copy;
- GeglBuffer *dest_buffer;
GeglBuffer *mask_buffer;
const TempBuf *mask_buf;
gdouble fade_point;
@@ -528,18 +527,15 @@ gimp_heal_motion (GimpSourceCore *source_core,
src_rect->width,
src_rect->height));
- dest_buffer =
- gegl_buffer_new (GEGL_RECTANGLE (0, 0,
- gegl_buffer_get_width (paint_buffer),
- gegl_buffer_get_height (paint_buffer)),
- gimp_drawable_get_format_with_alpha (drawable));
-
gegl_buffer_copy (gimp_drawable_get_buffer (drawable),
GEGL_RECTANGLE (paint_buffer_x, paint_buffer_y,
gegl_buffer_get_width (paint_buffer),
gegl_buffer_get_height (paint_buffer)),
- dest_buffer,
- GEGL_RECTANGLE (0, 0, 0, 0));
+ paint_buffer,
+ GEGL_RECTANGLE (paint_area_offset_x,
+ paint_area_offset_y,
+ paint_area_width,
+ paint_area_height));
mask_buffer = gimp_temp_buf_create_buffer ((TempBuf *) mask_buf,
NULL, FALSE);
@@ -548,25 +544,17 @@ gimp_heal_motion (GimpSourceCore *source_core,
GEGL_RECTANGLE (0, 0,
gegl_buffer_get_width (src_copy),
gegl_buffer_get_height (src_copy)),
- dest_buffer,
- GEGL_RECTANGLE (0, 0,
- gegl_buffer_get_width (dest_buffer),
- gegl_buffer_get_height (dest_buffer)),
+ paint_buffer,
+ GEGL_RECTANGLE (paint_area_offset_x,
+ paint_area_offset_y,
+ paint_area_width,
+ paint_area_height),
mask_buffer,
GEGL_RECTANGLE (0, 0,
gegl_buffer_get_width (mask_buffer),
gegl_buffer_get_height (mask_buffer)));
- gegl_buffer_copy (dest_buffer,
- GEGL_RECTANGLE (0, 0, mask_buf->width, mask_buf->height),
- paint_buffer,
- GEGL_RECTANGLE (paint_area_offset_x,
- paint_area_offset_y,
- paint_area_width,
- paint_area_height));
-
g_object_unref (src_copy);
- g_object_unref (dest_buffer);
g_object_unref (mask_buffer);
/* replace the canvas with our healed data */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]