aboutsummaryrefslogtreecommitdiff
path: root/quantum/color.c
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/color.c')
-rw-r--r--quantum/color.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/quantum/color.c b/quantum/color.c
index c49877592..466e6edac 100644
--- a/quantum/color.c
+++ b/quantum/color.c
@@ -22,8 +22,8 @@
22RGB hsv_to_rgb( HSV hsv ) 22RGB hsv_to_rgb( HSV hsv )
23{ 23{
24 RGB rgb; 24 RGB rgb;
25 uint8_t region, p, q, t; 25 uint8_t region, remainder, p, q, t;
26 uint16_t h, s, v, remainder; 26 uint16_t h, s, v;
27 27
28 if ( hsv.s == 0 ) 28 if ( hsv.s == 0 )
29 { 29 {
@@ -37,8 +37,8 @@ RGB hsv_to_rgb( HSV hsv )
37 s = hsv.s; 37 s = hsv.s;
38 v = hsv.v; 38 v = hsv.v;
39 39
40 region = h / 43; 40 region = h * 6 / 255;
41 remainder = (h - (region * 43)) * 6; 41 remainder = (h * 2 - region * 85) * 3;
42 42
43 p = (v * (255 - s)) >> 8; 43 p = (v * (255 - s)) >> 8;
44 q = (v * (255 - ((s * remainder) >> 8))) >> 8; 44 q = (v * (255 - ((s * remainder) >> 8))) >> 8;
@@ -46,6 +46,7 @@ RGB hsv_to_rgb( HSV hsv )
46 46
47 switch ( region ) 47 switch ( region )
48 { 48 {
49 case 6:
49 case 0: 50 case 0:
50 rgb.r = v; 51 rgb.r = v;
51 rgb.g = t; 52 rgb.g = t;