MCPcopy Index your code
hub / github.com/cifertech/DisplayKit / convertToOLEDColor

Function convertToOLEDColor

app.js:3396–3445  ·  view source on GitHub ↗
(color)

Source from the content-addressed store, hash-verified

3394
3395
3396function convertToOLEDColor(color) {
3397 if (!color || color === "transparent") return "#000000";
3398
3399 // For OLED displays, convert to cyan shades for consistency with cyan theme
3400 // Check if color is already a hex color
3401 if (color.startsWith('#')) {
3402 // Convert to grayscale then to cyan shades
3403 const hex = color.replace('#', '');
3404 const r = parseInt(hex.substr(0, 2), 16);
3405 const g = parseInt(hex.substr(2, 2), 16);
3406 const b = parseInt(hex.substr(4, 2), 16);
3407
3408 // Calculate luminance (brightness)
3409 const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
3410
3411 if (luminance < 0.1) return "#002244"; // Very dark cyan
3412 if (luminance < 0.2) return "#004466"; // Dark cyan
3413 if (luminance < 0.3) return "#006688"; // Medium-dark cyan
3414 if (luminance < 0.4) return "#0088aa"; // Medium cyan
3415 if (luminance < 0.5) return "#00aacc"; // Light medium cyan
3416 if (luminance < 0.6) return "#00ccee"; // Light cyan
3417 if (luminance < 0.7) return "#22ddff"; // Bright cyan
3418 if (luminance < 0.8) return "#44eeff"; // Very bright cyan
3419 if (luminance < 0.9) return "#66ffff"; // Maximum cyan
3420 return "#88ffff"; // Ultra bright cyan
3421 }
3422
3423 // Handle named colors with OLED-appropriate cyan shades
3424 const colorMap = {
3425 "white": "#88ffff", // Bright cyan
3426 "black": "#002244", // Dark cyan
3427 "gray": "#006688", // Medium cyan
3428 "grey": "#006688",
3429 "red": "#0088aa", // Medium cyan
3430 "green": "#00ccee", // Light cyan
3431 "blue": "#44eeff", // Bright cyan
3432 "yellow": "#66ffff", // Very bright cyan
3433 "orange": "#22ddff", // Bright cyan
3434 "purple": "#00aacc", // Light medium cyan
3435 "pink": "#44eeff", // Bright cyan
3436 "cyan": "#88ffff", // Ultra bright cyan (keeps cyan bright)
3437 "magenta": "#22ddff", // Bright cyan
3438 "brown": "#004466", // Dark cyan
3439 "navy": "#002244", // Very dark cyan
3440 "maroon": "#004466", // Dark cyan
3441 "olive": "#006688" // Medium cyan
3442 };
3443
3444 return colorMap[color.toLowerCase()] || "#0088aa";
3445}
3446
3447// OLED canvas rendering helpers (pixel-accurate preview)
3448const _oledImageCache = new Map(); // src -> HTMLImageElement

Callers 1

renderElementsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected