-
Notifications
You must be signed in to change notification settings - Fork 129
Description
Hi, microprofile currently contains some non-free JavaScript code embedded in src/microprofile*.html, specifically the HSL to/from RGB functions:
microprofile/src/microprofile.html
Lines 103 to 158 in b20a06d
| function ConvertRgbToHsl(hexTripletColor) //from https://gist.github.com/mjackson/5311256 | |
| { | |
| var color = hexTripletColor; | |
| color = color.substring(1); | |
| color = parseInt(color, 16); | |
| var r = ((color >> 16) % 256)/255.0; | |
| var g = ((color >> 8) % 256)/255.0; | |
| var b = ((color >> 0) % 256)/255.0; | |
| var max = Math.max(r, g, b), min = Math.min(r, g, b); | |
| var h, s, l = (max + min) / 2; | |
| if (max == min) { | |
| h = s = 0; // achromatic | |
| } | |
| else | |
| { | |
| var d = max - min; | |
| s = l > 0.5 ? d / (2 - max - min) : d / (max + min); | |
| switch (max) | |
| { | |
| case r: h = (g - b) / d + (g < b ? 6 : 0); break; | |
| case g: h = (b - r) / d + 2; break; | |
| case b: h = (r - g) / d + 4; break; | |
| } | |
| h /= 6; | |
| } | |
| return [ h, s, l ]; | |
| } | |
| function ConvertHslToColor(h, s, l) //from https://gist.github.com/mjackson/5311256 | |
| { | |
| var r, g, b; | |
| if (s == 0) | |
| { | |
| r = g = b = l; // achromatic | |
| } | |
| else | |
| { | |
| function hue2rgb(p, q, t) | |
| { | |
| if (t < 0) t += 1; | |
| if (t > 1) t -= 1; | |
| if (t < 1/6) return p + (q - p) * 6 * t; | |
| if (t < 1/2) return q; | |
| if (t < 2/3) return p + (q - p) * (2/3 - t) * 6; | |
| return p; | |
| } | |
| var q = l < 0.5 ? l * (1 + s) : l + s - l * s; | |
| var p = 2 * l - q; | |
| r = hue2rgb(p, q, h + 1/3); | |
| g = hue2rgb(p, q, h); | |
| b = hue2rgb(p, q, h - 1/3); | |
| } | |
| var color = ((r*255)<<16) | ((g*255)<<8) | (b*255); | |
| return '#' + ("000000" + color.toString(16)).slice(-6); | |
| } |
The code from https://gist.github.com/mjackson/5311256 is not licensed, meaning that it cannot be used for any purpose; on the Gist thread, people asked multiple times for a license, but the author never did so.
On that same thread, user @vahidk linked to an alternative implementation free to use for any purpose: https://gist.github.com/mjackson/5311256?permalink_comment_id=2710361#gistcomment-2710361. I'd suggest using that instead.
This has been originally reported on Debian: https://bugs.debian.org/1023178