🔧 Use GTK for color conversion
This commit is contained in:
+9
-39
@@ -102,6 +102,15 @@ export async function importInShellOnly(module) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// This method can be used to import a module in the preferences process only. The same as
|
||||
// importInShellOnly(), but the other way around.
|
||||
export async function importInPrefsOnly(module) {
|
||||
if (typeof global === 'undefined') {
|
||||
return (await import(module)).default;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// This method can be used to import gettext. This is done differently in the
|
||||
// GNOME Shell process and in the preferences process.
|
||||
export async function importGettext() {
|
||||
@@ -195,42 +204,3 @@ export function parseColor(string) {
|
||||
|
||||
return [color.red / 255, color.green / 255, color.blue / 255, color.alpha / 255];
|
||||
}
|
||||
|
||||
// Converts a color in hsv space into rgb.
|
||||
// https://stackoverflow.com/a/17243070
|
||||
export function hsvToRgb(h, s, v) {
|
||||
var r, g, b, i, f, p, q, t;
|
||||
if (arguments.length === 1) {
|
||||
(s = h.s), (v = h.v), (h = h.h);
|
||||
}
|
||||
i = Math.floor(h * 6);
|
||||
f = h * 6 - i;
|
||||
p = v * (1 - s);
|
||||
q = v * (1 - f * s);
|
||||
t = v * (1 - (1 - f) * s);
|
||||
switch (i % 6) {
|
||||
case 0:
|
||||
(r = v), (g = t), (b = p);
|
||||
break;
|
||||
case 1:
|
||||
(r = q), (g = v), (b = p);
|
||||
break;
|
||||
case 2:
|
||||
(r = p), (g = v), (b = t);
|
||||
break;
|
||||
case 3:
|
||||
(r = p), (g = q), (b = v);
|
||||
break;
|
||||
case 4:
|
||||
(r = t), (g = p), (b = v);
|
||||
break;
|
||||
case 5:
|
||||
(r = v), (g = p), (b = q);
|
||||
break;
|
||||
}
|
||||
return {
|
||||
r,
|
||||
g,
|
||||
b,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user