MCPcopy
hub / github.com/microsoft/SandDance / color

Function color

docs/app/js/sanddance-app.js:2377–2393  ·  view source on GitHub ↗
(format)

Source from the content-addressed store, hash-verified

2375 return this.rgb().formatRgb();
2376}
2377function color(format) {
2378 var m, l;
2379 format = (format + "").trim().toLowerCase();
2380 return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000
2381 : l === 3 ? new Rgb(m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, (m & 0xf) << 4 | m & 0xf, 1) // #f00
2382 : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000
2383 : l === 4 ? rgba(m >> 12 & 0xf | m >> 8 & 0xf0, m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, ((m & 0xf) << 4 | m & 0xf) / 0xff) // #f000
2384 : null // invalid hex
2385 ) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)
2386 : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)
2387 : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)
2388 : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)
2389 : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)
2390 : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)
2391 : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins
2392 : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
2393}
2394exports.default = color;
2395function rgbn(n) {
2396 return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);

Callers 9

rgbConvertFunction · 0.70
hslConvertFunction · 0.70
fillFunction · 0.70
strokeFunction · 0.70
rgbFunction · 0.70
transformFunction · 0.70
color_Function · 0.70
toCanvasFunction · 0.70
entry$1Function · 0.70

Calls 6

rgbnFunction · 0.70
rgbaFunction · 0.70
hslaFunction · 0.70
isGradientFunction · 0.70
gradientFunction · 0.70
_colorFunction · 0.70

Tested by

no test coverage detected