gimp r27764 - in trunk: . app/core
- From: neo svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r27764 - in trunk: . app/core
- Date: Thu, 4 Dec 2008 20:58:50 +0000 (UTC)
Author: neo
Date: Thu Dec 4 20:58:50 2008
New Revision: 27764
URL: http://svn.gnome.org/viewvc/gimp?rev=27764&view=rev
Log:
2008-12-04 Sven Neumann <sven gimp org>
Bug 563130 â Hue selection mode does not cross the 0-360 degrees
line
* app/core/gimpimage-contiguous-region.c (pixel_difference):
applied patch from Daniel Hornung.
Modified:
trunk/ChangeLog
trunk/app/core/gimpimage-contiguous-region.c
Modified: trunk/app/core/gimpimage-contiguous-region.c
==============================================================================
--- trunk/app/core/gimpimage-contiguous-region.c (original)
+++ trunk/app/core/gimpimage-contiguous-region.c Thu Dec 4 20:58:50 2008
@@ -379,36 +379,44 @@
break;
case GIMP_SELECT_CRITERION_H:
- av0 = (gint)col1[0];
- av1 = (gint)col1[1];
- av2 = (gint)col1[2];
- bv0 = (gint)col2[0];
- bv1 = (gint)col2[1];
- bv2 = (gint)col2[2];
+ av0 = (gint) col1[0];
+ av1 = (gint) col1[1];
+ av2 = (gint) col1[2];
+ bv0 = (gint) col2[0];
+ bv1 = (gint) col2[1];
+ bv2 = (gint) col2[2];
gimp_rgb_to_hsv_int (&av0, &av1, &av2);
gimp_rgb_to_hsv_int (&bv0, &bv1, &bv2);
- max = abs (av0 - bv0);
+ /* wrap around candidates for the actual distance */
+ {
+ gint dist1 = abs (av0 - bv0);
+ gint dist2 = abs (av0 - 360 - bv0);
+ gint dist3 = abs (av0 - bv0 + 360);
+ max = MIN (dist1, dist2);
+ if (max > dist3)
+ max = dist3;
+ }
break;
case GIMP_SELECT_CRITERION_S:
- av0 = (gint)col1[0];
- av1 = (gint)col1[1];
- av2 = (gint)col1[2];
- bv0 = (gint)col2[0];
- bv1 = (gint)col2[1];
- bv2 = (gint)col2[2];
+ av0 = (gint) col1[0];
+ av1 = (gint) col1[1];
+ av2 = (gint) col1[2];
+ bv0 = (gint) col2[0];
+ bv1 = (gint) col2[1];
+ bv2 = (gint) col2[2];
gimp_rgb_to_hsv_int (&av0, &av1, &av2);
gimp_rgb_to_hsv_int (&bv0, &bv1, &bv2);
max = abs (av1 - bv1);
break;
case GIMP_SELECT_CRITERION_V:
- av0 = (gint)col1[0];
- av1 = (gint)col1[1];
- av2 = (gint)col1[2];
- bv0 = (gint)col2[0];
- bv1 = (gint)col2[1];
- bv2 = (gint)col2[2];
+ av0 = (gint) col1[0];
+ av1 = (gint) col1[1];
+ av2 = (gint) col1[2];
+ bv0 = (gint) col2[0];
+ bv1 = (gint) col2[1];
+ bv2 = (gint) col2[2];
gimp_rgb_to_hsv_int (&av0, &av1, &av2);
gimp_rgb_to_hsv_int (&bv0, &bv1, &bv2);
max = abs (av2 - bv2);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]