[gegl] vignette: add Horizontal and Vertical shapes
- From: Ell <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] vignette: add Horizontal and Vertical shapes
- Date: Thu, 7 May 2020 08:13:06 +0000 (UTC)
commit a133c7a8227295e2424caffc63a1b11b86b3f54e
Author: Ell <ell_se yahoo com>
Date: Thu May 7 11:11:04 2020 +0300
vignette: add Horizontal and Vertical shapes
... which create a one-dimensional horizontal or vertical vignette.
opencl/vignette.cl | 8 ++++++++
operations/common/vignette.c | 12 +++++++++---
2 files changed, 17 insertions(+), 3 deletions(-)
---
diff --git a/opencl/vignette.cl b/opencl/vignette.cl
index a0630c392..0c93b8525 100644
--- a/opencl/vignette.cl
+++ b/opencl/vignette.cl
@@ -45,6 +45,14 @@ __kernel void vignette_cl (__global const float4 *in,
case 2:
strength = fabs (u-midx) / scale + fabs(v-midy);
break;
+
+ case 3:
+ strength = fabs(v-midy);
+ break;
+
+ case 4:
+ strength = fabs (u-midx) / scale;
+ break;
}
strength /= length;
strength = (strength-radius0) / rdiff;
diff --git a/operations/common/vignette.c b/operations/common/vignette.c
index 38347d9af..6a5a5d342 100644
--- a/operations/common/vignette.c
+++ b/operations/common/vignette.c
@@ -22,9 +22,11 @@
#ifdef GEGL_PROPERTIES
enum_start (gegl_vignette_shape)
- enum_value (GEGL_VIGNETTE_SHAPE_CIRCLE, "circle", N_("Circle"))
- enum_value (GEGL_VIGNETTE_SHAPE_SQUARE, "square", N_("Square"))
- enum_value (GEGL_VIGNETTE_SHAPE_DIAMOND, "diamond", N_("Diamond"))
+ enum_value (GEGL_VIGNETTE_SHAPE_CIRCLE, "circle", N_("Circle"))
+ enum_value (GEGL_VIGNETTE_SHAPE_SQUARE, "square", N_("Square"))
+ enum_value (GEGL_VIGNETTE_SHAPE_DIAMOND, "diamond", N_("Diamond"))
+ enum_value (GEGL_VIGNETTE_SHAPE_HORIZONTAL, "horizontal", N_("Horizontal"))
+ enum_value (GEGL_VIGNETTE_SHAPE_VERTICAL, "verticak", N_("Vertical"))
enum_end (GeglVignetteShape)
property_enum (shape, _("Vignette shape"),
@@ -325,6 +327,10 @@ process (GeglOperation *operation,
strength = MAX(ABS(u-midx) / scale, ABS(v-midy)); break;
case GEGL_VIGNETTE_SHAPE_DIAMOND:
strength = ABS(u-midx) / scale + ABS(v-midy); break;
+ case GEGL_VIGNETTE_SHAPE_HORIZONTAL:
+ strength = ABS(v-midy); break;
+ case GEGL_VIGNETTE_SHAPE_VERTICAL:
+ strength = ABS(u-midx) / scale; break;
}
strength /= length;
strength = (strength-radius0) / rdiff;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]