From e253be3968ec3704fc751ad47ae9213f303dedbe Mon Sep 17 00:00:00 2001 From: johncoswell Date: Thu, 8 Mar 2007 10:58:12 +0000 Subject: [PATCH] Add and adjust fill channels --- src/flood-context.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/flood-context.cpp b/src/flood-context.cpp index 561328c54..7c2f05d53 100644 --- a/src/flood-context.cpp +++ b/src/flood-context.cpp @@ -238,6 +238,9 @@ inline unsigned char * get_pixel(guchar *px, int x, int y, int width) { enum PaintBucketChannels { FLOOD_CHANNELS_RGB, + FLOOD_CHANNELS_R, + FLOOD_CHANNELS_G, + FLOOD_CHANNELS_B, FLOOD_CHANNELS_ALPHA }; @@ -245,6 +248,9 @@ GList * flood_channels_dropdown_items_list() { GList *glist = NULL; glist = g_list_append (glist, _("Visible Colors")); + glist = g_list_append (glist, _("Red")); + glist = g_list_append (glist, _("Green")); + glist = g_list_append (glist, _("Blue")); glist = g_list_append (glist, _("Alpha")); return glist; @@ -255,7 +261,13 @@ static bool compare_pixels(unsigned char *check, unsigned char *orig, unsigned c switch (method) { case FLOOD_CHANNELS_ALPHA: - return ((int)abs(check[3] - orig[3]) <= (tolerance / 4)); + return ((int)abs(check[3] - orig[3]) <= tolerance); + case FLOOD_CHANNELS_R: + return ((int)abs(check[0] - orig[0]) <= tolerance); + case FLOOD_CHANNELS_G: + return ((int)abs(check[1] - orig[1]) <= tolerance); + case FLOOD_CHANNELS_B: + return ((int)abs(check[2] - orig[2]) <= tolerance); case FLOOD_CHANNELS_RGB: unsigned char merged_orig[4]; unsigned char merged_check[4]; -- 2.30.2