diff nodejs/svg.js @ 1381:9a585df24e52

Consider the width and height attribute for the rect elements. The inkscape will change the width and height directly without using transform when we resize the rectangle.
author wycc
date Wed, 23 Mar 2011 23:02:36 +0800
parents 9ce82873d406
children 98ea7146cef3
line wrap: on
line diff
--- a/nodejs/svg.js	Wed Mar 23 00:33:51 2011 +0800
+++ b/nodejs/svg.js	Wed Mar 23 23:02:36 2011 +0800
@@ -964,6 +964,23 @@
 	tcoord.tx = 0;
 	tcoord.ty = 0;
     }
+
+    tcoord.tx += x;
+    tcoord.ty += y;
+    attr = n.attr('duplicate-src');
+    if (attr) {
+        var id = attr.value();
+        var orign = this.mb_rt.mbnames[id].node;
+        sys.puts("xxxxxxxxxxxxxx");
+        var nw = getInteger(orign,'width');
+        var nh = getInteger(orign,'height');
+	sys.puts("nw="+nw);
+	sys.puts("nh="+nh);
+	sys.puts("w="+w);
+	sys.puts("h="+h);
+	tcoord.sx *= w/nw;
+	tcoord.sy *= h/nh;
+    }
 	
 	
 
@@ -1027,6 +1044,8 @@
 }
 
 loadSVG.prototype.parseGroup=function(accu_matrix,root, group_id, n) {
+    var label = n.attr('label');
+    if (label && label.value()=='dup') return;
     var k;
     var nodes = n.childNodes();
     var coord = this.mb_rt.coord_new(root);
@@ -1034,6 +1053,7 @@
     var trans = n.attr('transform');
     var accu=[1,0,0,0,1,0];
     var style;
+    
     n.coord = coord;
     coord.node = n;
     this._check_duplicate_src(n,coord);