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,