[gimp] app: change GimpTileHandlerValidate's API to use GeglRectangle
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: change GimpTileHandlerValidate's API to use GeglRectangle
- Date: Sat, 5 Aug 2017 13:44:39 +0000 (UTC)
commit 12f920d8bf6358fdad933b142e21aafe50eb63c9
Author: Michael Natterer <mitch gimp org>
Date: Sat Aug 5 15:43:41 2017 +0200
app: change GimpTileHandlerValidate's API to use GeglRectangle
instead of x, y, width, height.
app/core/gimpprojection.c | 4 ++--
app/gegl/gimptilehandlervalidate.c | 32 ++++++++++++++------------------
app/gegl/gimptilehandlervalidate.h | 10 ++--------
app/tools/gimpiscissorstool.c | 6 +++---
4 files changed, 21 insertions(+), 31 deletions(-)
---
diff --git a/app/core/gimpprojection.c b/app/core/gimpprojection.c
index 8f119b2..484b268 100644
--- a/app/core/gimpprojection.c
+++ b/app/core/gimpprojection.c
@@ -943,14 +943,14 @@ gimp_projection_paint_area (GimpProjection *proj,
{
if (proj->priv->validate_handler)
gimp_tile_handler_validate_invalidate (proj->priv->validate_handler,
- x, y, w, h);
+ GEGL_RECTANGLE (x, y, w, h));
if (now)
{
GeglNode *graph = gimp_projectable_get_graph (proj->priv->projectable);
if (proj->priv->validate_handler)
gimp_tile_handler_validate_undo_invalidate (proj->priv->validate_handler,
- x, y, w, h);
+ GEGL_RECTANGLE (x, y, w, h));
gegl_node_blit_buffer (graph, proj->priv->buffer,
GEGL_RECTANGLE (x, y, w, h), 0, GEGL_ABYSS_NONE);
diff --git a/app/gegl/gimptilehandlervalidate.c b/app/gegl/gimptilehandlervalidate.c
index 033975a..65993b8 100644
--- a/app/gegl/gimptilehandlervalidate.c
+++ b/app/gegl/gimptilehandlervalidate.c
@@ -361,24 +361,23 @@ gimp_tile_handler_validate_assign (GimpTileHandlerValidate *validate,
void
gimp_tile_handler_validate_invalidate (GimpTileHandlerValidate *validate,
- gint x,
- gint y,
- gint width,
- gint height)
+ GeglRectangle *rect)
{
- cairo_rectangle_int_t rect = { x, y, width, height };
-
g_return_if_fail (GIMP_IS_TILE_HANDLER_VALIDATE (validate));
+ g_return_if_fail (rect != NULL);
- cairo_region_union_rectangle (validate->dirty_region, &rect);
+ cairo_region_union_rectangle (validate->dirty_region,
+ (cairo_rectangle_int_t *) rect);
if (validate->max_z > 0)
{
GeglTileSource *source = GEGL_TILE_SOURCE (validate);
- gint tile_x1 = x / validate->tile_width;
- gint tile_y1 = y / validate->tile_height;
- gint tile_x2 = (x + width - 1) / validate->tile_width + 1;
- gint tile_y2 = (y + height - 1) / validate->tile_height + 1;
+ gint tile_x1 = rect->x / validate->tile_width;
+ gint tile_y1 = rect->y / validate->tile_height;
+ gint tile_x2 = (rect->x + rect->width - 1) /
+ validate->tile_width + 1;
+ gint tile_y2 = (rect->y + rect->height - 1) /
+ validate->tile_height + 1;
gint tile_x;
gint tile_y;
gint tile_z;
@@ -399,14 +398,11 @@ gimp_tile_handler_validate_invalidate (GimpTileHandlerValidate *validate,
void
gimp_tile_handler_validate_undo_invalidate (GimpTileHandlerValidate *validate,
- gint x,
- gint y,
- gint width,
- gint height)
+ GeglRectangle *rect)
{
- cairo_rectangle_int_t rect = { x, y, width, height };
-
g_return_if_fail (GIMP_IS_TILE_HANDLER_VALIDATE (validate));
+ g_return_if_fail (rect != NULL);
- cairo_region_subtract_rectangle (validate->dirty_region, &rect);
+ cairo_region_subtract_rectangle (validate->dirty_region,
+ (cairo_rectangle_int_t *) rect);
}
diff --git a/app/gegl/gimptilehandlervalidate.h b/app/gegl/gimptilehandlervalidate.h
index 9dfc553..3409e9f 100644
--- a/app/gegl/gimptilehandlervalidate.h
+++ b/app/gegl/gimptilehandlervalidate.h
@@ -71,15 +71,9 @@ void gimp_tile_handler_validate_assign (GimpTileHandlerValidate
GeglBuffer *buffer);
void gimp_tile_handler_validate_invalidate (GimpTileHandlerValidate *validate,
- gint x,
- gint y,
- gint width,
- gint height);
+ GeglRectangle *rect);
void gimp_tile_handler_validate_undo_invalidate (GimpTileHandlerValidate *validate,
- gint x,
- gint y,
- gint width,
- gint height);
+ GeglRectangle *rect);
G_END_DECLS
diff --git a/app/tools/gimpiscissorstool.c b/app/tools/gimpiscissorstool.c
index a8d9a6c..7b05a29 100644
--- a/app/tools/gimpiscissorstool.c
+++ b/app/tools/gimpiscissorstool.c
@@ -1856,9 +1856,9 @@ gradient_map_new (GimpPickable *pickable)
buffer);
gimp_tile_handler_validate_invalidate (GIMP_TILE_HANDLER_VALIDATE (handler),
- 0, 0,
- gegl_buffer_get_width (buffer),
- gegl_buffer_get_height (buffer));
+ GEGL_RECTANGLE (0, 0,
+ gegl_buffer_get_width (buffer),
+ gegl_buffer_get_height (buffer)));
g_object_unref (handler);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]