]> source.dussan.org Git - svg.js.git/commitdiff
Added attr function for SVG.Element
authorwout <wout@impinc.co.uk>
Sun, 16 Dec 2012 18:40:03 +0000 (19:40 +0100)
committerwout <wout@impinc.co.uk>
Sun, 16 Dec 2012 18:40:03 +0000 (19:40 +0100)
src/circle.js
src/element.js
src/ellipse.js

index 7d1fbee6de9463e14d5bce397b813590a8a60107..f2549c76f8b4952aa1740ab028ee4c8299e32513 100644 (file)
@@ -10,7 +10,7 @@ SVG.Circle.prototype = new SVG.Shape();
 SVG.Circle.prototype.move = function(x, y) {
   this.attributes.x = x;
   this.attributes.y = y;
-  this._center();
+  this.center();
   
   return this;
 };
@@ -18,15 +18,15 @@ SVG.Circle.prototype.move = function(x, y) {
 // custom size function
 SVG.Circle.prototype.size = function(w, h) {
   this.setAttribute('r', w / 2);
-  this._center();
+  this.center();
   
   return this;
 };
 
 // private: center 
-SVG.Circle.prototype._center = function() {
+SVG.Circle.prototype.center = function(cx, cy) {
   var r = this.attributes.r || 0;
   
-  this.setAttribute('cx', (this.attributes.x || 0) + r);
-  this.setAttribute('cy', (this.attributes.y || 0) + r);
+  this.setAttribute('cx', cx || ((this.attributes.x || 0) + r));
+  this.setAttribute('cy', cy || ((this.attributes.y || 0) + r));
 };
\ No newline at end of file
index bf729cd086b6417d465e087f044791ba55a13f0e..d6f468501cdebd4621ca9404d29e2d3e8922f3ed 100644 (file)
@@ -68,6 +68,17 @@ SVG.Element.prototype.setAttribute = function(a, v, ns) {
   return this;
 };
 
+// set svg element attribute
+SVG.Element.prototype.attr = function(v) {
+  if (typeof v == 'object')
+    for (var k in v)
+      this.setAttribute(k, v[k]);
+  else if (arguments.length == 2)
+    this.setAttribute(arguments[0], arguments[1]);
+  
+  return this;
+};
+
 // get bounding box
 SVG.Element.prototype.getBBox = function() {
   return this.svgElement.getBBox();
index 9e032771b3dd69e03f18f9032db7d6ec8b7f10bc..41443b96db2783761a1e391c77e9c46e430a77e8 100644 (file)
@@ -10,7 +10,7 @@ SVG.Ellipse.prototype = new SVG.Shape();
 SVG.Ellipse.prototype.move = function(x, y) {
   this.attributes.x = x;
   this.attributes.y = y;
-  this._center();
+  this.center();
   
   return this;
 };
@@ -19,12 +19,12 @@ SVG.Ellipse.prototype.move = function(x, y) {
 SVG.Ellipse.prototype.size = function(w, h) {
   this.setAttribute('rx', w / 2);
   this.setAttribute('ry', h / 2);
-  this._center();
+  this.center();
   
   return this; 
 };
 
-SVG.Ellipse.prototype._center = function() {
-  this.setAttribute('cx', (this.attributes.x || 0) + (this.attributes.rx || 0));
-  this.setAttribute('cy', (this.attributes.y || 0) + (this.attributes.ry || 0));
+SVG.Ellipse.prototype.center = function(cx, cy) {
+  this.setAttribute('cx', cx || ((this.attributes.x || 0) + (this.attributes.rx || 0)));
+  this.setAttribute('cy', cy || ((this.attributes.y || 0) + (this.attributes.ry || 0)));
 };
\ No newline at end of file