Merge pull request #1 from adobe-webplatform/dev

Dev
master
Benjamin Besse 2013-11-28 02:03:03 -08:00
commit ea53281607
8 changed files with 385 additions and 219 deletions

File diff suppressed because one or more lines are too long

161
dist/snap.svg.js vendored
View File

@ -14,7 +14,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
// build: 2013-11-21
// build: 2013-11-27
// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
@ -516,11 +516,11 @@ var mina = (function (eve) {
if (isArray(a.start)) {
res = [];
for (var j = 0, jj = a.start.length; j < jj; j++) {
res[j] = a.start[j] +
res[j] = +a.start[j] +
(a.end[j] - a.start[j]) * a.easing(a.s);
}
} else {
res = a.start + (a.end - a.start) * a.easing(a.s);
res = +a.start + (a.end - a.start) * a.easing(a.s);
}
a.set(res);
}
@ -1276,9 +1276,6 @@ function Matrix(a, b, c, d, e, f) {
a[0] && (a[0] /= mag);
a[1] && (a[1] /= mag);
}
// SIERRA Matrix.split(): HTML formatting for the return value is scrambled. It should appear _Returns: {OBJECT} in format:..._
// SIERRA Matrix.split(): the _shear_ parameter needs to be detailed. Is it an angle? What does it affect?
// SIERRA Matrix.split(): The idea of _simple_ transforms needs to be detailed and contrasted with any alternatives.
/*\
* Matrix.split
[ method ]
@ -1328,7 +1325,6 @@ function Matrix(a, b, c, d, e, f) {
out.noRotation = !+out.shear.toFixed(9) && !out.rotate;
return out;
};
// SIERRA Matrix.toTransformString(): The format of the string needs to be detailed.
/*\
* Matrix.toTransformString
[ method ]
@ -1350,7 +1346,6 @@ function Matrix(a, b, c, d, e, f) {
}
};
})(Matrix.prototype);
// SIERRA Unclear the difference between the two matrix formats ("parameters" vs svgMatrix). See my comment about Element.matrix().
/*\
* Snap.Matrix
[ method ]
@ -1900,7 +1895,8 @@ function svgTransform2string(tstr) {
});
return res;
}
var rgTransform = new RegExp("^[a-z][" + spaces + "]*-?\\.?\\d", "i");
Snap._.svgTransform2string = svgTransform2string;
Snap._.rgTransform = new RegExp("^[a-z][" + spaces + "]*-?\\.?\\d", "i");
function transform2matrix(tstr, bbox) {
var tdata = parseTransformString(tstr),
m = new Matrix;
@ -1983,7 +1979,7 @@ function extractTransform(el, tstr) {
}
tstr = svgTransform2string(tstr);
} else {
if (!rgTransform.test(tstr)) {
if (!Snap._.rgTransform.test(tstr)) {
tstr = svgTransform2string(tstr);
} else {
tstr = Str(tstr).replace(/\.{3}|\u2026/g, el._.transform || E);
@ -2168,8 +2164,8 @@ function add2group(list) {
}
}
var children = node.childNodes;
for (i = 0; i < children.length; i++) if (children[i].snap) {
this[j++] = hub[children[i].snap];
for (i = 0; i < children.length; i++) {
this[j++] = wrap(children[i]);
}
}
function Element(el) {
@ -2388,16 +2384,18 @@ function arrayFirstValue(arr) {
* See @Element.append
\*/
elproto.append = elproto.add = function (el) {
if (el.type == "set") {
var it = this;
el.forEach(function (el) {
it.append(el);
});
return this;
if (el) {
if (el.type == "set") {
var it = this;
el.forEach(function (el) {
it.add(el);
});
return this;
}
el = wrap(el);
this.node.appendChild(el.node);
el.paper = this.paper;
}
el = wrap(el);
this.node.appendChild(el.node);
el.paper = this.paper;
return this;
};
/*\
@ -2410,8 +2408,10 @@ function arrayFirstValue(arr) {
= (Element) the child element
\*/
elproto.appendTo = function (el) {
el = wrap(el);
el.append(this);
if (el) {
el = wrap(el);
el.append(this);
}
return this;
};
/*\
@ -2424,9 +2424,15 @@ function arrayFirstValue(arr) {
= (Element) the parent element
\*/
elproto.prepend = function (el) {
el = wrap(el);
this.node.insertBefore(el.node, this.node.firstChild);
el.paper = this.paper;
if (el) {
el = wrap(el);
var parent = el.parent();
this.node.insertBefore(el.node, this.node.firstChild);
this.add && this.add();
el.paper = this.paper;
this.parent() && this.parent().add();
parent && parent.add();
}
return this;
};
/*\
@ -2452,10 +2458,22 @@ function arrayFirstValue(arr) {
- el (Element) element to insert
= (Element) the parent element
\*/
// TODO make it work for sets too
elproto.before = function (el) {
if (el.type == "set") {
var it = this;
el.forEach(function (el) {
var parent = el.parent();
it.node.parentNode.insertBefore(el.node, it.node);
parent && parent.add();
});
this.parent().add();
return this;
}
el = wrap(el);
var parent = el.parent();
this.node.parentNode.insertBefore(el.node, this.node);
this.parent() && this.parent().add();
parent && parent.add();
el.paper = this.paper;
return this;
};
@ -2470,7 +2488,14 @@ function arrayFirstValue(arr) {
\*/
elproto.after = function (el) {
el = wrap(el);
this.node.parentNode.insertBefore(el.node, this.node.nextSibling);
var parent = el.parent();
if (this.node.nextSibling) {
this.node.parentNode.insertBefore(el.node, this.node.nextSibling);
} else {
this.node.parentNode.appendChild(el.node);
}
this.parent() && this.parent().add();
parent && parent.add();
el.paper = this.paper;
return this;
};
@ -2485,8 +2510,11 @@ function arrayFirstValue(arr) {
\*/
elproto.insertBefore = function (el) {
el = wrap(el);
var parent = this.parent();
el.node.parentNode.insertBefore(this.node, el.node);
this.paper = el.paper;
parent && parent.add();
el.parent() && el.parent().add();
return this;
};
/*\
@ -2500,8 +2528,11 @@ function arrayFirstValue(arr) {
\*/
elproto.insertAfter = function (el) {
el = wrap(el);
var parent = this.parent();
el.node.parentNode.insertBefore(this.node, el.node.nextSibling);
this.paper = el.paper;
parent && parent.add();
el.parent() && el.parent().add();
return this;
};
/*\
@ -2512,9 +2543,11 @@ function arrayFirstValue(arr) {
= (Element) the detached element
\*/
elproto.remove = function () {
var parent = this.parent();
this.node.parentNode && this.node.parentNode.removeChild(this.node);
delete this.paper;
this.removed = true;
parent && parent.add();
return this;
};
/*\
@ -2715,7 +2748,7 @@ function arrayFirstValue(arr) {
if (x == null) {
x = this.getBBox();
}
if (x && "x" in x) {
if (is(x, "object") && "x" in x) {
y = x.y;
width = x.width;
height = x.height;
@ -2757,7 +2790,7 @@ function arrayFirstValue(arr) {
if (x == null) {
x = this.getBBox();
}
if (x && "x" in x) {
if (is(x, "object") && "x" in x) {
y = x.y;
width = x.width;
height = x.height;
@ -3020,15 +3053,22 @@ function arrayFirstValue(arr) {
}
return this;
};
// SIERRA Element.toString(): Recommend renaming this _outerSVG_ to keep it consistent with HTML & innerSVG, and also to avoid confusing it with what textContent() does. Cross-reference with innerSVG.
/*\
* Element.outerSVG
[ method ]
**
* Returns SVG code for the element, equivalent to HTML's `outerHTML`.
*
* See also @Element.innerSVG
= (string) SVG code for the element
\*/
/*\
* Element.toString
[ method ]
**
* Returns SVG code for the element, equivalent to HTML's `outerHTML`
= (string) SVG code for the element
* See @Element.outerSVG
\*/
elproto.toString = toString(1);
elproto.outerSVG = elproto.toString = toString(1);
/*\
* Element.innerSVG
[ method ]
@ -3325,6 +3365,12 @@ function gradientRadial(defs, cx, cy, r, fx, fy) {
| cy: 10,
| r: 10
| });
| // and the same as
| var c = paper.el("circle", {
| cx: 10,
| cy: 10,
| r: 10
| });
\*/
proto.el = function (name, attr) {
return make(name, this.node).attr(attr);
@ -3350,27 +3396,25 @@ function gradientRadial(defs, cx, cy, r, fx, fy) {
| var c = paper.rect(40, 40, 50, 50, 10);
\*/
proto.rect = function (x, y, w, h, rx, ry) {
var el = make("rect", this.node);
var attr;
if (ry == null) {
ry = rx;
}
if (is(x, "object") && "x" in x) {
el.attr(x);
attr = x;
} else if (x != null) {
el.attr({
attr = {
x: x,
y: y,
width: w,
height: h
});
};
if (rx != null) {
el.attr({
rx: rx,
ry: ry
});
attr.rx = rx;
attr.ry = ry;
}
}
return el;
return this.el("rect", attr);
};
/*\
* Paper.circle
@ -3387,17 +3431,17 @@ function gradientRadial(defs, cx, cy, r, fx, fy) {
| var c = paper.circle(50, 50, 40);
\*/
proto.circle = function (cx, cy, r) {
var el = make("circle", this.node);
var attr;
if (is(cx, "object") && "cx" in cx) {
el.attr(cx);
attr = cx;
} else if (cx != null) {
el.attr({
attr = {
cx: cx,
cy: cy,
r: r
});
};
}
return el;
return this.el("circle", attr);
};
/*\
@ -3413,7 +3457,7 @@ function gradientRadial(defs, cx, cy, r, fx, fy) {
- height (number) height of the image
= (object) the `image` element
* or
= (object) Raphaël element object with type `image`
= (object) Snap element object with type `image`
**
> Usage
| var c = paper.image("apple.png", 10, 10, 80, 80);
@ -4807,6 +4851,9 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
var bbox = el.getBBox();
return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);
},
line: function (el) {
return "M" + [el.attr("x1"), el.attr("y1"), el.attr("x2"), el.attr("y2")];
},
polyline: function (el) {
return "M" + el.attr("points");
},
@ -5971,7 +6018,12 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
};
}
if (name == "transform" || name == "gradientTransform" || name == "patternTransform") {
// TODO: b could be an SVG transform string or matrix
if (b instanceof Snap.Matrix) {
b = b.toTransformString();
}
if (!Snap._.rgTransform.test(b)) {
b = Snap._.svgTransform2string(b);
}
return equaliseTransform(a, b, function () {
return el.getBBox(1);
});
@ -5984,6 +6036,15 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
f: getPath(A[0])
};
}
if (name == "points") {
A = Str(a).split(",");
B = Str(b).split(",");
return {
from: A,
to: B,
f: function (val) { return val; }
};
}
var aUnit = a.match(reUnit),
bUnit = Str(b).match(reUnit);
if (aUnit && aUnit == bUnit) {

View File

@ -183,6 +183,10 @@
<a href="#Element.mouseup" class="dr-method"><span>Element.mouseup()</span></a>
</li>
<li class="dr-lvl1">
<a href="#Element.outerSVG" class="dr-method"><span>Element.outerSVG()</span></a>
</li>
<li class="dr-lvl1">
<a href="#Element.parent" class="dr-method"><span>Element.parent()</span></a>
</li>
@ -1729,7 +1733,7 @@ paper.path(Snap.format("M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']
<article id="Matrix.split">
<header>
<h3 class="dr-method">Matrix.split()<a href="#Matrix.split" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 548 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#548">&#x27ad;</a></h3>
<h3 class="dr-method">Matrix.split()<a href="#Matrix.split" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 545 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#545">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Matrix.split-extra"></div>
@ -1839,7 +1843,7 @@ paper.path(Snap.format("M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']
<article id="Matrix.toTransformString">
<header>
<h3 class="dr-method">Matrix.toTransformString()<a href="#Matrix.toTransformString" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 591 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#591">&#x27ad;</a></h3>
<h3 class="dr-method">Matrix.toTransformString()<a href="#Matrix.toTransformString" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 587 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#587">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Matrix.toTransformString-extra"></div>
@ -1881,7 +1885,7 @@ paper.path(Snap.format("M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']
<article id="Snap.Matrix">
<header>
<h3 class="dr-method">Snap.Matrix(…)<a href="#Snap.Matrix" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 623 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#623">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.Matrix(…)<a href="#Snap.Matrix" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 618 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#618">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.Matrix-extra"></div>
@ -1986,7 +1990,7 @@ Returns a matrix based on the given parameters
<article id="Snap.getRGB">
<header>
<h3 class="dr-method">Snap.getRGB(color)<a href="#Snap.getRGB" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 658 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#658">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.getRGB(color)<a href="#Snap.getRGB" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 653 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#653">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.getRGB-extra"></div>
@ -2321,7 +2325,7 @@ Returns a matrix based on the given parameters
<article id="Snap.hsb">
<header>
<h3 class="dr-method">Snap.hsb(h, s, b)<a href="#Snap.hsb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 747 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#747">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.hsb(h, s, b)<a href="#Snap.hsb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 742 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#742">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.hsb-extra"></div>
@ -2387,7 +2391,7 @@ Returns a matrix based on the given parameters
<article id="Snap.hsl">
<header>
<h3 class="dr-method">Snap.hsl(h, s, l)<a href="#Snap.hsl" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 760 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#760">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.hsl(h, s, l)<a href="#Snap.hsl" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 755 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#755">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.hsl-extra"></div>
@ -2453,7 +2457,7 @@ Returns a matrix based on the given parameters
<article id="Snap.rgb">
<header>
<h3 class="dr-method">Snap.rgb(r, g, b)<a href="#Snap.rgb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 773 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#773">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.rgb(r, g, b)<a href="#Snap.rgb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 768 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#768">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.rgb-extra"></div>
@ -2519,7 +2523,7 @@ Returns a matrix based on the given parameters
<article id="Snap.color">
<header>
<h3 class="dr-method">Snap.color(clr)<a href="#Snap.color" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 860 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#860">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.color(clr)<a href="#Snap.color" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 855 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#855">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.color-extra"></div>
@ -2671,7 +2675,7 @@ Returns a matrix based on the given parameters
<article id="Snap.hsb2rgb">
<header>
<h3 class="dr-method">Snap.hsb2rgb(h, s, v)<a href="#Snap.hsb2rgb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 912 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#912">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.hsb2rgb(h, s, v)<a href="#Snap.hsb2rgb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 907 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#907">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.hsb2rgb-extra"></div>
@ -2789,7 +2793,7 @@ Returns a matrix based on the given parameters
<article id="Snap.hsl2rgb">
<header>
<h3 class="dr-method">Snap.hsl2rgb(h, s, l)<a href="#Snap.hsl2rgb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 948 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#948">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.hsl2rgb(h, s, l)<a href="#Snap.hsl2rgb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 943 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#943">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.hsl2rgb-extra"></div>
@ -2907,7 +2911,7 @@ Returns a matrix based on the given parameters
<article id="Snap.rgb2hsb">
<header>
<h3 class="dr-method">Snap.rgb2hsb(r, g, b)<a href="#Snap.rgb2hsb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 987 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#987">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.rgb2hsb(r, g, b)<a href="#Snap.rgb2hsb" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 982 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#982">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.rgb2hsb-extra"></div>
@ -3017,7 +3021,7 @@ Returns a matrix based on the given parameters
<article id="Snap.rgb2hsl">
<header>
<h3 class="dr-method">Snap.rgb2hsl(r, g, b)<a href="#Snap.rgb2hsl" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1020 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1020">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.rgb2hsl(r, g, b)<a href="#Snap.rgb2hsl" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1015 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1015">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.rgb2hsl-extra"></div>
@ -3127,7 +3131,7 @@ Returns a matrix based on the given parameters
<article id="Snap.parsePathString">
<header>
<h3 class="dr-method">Snap.parsePathString(pathString)<a href="#Snap.parsePathString" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1054 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1054">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.parsePathString(pathString)<a href="#Snap.parsePathString" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1049 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1049">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.parsePathString-extra"></div>
@ -3188,7 +3192,7 @@ Parses given path string into an array of arrays of path segments
<article id="Snap.parseTransformString">
<header>
<h3 class="dr-method">Snap.parseTransformString(TString)<a href="#Snap.parseTransformString" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1107 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1107">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.parseTransformString(TString)<a href="#Snap.parseTransformString" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1102 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1102">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.parseTransformString-extra"></div>
@ -3249,7 +3253,7 @@ Parses given transform string into an array of transformations
<article id="Snap.select">
<header>
<h3 class="dr-method">Snap.select(query)<a href="#Snap.select" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1385 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1385">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.select(query)<a href="#Snap.select" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1381 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1381">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.select-extra"></div>
@ -3309,7 +3313,7 @@ Parses given transform string into an array of transformations
<article id="Snap.selectAll">
<header>
<h3 class="dr-method">Snap.selectAll(query)<a href="#Snap.selectAll" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1396 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1396">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.selectAll(query)<a href="#Snap.selectAll" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1392 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1392">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.selectAll-extra"></div>
@ -3369,7 +3373,7 @@ Parses given transform string into an array of transformations
<article id="Element.attr">
<header>
<h3 class="dr-method">Element.attr(…)<a href="#Element.attr" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1486 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1486">&#x27ad;</a></h3>
<h3 class="dr-method">Element.attr(…)<a href="#Element.attr" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1482 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1482">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.attr-extra"></div>
@ -3514,7 +3518,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.getBBox">
<header>
<h3 class="dr-method">Element.getBBox()<a href="#Element.getBBox" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1535 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1535">&#x27ad;</a></h3>
<h3 class="dr-method">Element.getBBox()<a href="#Element.getBBox" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1531 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1531">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.getBBox-extra"></div>
@ -3696,7 +3700,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.transform">
<header>
<h3 class="dr-method">Element.transform(tstr)<a href="#Element.transform" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1579 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1579">&#x27ad;</a></h3>
<h3 class="dr-method">Element.transform(tstr)<a href="#Element.transform" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1575 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1575">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.transform-extra"></div>
@ -3860,7 +3864,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.parent">
<header>
<h3 class="dr-method">Element.parent()<a href="#Element.parent" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1624 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1624">&#x27ad;</a></h3>
<h3 class="dr-method">Element.parent()<a href="#Element.parent" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1620 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1620">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.parent-extra"></div>
@ -3902,7 +3906,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.append">
<header>
<h3 class="dr-method">Element.append(el)<a href="#Element.append" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1636 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1636">&#x27ad;</a></h3>
<h3 class="dr-method">Element.append(el)<a href="#Element.append" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1632 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1632">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.append-extra"></div>
@ -3962,7 +3966,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.add">
<header>
<h3 class="dr-method">Element.add()<a href="#Element.add" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1642 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1642">&#x27ad;</a></h3>
<h3 class="dr-method">Element.add()<a href="#Element.add" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1638 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1638">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.add-extra"></div>
@ -3987,7 +3991,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.appendTo">
<header>
<h3 class="dr-method">Element.appendTo(el)<a href="#Element.appendTo" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1664 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1664">&#x27ad;</a></h3>
<h3 class="dr-method">Element.appendTo(el)<a href="#Element.appendTo" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1662 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1662">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.appendTo-extra"></div>
@ -4107,7 +4111,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.prependTo">
<header>
<h3 class="dr-method">Element.prependTo(el)<a href="#Element.prependTo" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1693 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1693">&#x27ad;</a></h3>
<h3 class="dr-method">Element.prependTo(el)<a href="#Element.prependTo" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1699 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1699">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.prependTo-extra"></div>
@ -4167,7 +4171,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.before">
<header>
<h3 class="dr-method">Element.before(el)<a href="#Element.before" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1707 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1707">&#x27ad;</a></h3>
<h3 class="dr-method">Element.before(el)<a href="#Element.before" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1713 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1713">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.before-extra"></div>
@ -4227,7 +4231,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.after">
<header>
<h3 class="dr-method">Element.after(el)<a href="#Element.after" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1723 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1723">&#x27ad;</a></h3>
<h3 class="dr-method">Element.after(el)<a href="#Element.after" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1741 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1741">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.after-extra"></div>
@ -4287,7 +4291,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.insertBefore">
<header>
<h3 class="dr-method">Element.insertBefore(el)<a href="#Element.insertBefore" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1738 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1738">&#x27ad;</a></h3>
<h3 class="dr-method">Element.insertBefore(el)<a href="#Element.insertBefore" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1763 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1763">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.insertBefore-extra"></div>
@ -4347,7 +4351,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.insertAfter">
<header>
<h3 class="dr-method">Element.insertAfter(el)<a href="#Element.insertAfter" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1753 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1753">&#x27ad;</a></h3>
<h3 class="dr-method">Element.insertAfter(el)<a href="#Element.insertAfter" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1781 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1781">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.insertAfter-extra"></div>
@ -4407,7 +4411,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.remove">
<header>
<h3 class="dr-method">Element.remove()<a href="#Element.remove" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1766 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1766">&#x27ad;</a></h3>
<h3 class="dr-method">Element.remove()<a href="#Element.remove" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1797 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1797">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.remove-extra"></div>
@ -4449,7 +4453,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.select">
<header>
<h3 class="dr-method">Element.select(query)<a href="#Element.select" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1781 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1781">&#x27ad;</a></h3>
<h3 class="dr-method">Element.select(query)<a href="#Element.select" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1814 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1814">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.select-extra"></div>
@ -4509,7 +4513,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.selectAll">
<header>
<h3 class="dr-method">Element.selectAll(query)<a href="#Element.selectAll" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1793 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1793">&#x27ad;</a></h3>
<h3 class="dr-method">Element.selectAll(query)<a href="#Element.selectAll" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1826 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1826">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.selectAll-extra"></div>
@ -4571,7 +4575,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.asPX">
<header>
<h3 class="dr-method">Element.asPX(attr, [value])<a href="#Element.asPX" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1811 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1811">&#x27ad;</a></h3>
<h3 class="dr-method">Element.asPX(attr, [value])<a href="#Element.asPX" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1844 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1844">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.asPX-extra"></div>
@ -4634,7 +4638,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.use">
<header>
<h3 class="dr-method">Element.use()<a href="#Element.use" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1826 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1826">&#x27ad;</a></h3>
<h3 class="dr-method">Element.use()<a href="#Element.use" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1859 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1859">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.use-extra"></div>
@ -4676,7 +4680,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.clone">
<header>
<h3 class="dr-method">Element.clone()<a href="#Element.clone" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1855 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1855">&#x27ad;</a></h3>
<h3 class="dr-method">Element.clone()<a href="#Element.clone" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1888 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1888">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.clone-extra"></div>
@ -4718,7 +4722,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.toDefs">
<header>
<h3 class="dr-method">Element.toDefs()<a href="#Element.toDefs" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1935 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1935">&#x27ad;</a></h3>
<h3 class="dr-method">Element.toDefs()<a href="#Element.toDefs" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1968 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1968">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.toDefs-extra"></div>
@ -4760,7 +4764,7 @@ console.log(el.attr("fill")); // #fc0</code></pre></section>
<article id="Element.pattern">
<header>
<h3 class="dr-method">Element.pattern(x, y, width, height)<a href="#Element.pattern" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1965 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1965">&#x27ad;</a></h3>
<h3 class="dr-method">Element.pattern(x, y, width, height)<a href="#Element.pattern" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1998 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1998">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.pattern-extra"></div>
@ -4860,7 +4864,7 @@ c.attr({
<article id="Element.marker">
<header>
<h3 class="dr-method">Element.marker(x, y, width, height, refX, refY)<a href="#Element.marker" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2006 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2006">&#x27ad;</a></h3>
<h3 class="dr-method">Element.marker(x, y, width, height, refX, refY)<a href="#Element.marker" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2039 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2039">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.marker-extra"></div>
@ -4947,7 +4951,7 @@ To create a marker you have to specify the bounding rect and reference point:
<article id="Snap.animation">
<header>
<h3 class="dr-method">Snap.animation(attr, duration, [easing], [callback])<a href="#Snap.animation" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2065 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2065">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.animation(attr, duration, [easing], [callback])<a href="#Snap.animation" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2098 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2098">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.animation-extra"></div>
@ -5016,7 +5020,7 @@ To create a marker you have to specify the bounding rect and reference point:
<article id="Element.inAnim">
<header>
<h3 class="dr-method">Element.inAnim()<a href="#Element.inAnim" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2082 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2082">&#x27ad;</a></h3>
<h3 class="dr-method">Element.inAnim()<a href="#Element.inAnim" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2115 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2115">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.inAnim-extra"></div>
@ -5110,7 +5114,7 @@ To create a marker you have to specify the bounding rect and reference point:
<article id="Snap.animate">
<header>
<h3 class="dr-method">Snap.animate(from, to, setter, duration, [easing], [callback])<a href="#Snap.animate" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2131 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2131">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.animate(from, to, setter, duration, [easing], [callback])<a href="#Snap.animate" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2164 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2164">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.animate-extra"></div>
@ -5271,7 +5275,7 @@ rect.animate({x: 10}, 1000);</code></pre></section>
<article id="Element.stop">
<header>
<h3 class="dr-method">Element.stop()<a href="#Element.stop" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2149 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2149">&#x27ad;</a></h3>
<h3 class="dr-method">Element.stop()<a href="#Element.stop" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2182 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2182">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.stop-extra"></div>
@ -5313,7 +5317,7 @@ rect.animate({x: 10}, 1000);</code></pre></section>
<article id="Element.animate">
<header>
<h3 class="dr-method">Element.animate(attrs, duration, [easing], [callback])<a href="#Element.animate" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2170 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2170">&#x27ad;</a></h3>
<h3 class="dr-method">Element.animate(attrs, duration, [easing], [callback])<a href="#Element.animate" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2203 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2203">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.animate-extra"></div>
@ -5382,7 +5386,7 @@ rect.animate({x: 10}, 1000);</code></pre></section>
<article id="Element.data">
<header>
<h3 class="dr-method">Element.data(key, [value])<a href="#Element.data" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2242 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2242">&#x27ad;</a></h3>
<h3 class="dr-method">Element.data(key, [value])<a href="#Element.data" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2275 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2275">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.data-extra"></div>
@ -5504,7 +5508,7 @@ with <code>data-</code> attributes)
<article id="Element.removeData">
<header>
<h3 class="dr-method">Element.removeData([key])<a href="#Element.removeData" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2267 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2267">&#x27ad;</a></h3>
<h3 class="dr-method">Element.removeData([key])<a href="#Element.removeData" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2300 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2300">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.removeData-extra"></div>
@ -5563,18 +5567,19 @@ If key is not provided, removes all the data of the element.
</section>
</article>
<article id="undefined">
<article id="Element.outerSVG">
<header>
<h3 class="dr-method">undefined<a href="#undefined" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2283 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2283">&#x27ad;</a></h3>
<h3 class="dr-method">Element.outerSVG()<a href="#Element.outerSVG" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2317 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2317">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="undefined-extra"></div>
<div class="extra" id="Element.outerSVG-extra"></div>
<div class="dr-method">
<p>Returns SVG code for the element, equivalent to HTML&#39;s <code>outerHTML</code>
<p>Returns SVG code for the element, equivalent to HTML&#39;s <code>outerHTML</code>.
</p><p>See also <a href="#Element.innerSVG" class="dr-link">Element.innerSVG</a>
</p>
@ -5601,13 +5606,38 @@ If key is not provided, removes all the data of the element.
</div>
</section>
</article>
<article id="undefined">
<header>
<h3 class="dr-method">undefined<a href="#undefined" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2323 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2323">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="undefined-extra"></div>
<div class="dr-method">
<p>See <a href="#Element.outerSVG" class="dr-link">Element.outerSVG</a>
</p>
</div>
</section>
</article>
<article id="Element.innerSVG">
<header>
<h3 class="dr-method">Element.innerSVG()<a href="#Element.innerSVG" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2291 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2291">&#x27ad;</a></h3>
<h3 class="dr-method">Element.innerSVG()<a href="#Element.innerSVG" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2331 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2331">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.innerSVG-extra"></div>
@ -5649,7 +5679,7 @@ If key is not provided, removes all the data of the element.
<article id="Snap.parse">
<header>
<h3 class="dr-method">Snap.parse(svg)<a href="#Snap.parse" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2330 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2330">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.parse(svg)<a href="#Snap.parse" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2370 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2370">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.parse-extra"></div>
@ -5709,7 +5739,7 @@ If key is not provided, removes all the data of the element.
<article id="Fragment.select">
<header>
<h3 class="dr-method">Fragment.select()<a href="#Fragment.select" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2362 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2362">&#x27ad;</a></h3>
<h3 class="dr-method">Fragment.select()<a href="#Fragment.select" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2402 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2402">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Fragment.select-extra"></div>
@ -5734,7 +5764,7 @@ If key is not provided, removes all the data of the element.
<article id="Fragment.selectAll">
<header>
<h3 class="dr-method">Fragment.selectAll()<a href="#Fragment.selectAll" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2369 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2369">&#x27ad;</a></h3>
<h3 class="dr-method">Fragment.selectAll()<a href="#Fragment.selectAll" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2409 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2409">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Fragment.selectAll-extra"></div>
@ -5759,7 +5789,7 @@ If key is not provided, removes all the data of the element.
<article id="Snap.fragment">
<header>
<h3 class="dr-method">Snap.fragment(varargs)<a href="#Snap.fragment" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2380 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2380">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.fragment(varargs)<a href="#Snap.fragment" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2420 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2420">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.fragment-extra"></div>
@ -5819,7 +5849,7 @@ If key is not provided, removes all the data of the element.
<article id="Paper.el">
<header>
<h3 class="dr-method">Paper.el(name, attr)<a href="#Paper.el" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2581 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2581">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.el(name, attr)<a href="#Paper.el" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2627 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2627">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.el-extra"></div>
@ -5897,6 +5927,12 @@ var c = paper.el("circle").attr({
cx: 10,
cy: 10,
r: 10
});
// and the same as
var c = paper.el("circle", {
cx: 10,
cy: 10,
r: 10
});</code></pre></section>
@ -5909,7 +5945,7 @@ var c = paper.el("circle").attr({
<article id="Paper.rect">
<header>
<h3 class="dr-method">Paper.rect(x, y, width, height, [rx], [ry])<a href="#Paper.rect" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2604 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2604">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.rect(x, y, width, height, [rx], [ry])<a href="#Paper.rect" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2650 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2650">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.rect-extra"></div>
@ -6009,7 +6045,7 @@ var c = paper.rect(40, 40, 50, 50, 10);</code></pre></section>
<article id="Paper.circle">
<header>
<h3 class="dr-method">Paper.circle(x, y, r)<a href="#Paper.circle" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2641 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2641">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.circle(x, y, r)<a href="#Paper.circle" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2685 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2685">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.circle-extra"></div>
@ -6097,7 +6133,7 @@ var c = paper.rect(40, 40, 50, 50, 10);</code></pre></section>
<article id="Paper.image">
<header>
<h3 class="dr-method">Paper.image(src, x, y, width, height)<a href="#Paper.image" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2673 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2673">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.image(src, x, y, width, height)<a href="#Paper.image" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2717 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2717">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.image-extra"></div>
@ -6185,7 +6221,7 @@ var c = paper.rect(40, 40, 50, 50, 10);</code></pre></section>
<em class="dr-type-object">object</em>
<span class="dr-description">Raphaël element object with type <code>image</code></span>
<span class="dr-description">Snap element object with type <code>image</code></span>
</p>
@ -6219,7 +6255,7 @@ var c = paper.rect(40, 40, 50, 50, 10);</code></pre></section>
<article id="Paper.ellipse">
<header>
<h3 class="dr-method">Paper.ellipse(x, y, rx, ry)<a href="#Paper.ellipse" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2716 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2716">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.ellipse(x, y, rx, ry)<a href="#Paper.ellipse" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2760 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2760">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.ellipse-extra"></div>
@ -6310,7 +6346,7 @@ var c = paper.rect(40, 40, 50, 50, 10);</code></pre></section>
<article id="Paper.path">
<header>
<h3 class="dr-method">Paper.path([pathString])<a href="#Paper.path" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2761 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2761">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.path([pathString])<a href="#Paper.path" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2805 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2805">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.path-extra"></div>
@ -6578,7 +6614,7 @@ Note: there is a special case when a path consists of only three commands: <code
<article id="Paper.g">
<header>
<h3 class="dr-method">Paper.g([varargs])<a href="#Paper.g" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2792 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2792">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.g([varargs])<a href="#Paper.g" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2836 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2836">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.g-extra"></div>
@ -6687,7 +6723,7 @@ g.add(c2, c1);</code></pre></section>
<article id="Paper.group">
<header>
<h3 class="dr-method">Paper.group()<a href="#Paper.group" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2798 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2798">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.group()<a href="#Paper.group" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2842 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2842">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.group-extra"></div>
@ -6712,7 +6748,7 @@ g.add(c2, c1);</code></pre></section>
<article id="Paper.text">
<header>
<h3 class="dr-method">Paper.text(x, y, text)<a href="#Paper.text" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2826 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2826">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.text(x, y, text)<a href="#Paper.text" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2870 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2870">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.text-extra"></div>
@ -6801,7 +6837,7 @@ var t2 = paper.text(50, 50, ["S","n","a","p"]);</code></pre></section>
<article id="Paper.line">
<header>
<h3 class="dr-method">Paper.line(x1, y1, x2, y2)<a href="#Paper.line" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2854 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2854">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.line(x1, y1, x2, y2)<a href="#Paper.line" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2898 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2898">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.line-extra"></div>
@ -6892,7 +6928,7 @@ var t2 = paper.text(50, 50, ["S","n","a","p"]);</code></pre></section>
<article id="Paper.polyline">
<header>
<h3 class="dr-method">Paper.polyline(…)<a href="#Paper.polyline" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2883 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2883">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.polyline(…)<a href="#Paper.polyline" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2927 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2927">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.polyline-extra"></div>
@ -7004,7 +7040,7 @@ var p2 = paper.polyline(10, 10, 100, 100);</code></pre></section>
<article id="Paper.polygon">
<header>
<h3 class="dr-method">Paper.polygon()<a href="#Paper.polygon" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2903 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2903">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.polygon()<a href="#Paper.polygon" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2947 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2947">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.polygon-extra"></div>
@ -7029,7 +7065,7 @@ var p2 = paper.polyline(10, 10, 100, 100);</code></pre></section>
<article id="Paper.gradient">
<header>
<h3 class="dr-method">Paper.gradient(gradient)<a href="#Paper.gradient" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2956 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2956">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.gradient(gradient)<a href="#Paper.gradient" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3000 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3000">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.gradient-extra"></div>
@ -7227,7 +7263,7 @@ half the width, from black to white:
<article id="Paper.toString">
<header>
<h3 class="dr-method">Paper.toString()<a href="#Paper.toString" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2972 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2972">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.toString()<a href="#Paper.toString" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3016 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3016">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.toString-extra"></div>
@ -7269,7 +7305,7 @@ half the width, from black to white:
<article id="Paper.clear">
<header>
<h3 class="dr-method">Paper.clear()<a href="#Paper.clear" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 2990 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#2990">&#x27ad;</a></h3>
<h3 class="dr-method">Paper.clear()<a href="#Paper.clear" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3034 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3034">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Paper.clear-extra"></div>
@ -7294,7 +7330,7 @@ half the width, from black to white:
<article id="Snap.ajax">
<header>
<h3 class="dr-method">Snap.ajax(…)<a href="#Snap.ajax" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3021 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3021">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.ajax(…)<a href="#Snap.ajax" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3065 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3065">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.ajax-extra"></div>
@ -7398,7 +7434,7 @@ half the width, from black to white:
<article id="Snap.load">
<header>
<h3 class="dr-method">Snap.load(url, callback, [scope])<a href="#Snap.load" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3067 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3067">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.load(url, callback, [scope])<a href="#Snap.load" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3111 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3111">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.load-extra"></div>
@ -7447,7 +7483,7 @@ half the width, from black to white:
<article id="Snap.getElementByPoint">
<header>
<h3 class="dr-method">Snap.getElementByPoint(x, y)<a href="#Snap.getElementByPoint" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3496 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3496">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.getElementByPoint(x, y)<a href="#Snap.getElementByPoint" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3540 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3540">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.getElementByPoint-extra"></div>
@ -7532,7 +7568,7 @@ half the width, from black to white:
<article id="Snap.plugin">
<header>
<h3 class="dr-method">Snap.plugin(f)<a href="#Snap.plugin" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3531 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3531">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.plugin(f)<a href="#Snap.plugin" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 3575 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#3575">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.plugin-extra"></div>
@ -10784,7 +10820,7 @@ prototypes). This allow you to extend anything you want.
<article id="Snap.path.getTotalLength">
<header>
<h3 class="dr-method">Snap.path.getTotalLength(path)<a href="#Snap.path.getTotalLength" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1069 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1069">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.getTotalLength(path)<a href="#Snap.path.getTotalLength" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1072 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1072">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.getTotalLength-extra"></div>
@ -10844,7 +10880,7 @@ prototypes). This allow you to extend anything you want.
<article id="Snap.path.getPointAtLength">
<header>
<h3 class="dr-method">Snap.path.getPointAtLength(path, length)<a href="#Snap.path.getPointAtLength" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1086 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1086">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.getPointAtLength(path, length)<a href="#Snap.path.getPointAtLength" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1089 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1089">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.getPointAtLength-extra"></div>
@ -10951,7 +10987,7 @@ prototypes). This allow you to extend anything you want.
<article id="Snap.path.getSubpath">
<header>
<h3 class="dr-method">Snap.path.getSubpath(path, from, to)<a href="#Snap.path.getSubpath" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1099 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1099">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.getSubpath(path, from, to)<a href="#Snap.path.getSubpath" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1102 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1102">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.getSubpath-extra"></div>
@ -11017,7 +11053,7 @@ prototypes). This allow you to extend anything you want.
<article id="Element.getTotalLength">
<header>
<h3 class="dr-method">Element.getTotalLength()<a href="#Element.getTotalLength" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1113 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1113">&#x27ad;</a></h3>
<h3 class="dr-method">Element.getTotalLength()<a href="#Element.getTotalLength" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1116 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1116">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.getTotalLength-extra"></div>
@ -11059,7 +11095,7 @@ prototypes). This allow you to extend anything you want.
<article id="Element.getPointAtLength">
<header>
<h3 class="dr-method">Element.getPointAtLength(length)<a href="#Element.getPointAtLength" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1134 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1134">&#x27ad;</a></h3>
<h3 class="dr-method">Element.getPointAtLength(length)<a href="#Element.getPointAtLength" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1137 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1137">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.getPointAtLength-extra"></div>
@ -11163,7 +11199,7 @@ prototypes). This allow you to extend anything you want.
<article id="Element.getSubpath">
<header>
<h3 class="dr-method">Element.getSubpath(from, to)<a href="#Element.getSubpath" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1149 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1149">&#x27ad;</a></h3>
<h3 class="dr-method">Element.getSubpath(from, to)<a href="#Element.getSubpath" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1152 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1152">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Element.getSubpath-extra"></div>
@ -11226,7 +11262,7 @@ prototypes). This allow you to extend anything you want.
<article id="Snap.path.findDotsAtSegment">
<header>
<h3 class="dr-method">Snap.path.findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t)<a href="#Snap.path.findDotsAtSegment" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1192 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1192">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t)<a href="#Snap.path.findDotsAtSegment" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1195 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1195">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.findDotsAtSegment-extra"></div>
@ -11451,7 +11487,7 @@ Finds dot coordinates on the given cubic beziér curve at the given t
<article id="Snap.path.bezierBBox">
<header>
<h3 class="dr-method">Snap.path.bezierBBox(…)<a href="#Snap.path.bezierBBox" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1220 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1220">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.bezierBBox(…)<a href="#Snap.path.bezierBBox" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1223 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1223">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.bezierBBox-extra"></div>
@ -11630,7 +11666,7 @@ Returns the bounding box of a given cubic beziér curve
<article id="Snap.path.isPointInsideBBox">
<header>
<h3 class="dr-method">Snap.path.isPointInsideBBox(bbox, x, y)<a href="#Snap.path.isPointInsideBBox" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1233 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1233">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.isPointInsideBBox(bbox, x, y)<a href="#Snap.path.isPointInsideBBox" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1236 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1236">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.isPointInsideBBox-extra"></div>
@ -11697,7 +11733,7 @@ Returns <code>true</code> if given point is inside bounding box
<article id="Snap.path.isBBoxIntersect">
<header>
<h3 class="dr-method">Snap.path.isBBoxIntersect(bbox1, bbox2)<a href="#Snap.path.isBBoxIntersect" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1245 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1245">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.isBBoxIntersect(bbox1, bbox2)<a href="#Snap.path.isBBoxIntersect" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1248 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1248">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.isBBoxIntersect-extra"></div>
@ -11761,7 +11797,7 @@ Returns <code>true</code> if two bounding boxes intersect
<article id="Snap.path.intersection">
<header>
<h3 class="dr-method">Snap.path.intersection(path1, path2)<a href="#Snap.path.intersection" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1269 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1269">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.intersection(path1, path2)<a href="#Snap.path.intersection" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1272 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1272">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.intersection-extra"></div>
@ -11917,7 +11953,7 @@ Finds intersections of two paths
<article id="Snap.path.isPointInside">
<header>
<h3 class="dr-method">Snap.path.isPointInside(path, x, y)<a href="#Snap.path.isPointInside" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1285 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1285">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.isPointInside(path, x, y)<a href="#Snap.path.isPointInside" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1288 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1288">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.isPointInside-extra"></div>
@ -11985,7 +12021,7 @@ Returns <code>true</code> if given point is inside a given closed path.
<article id="Snap.path.getBBox">
<header>
<h3 class="dr-method">Snap.path.getBBox(path)<a href="#Snap.path.getBBox" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1304 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1304">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.getBBox(path)<a href="#Snap.path.getBBox" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1307 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1307">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.getBBox-extra"></div>
@ -12114,7 +12150,7 @@ Returns the bounding box of a given path
<article id="Snap.path.toRelative">
<header>
<h3 class="dr-method">Snap.path.toRelative(path)<a href="#Snap.path.toRelative" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1316 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1316">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.toRelative(path)<a href="#Snap.path.toRelative" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1319 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1319">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.toRelative-extra"></div>
@ -12175,7 +12211,7 @@ Converts path coordinates into relative values
<article id="Snap.path.toAbsolute">
<header>
<h3 class="dr-method">Snap.path.toAbsolute(path)<a href="#Snap.path.toAbsolute" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1327 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1327">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.toAbsolute(path)<a href="#Snap.path.toAbsolute" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1330 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1330">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.toAbsolute-extra"></div>
@ -12236,7 +12272,7 @@ Converts path coordinates into absolute values
<article id="Snap.path.toCubic">
<header>
<h3 class="dr-method">Snap.path.toCubic(pathString)<a href="#Snap.path.toCubic" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1338 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1338">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.toCubic(pathString)<a href="#Snap.path.toCubic" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1341 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1341">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.toCubic-extra"></div>
@ -12297,7 +12333,7 @@ Converts path to a new path where all segments are cubic beziér curves
<article id="Snap.path.map">
<header>
<h3 class="dr-method">Snap.path.map(path, matrix)<a href="#Snap.path.map" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1348 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1348">&#x27ad;</a></h3>
<h3 class="dr-method">Snap.path.map(path, matrix)<a href="#Snap.path.map" title="Link to this section" class="dr-hash">&#x2693;</a><a class="dr-sourceline" title="Go to line 1351 in the source" href="https://github.com/adobe-webplatform/savage/blob/master/src/svg.js#1351">&#x27ad;</a></h3>
</header>
<section>
<div class="extra" id="Snap.path.map-extra"></div>

View File

@ -123,7 +123,12 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
};
}
if (name == "transform" || name == "gradientTransform" || name == "patternTransform") {
// TODO: b could be an SVG transform string or matrix
if (b instanceof Snap.Matrix) {
b = b.toTransformString();
}
if (!Snap._.rgTransform.test(b)) {
b = Snap._.svgTransform2string(b);
}
return equaliseTransform(a, b, function () {
return el.getBBox(1);
});
@ -136,6 +141,15 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
f: getPath(A[0])
};
}
if (name == "points") {
A = Str(a).split(",");
B = Str(b).split(",");
return {
from: A,
to: B,
f: function (val) { return val; }
};
}
var aUnit = a.match(reUnit),
bUnit = Str(b).match(reUnit);
if (aUnit && aUnit == bUnit) {

View File

@ -114,11 +114,11 @@ var mina = (function (eve) {
if (isArray(a.start)) {
res = [];
for (var j = 0, jj = a.start.length; j < jj; j++) {
res[j] = a.start[j] +
res[j] = +a.start[j] +
(a.end[j] - a.start[j]) * a.easing(a.s);
}
} else {
res = a.start + (a.end - a.start) * a.easing(a.s);
res = +a.start + (a.end - a.start) * a.easing(a.s);
}
a.set(res);
}

View File

@ -45,27 +45,37 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
if (glob.doc.addEventListener) {
return function (obj, type, fn, element) {
var realName = supportsTouch && touchMap[type] ? touchMap[type] : type,
f = function (e) {
f = function (e) {
var scrollY = getScroll("y"),
scrollX = getScroll("x"),
x = e.clientX + scrollX,
y = e.clientY + scrollY;
if (supportsTouch && touchMap[has](type)) {
for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {
if (e.targetTouches[i].target == obj) {
var olde = e;
e = e.targetTouches[i];
e.originalEvent = olde;
e.preventDefault = preventTouch;
e.stopPropagation = stopTouch;
break;
}
scrollX = getScroll("x");
if (supportsTouch && touchMap[has](type)) {
for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {
if (e.targetTouches[i].target == obj || obj.contains(e.targetTouches[i].target)) {
var olde = e;
e = e.targetTouches[i];
e.originalEvent = olde;
e.preventDefault = preventTouch;
e.stopPropagation = stopTouch;
break;
}
}
}
}
return fn.call(element, e, x, y);
};
var x = e.clientX + scrollX,
y = e.clientY + scrollY;
return fn.call(element, e, x, y);
};
if (type !== realName) {
obj.addEventListener(type, f, false);
}
obj.addEventListener(realName, f, false);
return function () {
if (type !== realName) {
obj.removeEventListener(type, f, false);
}
obj.removeEventListener(realName, f, false);
return true;
};
@ -102,11 +112,11 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
while (j--) {
dragi = drag[j];
if (supportsTouch) {
var i = e.touches.length,
var i = e.touches && e.touches.length,
touch;
while (i--) {
touch = e.touches[i];
if (touch.identifier == dragi.el._drag.id) {
if (touch.identifier == dragi.el._drag.id || dragi.el.node.contains(touch.target)) {
x = touch.clientX;
y = touch.clientY;
(e.originalEvent ? e.originalEvent : e).preventDefault();
@ -430,19 +440,17 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
origTransform = this.transform().local;
});
}
function start(e) {
function start(e, x, y) {
(e.originalEvent || e).preventDefault();
var scrollY = getScroll("y"),
scrollX = getScroll("x");
this._drag.x = e.clientX + scrollX;
this._drag.y = e.clientY + scrollY;
this._drag.x = x;
this._drag.y = y;
this._drag.id = e.identifier;
!drag.length && Snap.mousemove(dragMove).mouseup(dragUp);
drag.push({el: this, move_scope: move_scope, start_scope: start_scope, end_scope: end_scope});
onstart && eve.on("snap.drag.start." + this.id, onstart);
onmove && eve.on("snap.drag.move." + this.id, onmove);
onend && eve.on("snap.drag.end." + this.id, onend);
eve("snap.drag.start." + this.id, start_scope || move_scope || this, e.clientX + scrollX, e.clientY + scrollY, e);
eve("snap.drag.start." + this.id, start_scope || move_scope || this, x, y, e);
}
this._drag = {};
draggable.push({el: this, start: start});

View File

@ -523,6 +523,9 @@ Snap.plugin(function (Snap, Element, Paper, glob) {
var bbox = el.getBBox();
return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);
},
line: function (el) {
return "M" + [el.attr("x1"), el.attr("y1"), el.attr("x2"), el.attr("y2")];
},
polyline: function (el) {
return "M" + el.attr("points");
},

View File

@ -528,9 +528,6 @@ function Matrix(a, b, c, d, e, f) {
a[0] && (a[0] /= mag);
a[1] && (a[1] /= mag);
}
// SIERRA Matrix.split(): HTML formatting for the return value is scrambled. It should appear _Returns: {OBJECT} in format:..._
// SIERRA Matrix.split(): the _shear_ parameter needs to be detailed. Is it an angle? What does it affect?
// SIERRA Matrix.split(): The idea of _simple_ transforms needs to be detailed and contrasted with any alternatives.
/*\
* Matrix.split
[ method ]
@ -580,7 +577,6 @@ function Matrix(a, b, c, d, e, f) {
out.noRotation = !+out.shear.toFixed(9) && !out.rotate;
return out;
};
// SIERRA Matrix.toTransformString(): The format of the string needs to be detailed.
/*\
* Matrix.toTransformString
[ method ]
@ -602,7 +598,6 @@ function Matrix(a, b, c, d, e, f) {
}
};
})(Matrix.prototype);
// SIERRA Unclear the difference between the two matrix formats ("parameters" vs svgMatrix). See my comment about Element.matrix().
/*\
* Snap.Matrix
[ method ]
@ -1129,7 +1124,7 @@ var parseTransformString = Snap.parseTransformString = function (TString) {
function svgTransform2string(tstr) {
var res = [];
tstr = tstr.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g, function (all, name, params) {
params = params.split(/\s*,\s*/);
params = params.split(/\s*,\s*|\s+/);
if (name == "rotate" && params.length == 1) {
params.push(0, 0);
}
@ -1152,7 +1147,8 @@ function svgTransform2string(tstr) {
});
return res;
}
var rgTransform = new RegExp("^[a-z][" + spaces + "]*-?\\.?\\d", "i");
Snap._.svgTransform2string = svgTransform2string;
Snap._.rgTransform = new RegExp("^[a-z][" + spaces + "]*-?\\.?\\d", "i");
function transform2matrix(tstr, bbox) {
var tdata = parseTransformString(tstr),
m = new Matrix;
@ -1235,7 +1231,7 @@ function extractTransform(el, tstr) {
}
tstr = svgTransform2string(tstr);
} else {
if (!rgTransform.test(tstr)) {
if (!Snap._.rgTransform.test(tstr)) {
tstr = svgTransform2string(tstr);
} else {
tstr = Str(tstr).replace(/\.{3}|\u2026/g, el._.transform || E);
@ -1420,8 +1416,8 @@ function add2group(list) {
}
}
var children = node.childNodes;
for (i = 0; i < children.length; i++) if (children[i].snap) {
this[j++] = hub[children[i].snap];
for (i = 0; i < children.length; i++) {
this[j++] = wrap(children[i]);
}
}
function Element(el) {
@ -1640,16 +1636,18 @@ function arrayFirstValue(arr) {
* See @Element.append
\*/
elproto.append = elproto.add = function (el) {
if (el.type == "set") {
var it = this;
el.forEach(function (el) {
it.append(el);
});
return this;
if (el) {
if (el.type == "set") {
var it = this;
el.forEach(function (el) {
it.add(el);
});
return this;
}
el = wrap(el);
this.node.appendChild(el.node);
el.paper = this.paper;
}
el = wrap(el);
this.node.appendChild(el.node);
el.paper = this.paper;
return this;
};
/*\
@ -1662,8 +1660,10 @@ function arrayFirstValue(arr) {
= (Element) the child element
\*/
elproto.appendTo = function (el) {
el = wrap(el);
el.append(this);
if (el) {
el = wrap(el);
el.append(this);
}
return this;
};
/*\
@ -1676,9 +1676,15 @@ function arrayFirstValue(arr) {
= (Element) the parent element
\*/
elproto.prepend = function (el) {
el = wrap(el);
this.node.insertBefore(el.node, this.node.firstChild);
el.paper = this.paper;
if (el) {
el = wrap(el);
var parent = el.parent();
this.node.insertBefore(el.node, this.node.firstChild);
this.add && this.add();
el.paper = this.paper;
this.parent() && this.parent().add();
parent && parent.add();
}
return this;
};
/*\
@ -1704,10 +1710,22 @@ function arrayFirstValue(arr) {
- el (Element) element to insert
= (Element) the parent element
\*/
// TODO make it work for sets too
elproto.before = function (el) {
if (el.type == "set") {
var it = this;
el.forEach(function (el) {
var parent = el.parent();
it.node.parentNode.insertBefore(el.node, it.node);
parent && parent.add();
});
this.parent().add();
return this;
}
el = wrap(el);
var parent = el.parent();
this.node.parentNode.insertBefore(el.node, this.node);
this.parent() && this.parent().add();
parent && parent.add();
el.paper = this.paper;
return this;
};
@ -1722,7 +1740,14 @@ function arrayFirstValue(arr) {
\*/
elproto.after = function (el) {
el = wrap(el);
this.node.parentNode.insertBefore(el.node, this.node.nextSibling);
var parent = el.parent();
if (this.node.nextSibling) {
this.node.parentNode.insertBefore(el.node, this.node.nextSibling);
} else {
this.node.parentNode.appendChild(el.node);
}
this.parent() && this.parent().add();
parent && parent.add();
el.paper = this.paper;
return this;
};
@ -1737,8 +1762,11 @@ function arrayFirstValue(arr) {
\*/
elproto.insertBefore = function (el) {
el = wrap(el);
var parent = this.parent();
el.node.parentNode.insertBefore(this.node, el.node);
this.paper = el.paper;
parent && parent.add();
el.parent() && el.parent().add();
return this;
};
/*\
@ -1752,8 +1780,11 @@ function arrayFirstValue(arr) {
\*/
elproto.insertAfter = function (el) {
el = wrap(el);
var parent = this.parent();
el.node.parentNode.insertBefore(this.node, el.node.nextSibling);
this.paper = el.paper;
parent && parent.add();
el.parent() && el.parent().add();
return this;
};
/*\
@ -1764,9 +1795,11 @@ function arrayFirstValue(arr) {
= (Element) the detached element
\*/
elproto.remove = function () {
var parent = this.parent();
this.node.parentNode && this.node.parentNode.removeChild(this.node);
delete this.paper;
this.removed = true;
parent && parent.add();
return this;
};
/*\
@ -1967,7 +2000,7 @@ function arrayFirstValue(arr) {
if (x == null) {
x = this.getBBox();
}
if (x && "x" in x) {
if (is(x, "object") && "x" in x) {
y = x.y;
width = x.width;
height = x.height;
@ -2009,7 +2042,7 @@ function arrayFirstValue(arr) {
if (x == null) {
x = this.getBBox();
}
if (x && "x" in x) {
if (is(x, "object") && "x" in x) {
y = x.y;
width = x.width;
height = x.height;
@ -2272,15 +2305,22 @@ function arrayFirstValue(arr) {
}
return this;
};
// SIERRA Element.toString(): Recommend renaming this _outerSVG_ to keep it consistent with HTML & innerSVG, and also to avoid confusing it with what textContent() does. Cross-reference with innerSVG.
/*\
* Element.outerSVG
[ method ]
**
* Returns SVG code for the element, equivalent to HTML's `outerHTML`.
*
* See also @Element.innerSVG
= (string) SVG code for the element
\*/
/*\
* Element.toString
[ method ]
**
* Returns SVG code for the element, equivalent to HTML's `outerHTML`
= (string) SVG code for the element
* See @Element.outerSVG
\*/
elproto.toString = toString(1);
elproto.outerSVG = elproto.toString = toString(1);
/*\
* Element.innerSVG
[ method ]
@ -2577,6 +2617,12 @@ function gradientRadial(defs, cx, cy, r, fx, fy) {
| cy: 10,
| r: 10
| });
| // and the same as
| var c = paper.el("circle", {
| cx: 10,
| cy: 10,
| r: 10
| });
\*/
proto.el = function (name, attr) {
return make(name, this.node).attr(attr);
@ -2602,27 +2648,25 @@ function gradientRadial(defs, cx, cy, r, fx, fy) {
| var c = paper.rect(40, 40, 50, 50, 10);
\*/
proto.rect = function (x, y, w, h, rx, ry) {
var el = make("rect", this.node);
var attr;
if (ry == null) {
ry = rx;
}
if (is(x, "object") && "x" in x) {
el.attr(x);
attr = x;
} else if (x != null) {
el.attr({
attr = {
x: x,
y: y,
width: w,
height: h
});
};
if (rx != null) {
el.attr({
rx: rx,
ry: ry
});
attr.rx = rx;
attr.ry = ry;
}
}
return el;
return this.el("rect", attr);
};
/*\
* Paper.circle
@ -2639,17 +2683,17 @@ function gradientRadial(defs, cx, cy, r, fx, fy) {
| var c = paper.circle(50, 50, 40);
\*/
proto.circle = function (cx, cy, r) {
var el = make("circle", this.node);
var attr;
if (is(cx, "object") && "cx" in cx) {
el.attr(cx);
attr = cx;
} else if (cx != null) {
el.attr({
attr = {
cx: cx,
cy: cy,
r: r
});
};
}
return el;
return this.el("circle", attr);
};
/*\
@ -2665,7 +2709,7 @@ function gradientRadial(defs, cx, cy, r, fx, fy) {
- height (number) height of the image
= (object) the `image` element
* or
= (object) Raphaël element object with type `image`
= (object) Snap element object with type `image`
**
> Usage
| var c = paper.image("apple.png", 10, 10, 80, 80);