@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
23 lines • 2.33 kB
JavaScript
/* eslint-disable unicorn/prevent-abbreviations */
import { tgdCalcMapRange } from "./../math/index.js";
import { TgdColor } from "./color.js";
export function tgdColorMakeHueWheel({ steps = 128, fromDegree = 0, toDegree = 360, luminance = 0.5, saturation = 1, }) {
if (steps < 2)
return [TgdColor.fromHSL(tgdCalcMapRange(fromDegree, 0, 360, 0, 1, true), saturation, luminance)];
const colors = [];
const factor = Math.abs(toDegree - fromDegree) / (360 * steps - 1);
const shift = fromDegree / 360;
for (let i = 0; i < steps; i++) {
const hue = shift + i * factor;
const color = TgdColor.fromHSL(hue, saturation, luminance);
colors.push(color);
}
return colors;
}
/**
* This function can be useful in `Array.map()` functions.
*/
export function tgdColorToString(color) {
return color.toString();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29sb3IvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUVsQyxNQUFNLFVBQVUsb0JBQW9CLENBQUMsRUFDakMsS0FBSyxHQUFHLEdBQUcsRUFDWCxVQUFVLEdBQUcsQ0FBQyxFQUNkLFFBQVEsR0FBRyxHQUFHLEVBQ2QsU0FBUyxHQUFHLEdBQUcsRUFDZixVQUFVLEdBQUcsQ0FBQyxHQU9oQjtJQUNFLElBQUksS0FBSyxHQUFHLENBQUM7UUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUVoSCxNQUFNLE1BQU0sR0FBZSxFQUFFLENBQUE7SUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sS0FBSyxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUE7SUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdCLE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFBO1FBQzlCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUMxRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNqQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBZTtJQUM1QyxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtBQUMzQixDQUFDIn0=