diff --git a/ext/native/base/colorutil.cpp b/ext/native/base/colorutil.cpp index bdb4bdbcb1..6074dd9be0 100644 --- a/ext/native/base/colorutil.cpp +++ b/ext/native/base/colorutil.cpp @@ -46,7 +46,7 @@ uint32_t colorBlend(uint32_t rgb1, uint32_t rgb2, float alpha) { uint32_t alphaMul(uint32_t color, float alphaMul) { uint32_t rgb = color & 0xFFFFFF; int32_t alpha = color >> 24; - alpha *= alphaMul; + alpha = (int32_t)(alpha * alphaMul); if (alpha < 0) alpha = 0; if (alpha > 255) alpha = 255; return (alpha << 24) | (rgb & 0xFFFFFF); @@ -63,52 +63,3 @@ uint32_t rgba(float r, float g, float b, float alpha) { uint32_t rgba_clamp(float r, float g, float b, float a) { return rgba(clamp(r, 0.0f, 1.0f), clamp(g, 0.0f, 1.0f), clamp(b, 0.0f, 1.0f), clamp(a, 0.0f, 1.0f)); } - -/* hsv2rgb.c -* Convert Hue Saturation Value to Red Green Blue -* -* P.J. 08-Aug-98 -* -* Reference: -* D. F. Rogers -* Procedural Elements for Computer Graphics -* McGraw Hill 1985 -*/ -uint32_t hsva(float H, float S, float V, float alpha) { - /* - * Purpose: - * Convert HSV values to RGB values - * All values are in the range [0.0 .. 1.0] - */ - float F, M, N, K; - int I; - if ( S == 0.0 ) { - // Achromatic case, set level of grey - return rgba(V, V, V, alpha); - } else { - /* - * Determine levels of primary colours. - */ - if (H >= 1.0) { - H = 0.0; - } else { - H = H * 6; - } - I = (int) H; /* should be in the range 0..5 */ - F = H - I; /* fractional part */ - - M = V * (1 - S); - N = V * (1 - S * F); - K = V * (1 - S * (1 - F)); - - float r, g, b; - if (I == 0) { r = V; g = K; b = M; } - else if (I == 1) { r = N; g = V; b = M; } - else if (I == 2) { r = M; g = V; b = K; } - else if (I == 3) { r = M; g = N; b = V; } - else if (I == 4) { r = K; g = M; b = V; } - else if (I == 5) { r = V; g = M; b = N; } - else return 0; - return rgba(r, g, b, alpha); - } -} diff --git a/ext/native/base/colorutil.h b/ext/native/base/colorutil.h index 0f9fa33b7a..9e8128bae1 100644 --- a/ext/native/base/colorutil.h +++ b/ext/native/base/colorutil.h @@ -9,7 +9,6 @@ uint32_t colorBlend(uint32_t color, uint32_t color2, float alpha); uint32_t alphaMul(uint32_t color, float alphaMul); uint32_t rgba(float r, float g, float b, float alpha); uint32_t rgba_clamp(float r, float g, float b, float alpha); -uint32_t hsva(float h, float s, float v, float alpha); typedef unsigned int Color; @@ -17,10 +16,3 @@ typedef unsigned int Color; inline Color darkenColor(Color color) { return (color & 0xFF000000) | ((color >> 1) & 0x7F7F7F); } -inline Color whitenColor(Color color) { - return ((color & 0xFF000000) | ((color >> 1) & 0x7F7F7F)) + 0x7F7F7F; -} -inline Color colorInterpol(Color x, Color y, int n) { - // TODO - return x; -}