Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojo.colors"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojo.colors"] = true;dojo.provide("dojo.colors");(function(){// this is a standard convertion prescribed by the CSS3 Color Modulevar hue2rgb = function(m1, m2, h){if(h < 0){ ++h; }if(h > 1){ --h; }var h6 = 6 * h;if(h6 < 1){ return m1 + (m2 - m1) * h6; }if(2 * h < 1){ return m2; }if(3 * h < 2){ return m1 + (m2 - m1) * (2 / 3 - h) * 6; }return m1;};dojo.colorFromRgb = function(/*String*/ color, /*dojo.Color?*/ obj){// summary:// get rgb(a) array from css-style color declarations// description:// this function can handle all 4 CSS3 Color Module formats: rgb,// rgba, hsl, hsla, including rgb(a) with percentage values.var m = color.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(m){var c = m[2].split(/\s*,\s*/), l = c.length, t = m[1];if((t == "rgb" && l == 3) || (t == "rgba" && l == 4)){var r = c[0];if(r.charAt(r.length - 1) == "%"){// 3 rgb percentage valuesvar a = dojo.map(c, function(x){return parseFloat(x) * 2.56;});if(l == 4){ a[3] = c[3]; }return dojo.colorFromArray(a, obj); // dojo.Color}return dojo.colorFromArray(c, obj); // dojo.Color}if((t == "hsl" && l == 3) || (t == "hsla" && l == 4)){// normalize hsl valuesvar H = ((parseFloat(c[0]) % 360) + 360) % 360 / 360,S = parseFloat(c[1]) / 100,L = parseFloat(c[2]) / 100,// calculate rgb according to the algorithm// recommended by the CSS3 Color Modulem2 = L <= 0.5 ? L * (S + 1) : L + S - L * S,m1 = 2 * L - m2,a = [hue2rgb(m1, m2, H + 1 / 3) * 256,hue2rgb(m1, m2, H) * 256, hue2rgb(m1, m2, H - 1 / 3) * 256, 1];if(l == 4){ a[3] = c[3]; }return dojo.colorFromArray(a, obj); // dojo.Color}}return null; // dojo.Color};var confine = function(c, low, high){// summary:// sanitize a color component by making sure it is a number,// and clamping it to valid valuesc = Number(c);return isNaN(c) ? high : c < low ? low : c > high ? high : c; // Number};dojo.Color.prototype.sanitize = function(){// summary: makes sure that the object has correct attributesvar t = this;t.r = Math.round(confine(t.r, 0, 255));t.g = Math.round(confine(t.g, 0, 255));t.b = Math.round(confine(t.b, 0, 255));t.a = confine(t.a, 0, 1);return this; // dojo.Color};})();dojo.colors.makeGrey = function(/*Number*/ g, /*Number?*/ a){// summary: creates a greyscale color with an optional alphareturn dojo.colorFromArray([g, g, g, a]);};// mixin all CSS3 named colors not already in _base, along with SVG 1.0 variant spellingsdojo.Color.named = dojo.mixin({aliceblue: [240,248,255],antiquewhite: [250,235,215],aquamarine: [127,255,212],azure: [240,255,255],beige: [245,245,220],bisque: [255,228,196],blanchedalmond: [255,235,205],blueviolet: [138,43,226],brown: [165,42,42],burlywood: [222,184,135],cadetblue: [95,158,160],chartreuse: [127,255,0],chocolate: [210,105,30],coral: [255,127,80],cornflowerblue: [100,149,237],cornsilk: [255,248,220],crimson: [220,20,60],cyan: [0,255,255],darkblue: [0,0,139],darkcyan: [0,139,139],darkgoldenrod: [184,134,11],darkgray: [169,169,169],darkgreen: [0,100,0],darkgrey: [169,169,169],darkkhaki: [189,183,107],darkmagenta: [139,0,139],darkolivegreen: [85,107,47],darkorange: [255,140,0],darkorchid: [153,50,204],darkred: [139,0,0],darksalmon: [233,150,122],darkseagreen: [143,188,143],darkslateblue: [72,61,139],darkslategray: [47,79,79],darkslategrey: [47,79,79],darkturquoise: [0,206,209],darkviolet: [148,0,211],deeppink: [255,20,147],deepskyblue: [0,191,255],dimgray: [105,105,105],dimgrey: [105,105,105],dodgerblue: [30,144,255],firebrick: [178,34,34],floralwhite: [255,250,240],forestgreen: [34,139,34],gainsboro: [220,220,220],ghostwhite: [248,248,255],gold: [255,215,0],goldenrod: [218,165,32],greenyellow: [173,255,47],grey: [128,128,128],honeydew: [240,255,240],hotpink: [255,105,180],indianred: [205,92,92],indigo: [75,0,130],ivory: [255,255,240],khaki: [240,230,140],lavender: [230,230,250],lavenderblush: [255,240,245],lawngreen: [124,252,0],lemonchiffon: [255,250,205],lightblue: [173,216,230],lightcoral: [240,128,128],lightcyan: [224,255,255],lightgoldenrodyellow: [250,250,210],lightgray: [211,211,211],lightgreen: [144,238,144],lightgrey: [211,211,211],lightpink: [255,182,193],lightsalmon: [255,160,122],lightseagreen: [32,178,170],lightskyblue: [135,206,250],lightslategray: [119,136,153],lightslategrey: [119,136,153],lightsteelblue: [176,196,222],lightyellow: [255,255,224],limegreen: [50,205,50],linen: [250,240,230],magenta: [255,0,255],mediumaquamarine: [102,205,170],mediumblue: [0,0,205],mediumorchid: [186,85,211],mediumpurple: [147,112,219],mediumseagreen: [60,179,113],mediumslateblue: [123,104,238],mediumspringgreen: [0,250,154],mediumturquoise: [72,209,204],mediumvioletred: [199,21,133],midnightblue: [25,25,112],mintcream: [245,255,250],mistyrose: [255,228,225],moccasin: [255,228,181],navajowhite: [255,222,173],oldlace: [253,245,230],olivedrab: [107,142,35],orange: [255,165,0],orangered: [255,69,0],orchid: [218,112,214],palegoldenrod: [238,232,170],palegreen: [152,251,152],paleturquoise: [175,238,238],palevioletred: [219,112,147],papayawhip: [255,239,213],peachpuff: [255,218,185],peru: [205,133,63],pink: [255,192,203],plum: [221,160,221],powderblue: [176,224,230],rosybrown: [188,143,143],royalblue: [65,105,225],saddlebrown: [139,69,19],salmon: [250,128,114],sandybrown: [244,164,96],seagreen: [46,139,87],seashell: [255,245,238],sienna: [160,82,45],skyblue: [135,206,235],slateblue: [106,90,205],slategray: [112,128,144],slategrey: [112,128,144],snow: [255,250,250],springgreen: [0,255,127],steelblue: [70,130,180],tan: [210,180,140],thistle: [216,191,216],tomato: [255,99,71],transparent: [0, 0, 0, 0],turquoise: [64,224,208],violet: [238,130,238],wheat: [245,222,179],whitesmoke: [245,245,245],yellowgreen: [154,205,50]}, dojo.Color.named);}