[gegl] [affine] Avoid using variables in the op for intermediate computations.
- From: Øyvind Kolås <ok src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gegl] [affine] Avoid using variables in the op for intermediate computations.
- Date: Sat, 21 Nov 2009 21:57:23 +0000 (UTC)
commit 52e9229e74b3d7f219562141cc67b8a1f3c33c63
Author: �yvind Kolås <pippin gimp org>
Date: Sat Nov 21 21:55:29 2009 +0000
[affine] Avoid using variables in the op for intermediate computations.
operations/affine/affine.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/operations/affine/affine.c b/operations/affine/affine.c
index d65960d..6bb7cbb 100644
--- a/operations/affine/affine.c
+++ b/operations/affine/affine.c
@@ -432,6 +432,7 @@ gegl_affine_get_bounding_box (GeglOperation *op)
{
OpAffine *affine = (OpAffine *) op;
OpAffineClass *klass = OP_AFFINE_GET_CLASS (affine);
+ GeglMatrix3 matrix;
GeglRectangle in_rect = {0,0,0,0},
have_rect;
gdouble have_points [8];
@@ -444,27 +445,26 @@ gegl_affine_get_bounding_box (GeglOperation *op)
context_rect = sampler->context_rect;
g_object_unref (sampler);
-
if (gegl_operation_source_get_bounding_box (op, "input"))
in_rect = *gegl_operation_source_get_bounding_box (op, "input");
/* invoke child's matrix creation function */
g_assert (klass->create_matrix);
- gegl_matrix3_identity (affine->matrix);
- klass->create_matrix (op, affine->matrix);
+ gegl_matrix3_identity (matrix);
+ klass->create_matrix (op, matrix);
if (affine->origin_x || affine->origin_y)
- gegl_matrix3_originate (affine->matrix, affine->origin_x, affine->origin_y);
+ gegl_matrix3_originate (matrix, affine->origin_x, affine->origin_y);
if (gegl_affine_is_composite_node (affine))
{
GeglMatrix3 source;
gegl_affine_get_source_matrix (affine, source);
- gegl_matrix3_multiply (source, affine->matrix, affine->matrix);
+ gegl_matrix3_multiply (source, matrix, matrix);
}
if (gegl_affine_is_intermediate_node (affine) ||
- gegl_matrix3_is_identity (affine->matrix))
+ gegl_matrix3_is_identity (matrix))
{
return in_rect;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]