[gimp/gimp-2-10] app: migrate gimpoperationmaskcomponents to new iterator api
- From: Øyvind "pippin" Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gimp-2-10] app: migrate gimpoperationmaskcomponents to new iterator api
- Date: Tue, 18 Sep 2018 10:38:30 +0000 (UTC)
commit 6d9022f2e6116aa76bf4fad7f0c903c8d7353d61
Author: Øyvind Kolås <pippin gimp org>
Date: Tue Sep 11 01:47:31 2018 +0200
app: migrate gimpoperationmaskcomponents to new iterator api
(cherry picked from commit 55b3438328e3bc9c6a33fc681825805792bf04b6)
app/operations/gimpoperationmaskcomponents.c | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
---
diff --git a/app/operations/gimpoperationmaskcomponents.c b/app/operations/gimpoperationmaskcomponents.c
index 0cac310862..2d17b3df9b 100644
--- a/app/operations/gimpoperationmaskcomponents.c
+++ b/app/operations/gimpoperationmaskcomponents.c
@@ -81,7 +81,7 @@ gimp_operation_mask_components_class_init (GimpOperationMaskComponentsClass *kla
NULL);
operation_class->prepare = gimp_operation_mask_components_prepare;
- operation_class->process = gimp_operation_mask_components_parent_process;
+ //operation_class->process = gimp_operation_mask_components_parent_process;
point_class->process = gimp_operation_mask_components_process;
@@ -172,7 +172,7 @@ gimp_operation_mask_components_parent_process (GeglOperation *operation,
gint level)
{
GimpOperationMaskComponents *self = GIMP_OPERATION_MASK_COMPONENTS (operation);
-
+#if 0
if (self->mask == 0)
{
GObject *input = gegl_operation_context_get_object (context, "input");
@@ -189,7 +189,7 @@ gimp_operation_mask_components_parent_process (GeglOperation *operation,
return TRUE;
}
-
+#endif
return GEGL_OPERATION_CLASS (parent_class)->process (operation, context,
output_prop, result,
level);
@@ -211,10 +211,24 @@ gimp_operation_mask_components_process (GeglOperation *operation,
GimpComponentMask mask = self->mask;
static const gfloat nothing[] = { 0.0, 0.0, 0.0, 1.0 };
- if (! aux)
- aux = (gfloat *) nothing;
+#if 0
+ if (self->mask == 0)
+ {
+ if (in_buf != out_buf)
+ memcpy (out_buf, in_buf, sizeof (float) * 4 * samples);
+ }
+ else if (self->mask == GIMP_COMPONENT_MASK_ALL && aux_buf)
+ {
+ if (aux_buf != out_buf)
+ memcpy (out_buf, aux_buf, sizeof (float) * 4 * samples);
+ }
+ else
+#endif
+ {
+ if (! aux)
+ aux = (gfloat *) nothing;
- while (samples--)
+ while (samples--)
{
dest[RED] = (mask & GIMP_COMPONENT_MASK_RED) ? aux[RED] : src[RED];
dest[GREEN] = (mask & GIMP_COMPONENT_MASK_GREEN) ? aux[GREEN] : src[GREEN];
@@ -228,6 +242,7 @@ gimp_operation_mask_components_process (GeglOperation *operation,
dest += 4;
}
+ }
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]