From ddf5c99bbff940bf8888b634b66b1149874394eb Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Tue, 23 Nov 2010 14:09:40 -0800 Subject: [PATCH] removed color parser --- lib/colors.js | 153 ----------------------------------------------- lib/context2d.js | 139 +----------------------------------------- 2 files changed, 1 insertion(+), 291 deletions(-) delete mode 100644 lib/colors.js diff --git a/lib/colors.js b/lib/colors.js deleted file mode 100644 index 5ced002..0000000 --- a/lib/colors.js +++ /dev/null @@ -1,153 +0,0 @@ - -/*! - * Canvas - colors - * Copyright (c) 2010 LearnBoost - * MIT Licensed - */ - -module.exports = { - transparent: 'rgba(255,255,255,0)' - , aliceblue: '#f0f8ff' - , antiquewhite: '#faebd7' - , aqua: '#00ffff' - , aquamarine: '#7fffd4' - , azure: '#f0ffff' - , beige: '#f5f5dc' - , bisque: '#ffe4c4' - , black: '#000000' - , blanchedalmond: '#ffebcd' - , blue: '#0000ff' - , blueviolet: '#8a2be2' - , brown: '#a52a2a' - , burlywood: '#deb887' - , cadetblue: '#5f9ea0' - , chartreuse: '#7fff00' - , chocolate: '#d2691e' - , coral: '#ff7f50' - , cornflowerblue: '#6495ed' - , cornsilk: '#fff8dc' - , crimson: '#dc143c' - , cyan: '#00ffff' - , darkblue: '#00008b' - , darkcyan: '#008b8b' - , darkgoldenrod: '#b8860b' - , darkgray: '#a9a9a9' - , darkgreen: '#006400' - , darkkhaki: '#bdb76b' - , darkmagenta: '#8b008b' - , darkolivegreen: '#556b2f' - , darkorange: '#ff8c00' - , darkorchid: '#9932cc' - , darkred: '#8b0000' - , darksalmon: '#e9967a' - , darkseagreen: '#8fbc8f' - , darkslateblue: '#483d8b' - , darkslategray: '#2f4f4f' - , darkturquoise: '#00ced1' - , darkviolet: '#9400d3' - , deeppink: '#ff1493' - , deepskyblue: '#00bfff' - , dimgray: '#696969' - , dodgerblue: '#1e90ff' - , feldspar: '#d19275' - , firebrick: '#b22222' - , floralwhite: '#fffaf0' - , forestgreen: '#228b22' - , fuchsia: '#ff00ff' - , gainsboro: '#dcdcdc' - , ghostwhite: '#f8f8ff' - , gold: '#ffd700' - , goldenrod: '#daa520' - , gray: '#808080' - , green: '#008000' - , greenyellow: '#adff2f' - , honeydew: '#f0fff0' - , hotpink: '#ff69b4' - , indianred : '#cd5c5c' - , indigo : '#4b0082' - , ivory: '#fffff0' - , khaki: '#f0e68c' - , lavender: '#e6e6fa' - , lavenderblush: '#fff0f5' - , lawngreen: '#7cfc00' - , lemonchiffon: '#fffacd' - , lightblue: '#add8e6' - , lightcoral: '#f08080' - , lightcyan: '#e0ffff' - , lightgoldenrodyellow: '#fafad2' - , lightgrey: '#d3d3d3' - , lightgreen: '#90ee90' - , lightpink: '#ffb6c1' - , lightsalmon: '#ffa07a' - , lightseagreen: '#20b2aa' - , lightskyblue: '#87cefa' - , lightslateblue: '#8470ff' - , lightslategray: '#778899' - , lightsteelblue: '#b0c4de' - , lightyellow: '#ffffe0' - , lime: '#00ff00' - , limegreen: '#32cd32' - , linen: '#faf0e6' - , magenta: '#ff00ff' - , maroon: '#800000' - , mediumaquamarine: '#66cdaa' - , mediumblue: '#0000cd' - , mediumorchid: '#ba55d3' - , mediumpurple: '#9370d8' - , mediumseagreen: '#3cb371' - , mediumslateblue: '#7b68ee' - , mediumspringgreen: '#00fa9a' - , mediumturquoise: '#48d1cc' - , mediumvioletred: '#c71585' - , midnightblue: '#191970' - , mintcream: '#f5fffa' - , mistyrose: '#ffe4e1' - , moccasin: '#ffe4b5' - , navajowhite: '#ffdead' - , navy: '#000080' - , oldlace: '#fdf5e6' - , olive: '#808000' - , olivedrab: '#6b8e23' - , orange: '#ffa500' - , orangered: '#ff4500' - , orchid: '#da70d6' - , palegoldenrod: '#eee8aa' - , palegreen: '#98fb98' - , paleturquoise: '#afeeee' - , palevioletred: '#d87093' - , papayawhip: '#ffefd5' - , peachpuff: '#ffdab9' - , peru: '#cd853f' - , pink: '#ffc0cb' - , plum: '#dda0dd' - , powderblue: '#b0e0e6' - , purple: '#800080' - , red: '#ff0000' - , rosybrown: '#bc8f8f' - , royalblue: '#4169e1' - , saddlebrown: '#8b4513' - , salmon: '#fa8072' - , sandybrown: '#f4a460' - , seagreen: '#2e8b57' - , seashell: '#fff5ee' - , sienna: '#a0522d' - , silver: '#c0c0c0' - , skyblue: '#87ceeb' - , slateblue: '#6a5acd' - , slategray: '#708090' - , snow: '#fffafa' - , springgreen: '#00ff7f' - , steelblue: '#4682b4' - , tan: '#d2b48c' - , teal: '#008080' - , thistle: '#d8bfd8' - , tomato: '#ff6347' - , turquoise: '#40e0d0' - , violet: '#ee82ee' - , violetred: '#d02090' - , wheat: '#f5deb3' - , white: '#ffffff' - , whitesmoke: '#f5f5f5' - , yellow: '#ffff00' - , yellowgreen: '#9acd32' -}; \ No newline at end of file diff --git a/lib/context2d.js b/lib/context2d.js index f637416..fc435c9 100644 --- a/lib/context2d.js +++ b/lib/context2d.js @@ -13,8 +13,7 @@ var canvas = require('../build/default/canvas') , Context2d = canvas.CanvasRenderingContext2d , CanvasGradient = canvas.CanvasGradient , ImageData = canvas.ImageData - , PixelArray = canvas.CanvasPixelArray - , colors = require('./colors'); + , PixelArray = canvas.CanvasPixelArray; /** * Export `Context2d` as the module. @@ -107,142 +106,6 @@ var parseFont = exports.parseFont = function(str){ return font; }; -/** - * Parse the given color `str`. - * - * Current supports: - * - * - #nnn - * - #nnnnnn - * - rgb(r,g,b) - * - rgba(r,g,b,a) - * - color - * - * Examples - * - * - #fff - * - #FFF - * - #FFFFFF - * - rgb(255,255,5) - * - rgba(255,255,5,.8) - * - rgba(255,255,5,0.8) - * - hsl(300,100%,50%) - * - hsla(300,100%,50%,0.5) - * - white - * - red - * - * @param {String} str - * @return {Array} - * @api private - */ - -var parseColor = exports.parseColor = function(str){ - if (cache[str]) return cache[str]; - str = colors[str] || String(str); - // RGBA - if (0 == str.indexOf('rgba')) { - var captures = /rgba\((\d{1,3}) *, *(\d{1,3}) *, *(\d{1,3}) *, *(\d+\.\d+|\.\d+|\d+) *\)/.exec(str); - if (!captures) return; - return cache[str] = [ - parseInt(captures[1], 10) - , parseInt(captures[2], 10) - , parseInt(captures[3], 10) - , parseFloat(captures[4], 10) - ]; - // RGB - } else if (0 == str.indexOf('rgb')) { - var captures = /rgb\((\d{1,3}) *, *(\d{1,3}) *, *(\d{1,3}) *\)/.exec(str); - if (!captures) return; - return cache[str] = [ - parseInt(captures[1], 10) - , parseInt(captures[2], 10) - , parseInt(captures[3], 10) - , 1 - ]; - // #RRGGBB - } else if ('#' == str[0] && str.length > 4) { - var captures = /#([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})/.exec(str); - if (!captures) return; - return cache[str] = [ - parseInt(captures[1], 16) - , parseInt(captures[2], 16) - , parseInt(captures[3], 16) - , 1 - ]; - // #RGB - } else if ('#' == str[0]) { - var captures = /#([a-fA-F\d])([a-fA-F\d])([a-fA-F\d])/.exec(str); - if (!captures) return; - return cache[str] = [ - parseInt(captures[1] + captures[1], 16) - , parseInt(captures[2] + captures[2], 16) - , parseInt(captures[3] + captures[3], 16) - , 1 - ]; - // HSLA - } else if (0 == str.indexOf('hsla')) { - var captures = /hsla\((\d+\.\d+|\.\d+|\d+) *, *(\d+\.\d+|\.\d+|\d+)%? *, *(\d+\.\d+|\.\d+|\d+)%? *, *(\d+\.\d+|\.\d+|\d+) *\)/.exec(str); - if (!captures) return; - return cache[str] = hsl2rgb( - (((parseFloat(captures[1], 10) % 360) + 360) % 360) / 360 - , parseFloat(captures[2], 10) / 100.0 - , parseFloat(captures[3], 10) / 100.0 - , parseFloat(captures[4], 10) - ); - // HSL - } else if (0 == str.indexOf('hsl')) { - var captures = /hsl\((\d+\.\d+|\.\d+|\d+) *, *(\d+\.\d+|\.\d+|\d+)%? *, *(\d+\.\d+|\.\d+|\d+)%? *\)/.exec(str); - if (!captures) return; - return cache[str] = hsl2rgb( - (((parseFloat(captures[1], 10) % 360) + 360) % 360) / 360 - , parseFloat(captures[2], 10) / 100.0 - , parseFloat(captures[3], 10) / 100.0 - , 1 - ); - } -}; - -/** - * HSLA -> RGB. - * - * @param {Number} h - * @param {Number} s - * @param {Number} l - * @param {Number} a - * @return {Array} - * @api private - */ - -function hsl2rgb(h,s,l,a) { - var m2 = l <= 0.5 ? l*(s+1) : l+s-l*s - , m1 = l*2-m2; - return [ - Math.round(hue2rgb(m1, m2, h+1/3) * 255) - , Math.round(hue2rgb(m1, m2, h) * 255) - , Math.round(hue2rgb(m1, m2, h-1/3) * 255) - , a - ]; -} - -/** - * Hue to RGB - * - * @param {Number} m1 - * @param {Number} m2 - * @param {Number} h - * @return {Number} - * @api private - */ - -function hue2rgb(m1,m2,h) { - if (h<0) h = h+1; - if (h>1) h = h-1; - if (h*6<1) return m1+(m2-m1)*h*6; - if (h*2<1) return m2; - if (h*3<2) return m1+(m2-m1)*(2/3-h)*6; - return m1; -} - /** * Add `color` stop at the given `offset`. *