[Sie-announce] SIEコード [2687] _nodeInsertIntoについて、push方式をやめて、length方式を使って、軽量化

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 5月 16日 (月) 21:49:44 JST


Revision: 2687
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2687
Author:   dhrname
Date:     2011-05-16 21:49:44 +0900 (Mon, 16 May 2011)

Log Message:
-----------
_nodeInsertIntoについて、push方式をやめて、length方式を使って、軽量化

Modified Paths:
--------------
    branches/07x/078/org/w3c/dom/svg.js

Modified: branches/07x/078/org/w3c/dom/svg.js
===================================================================
--- branches/07x/078/org/w3c/dom/svg.js	2011-05-16 12:34:22 UTC (rev 2686)
+++ branches/07x/078/org/w3c/dom/svg.js	2011-05-16 12:49:44 UTC (rev 2687)
@@ -2982,23 +2982,24 @@
       isZ = tar._com._isZ, isC = tar._com._isC;
   for (var i=0, tli=tlist.numberOfItems;i<tli;++i) {
     var ti = tlist[i],
-        tps = ti.pathSegTypeAsLetter;
-    dat.push(cname[tps]);
+        tps = ti.pathSegTypeAsLetter,
+        dli = dat.length;
+    dat[dli] = cname[tps];
     if (isC[tps]) {
       /*CTM(mx)の行列と座標(x, y)の積を算出する。数学における表現は以下のとおり
        *[ma mc me]   [x]
        *[mb md mf] * [y]
        *[0  0  1 ]   [1]
        */
-      dat.push(_parseInt(ma*ti.x1 + mc*ti.y1 + me, 10));
-      dat.push(_parseInt(mb*ti.x1 + md*ti.y1 + mf, 10));
-      dat.push(_parseInt(ma*ti.x2 + mc*ti.y2 + me, 10));
-      dat.push(_parseInt(mb*ti.x2 + md*ti.y2 + mf, 10));
-      dat.push(_parseInt(ma*ti.x + mc*ti.y + me, 10));
-      dat.push(_parseInt(mb*ti.x + md*ti.y + mf, 10));
+      dat[dli+1] = _parseInt(ma*ti.x1 + mc*ti.y1 + me, 10);
+      dat[dli+2] = _parseInt(mb*ti.x1 + md*ti.y1 + mf, 10);
+      dat[dli+3] = _parseInt(ma*ti.x2 + mc*ti.y2 + me, 10);
+      dat[dli+4] = _parseInt(mb*ti.x2 + md*ti.y2 + mf, 10);
+      dat[dli+5] = _parseInt(ma*ti.x + mc*ti.y + me, 10);
+      dat[dli+6] = _parseInt(mb*ti.x + md*ti.y + mf, 10);
     } else if (!isZ[tps]) {
-      dat.push(_parseInt(ma*ti.x + mc*ti.y + me, 10));
-      dat.push(_parseInt(mb*ti.x + md*ti.y + mf, 10));
+      dat[dli+1] = _parseInt(ma*ti.x + mc*ti.y + me, 10);
+      dat[dli+2] = _parseInt(mb*ti.x + md*ti.y + mf, 10);
     }
   }
   var vi = tar.ownerDocument.documentElement,




Sie-announce メーリングリストの案内
Back to archive index