[gimp/blend-tool-fun: 153/163] Bug 665187 - Fuzzy Select by Alpha
- From: Michael Henning <mhenning src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/blend-tool-fun: 153/163] Bug 665187 - Fuzzy Select by Alpha
- Date: Mon, 26 Oct 2015 02:31:06 +0000 (UTC)
commit 5307901cd66c666449369f0cc933af25f3defdeb
Author: David Gowers <finticemo gmail com>
Date: Sat Oct 17 13:49:23 2015 +1030
Bug 665187 - Fuzzy Select by Alpha
Implement 'Alpha' criterion for selection tools
app/core/gimppickable-contiguous-region.c | 5 +++++
libgimpbase/gimpbaseenums.c | 2 ++
libgimpbase/gimpbaseenums.h | 3 ++-
tools/pdbgen/enums.pl | 6 ++++--
4 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/app/core/gimppickable-contiguous-region.c b/app/core/gimppickable-contiguous-region.c
index 9b9d3db..b623d6a 100644
--- a/app/core/gimppickable-contiguous-region.c
+++ b/app/core/gimppickable-contiguous-region.c
@@ -259,6 +259,7 @@ choose_format (GeglBuffer *buffer,
case GIMP_SELECT_CRITERION_R:
case GIMP_SELECT_CRITERION_G:
case GIMP_SELECT_CRITERION_B:
+ case GIMP_SELECT_CRITERION_A:
format = babl_format ("R'G'B'A float");
break;
@@ -329,6 +330,10 @@ pixel_difference (const gfloat *col1,
max = fabs (col1[2] - col2[2]);
break;
+ case GIMP_SELECT_CRITERION_A:
+ max = fabs (col1[3] - col2[3]);
+ break;
+
case GIMP_SELECT_CRITERION_H:
{
/* wrap around candidates for the actual distance */
diff --git a/libgimpbase/gimpbaseenums.c b/libgimpbase/gimpbaseenums.c
index 8b25d55..5413524 100644
--- a/libgimpbase/gimpbaseenums.c
+++ b/libgimpbase/gimpbaseenums.c
@@ -1468,6 +1468,7 @@ gimp_select_criterion_get_type (void)
{ GIMP_SELECT_CRITERION_H, "GIMP_SELECT_CRITERION_H", "h" },
{ GIMP_SELECT_CRITERION_S, "GIMP_SELECT_CRITERION_S", "s" },
{ GIMP_SELECT_CRITERION_V, "GIMP_SELECT_CRITERION_V", "v" },
+ { GIMP_SELECT_CRITERION_A, "GIMP_SELECT_CRITERION_A", "a" },
{ 0, NULL, NULL }
};
@@ -1480,6 +1481,7 @@ gimp_select_criterion_get_type (void)
{ GIMP_SELECT_CRITERION_H, NC_("select-criterion", "Hue"), NULL },
{ GIMP_SELECT_CRITERION_S, NC_("select-criterion", "Saturation"), NULL },
{ GIMP_SELECT_CRITERION_V, NC_("select-criterion", "Value"), NULL },
+ { GIMP_SELECT_CRITERION_A, NC_("select-criterion", "Alpha"), NULL },
{ 0, NULL, NULL }
};
diff --git a/libgimpbase/gimpbaseenums.h b/libgimpbase/gimpbaseenums.h
index 60e51b8..a7c304b 100644
--- a/libgimpbase/gimpbaseenums.h
+++ b/libgimpbase/gimpbaseenums.h
@@ -667,7 +667,8 @@ typedef enum
GIMP_SELECT_CRITERION_B, /*< desc="Blue" >*/
GIMP_SELECT_CRITERION_H, /*< desc="Hue" >*/
GIMP_SELECT_CRITERION_S, /*< desc="Saturation" >*/
- GIMP_SELECT_CRITERION_V /*< desc="Value" >*/
+ GIMP_SELECT_CRITERION_V, /*< desc="Value" >*/
+ GIMP_SELECT_CRITERION_A /*< desc="Alpha" >*/
} GimpSelectCriterion;
diff --git a/tools/pdbgen/enums.pl b/tools/pdbgen/enums.pl
index b5d39e2..65ec99d 100644
--- a/tools/pdbgen/enums.pl
+++ b/tools/pdbgen/enums.pl
@@ -482,14 +482,16 @@ package Gimp::CodeGen::enums;
symbols => [ qw(GIMP_SELECT_CRITERION_COMPOSITE
GIMP_SELECT_CRITERION_R GIMP_SELECT_CRITERION_G
GIMP_SELECT_CRITERION_B GIMP_SELECT_CRITERION_H
- GIMP_SELECT_CRITERION_S GIMP_SELECT_CRITERION_V) ],
+ GIMP_SELECT_CRITERION_S GIMP_SELECT_CRITERION_V
+ GIMP_SELECT_CRITERION_A) ],
mapping => { GIMP_SELECT_CRITERION_COMPOSITE => '0',
GIMP_SELECT_CRITERION_R => '1',
GIMP_SELECT_CRITERION_G => '2',
GIMP_SELECT_CRITERION_B => '3',
GIMP_SELECT_CRITERION_H => '4',
GIMP_SELECT_CRITERION_S => '5',
- GIMP_SELECT_CRITERION_V => '6' }
+ GIMP_SELECT_CRITERION_V => '6',
+ GIMP_SELECT_CRITERION_A => '7' }
},
GimpSizeType =>
{ contig => 1,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]