diff options
author | wout <wout@impinc.co.uk> | 2013-04-26 21:27:46 +0200 |
---|---|---|
committer | wout <wout@impinc.co.uk> | 2013-04-26 21:27:46 +0200 |
commit | 6afb0006730768d03b787e840f6a71249c4a051e (patch) | |
tree | 7e3f54893bbdb4c01c9385ca203bdc96f16a2e89 /dist/svg.js | |
parent | 11ded2fe8fabf4392633fcdb3713a49e084746a1 (diff) | |
download | svg.js-6afb0006730768d03b787e840f6a71249c4a051e.tar.gz svg.js-6afb0006730768d03b787e840f6a71249c4a051e.zip |
Bumped to v0.15, removed hsb color support
Diffstat (limited to 'dist/svg.js')
-rw-r--r-- | dist/svg.js | 107 |
1 files changed, 17 insertions, 90 deletions
diff --git a/dist/svg.js b/dist/svg.js index 1a15efd..c647995 100644 --- a/dist/svg.js +++ b/dist/svg.js @@ -1,4 +1,4 @@ -/* svg.js v0.14 - svg regex default color viewbox bbox rbox element container fx event group arrange defs mask clip pattern gradient doc shape rect ellipse line poly path plotable image text nested sugar - svgjs.com/license */ +/* svg.js v0.15 - svg regex default color viewbox bbox rbox element container fx event group arrange defs mask clip pattern gradient doc shape rect ellipse line poly path plotable image text nested sugar - svgjs.com/license */ ;(function() { this.SVG = function(element) { @@ -78,10 +78,7 @@ , hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i /* parse rgb value */ - , rgb: /rgb\((\d+),(\d+),(\d+),([\d\.]+)\)/ - - /* parse hsb value */ - , hsb: /hsb\((\d+),(\d+),(\d+),([\d\.]+)\)/ + , rgb: /rgb\((\d+),(\d+),(\d+)\)/ /* test hex value */ , isHex: /^#[a-f0-9]{3,6}$/i @@ -89,9 +86,6 @@ /* test rgb value */ , isRgb: /^rgb\(/ - /* test hsb value */ - , isHsb: /^hsb\(/ - /* test css declaration */ , isCss: /[^:]+:[^;]+;?/ @@ -177,9 +171,9 @@ match = SVG.regex.rgb.exec(color.replace(/\s/g,'')) /* parse numeric values */ - this.r = parseInt(m[1]) - this.g = parseInt(m[2]) - this.b = parseInt(m[3]) + this.r = parseInt(match[1]) + this.g = parseInt(match[2]) + this.b = parseInt(match[3]) } else if (SVG.regex.isHex.test(color)) { /* get hex values */ @@ -189,22 +183,14 @@ this.r = parseInt(match[1], 16) this.g = parseInt(match[2], 16) this.b = parseInt(match[3], 16) - - } else if (SVG.regex.isHsb.test(color)) { - /* get hsb values */ - match = SVG.regex.hsb.exec(color.replace(/\s/g,'')) - - /* convert hsb to rgb */ - color = this._hsbToRgb(match[1], match[2], match[3]) + } } else if (typeof color == 'object') { - if (SVG.Color.isHsb(color)) - color = this._hsbToRgb(color.h, color.s, color.b) - this.r = color.r this.g = color.g this.b = color.b + } } @@ -231,66 +217,6 @@ + (this.g / 255 * 0.59) + (this.b / 255 * 0.11) } - // Private: convert hsb to rgb - , _hsbToRgb: function(h, s, v) { - var vs, vsf - - /* process hue */ - h = parseInt(h) % 360 - if (h < 0) h += 360 - - /* process saturation */ - s = parseInt(s) - s = s > 100 ? 100 : s - - /* process brightness */ - v = parseInt(v) - v = (v < 0 ? 0 : v > 100 ? 100 : v) * 255 / 100 - - /* compile rgb */ - vs = v * s / 100 - vsf = (vs * ((h * 256 / 60) % 256)) / 256 - - switch (Math.floor(h / 60)) { - case 0: - r = v - g = v - vs + vsf - b = v - vs - break - case 1: - r = v - vsf - g = v - b = v - vs - break - case 2: - r = v - vs - g = v - b = v - vs + vsf - break - case 3: - r = v - vs - g = v - vsf - b = v - break - case 4: - r = v - vs + vsf - g = v - vs - b = v - break - case 5: - r = v - g = v - vs - b = v - vsf - break - } - - /* parse values */ - return { - r: Math.floor(r + 0.5) - , g: Math.floor(g + 0.5) - , b: Math.floor(b + 0.5) - } - } // Private: ensure to six-based hex , _fullHex: function(hex) { return hex.length == 4 ? @@ -313,18 +239,12 @@ color += '' return SVG.regex.isHex.test(color) || SVG.regex.isRgb.test(color) - || SVG.regex.isHsb.test(color) } // Test if given value is a rgb object SVG.Color.isRgb = function(color) { return color && typeof color.r == 'number' } - - // Test if given value is a hsb object - SVG.Color.isHsb = function(color) { - return color && typeof color.h == 'number' - } SVG.ViewBox = function(element) { var x, y, width, height @@ -591,7 +511,7 @@ this._stroke = v /* ensure hex color */ - if (SVG.Color.test(v) || SVG.Color.isRgb(v) || SVG.Color.isHsb(v)) + if (SVG.Color.test(v) || SVG.Color.isRgb(v)) v = new SVG.Color(v).toHex() /* set give attribute on node */ @@ -750,7 +670,14 @@ } } else { - this.attr('data-' + a, v === null ? null : r === true ? v : JSON.stringify(v)) + this.attr( + 'data-' + a + , v === null ? + null : + r === true || typeof v === 'string' || typeof v === 'number' ? + v : + JSON.stringify(v) + ) } return this @@ -2119,7 +2046,7 @@ extension[method] = function(o) { var indexOf - if (typeof o == 'string' || SVG.Color.isRgb(o) || SVG.Color.isHsb(o)) + if (typeof o == 'string' || SVG.Color.isRgb(o)) this.attr(method, o) else |