www/gallery/highcharts/js/modules/canvas-tools.js
function RGBColor(m){this.ok=!1;m.charAt(0)=="#"&&(m=m.substr(1,6));var m=m.replace(/ /g,""),m=m.toLowerCase(),a={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"},c;for(c in a)m==c&&(m=a[c]);var d=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(b){return[parseInt(b[1]),parseInt(b[2]),parseInt(b[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,
example:["#00ff00","336699"],process:function(b){return[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(b){return[parseInt(b[1]+b[1],16),parseInt(b[2]+b[2],16),parseInt(b[3]+b[3],16)]}}];for(c=0;c<d.length;c++){var b=d[c].process,k=d[c].re.exec(m);if(k)channels=b(k),this.r=channels[0],this.g=channels[1],this.b=channels[2],this.ok=!0}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r;this.g=this.g<0||isNaN(this.g)?0:
this.g>255?255:this.g;this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b;this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"};this.toHex=function(){var b=this.r.toString(16),a=this.g.toString(16),d=this.b.toString(16);b.length==1&&(b="0"+b);a.length==1&&(a="0"+a);d.length==1&&(d="0"+d);return"#"+b+a+d};this.getHelpXML=function(){for(var b=[],k=0;k<d.length;k++)for(var c=d[k].example,j=0;j<c.length;j++)b[b.length]=c[j];for(var h in a)b[b.length]=h;c=document.createElement("ul");
c.setAttribute("id","rgbcolor-examples");for(k=0;k<b.length;k++)try{var l=document.createElement("li"),o=new RGBColor(b[k]),n=document.createElement("div");n.style.cssText="margin: 3px; border: 1px solid black; background:"+o.toHex()+"; color:"+o.toHex();n.appendChild(document.createTextNode("test"));var q=document.createTextNode(" "+b[k]+" -> "+o.toRGB()+" -> "+o.toHex());l.appendChild(n);l.appendChild(q);c.appendChild(l)}catch(p){}return c}}
function RGBColor(m){this.ok=!1;m.charAt(0)=="#"&&(m=m.substr(1,6));var m=m.replace(/ /g,""),m=m.toLowerCase(),a={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"},c;for(c in a)m==c&&(m=a[c]);var d=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(b){return[parseInt(b[1]),parseInt(b[2]),parseInt(b[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,
example:["#00ff00","336699"],process:function(b){return[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(b){return[parseInt(b[1]+b[1],16),parseInt(b[2]+b[2],16),parseInt(b[3]+b[3],16)]}}];for(c=0;c<d.length;c++){var b=d[c].process,k=d[c].re.exec(m);if(k)channels=b(k),this.r=channels[0],this.g=channels[1],this.b=channels[2],this.ok=!0}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r;this.g=this.g<0||isNaN(this.g)?0:
this.g>255?255:this.g;this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b;this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"};this.toHex=function(){var b=this.r.toString(16),a=this.g.toString(16),d=this.b.toString(16);b.length==1&&(b="0"+b);a.length==1&&(a="0"+a);d.length==1&&(d="0"+d);return"#"+b+a+d};this.getHelpXML=function(){for(var b=[],k=0;k<d.length;k++)for(var c=d[k].example,j=0;j<c.length;j++)b[b.length]=c[j];for(var h in a)b[b.length]=h;c=document.createElement("ul");
c.setAttribute("id","rgbcolor-examples");for(k=0;k<b.length;k++)try{var l=document.createElement("li"),o=new RGBColor(b[k]),n=document.createElement("div");n.style.cssText="margin: 3px; border: 1px solid black; background:"+o.toHex()+"; color:"+o.toHex();n.appendChild(document.createTextNode("test"));var q=document.createTextNode(" "+b[k]+" -> "+o.toRGB()+" -> "+o.toHex());l.appendChild(n);l.appendChild(q);c.appendChild(l)}catch(p){}return c}}
function RGBColor ( m ) { this . ok = ! 1 ; m . charAt ( 0 ) == "#" && ( m = m . substr ( 1 , 6 ) ) ; var m = m . replace ( / / g , "" ) , m = m . toLowerCase ( ) , a = { 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" } , c ; for ( c in a ) m == c && ( m = a [ c ] ) ; var d = [ { re : / ^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$ / , example : [ "rgb(123, 234, 45)" , "rgb(255,234,245)" ] , process : function ( b ) { return [ parseInt ( b [ 1 ] ) , parseInt ( b [ 2 ] ) , parseInt ( b [ 3 ] ) ] } } , { re : / ^(\w{2})(\w{2})(\w{2})$ / , example : [ "#00ff00" , "336699" ] , process : function ( b ) { return [ parseInt ( b [ 1 ] , 16 ) , parseInt ( b [ 2 ] , 16 ) , parseInt ( b [ 3 ] , 16 ) ] } } , { re : / ^(\w{1})(\w{1})(\w{1})$ / , example : [ "#fb0" , "f0f" ] , process : function ( b ) { return [ parseInt ( b [ 1 ] + b [ 1 ] , 16 ) , parseInt ( b [ 2 ] + b [ 2 ] , 16 ) , parseInt ( b [ 3 ] + b [ 3 ] , 16 ) ] } } ] ; for ( c = 0 ; c < d . length ; c ++ ) { var b = d [ c ] . process , k = d [ c ] . re . exec ( m ) ; if ( k ) channels = b ( k ) , this . r = channels [ 0 ] , this . g = channels [ 1 ] , this . b = channels [ 2 ] , this . ok = ! 0 } this . r = this . r < 0 || isNaN ( this . r ) ? 0 : this . r > 255 ? 255 : this . r ; this . g = this . g < 0 || isNaN ( this . g ) ? 0 : this . g > 255 ? 255 : this . g ; this . b = this . b < 0 || isNaN ( this . b ) ? 0 : this . b > 255 ? 255 : this . b ; this . toRGB = function ( ) { return "rgb(" + this . r + ", " + this . g + ", " + this . b + ")" } ; this . toHex = function ( ) { var b = this . r . toString ( 16 ) , a = this . g . toString ( 16 ) , d = this . b . toString ( 16 ) ; b . length == 1 && ( b = "0" + b ) ; a . length == 1 && ( a = "0" + a ) ; d . length == 1 && ( d = "0" + d ) ; return "#" + b + a + d } ; this . getHelpXML = function ( ) { for ( var b = [ ] , k = 0 ; k < d . length ; k ++ ) for ( var c = d [ k ] . example , j = 0 ; j < c . length ; j ++ ) b [ b . length ] = c [ j ] ; for ( var h in a ) b [ b . length ] = h ; c = document . createElement ( "ul" ) ; c . setAttribute ( "id" , "rgbcolor-examples" ) ; for ( k = 0 ; k < b . length ; k ++ ) try { var l = document . createElement ( "li" ) , o = new RGBColor ( b [ k ] ) , n = document . createElement ( "div" ) ; n . style . cssText = "margin: 3px; border: 1px solid black; background:" + o . toHex ( ) + "; color:" + o . toHex ( ) ; n . appendChild ( document . createTextNode ( "test" ) ) ; var q = document . createTextNode ( " " + b [ k ] + " -> " + o . toRGB ( ) + " -> " + o . toHex ( ) ) ; l . appendChild ( n ) ; l . appendChild ( q ) ; c . appendChild ( l ) } catch ( p ) { } return c } }
/*
A class to parse color values
@author Stoyan Stefanov <sstoo@gmail.com>
@link   http://www.phpied.com/rgb-color-parser-in-javascript/
Use it if you like it

canvg.js - Javascript SVG parser and renderer on Canvas
MIT Licensed
Gabe Lerner (gabelerner@gmail.com)
http://code.google.com/p/canvg/

Requires: rgbcolor.js - http://www.phpied.com/rgb-color-parser-in-javascript/

Highcharts JS v4.0.1 (2014-04-24)
CanVGRenderer Extension module

(c) 2011-2012 Torstein Honsi, Erik Olsson

License: www.highcharts.com/license
/ * A class to parse color values @author Stoyan Stefanov <sstoo@gmail . com > @link http : // www . phpied . com / rgb - color - parser - in - javascript / Use it if you like it