From svnnotify @ sourceforge.jp Tue Mar 1 00:10:11 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 01 Mar 2011 00:10:11 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDQ0XQ==?= Message-ID: <1298905811.077248.19238.nullmailer@users.sourceforge.jp> ClamAV 0.95.3 on sf-lists Revision: 2444 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2444 Author: dhrname Date: 2011-03-01 00:10:11 +0900 (Tue, 01 Mar 2011) Log Message: ----------- Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-02-28 11:03:01 UTC (rev 2443) +++ branches/07x/072/org/w3c/dom/svg.js 2011-02-28 15:10:11 UTC (rev 2444) @@ -5678,7 +5678,7 @@ } t = t.replace(/\-/, u); s.setProperty(t, CSS2Properties[i]); - s._list[t] = s._list[n]; //この処理はCSSモジュールのgetCoputedStyleメソッドのため + s._list[t] = s._list[n]; //この処理はCSSモジュールのgetComputedStyleメソッドのため ++n; p = m = i = t = u = null; } From svnnotify @ sourceforge.jp Tue Mar 1 20:01:27 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 01 Mar 2011 20:01:27 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDQ1XSAgSUU544Gn44Gv?= =?utf-8?b?44CBZG9jdW1lbnTjgYzlrprmlbDjgajjgZfjgabmibHjgo/jgozjgqjjg6k=?= =?utf-8?b?44O844Go44Gq44KL44Gf44KB44CBZG9jdW1lbnTjgpLjg63jg7zjgqvjg6s=?= =?utf-8?b?5aSJ5pWw44Gr5aSJ44GI44KL5Yem55CG44KS5raI44GX44Gm44GK44GE44Gf?= Message-ID: <1298977287.594799.12487.nullmailer@users.sourceforge.jp> Revision: 2445 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2445 Author: dhrname Date: 2011-03-01 20:01:27 +0900 (Tue, 01 Mar 2011) Log Message: ----------- IE9では、documentが定数として扱われエラーとなるため、documentをローカル変数に変える処理を消しておいた Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-02-28 15:10:11 UTC (rev 2444) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-01 11:01:27 UTC (rev 2445) @@ -58,8 +58,6 @@ //これを頭に付けたら、内部処理用 var NAIBU = {}; -//documentを速くするために -/*@cc_on _d=document;eval('var document=_d')@*/ /* // File: svg.idl From svnnotify @ sourceforge.jp Tue Mar 1 20:04:25 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 01 Mar 2011 20:04:25 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDQ2XSAgZG9jdW1lbnQ=?= =?utf-8?b?44KS44Ot44O844Kr44Or5aSJ5pWw44Gr5aSJ44GI44KL5Yem55CG44KS5raI?= =?utf-8?b?5Y67?= Message-ID: <1298977465.280016.16131.nullmailer@users.sourceforge.jp> Revision: 2446 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2446 Author: dhrname Date: 2011-03-01 20:04:25 +0900 (Tue, 01 Mar 2011) Log Message: ----------- documentをローカル変数に変える処理を消去 Modified Paths: -------------- branches/07x/sie.js Modified: branches/07x/sie.js =================================================================== --- branches/07x/sie.js 2011-03-01 11:01:27 UTC (rev 2445) +++ branches/07x/sie.js 2011-03-01 11:04:25 UTC (rev 2446) @@ -2252,8 +2252,6 @@ //これを頭に付けたら、内部処理用 var NAIBU = {}; -//documentを速くするために -/*@cc_on _d=document;eval('var document=_d')@*/ /* // File: svg.idl From svnnotify @ sourceforge.jp Tue Mar 1 20:05:09 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 01 Mar 2011 20:05:09 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDQ3XSAg5LiN6KaB44Gq?= =?utf-8?b?RWxlbWVudFRpbWVDb250cm9s44KS5YmK6Zmk?= Message-ID: <1298977509.963170.17239.nullmailer@users.sourceforge.jp> Revision: 2447 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2447 Author: dhrname Date: 2011-03-01 20:05:09 +0900 (Tue, 01 Mar 2011) Log Message: ----------- 不要なElementTimeControlを削除 Modified Paths: -------------- branches/07x/sie.js Modified: branches/07x/sie.js =================================================================== --- branches/07x/sie.js 2011-03-01 11:04:25 UTC (rev 2446) +++ branches/07x/sie.js 2011-03-01 11:05:09 UTC (rev 2447) @@ -2198,39 +2198,6 @@ { typedef dom::DOMString DOMString; */ -/*ElementTimeControlはSVGAnimationElementに統合させる。 - *というのは、多重継承が難しいため - */ -function ElementTimeControl(ele) { - this._tar = ele; - /*_beginと_endプロパティはミリ秒数を収納する。リピート時に書き換えられることがある。 - *_beginはアニメ開始時の秒数。_endはアニメ終了時の秒数。 - *なお、文書読み込み終了時(アニメ開始時刻)の秒数を0とする。 - */ - this._begin = 0; - this._end = null; - return this; -}; -ElementTimeControl.prototype = { - /*void*/ beginElement : function() { - var ttd = this.ownerDocument, evt = ttd.createEvent("TimeEvents"); - evt.initTimeEvent("beginEvent", ttd.defaultView, 0); - this.dispatchEvent(evt); - }, - /*void*/ endElement : function() { - var ttd = this.ownerDocument, evt = ttd.createEvent("TimeEvents"); - evt.initTimeEvent("endEvent", ttd.defaultView, 0); - this.dispatchEvent(evt); - }, - /*void*/ beginElementAt : function(/*float*/ offset) { - var ntc = this.ownerDocument.documentElement.getCurrentTime(); - this._begin = offset + ntc; - }, - /*void*/ endElementAt : function(/*float*/ offset) { - var ntc = this.ownerDocument.documentElement.getCurrentTime(); - this._end = offset + ntc; - } -}; function TimeEvent() { Event.apply(this); From svnnotify @ sourceforge.jp Tue Mar 1 20:06:46 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 01 Mar 2011 20:06:46 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDQ4XSAwLjcxYmV0YSBm?= =?utf-8?q?ixed?= Message-ID: <1298977606.424211.19069.nullmailer@users.sourceforge.jp> Revision: 2448 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2448 Author: dhrname Date: 2011-03-01 20:06:46 +0900 (Tue, 01 Mar 2011) Log Message: ----------- 0.71beta fixed Modified Paths: -------------- trunk/sie.js Property Changed: ---------------- trunk/sie.js Modified: trunk/sie.js =================================================================== --- trunk/sie.js 2011-03-01 11:05:09 UTC (rev 2447) +++ trunk/sie.js 2011-03-01 11:06:46 UTC (rev 2448) @@ -2198,39 +2198,6 @@ { typedef dom::DOMString DOMString; */ -/*ElementTimeControlはSVGAnimationElementに統合させる。 - *というのは、多重継承が難しいため - */ -function ElementTimeControl(ele) { - this._tar = ele; - /*_beginと_endプロパティはミリ秒数を収納する。リピート時に書き換えられることがある。 - *_beginはアニメ開始時の秒数。_endはアニメ終了時の秒数。 - *なお、文書読み込み終了時(アニメ開始時刻)の秒数を0とする。 - */ - this._begin = 0; - this._end = null; - return this; -}; -ElementTimeControl.prototype = { - /*void*/ beginElement : function() { - var ttd = this.ownerDocument, evt = ttd.createEvent("TimeEvents"); - evt.initTimeEvent("beginEvent", ttd.defaultView, 0); - this.dispatchEvent(evt); - }, - /*void*/ endElement : function() { - var ttd = this.ownerDocument, evt = ttd.createEvent("TimeEvents"); - evt.initTimeEvent("endEvent", ttd.defaultView, 0); - this.dispatchEvent(evt); - }, - /*void*/ beginElementAt : function(/*float*/ offset) { - var ntc = this.ownerDocument.documentElement.getCurrentTime(); - this._begin = offset + ntc; - }, - /*void*/ endElementAt : function(/*float*/ offset) { - var ntc = this.ownerDocument.documentElement.getCurrentTime(); - this._end = offset + ntc; - } -}; function TimeEvent() { Event.apply(this); @@ -2252,8 +2219,6 @@ //これを頭に付けたら、内部処理用 var NAIBU = {}; -//documentを速くするために -/*@cc_on _d=document;eval('var document=_d')@*/ /* // File: svg.idl Property changes on: trunk/sie.js ___________________________________________________________________ Modified: svn:mergeinfo - /branches/04x/040/sie.js:812-829 /branches/04x/041/sie.js:891-923 /branches/04x/042/sie.js:927-967 /branches/04x/043/sie.js:969-1013 /branches/04x/044/sie.js:1015-1067 /branches/04x/045/sie.js:1069-1078 /branches/04x/046/sie.js:1080-1129 /branches/04x/047/sie.js:1131-1164 /branches/04x/048/sie.js:1166-1180 /branches/04x/sie.js:830-1181 /branches/05x/050/sie.js:1183-1201 /branches/05x/051/sie.js:1207-1323 /branches/05x/052/sie.js:1325-1352 /branches/05x/053/sie.js:1354-1400 /branches/05x/054/sie.js:1403-1422 /branches/05x/055/sie.js:1424-1454 /branches/05x/056/sie.js:1456-1491 /branches/05x/057/sie.js:1496-1523 /branches/05x/058/sie.js:1526-1590 /branches/05x/sie.js:1183-1594 /branches/06x/060/sie.js:1603-1850 /branches/06x/sie.js:1599-2355 /branches/07x/sie.js:2357-2435 + /branches/04x/040/sie.js:812-829 /branches/04x/041/sie.js:891-923 /branches/04x/042/sie.js:927-967 /branches/04x/043/sie.js:969-1013 /branches/04x/044/sie.js:1015-1067 /branches/04x/045/sie.js:1069-1078 /branches/04x/046/sie.js:1080-1129 /branches/04x/047/sie.js:1131-1164 /branches/04x/048/sie.js:1166-1180 /branches/04x/sie.js:830-1181 /branches/05x/050/sie.js:1183-1201 /branches/05x/051/sie.js:1207-1323 /branches/05x/052/sie.js:1325-1352 /branches/05x/053/sie.js:1354-1400 /branches/05x/054/sie.js:1403-1422 /branches/05x/055/sie.js:1424-1454 /branches/05x/056/sie.js:1456-1491 /branches/05x/057/sie.js:1496-1523 /branches/05x/058/sie.js:1526-1590 /branches/05x/sie.js:1183-1594 /branches/06x/060/sie.js:1603-1850 /branches/06x/sie.js:1599-2355 /branches/07x/sie.js:2357-2447 From svnnotify @ sourceforge.jp Tue Mar 1 20:57:54 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 01 Mar 2011 20:57:54 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDQ5XSAgdW5zdmd0b3Zt?= =?utf-8?b?bOmWouaVsOOBq+OBiuOBhOOBpuOAgWRvY3VtZW5044KSbnVsbOOBq+OBmQ==?= =?utf-8?b?44KL44Go44CB44Ko44Op44O844GM5Ye644KL44Gu44KS5L+u5q2j?= Message-ID: <1298980674.392697.13775.nullmailer@users.sourceforge.jp> Revision: 2449 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2449 Author: dhrname Date: 2011-03-01 20:57:54 +0900 (Tue, 01 Mar 2011) Log Message: ----------- unsvgtovml関数において、documentをnullにすると、エラーが出るのを修正 Modified Paths: -------------- trunk/sie.js Modified: trunk/sie.js =================================================================== --- trunk/sie.js 2011-03-01 11:06:46 UTC (rev 2448) +++ trunk/sie.js 2011-03-01 11:57:54 UTC (rev 2449) @@ -7859,9 +7859,9 @@ } window.onscroll = NAIBU.emptyFunction; window.detachEvent("onload", NAIBU._main); - Element = SVGElement = Attr = NamedNodeMap = CSS2Properties = CSSValue = CSSPrimitiveValue = NAIBU.xmlhttp = Node = Event = NAIBU = stlog = STLog = document = null; + Element = SVGElement = Attr = NamedNodeMap = CSS2Properties = CSSValue = CSSPrimitiveValue = NAIBU.xmlhttp = Node = Event = NAIBU = stlog = STLog = null; Array = ActiveXObject = null; - } catch(e) {console.log(e.message);} + } catch(e) {} } /*_main関数 *一番最初に起動するべき関数 From svnnotify @ sourceforge.jp Tue Mar 1 20:58:36 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 01 Mar 2011 20:58:36 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDUwXQ==?= Message-ID: <1298980716.446947.14993.nullmailer@users.sourceforge.jp> Revision: 2450 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2450 Author: dhrname Date: 2011-03-01 20:58:36 +0900 (Tue, 01 Mar 2011) Log Message: ----------- Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-01 11:57:54 UTC (rev 2449) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-01 11:58:36 UTC (rev 2450) @@ -5709,9 +5709,9 @@ } window.onscroll = NAIBU.emptyFunction; window.detachEvent("onload", NAIBU._main); - Element = SVGElement = Attr = NamedNodeMap = CSS2Properties = CSSValue = CSSPrimitiveValue = NAIBU.xmlhttp = Node = Event = NAIBU = stlog = STLog = document = null; + Element = SVGElement = Attr = NamedNodeMap = CSS2Properties = CSSValue = CSSPrimitiveValue = NAIBU.xmlhttp = Node = Event = NAIBU = stlog = STLog = null; Array = ActiveXObject = null; - } catch(e) {console.log(e.message);} + } catch(e) {} } /*_main関数 *一番最初に起動するべき関数 From svnnotify @ sourceforge.jp Tue Mar 1 21:14:23 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 01 Mar 2011 21:14:23 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDUyXQ==?= Message-ID: <1298981663.352386.3856.nullmailer@users.sourceforge.jp> Revision: 2452 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2452 Author: dhrname Date: 2011-03-01 21:14:23 +0900 (Tue, 01 Mar 2011) Log Message: ----------- Added Paths: ----------- tags/071/ From svnnotify @ sourceforge.jp Wed Mar 2 20:55:27 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 02 Mar 2011 20:55:27 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDU1XSAwLiA3Meatow==?= =?utf-8?b?5byP54mI44KS55ub44KK6L6844KT44Gg?= Message-ID: <1299066927.286661.12661.nullmailer@users.sourceforge.jp> Revision: 2455 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2455 Author: dhrname Date: 2011-03-02 20:55:27 +0900 (Wed, 02 Mar 2011) Log Message: ----------- 0.71正式版を盛り込んだ Modified Paths: -------------- trunk/ChangeLog.txt Modified: trunk/ChangeLog.txt =================================================================== --- trunk/ChangeLog.txt 2011-03-01 12:16:16 UTC (rev 2454) +++ trunk/ChangeLog.txt 2011-03-02 11:55:27 UTC (rev 2455) @@ -1,4 +1,4 @@ -?2011-2-25 version 0.71beta +?2011-2-25 version 0.71 version 0.70からの変更点 1, NAIBU._setPaint関数のparseFloatを記号に変えることで最適化 2, getOverrideStyleメソッドの修正 @@ -8,6 +8,7 @@ 6, チケット #23828「animate要素のfill属性を設定しても、動きが止まらない」を修正 7, animate要素のcalcMode属性において、discreteモードで起きるバグを修正 8, createSVGLengthメソッドの修正にあわせて、getComputedTextLengthメソッドを修正 +9, IE9で定数扱いとなったdocumentにおいて、ローカル変数の再定義をやめた (beta fixed) 2011-2-19 version 0.70 version 0.69からの変更点 From svnnotify @ sourceforge.jp Wed Mar 2 21:08:48 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 02 Mar 2011 21:08:48 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDU2XQ==?= Message-ID: <1299067728.686307.27868.nullmailer@users.sourceforge.jp> Revision: 2456 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2456 Author: dhrname Date: 2011-03-02 21:08:48 +0900 (Wed, 02 Mar 2011) Log Message: ----------- Added Paths: ----------- trunk/news/n20110303.html Added: trunk/news/n20110303.html =================================================================== --- trunk/news/n20110303.html (rev 0) +++ trunk/news/n20110303.html 2011-03-02 12:08:48 UTC (rev 2456) @@ -0,0 +1,49 @@ + + +「SIE0.71」リリース - SIE + + + + + +

+

「SIE0.71」リリース - SIE

+

0.71リリースについてのお知らせ

+

2011年3月3日、私たちSIEプロジェクトは、「SIE0.71」を正式に公開しました。今回の主な変更は、バグの修正です。

+

無料ダウンロード

+

sie-070.zip/ (ZIP形式, 465.8 KB)

+

変更点

+

version 0.70からの変更点

+
    +
  1. NAIBU._setPaint関数のparseFloatを記号に変えることで最適化
  2. +
  3. getOverrideStyleメソッドの修正
  4. +
  5. animate要素のby属性に関して、「animate-elem-13-t」のテストにパスできるよう、修正
  6. +
  7. baseValのunitTypeをanimValのunitTypeに設定させるように変更
  8. +
  9. チケット #24262「TestSuiteのanimate-elem-30-tで例外処理が発生」を修正
  10. +
  11. チケット #23828「animate要素のfill属性を設定しても、動きが止まらない」を修正
  12. +
  13. animate要素のcalcMode属性において、discreteモードで起きるバグを修正
  14. +
  15. createSVGLengthメソッドの修正にあわせて、getComputedTextLengthメソッドを修正
  16. +
  17. IE9で定数扱いとなったdocumentにおいて、ローカル変数の再定義をやめた (beta fixed)
  18. +
+

このお知らせに関するご質問やご感想などがありましたら

+

以下のメールアドレスへメールを下さい。また、メールはオープンな議論をするために、原則、ウェブで公開されますのでご承知ください。

+

公式メーリングリスト「Sie-developers」sie-developers @ lists.sourceforge.jp

+

© Copyright 2009 dhrname(Eメールでdhrname @ users.sourceforge.jp)コードの著作権の許諾に関しては、次の文章に書かれています。(英文LICENCE.txt)。このページの許諾に関しても、同様のライセンスが適用されるものとします。

+ + + \ No newline at end of file From svnnotify @ sourceforge.jp Wed Mar 2 22:58:15 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 02 Mar 2011 22:58:15 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDU3XSAg6Lu96YeP5YyW?= =?utf-8?b?44Gu44Gf44KB44Gr44CBX2xpc3Tjg5fjg63jg5Hjg4bjgqPjga7liYrpmaQ=?= =?utf-8?b?44Go44CBU1ZHUGF0aEVsZW1lbnTjgahOQUlCVSAuIF9zZXRQYWludOOBrg==?= =?utf-8?b?44Kw44Ot44O844OQ44Or5aSJ5pWw44KS44Ot44O844Kr44Or5YyW44GV44Gb?= =?utf-8?b?44Gm44GK44GE44Gf?= Message-ID: <1299074295.212255.2945.nullmailer@users.sourceforge.jp> Revision: 2457 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2457 Author: dhrname Date: 2011-03-02 22:58:14 +0900 (Wed, 02 Mar 2011) Log Message: ----------- 軽量化のために、_listプロパティの削除と、SVGPathElementとNAIBU._setPaintのグローバル変数をローカル化させておいた Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-02 12:08:48 UTC (rev 2456) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-02 13:58:14 UTC (rev 2457) @@ -470,7 +470,6 @@ }; function SVGNumberList() { - this._list = []; //リストの本体 return this; }; for (var prop in SVGStringList.prototype) { //prototypeのコピーで継承を行う @@ -565,7 +564,6 @@ return this; }; function SVGLengthList() { - this._list = []; //リストの本体 return this; }; for (var prop in SVGStringList.prototype) { //prototypeのコピーで継承を行う @@ -1772,7 +1770,6 @@ }; function SVGPointList() { - this._list = []; return this; }; for (var prop in SVGStringList.prototype) { //prototypeのコピーで継承を行う @@ -1960,7 +1957,6 @@ }; function SVGTransformList() { - this._list = []; return this; }; for (var prop in SVGStringList.prototype) { //prototypeのコピーで継承を行う @@ -2218,12 +2214,14 @@ return this; }; function SVGPathSegList() { - this._list = []; //リストの本体 return this; }; for (var prop in SVGStringList.prototype) { //prototypeのコピーで継承を行う SVGPathSegList.prototype[prop] = SVGStringList.prototype[prop]; }; + +/*documentは引数の変数として登録しておく*/ +(function(_doc, _pInt, _math) { //仮のfill属性とstroke属性の処理 NAIBU._setPaint = function(tar, matrix) { /*以下では、スタイルシートを用いて、fill-とstroke-関連の @@ -2249,7 +2247,7 @@ } tgebtfill = null; } else { - var fillElement = document.createElement("v:fill"); + var fillElement = _doc.createElement("v:fill"); } var fc = fill.rgbColor, num = /*CSSPrimitiveValue.CSS_NUMBER*/ 1; fillElement.setAttribute("color", "rgb(" +fc.red.getFloatValue(num)+ "," +fc.green.getFloatValue(num)+ "," +fc.blue.getFloatValue(num)+ ")"); @@ -2272,7 +2270,7 @@ if (t) { var evtt = tod.createEvent("MutationEvents"); evtt.initMutationEvent("DOMNodeInsertedIntoDocument", false, false, null, null, null, null, null); - evtt._tar = !!tar._fillElement ? tar._fillElement : document.createElement("v:fill"); + evtt._tar = !!tar._fillElement ? tar._fillElement : _doc.createElement("v:fill"); evtt._style = style, evtt._ttar = tar; t.dispatchEvent(evtt); if (t.localName !== "radialGradient" && !!!tar._fillElement) { @@ -2297,11 +2295,11 @@ } tgebtstroke = null; } else { - var strokeElement = document.createElement("v:stroke"); + var strokeElement = _doc.createElement("v:stroke"); } var sgsw = style.getPropertyCSSValue("stroke-width"), w = tod.documentElement.viewport.width, h = tod.documentElement.viewport.height; - sgsw._percent = Math.sqrt((w*w + h*h) / 2); - var swx = sgsw.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) * Math.sqrt(Math.abs(matrix._determinant())); + sgsw._percent = _math.sqrt((w*w + h*h) / 2); + var swx = sgsw.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) * _math.sqrt(_math.abs(matrix._determinant())); strokeElement.setAttribute("weight", swx + "px"); sgsw = w = h = null; if (!stroke.uri) { @@ -2328,7 +2326,7 @@ if (tsd.indexOf(",") > 0) { //コンマ区切りの文字列の場合 var strs = tsd.split(","); for (var i = 0, sli = strs.length; i < sli; ++i) { - strs[i] = Math.ceil(+(strs[i]) / parseFloat(style.getPropertyValue("stroke-width"))); //精密ではないので注意 + strs[i] = _math.ceil(+(strs[i]) / parseFloat(style.getPropertyValue("stroke-width"))); //精密ではないので注意 } var strokedasharray = strs.join(" "); if (strs.length % 2 === 1) { @@ -2367,7 +2365,7 @@ function SVGPathElement() { SVGElement.apply(this); - this._tar = document.createElement("v:shape"); + this._tar = _doc.createElement("v:shape"); //interface SVGAnimatedPathData /*readonly SVGPathSegList*/ this.pathSegList = new SVGPathSegList(); this.animatedPathSegList = this.pathSegList; @@ -2546,50 +2544,50 @@ if (ti.r1 === 0 || ti.r2 === 0) { return; } - var r1 = Math.abs(ti.r1); - var r2 = Math.abs(ti.r2); + var r1 = _math.abs(ti.r1); + var r2 = _math.abs(ti.r2); var ctx = (rx - cx) / 2, cty = (ry - cy) / 2; - var cpsi = Math.cos(psai * Math.PI / 180), spsi = Math.sin(psai * Math.PI / 180); + var cpsi = _math.cos(psai * _math.PI / 180), spsi = _math.sin(psai * _math.PI / 180); var rxd = cpsi*ctx + spsi*cty, ryd = -1*spsi*ctx + cpsi*cty; var rxdd = rxd * rxd, rydd = ryd * ryd; var r1x = r1 * r1, r2y = r2 * r2; var lamda = rxdd/r1x + rydd/r2y; var sds; if (lamda > 1) { - r1 = Math.sqrt(lamda) * r1; - r2 = Math.sqrt(lamda) * r2; + r1 = _math.sqrt(lamda) * r1; + r2 = _math.sqrt(lamda) * r2; sds = 0; } else{ var seif = 1; if (ti.largeArcFlag === fS) { seif = -1; } - sds = seif * Math.sqrt((r1x*r2y - r1x*rydd - r2y*rxdd) / (r1x*rydd + r2y*rxdd)); + sds = seif * _math.sqrt((r1x*r2y - r1x*rydd - r2y*rxdd) / (r1x*rydd + r2y*rxdd)); } var txd = sds*r1*ryd / r2, tyd = -1 * sds*r2*rxd / r1; var tx = cpsi*txd - spsi*tyd + (rx+cx)/2, ty = spsi*txd + cpsi*tyd + (ry+cy)/2; - var rad = Math.atan2((ryd-tyd)/r2, (rxd-txd)/r1) - Math.atan2(0, 1); - var s1 = (rad >= 0) ? rad : 2 * Math.PI + rad; - rad = Math.atan2((-ryd-tyd)/r2, (-rxd-txd)/r1) - Math.atan2((ryd-tyd)/r2, (rxd-txd)/r1); - var dr = (rad >= 0) ? rad : 2 * Math.PI + rad; + var rad = _math.atan2((ryd-tyd)/r2, (rxd-txd)/r1) - _math.atan2(0, 1); + var s1 = (rad >= 0) ? rad : 2 * _math.PI + rad; + rad = _math.atan2((-ryd-tyd)/r2, (-rxd-txd)/r1) - _math.atan2((ryd-tyd)/r2, (rxd-txd)/r1); + var dr = (rad >= 0) ? rad : 2 * _math.PI + rad; if (!fS && dr > 0) { - dr -= 2*Math.PI; + dr -= 2*_math.PI; } else if (fS && dr < 0) { - dr += 2*Math.PI; + dr += 2*_math.PI; } - var sse = dr * 2 / Math.PI; - var seg = Math.ceil(sse<0 ? -1*sse : sse); + var sse = dr * 2 / _math.PI; + var seg = _math.ceil(sse<0 ? -1*sse : sse); var segr = dr / seg; - var t = 8/3 * Math.sin(segr/4) * Math.sin(segr/4) / Math.sin(segr/2); + var t = 8/3 * _math.sin(segr/4) * _math.sin(segr/4) / _math.sin(segr/2); var cpsir1 = cpsi * r1, cpsir2 = cpsi * r2; var spsir1 = spsi * r1, spsir2 = spsi * r2; - var mc = Math.cos(s1); - var ms = Math.sin(s1); + var mc = _math.cos(s1); + var ms = _math.sin(s1); var x2 = rx - t * (cpsir1*ms + spsir2*mc), y2 = ry - t * (spsir1*ms - cpsir2*mc); for (var n = 0; n < seg; ++n) { s1 += segr; - mc = Math.cos(s1); - ms = Math.sin(s1); + mc = _math.cos(s1); + ms = _math.sin(s1); var x3 = cpsir1*mc - spsir2*ms + tx, y3 = spsir1*mc + cpsir2*ms + ty; var dx = -t * (cpsir1*ms + spsir2*mc), dy = -t * (spsir1*ms - cpsir2*mc); tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(x3, y3, x2, y2, x3-dx, y3-dy)); @@ -2690,11 +2688,11 @@ /*以下の処理は、normalizedpathSegListとCTMに基づいて、 *SVGのd属性をVMLに変換していく処理である。 */ - var tar = evt.target, matrix = tar.getScreenCTM(), tlist = tar.normalizedPathSegList, _parseInt = parseInt; + var tar = evt.target, matrix = tar.getScreenCTM(), tlist = tar.normalizedPathSegList, _parseInt = _pInt; var dat = [], ma = matrix.a, mb = matrix.b, mc = matrix.c, md = matrix.d, me = matrix.e, mf = matrix.f; var cname = tar._com._nameCom, isZ = tar._com._isZ, isC = tar._com._isC; for (var i=0, tli=tlist.numberOfItems;i Revision: 2458 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2458 Author: dhrname Date: 2011-03-02 23:06:09 +0900 (Wed, 02 Mar 2011) Log Message: ----------- _ca関数の整理 Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-02 13:58:14 UTC (rev 2457) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-02 14:06:09 UTC (rev 2458) @@ -1678,19 +1678,20 @@ } } //以下、テキストの位置を修正 - var text = s.documentElement._tar.getElementsByTagName("div"); + var text = s.documentElement._tar.getElementsByTagName("div"), _parseFloat = parseFloat; for (var i=0,textli=text.length;i Revision: 2459 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2459 Author: dhrname Date: 2011-03-03 20:53:34 +0900 (Thu, 03 Mar 2011) Log Message: ----------- 0.71のニュース記事にダウンロードのリンク Modified Paths: -------------- trunk/news/n20110303.html Modified: trunk/news/n20110303.html =================================================================== --- trunk/news/n20110303.html 2011-03-02 14:06:09 UTC (rev 2458) +++ trunk/news/n20110303.html 2011-03-03 11:53:34 UTC (rev 2459) @@ -11,7 +11,7 @@

0.71リリースについてのお知らせ

2011年3月3日、私たちSIEプロジェクトは、「SIE0.71」を正式に公開しました。今回の主な変更は、バグの修正です。

無料ダウンロード

-

sie-070.zip/ (ZIP形式, 465.8 KB)

+

sie-071.zip/ (ZIP形式, 465.8 KB)

変更点

version 0.70からの変更点

    From svnnotify @ sourceforge.jp Thu Mar 3 21:02:34 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 03 Mar 2011 21:02:34 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDYwXSAg5YWs5byPV2Vi?= =?utf-8?b?IOODmuODvOOCuOOBrue3qOmbhg==?= Message-ID: <1299153754.076224.27713.nullmailer@users.sourceforge.jp> Revision: 2460 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2460 Author: dhrname Date: 2011-03-03 21:02:33 +0900 (Thu, 03 Mar 2011) Log Message: ----------- 公式Web ページの編集 Modified Paths: -------------- trunk/demo.html trunk/goals.html trunk/help.html trunk/index.html trunk/screenshot.html trunk/usage.html Modified: trunk/demo.html =================================================================== --- trunk/demo.html 2011-03-03 11:53:34 UTC (rev 2459) +++ trunk/demo.html 2011-03-03 12:02:33 UTC (rev 2460) @@ -7,7 +7,6 @@ -

    +

    ホーム > デモ

    デモ - SIE

    デモ(zeimusu_sakura_.svg)

    Modified: trunk/goals.html =================================================================== --- trunk/goals.html 2011-03-03 11:53:34 UTC (rev 2459) +++ trunk/goals.html 2011-03-03 12:02:33 UTC (rev 2460) @@ -8,7 +8,6 @@ -

    +

    ホーム > 目標

    SIE プロジェクトの目標 - SIE

    「SIE」とは、W3C標準であるScalable Vector Graphics (スケーラブル ベクタ グラフィックス。以下、SVG と表記)をウェブ上で表示するための、オープンソースのソフトウェアです。「SVG」とは、HTMLのようにハイパーリンク機能を有した、ベクタ形式の画像です。

    Modified: trunk/help.html =================================================================== --- trunk/help.html 2011-03-03 11:53:34 UTC (rev 2459) +++ trunk/help.html 2011-03-03 12:02:33 UTC (rev 2460) @@ -8,7 +8,6 @@ -

    +

    ホーム > ヘルプ

    ヘルプ - SIE

    SIEとは

    Modified: trunk/index.html =================================================================== --- trunk/index.html 2011-03-03 11:53:34 UTC (rev 2459) +++ trunk/index.html 2011-03-03 12:02:33 UTC (rev 2460) @@ -8,7 +8,6 @@ -

    +

    SIE - SVG形式の画像を表示できるオープンソースのJavaScriptライブラリ

    もっと自由で軽量なスタイルに

    無料ダウンロード

    -

    sie-070.zip/ (ZIP形式, 465.8 KB)

    あらかじめ、圧縮ファイル(ZIP形式)をダウンロードしてから、解凍してください。sie.jsを手に入れることができます。

    +

    sie-071.zip/ (ZIP形式, 465.8 KB)

    あらかじめ、圧縮ファイル(ZIP形式)をダウンロードしてから、解凍してください。sie.jsを手に入れることができます。

    動作環境

    Internet Explorer6.0+、Mozilla Firefox3.0+、Opera9.0+、Safari3.0+、Google Chrome3.0+

    SIEとは

    @@ -35,7 +35,7 @@

    ライセンス

    オープンソースとして公開していますので、ご自由にお使いいただけます。ライセンスはMozilla Public Licence(MPL1.1)です。

    最後に、SourceForge.jpさんに謝意を述べたいと思います。

    -
    © Copyright 2003 dhrname(Eメールでsie-developers @ lists.sourceforge.jpSIE 公式WIKI SIE 公式メーリングリスト ブログ(dhrnameの開発日誌))コードの著作権の許諾に関しては、MPLライセンスが適用されます。このページの許諾に関しても、同様のライセンスが適用されるものとします。
    +
    © Copyright 2007 dhrname(Eメールでsie-developers @ lists.sourceforge.jpSIE 公式WIKI SIE 公式メーリングリスト ブログ(dhrnameの開発日誌))コードの著作権の許諾に関しては、MPLライセンスが適用されます。このページの許諾に関しても、同様のライセンスが適用されるものとします。
    - SIE Logo image + viewBox="0 0 500 100" + preserveAspectRatio="none" + sodipodi:version="0.32" + inkscape:version="0.46" + width="210mm" + height="297mm" + sodipodi:docname="sie-download.svg"> + SIE Logo image + id="defs3171"> + + - - - - - - -0.70 すぐにダウンロード - - + + + + + + + 0.71 すぐにダウンロード + + From svnnotify @ sourceforge.jp Sun Mar 6 23:11:26 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 06 Mar 2011 23:11:26 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDYyXSAgU1ZHTGVuZ3Ro?= =?utf-8?b?44GrX2ZvbnRTaXpl44OX44Ot44OR44OG44Kj44KS6L+95Yqg?= Message-ID: <1299420686.989305.16376.nullmailer@users.sourceforge.jp> Revision: 2462 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2462 Author: dhrname Date: 2011-03-06 23:11:26 +0900 (Sun, 06 Mar 2011) Log Message: ----------- SVGLengthに_fontSizeプロパティを追加 Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-06 13:23:02 UTC (rev 2461) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-06 14:11:26 UTC (rev 2462) @@ -505,6 +505,7 @@ /*attribute float*/ valueInSpecifiedUnits : SVGLength.SVG_LENGTHTYPE_UNKNOWN, //unitTypeにおける値 /*attribute DOMString*/ valueAsString : "0", _percent : 0.01, //単位に%が使われていた場合、このプロパティの数値を1%として使う + _fontSize : 12, //単位のemとexで使われるfont-sizeの値 /*newValueSpedifiedUnitsメソッド *新しくunitTypeにおける値を設定する *例:2pxならば、x.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 2);となる From svnnotify @ sourceforge.jp Mon Mar 7 20:09:13 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 07 Mar 2011 20:09:13 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDYzXSAgQ1NTUHJpbWl0?= =?utf-8?b?aXZlVmFsdWXjga5nZXRGbG9hdFZhbHVl44Gr44Gk44GE44Gm5L+u5q2j?= Message-ID: <1299496153.603517.22097.nullmailer@users.sourceforge.jp> Revision: 2463 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2463 Author: dhrname Date: 2011-03-07 20:09:13 +0900 (Mon, 07 Mar 2011) Log Message: ----------- CSSPrimitiveValueのgetFloatValueについて修正 Modified Paths: -------------- branches/07x/072/org/w3c/dom/css.js Modified: branches/07x/072/org/w3c/dom/css.js =================================================================== --- branches/07x/072/org/w3c/dom/css.js 2011-03-06 14:11:26 UTC (rev 2462) +++ branches/07x/072/org/w3c/dom/css.js 2011-03-07 11:09:13 UTC (rev 2463) @@ -409,7 +409,7 @@ n = n[0]; } if (!n) { - type = SVGLength.SVG_LENGTHTYPE_NUMBER; + type = CSSPrimitiveValue.CSS_NUMBER; } else if (n === "%") { s *= this._percent; type = CSSPrimitiveValue.CSS_PERCENTAGE; From svnnotify @ sourceforge.jp Mon Mar 7 20:10:55 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 07 Mar 2011 20:10:55 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDY0XSAgU1ZHTGVuZ3Ro?= =?utf-8?b?44GubmV3VmFsdWVJblNwZWNpZmllZOODoeOCveODg+ODieOBq+mWouOBlw==?= =?utf-8?b?44Gm44CB44OR44O844K744Oz44OI44GoZW3jga7ljZjkvY3jga7lh6bnkIY=?= =?utf-8?b?44KS5L+u5q2j?= Message-ID: <1299496255.254783.23350.nullmailer@users.sourceforge.jp> Revision: 2464 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2464 Author: dhrname Date: 2011-03-07 20:10:55 +0900 (Mon, 07 Mar 2011) Log Message: ----------- SVGLengthのnewValueInSpecifiedメソッドに関して、パーセントとemの単位の処理を修正 Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-07 11:09:13 UTC (rev 2463) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-07 11:10:55 UTC (rev 2464) @@ -519,9 +519,10 @@ n = this._percent; _s = "%" } else if (unitType === SVGLength.SVG_LENGTHTYPE_EMS) { - n = this._percent * 100; + n = this._fontSize; _s = "em"; } else if (unitType === SVGLength.SVG_LENGTHTYPE_EXS) { + n = this._fontSize * 0.55; _s = "ex"; } else if (unitType === SVGLength.SVG_LENGTHTYPE_CM) { n = 35.43307; From svnnotify @ sourceforge.jp Mon Mar 7 22:41:34 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 07 Mar 2011 22:41:34 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDY1XSAg44OB44Kx44OD?= =?utf-8?b?44OIICMyNDQ5MuOAjOWNmOS9jeOBruino+mHiOOBjOeVsOW4uOOAjeOCkg==?= =?utf-8?b?5L+u5q2j?= Message-ID: <1299505294.150034.26115.nullmailer@users.sourceforge.jp> Revision: 2465 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2465 Author: dhrname Date: 2011-03-07 22:41:33 +0900 (Mon, 07 Mar 2011) Log Message: ----------- チケット #24492「単位の解釈が異常」を修正 Ticket Links: :----------- http://sourceforge.jp/projects/sie/tracker/detail/24492 Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-07 11:10:55 UTC (rev 2464) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-07 13:41:33 UTC (rev 2465) @@ -522,7 +522,7 @@ n = this._fontSize; _s = "em"; } else if (unitType === SVGLength.SVG_LENGTHTYPE_EXS) { - n = this._fontSize * 0.55; + n = this._fontSize * 0.5; _s = "ex"; } else if (unitType === SVGLength.SVG_LENGTHTYPE_CM) { n = 35.43307; @@ -557,6 +557,15 @@ */ convertToSpecifiedUnits : function (/*unsigned short*/ unitType) { this.newValueSpecifiedUnits(unitType, this.valueInSpecifiedUnits); + }, + /*_emToUnitメソッド + *emやexが単位に使われていたときに、@fontSizeの値を手がかりに、新たな値へとvalueを変換させる + */ + _emToUnit : function (/*float*/ fontSize) { + if ((this.unitType === /*SVGLength.SVG_LENGTHTYPE_EMS*/ 3) || (this.unitType === 4)) { + this._fontSize = fontSize; + this.newValueSpecifiedUnits(this.unitType, this.valueInSpecifiedUnits); + } } }; function SVGAnimatedLength() { @@ -1421,14 +1430,19 @@ evt.target.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:show", "embed"); }, false); this.addEventListener("SVGLoad", function(evt){ - var tar = evt.target; + var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + tar.x.baseVal._emToUnit(fontSize); + tar.y.baseVal._emToUnit(fontSize); + tar.width.baseVal._emToUnit(fontSize); + tar.height.baseVal._emToUnit(fontSize); tar.instanceRoot = tar.animatedInstanceRoot = tar.ownerDocument.importNode(tar._instance, true); var tgtb = tar.transform.baseVal; var trans = tar.ownerDocument.documentElement.createSVGTransform(); trans.setTranslate(tar.x.baseVal.value, tar.y.baseVal.value); tgtb.appendItem(trans); tar.appendChild(tar.instanceRoot); - evt = trans = tar = evtt = tgtb = null; + evt = trans = tar = evtt = tgtb = style = fontSize = null; }, false); SVGURIReference.apply(this); return this; @@ -1485,6 +1499,11 @@ } tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + tar.x.baseVal._emToUnit(fontSize); + tar.y.baseVal._emToUnit(fontSize); + tar.width.baseVal._emToUnit(fontSize); + tar.height.baseVal._emToUnit(fontSize); var ts = tar._tar.style; ts.position = "absolute"; var ctm = tar.getScreenCTM(); @@ -1503,6 +1522,7 @@ ttfia.Style = 0; ttfia.Opacity = fillOpacity * 100; } + evt = tar = style = fontSize = ts = ctm = po = fillOpacity = null; }, false); evt = tar = null; }, false); @@ -1632,7 +1652,12 @@ /*以下では、VMLの要素とHTMLのCSSのプロパティを用いて、背景を *作り出す作業を行う。これは必須 */ - var backr = document.createElement("v:rect"); + var backr = document.createElement("v:rect"), style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + tar.x.baseVal._emToUnit(fontSize); + tar.y.baseVal._emToUnit(fontSize); + tar.width.baseVal._emToUnit(fontSize); + tar.height.baseVal._emToUnit(fontSize); var w = tview.width, h = tview.height, sw = tar.width.baseVal.value, sh = tar.height.baseVal.value; backr.style.position = "absolute"; backr.style.width = w+ "px"; @@ -1691,7 +1716,7 @@ } } s.defaultView._cache = s.defaultView._cache_ele = null; - evt = objei = tar = tview = objw = objh = n = att = sdt = sp = dcp = backr = w = h = sw = sh = null; + evt = objei = tar = tview = objw = objh = n = att = sdt = sp = dcp = backr = w = h = sw = sh = style = fontSize = null; trstyle = tpstyle = backrs = viewWidth = viewHeight = text = bfl = bft = bl = bt = backdown = backright = null; text = _parseFloat = null; /*IEのメモリリーク対策として、空関数を入力*/ @@ -3044,11 +3069,18 @@ } tnext = tpar = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { - var tar = evt.target; + var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + tar.x.baseVal._emToUnit(fontSize); + tar.y.baseVal._emToUnit(fontSize); + tar.width.baseVal._emToUnit(fontSize); + tar.height.baseVal._emToUnit(fontSize); var rx = tar.getAttributeNS(null, "rx"), ry = tar.getAttributeNS(null, "ry"); var x = tar.x.baseVal.value, y = tar.y.baseVal.value, xw = x + tar.width.baseVal.value, yh = y + tar.height.baseVal.value; var list; if ((rx || ry) && (rx !== "0") && (ry !== "0")) { + tar.rx.baseVal._emToUnit(fontSize); + tar.ry.baseVal._emToUnit(fontSize); var thrx = tar.rx.baseVal, thry = tar.ry.baseVal; thrx.value = rx ? thrx.value : thry.value; thry.value = ry ? thry.value : thrx.value; @@ -3092,7 +3124,7 @@ ele.coordsize = w + " " + h; NAIBU._setPaint(tar, ctm); delete tar._cacheMatrix, tar._currentStyle; - evt = tar = list = dat = ele = vi = null; + evt = tar = style = list = dat = ele = vi = fontSize = null; }, false); evt = tar = null; }, false); @@ -3138,7 +3170,11 @@ } tnext = tpar = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { - var tar = evt.target; + var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + tar.cx.baseVal._emToUnit(fontSize); + tar.cy.baseVal._emToUnit(fontSize); + tar.r.baseVal._emToUnit(fontSize); var cx = tar.cx.baseVal.value, cy = tar.cy.baseVal.value, rx = ry = tar.r.baseVal.value; var top = cy - ry, left = cx - rx, bottom = cy + ry, right = cx + rx; var rrx = rx * 0.55228, rry = ry * 0.55228; @@ -3168,7 +3204,7 @@ ele.coordsize = w + " " + h; NAIBU._setPaint(tar, ctm); delete tar._cacheMatrix, tar._currentStyle; - evt = tar = list = dat = ele = null; + evt = tar = list = style = fontSize = dat = ele = null; }, false); evt = tar = null; }, false); @@ -3215,7 +3251,12 @@ } tnext = tpar = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { - var tar = evt.target; + var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + tar.cx.baseVal._emToUnit(fontSize); + tar.cy.baseVal._emToUnit(fontSize); + tar.rx.baseVal._emToUnit(fontSize); + tar.ry.baseVal._emToUnit(fontSize); var cx = tar.cx.baseVal.value, cy = tar.cy.baseVal.value, rx = tar.rx.baseVal.value, ry = tar.ry.baseVal.value; var top = cy - ry, left = cx - rx, bottom = cy + ry, right = cx + rx; var rrx = rx * 0.55228, rry = ry * 0.55228; @@ -3245,7 +3286,7 @@ ele.coordsize = w + " " + h; NAIBU._setPaint(tar, ctm); delete tar._cacheMatrix, tar._currentStyle; - evt = ele = tar = dat = list = ctm = w = h = null; + evt = ele = tar = style = fontSize = dat = list = ctm = w = h = null; }, false); evt = tar = null; }, false); @@ -3292,7 +3333,12 @@ } tnext = tpar = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { - var tar = evt.target; + var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + tar.x1.baseVal._emToUnit(fontSize); + tar.y1.baseVal._emToUnit(fontSize); + tar.x2.baseVal._emToUnit(fontSize); + tar.y2.baseVal._emToUnit(fontSize); //以下は、配列listそのものをCTMで座標変換していく処理 var vi = tar.ownerDocument.documentElement, ctm = tar.getScreenCTM(); var dat = "m "; @@ -3312,7 +3358,7 @@ ele.coordsize = w + " " + h; NAIBU._setPaint(tar, ctm); delete tar._cacheMatrix, tar._currentStyle; - evt = ele = tar = dat = list = ctm = vi = w = h = null; + evt = ele = tar = style = fontSize = dat = list = ctm = vi = w = h = null; }, false); evt = tar = null; }, false); @@ -4191,13 +4237,19 @@ if (!!!ele) { //まだ、path要素などが設定されていない場合 return; } + var style = grad.ownerDocument.defaultView.getComputedStyle(grad, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + grad.x1.baseVal._emToUnit(fontSize); + grad.y1.baseVal._emToUnit(fontSize); + grad.x2.baseVal._emToUnit(fontSize); + grad.y2.baseVal._emToUnit(fontSize); angle = 270 - Math.atan2(grad.y2.baseVal.value-grad.y1.baseVal.value, grad.x2.baseVal.value-grad.x1.baseVal.value) * 180 / Math.PI; if (angle >= 360) { angle -= 360; } ele.setAttribute("type", "gradient"); ele.setAttribute("angle", angle + ""); - evt = ele = grad = angle = null; + evt = ele = grad = angle = style = fontSize = null; }, false); return this; }; @@ -4224,6 +4276,13 @@ /*VMLでは、図の形状に沿って、円状のグラデーションを処理するようになっているため、 *四角だとおかしな模様が出てしまう。以下はそれを避ける処理 */ + var style = grad.ownerDocument.defaultView.getComputedStyle(tar, ""); + var fontSize = parseFloat(style.getPropertyValue("font-size")); + grad.cx.baseVal._emToUnit(fontSize); + grad.cy.baseVal._emToUnit(fontSize); + grad.r.baseVal._emToUnit(fontSize); + grad.fx.baseVal._emToUnit(fontSize); + grad.fy.baseVal._emToUnit(fontSize); var cx = grad.cx.baseVal.value, cy = grad.cy.baseVal.value; var r = grad.r.baseVal.value, rx, ry; rx = ry = r; @@ -4280,7 +4339,7 @@ background.filters[0].play(); tar._tar.parentNode.insertBefore(background, tar._tar); tar._tar.filled = "false"; - ellipse = outline = background = bstyle = circle = data = list = gt = cx = cy = r = w = h = matrix = null; + ellipse = outline = background = style = fontSize = bstyle = circle = data = list = gt = cx = cy = r = w = h = matrix = null; } else if (!ele.parentNode){ tar._tar.appendChild(ele); } From svnnotify @ sourceforge.jp Wed Mar 9 23:07:33 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 09 Mar 2011 23:07:33 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDY2XSAgU1ZHTGVuZ3Ro?= =?utf-8?b?44Gu5aKD55WM5p2h5Lu244OG44K544OI44Gr44Gk44GE44Gm5L+u5q2j?= Message-ID: <1299679653.647163.804.nullmailer@users.sourceforge.jp> Revision: 2466 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2466 Author: dhrname Date: 2011-03-09 23:07:33 +0900 (Wed, 09 Mar 2011) Log Message: ----------- SVGLengthの境界条件テストについて修正 Modified Paths: -------------- trunk/Spec/spec/SvgDomSpec.js Modified: trunk/Spec/spec/SvgDomSpec.js =================================================================== --- trunk/Spec/spec/SvgDomSpec.js 2011-03-07 13:41:33 UTC (rev 2465) +++ trunk/Spec/spec/SvgDomSpec.js 2011-03-09 14:07:33 UTC (rev 2466) @@ -102,7 +102,7 @@ }); /*境界条件を調べておく (limit value analysis)*/ it("should be this for the value, when it calls a newValueSpecifiedUnits method", function() { - var t = [Number.MAX_VALUE, Number.MIN_VALUE, 0, Number.MAX_VALUE/2, Number.MIN_VALUE]; + var t = [Number.MAX_VALUE, Number.MIN_VALUE, 0, Number.MAX_VALUE/2, -Number.MIN_VALUE]; for (var i=0,tli=t.length;i Revision: 2467 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2467 Author: dhrname Date: 2011-03-09 23:38:06 +0900 (Wed, 09 Mar 2011) Log Message: ----------- convertToSpecifiedUnitsメソッドの同値分割テストに、新たなテストを追加 Modified Paths: -------------- trunk/Spec/spec/SvgDomSpec.js Modified: trunk/Spec/spec/SvgDomSpec.js =================================================================== --- trunk/Spec/spec/SvgDomSpec.js 2011-03-09 14:07:33 UTC (rev 2466) +++ trunk/Spec/spec/SvgDomSpec.js 2011-03-09 14:38:06 UTC (rev 2467) @@ -152,7 +152,17 @@ expect(s.valueAsString).toEqual("0" + unit[i-1]); expect(s.unitType).toEqual(i); } - unit = null; + /*2cmにまず設定しておいて、その後、convertToSpecifiedUnitsメソッドで"mm"単位に変換する。 + * (The 's' value set to "2cm", and convert from "cm" to "mm" unit in convertToSpecifiedUnits method. + */ + s.newValueSpecifiedUnits(6, 2); + var sv = s.value; + s.convertToSpecifiedUnits(7); + expect(s.valueInSpecifiedUnits).toEqual(20); + expect(s.value).toEqual(sv); + expect(s.valueAsString).toEqual("20mm"); + expect(s.unitType).toEqual(7); + unit = sv = null; }); /*同値分割をして、無効同値クラスを調べておく (equivalence partitioning, the following is the invalid partion)*/ it("should throw a DOMException 'Not Supported Error', when it calls a convertToSpecifiedUnits method", function() { From svnnotify @ sourceforge.jp Thu Mar 10 19:39:03 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 10 Mar 2011 19:39:03 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDY4XSAgU1ZHTGVuZ3Ro?= =?utf-8?b?44GuY29udmVydFRvU3BlY2lmaWVkVW5pdHPjg6Hjgr3jg4Pjg4njgpLkv64=?= =?utf-8?b?5q2j?= Message-ID: <1299753543.150484.29014.nullmailer@users.sourceforge.jp> Revision: 2468 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2468 Author: dhrname Date: 2011-03-10 19:39:03 +0900 (Thu, 10 Mar 2011) Log Message: ----------- SVGLengthのconvertToSpecifiedUnitsメソッドを修正 Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-09 14:38:06 UTC (rev 2467) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-10 10:39:03 UTC (rev 2468) @@ -556,7 +556,14 @@ * alert(x.valueAsString); //20mm */ convertToSpecifiedUnits : function (/*unsigned short*/ unitType) { + if (this.value === 0) { + this.newValueSpecifiedUnits(unitType, 0); + return; + } + var v = this.value; this.newValueSpecifiedUnits(unitType, this.valueInSpecifiedUnits); + v = v / this.value * this.valueInSpecifiedUnits; + this.newValueSpecifiedUnits(unitType, v); }, /*_emToUnitメソッド *emやexが単位に使われていたときに、@fontSizeの値を手がかりに、新たな値へとvalueを変換させる From svnnotify @ sourceforge.jp Thu Mar 10 20:49:06 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 10 Mar 2011 20:49:06 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDY5XSAgc2V0Um90YXRl?= =?utf-8?b?44Oh44K944OD44OJ44Gu5ZCM5YCk5YiG5Ymy44OG44K544OI44Gr6Zai44GZ?= =?utf-8?b?44KL5L+u5q2j?= Message-ID: <1299757746.886404.30773.nullmailer@users.sourceforge.jp> Revision: 2469 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2469 Author: dhrname Date: 2011-03-10 20:49:06 +0900 (Thu, 10 Mar 2011) Log Message: ----------- setRotateメソッドの同値分割テストに関する修正 Modified Paths: -------------- trunk/Spec/spec/SvgDomSpec.js Modified: trunk/Spec/spec/SvgDomSpec.js =================================================================== --- trunk/Spec/spec/SvgDomSpec.js 2011-03-10 10:39:03 UTC (rev 2468) +++ trunk/Spec/spec/SvgDomSpec.js 2011-03-10 11:49:06 UTC (rev 2469) @@ -760,7 +760,9 @@ for (var i=0;i Revision: 2470 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2470 Author: dhrname Date: 2011-03-10 22:47:23 +0900 (Thu, 10 Mar 2011) Log Message: ----------- バッファリング処理において、shiftの使用をやめて、カウントをするように変更 Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-10 11:49:06 UTC (rev 2469) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-10 13:47:23 UTC (rev 2470) @@ -1737,21 +1737,26 @@ if (s.implementation._buffer_) { screen.updateInterval = 0; /*以下はバッファリングにためておいた要素とイベントを、後から実行する*/ + NAIBU._buff_num = 0; NAIBU._buff = setInterval(function(){ if (DOMImplementation._buffer_.length === 0) { clearInterval(Event._buff); } else { + var n = NAIBU._buff_num; for (var i=0;i<50;++i) { - var s = DOMImplementation._buffer_.shift(), evt = DOMImplementation._buffer_.shift(); + var s = DOMImplementation._buffer_[n], evt = DOMImplementation._buffer_[n+1]; s.dispatchEvent(evt); + n += 2; s = evt = null; - if (!DOMImplementation._buffer_[1]) { + if (n >= DOMImplementation._buffer_.length) { clearInterval(NAIBU._buff); DOMImplementation._buffer_ = null; NAIBU.Time.start(); return; } } + NAIBU._buff_num = n; + n = null; } }, 1); s = null; From svnnotify @ sourceforge.jp Sat Mar 12 22:03:19 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 12 Mar 2011 22:03:19 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDcxXQ==?= Message-ID: <1299934999.032177.6501.nullmailer@users.sourceforge.jp> Revision: 2471 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2471 Author: dhrname Date: 2011-03-12 22:03:18 +0900 (Sat, 12 Mar 2011) Log Message: ----------- Modified Paths: -------------- trunk/SieReader.html Modified: trunk/SieReader.html =================================================================== --- trunk/SieReader.html 2011-03-10 13:47:23 UTC (rev 2470) +++ trunk/SieReader.html 2011-03-12 13:03:18 UTC (rev 2471) @@ -2,12 +2,12 @@ Sie Reader - - - - - - + + + + + + + - + From svnnotify @ sourceforge.jp Sat Mar 12 22:13:51 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 12 Mar 2011 22:13:51 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDczXSAgU1ZHU1ZHRWxl?= =?utf-8?b?bWVudOOCs+ODs+OCueODiOODqeOCr+OCv+mWouaVsOOBq+ODn+OCueOBjA==?= =?utf-8?b?44GC44Gj44Gf44Gu44Gn5L+u5q2j?= Message-ID: <1299935631.869647.23919.nullmailer@users.sourceforge.jp> Revision: 2473 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2473 Author: dhrname Date: 2011-03-12 22:13:51 +0900 (Sat, 12 Mar 2011) Log Message: ----------- SVGSVGElementコンストラクタ関数にミスがあったので修正 Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-12 13:03:57 UTC (rev 2472) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-12 13:13:51 UTC (rev 2473) @@ -1159,7 +1159,7 @@ evt = name = null; }, false); this.addEventListener("SVGLoad", function(evt){ - this.addEventListener("DOMAttrModified", function(evt){ + evt.target.addEventListener("DOMAttrModified", function(evt){ if (evt.eventPhase === Event.BUBBLING_PHASE) { var tar = evt.target; if (tar.parentNode) { From svnnotify @ sourceforge.jp Sat Mar 12 23:51:35 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 12 Mar 2011 23:51:35 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDc0XSAg5ZCE44CF44Gu?= =?utf-8?b?6KaB57Sg44Kq44OW44K444Kn44Kv44OI44Gn44CBRE9NTm9kZUluc2VydGVk?= =?utf-8?b?44Kk44OZ44Oz44OI44GM55m654Gr44GV44KM44Gf44Go44GN44Gu5Yem55CG?= =?utf-8?b?44Gr44OQ44Kw44GM44GC44Gj44Gf44Gu44Gn44CB44Gd44KM44KS5L+u5q2j?= Message-ID: <1299941495.144072.10232.nullmailer@users.sourceforge.jp> Revision: 2474 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2474 Author: dhrname Date: 2011-03-12 23:51:35 +0900 (Sat, 12 Mar 2011) Log Message: ----------- 各々の要素オブジェクトで、DOMNodeInsertedイベントが発火されたときの処理にバグがあったので、それを修正 Modified Paths: -------------- branches/07x/072/org/w3c/dom/svg.js Modified: branches/07x/072/org/w3c/dom/svg.js =================================================================== --- branches/07x/072/org/w3c/dom/svg.js 2011-03-12 13:13:51 UTC (rev 2473) +++ branches/07x/072/org/w3c/dom/svg.js 2011-03-12 14:51:35 UTC (rev 2474) @@ -1334,35 +1334,31 @@ */ this.addEventListener("DOMNodeInserted", function(evt){ var tar = evt.target; - if (evt.eventPhase === Event.BUBBLING_PHASE) { + if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tnext = tar.nextSibling, tpar = tar.parentNode; - if (tnext && !!tpar._tar) { - if (!!!tnext._tar) { - /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの - *use要素や実体参照などは_tarプロパティがないことに注意 - */ - var isLast = true; - while (tnext) { - if (!!tnext._tar) { - tpar._tar.insertBefore(tar._tar, tnext._tar); - isLast = false; - } - tnext = tnext.nextSibling; - } - if (isLast) { - tpar._tar.appendChild(tar._tar); - } - isLast = null; - } else { - tpar._tar.insertBefore(tar._tar, tnext._tar); + var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + } else if (tnext && !tnext._tar && tpar._tar) { + /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの + *use要素や実体参照などは_tarプロパティがないことに注意 + */ + while (tnext) { + if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + isLast = false; + } + tnext = tnext.nextSibling; } - } else if (!!tpar._tar){ - tpar._tar.appendChild(tar._tar); + if (isLast) { + tpar._tar.appendChild(tar._tar); + } + } else if (!tnext && tpar._tar) { + tpar._tar.appendChild(tar._tar); } - tnext = tpar = null; - evt.target.addEventListener("DOMAttrModified", function(evt){ + tnext = tpar = isLast = null; + tar.addEventListener("DOMAttrModified", function(evt){ if (evt.eventPhase === Event.BUBBLING_PHASE) { return; //強制終了させる } @@ -2696,34 +2692,30 @@ */ this.addEventListener("DOMNodeInserted", function(evt){ var tar = evt.target; - if (evt.eventPhase === Event.BUBBLING_PHASE) { + if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tnext = tar.nextSibling, tpar = tar.parentNode; - if (tnext && !!tpar._tar) { - if (!!!tnext._tar) { - /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの - *use要素や実体参照などは_tarプロパティがないことに注意 - */ - var isLast = true; - while (tnext) { - if (!!tnext._tar) { - tpar._tar.insertBefore(tar._tar, tnext._tar); - isLast = false; - } - tnext = tnext.nextSibling; - } - if (isLast) { - tpar._tar.appendChild(tar._tar); - } - isLast = null; - } else { - tpar._tar.insertBefore(tar._tar, tnext._tar); + var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + } else if (tnext && !tnext._tar && tpar._tar) { + /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの + *use要素や実体参照などは_tarプロパティがないことに注意 + */ + while (tnext) { + if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + isLast = false; + } + tnext = tnext.nextSibling; } - } else if (!!tpar._tar){ - tpar._tar.appendChild(tar._tar); + if (isLast) { + tpar._tar.appendChild(tar._tar); + } + } else if (!tnext && tpar._tar) { + tpar._tar.appendChild(tar._tar); } - tnext = tpar = null; + tnext = tpar = isLast = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt){ /*以下の処理は、normalizedpathSegListとCTMに基づいて、 *SVGのd属性をVMLに変換していく処理である。 @@ -3051,35 +3043,31 @@ /*readonly SVGAnimatedLength*/ this.rx = new SVGAnimatedLength(); /*readonly SVGAnimatedLength*/ this.ry = new SVGAnimatedLength(); this.addEventListener("DOMNodeInserted", function(evt){ - if (evt.eventPhase === Event.BUBBLING_PHASE) { + var tar = evt.target; + if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tar = evt.target; - var tnext = tar.nextSibling, tpar = tar.parentNode; - if (tnext && !!tpar._tar) { - if (!!!tnext._tar) { - /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの - *use要素や実体参照などは_tarプロパティがないことに注意 - */ - var isLast = true; - while (tnext) { - if (!!tnext._tar) { - tpar._tar.insertBefore(tar._tar, tnext._tar); - isLast = false; - } - tnext = tnext.nextSibling; - } - if (isLast) { - tpar._tar.appendChild(tar._tar); - } - isLast = null; - } else { - tpar._tar.insertBefore(tar._tar, tnext._tar); + var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + } else if (tnext && !tnext._tar && tpar._tar) { + /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの + *use要素や実体参照などは_tarプロパティがないことに注意 + */ + while (tnext) { + if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + isLast = false; + } + tnext = tnext.nextSibling; } - } else if (!!tpar._tar){ - tpar._tar.appendChild(tar._tar); + if (isLast) { + tpar._tar.appendChild(tar._tar); + } + } else if (!tnext && tpar._tar) { + tpar._tar.appendChild(tar._tar); } - tnext = tpar = null; + tnext = tpar = isLast = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); var fontSize = parseFloat(style.getPropertyValue("font-size")); @@ -3152,35 +3140,31 @@ /*readonly SVGAnimatedLength*/ this.cy = new SVGAnimatedLength(); /*readonly SVGAnimatedLength*/ this.r = new SVGAnimatedLength(); this.addEventListener("DOMNodeInserted", function(evt){ - if (evt.eventPhase === Event.BUBBLING_PHASE) { + var tar = evt.target; + if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tar = evt.target; - var tnext = tar.nextSibling, tpar = tar.parentNode; - if (tnext && !!tpar._tar) { - if (!!!tnext._tar) { - /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの - *use要素や実体参照などは_tarプロパティがないことに注意 - */ - var isLast = true; - while (tnext) { - if (!!tnext._tar) { - tpar._tar.insertBefore(tar._tar, tnext._tar); - isLast = false; - } - tnext = tnext.nextSibling; - } - if (isLast) { - tpar._tar.appendChild(tar._tar); - } - isLast = null; - } else { - tpar._tar.insertBefore(tar._tar, tnext._tar); + var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + } else if (tnext && !tnext._tar && tpar._tar) { + /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの + *use要素や実体参照などは_tarプロパティがないことに注意 + */ + while (tnext) { + if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + isLast = false; + } + tnext = tnext.nextSibling; } - } else if (!!tpar._tar){ - tpar._tar.appendChild(tar._tar); + if (isLast) { + tpar._tar.appendChild(tar._tar); + } + } else if (!tnext && tpar._tar) { + tpar._tar.appendChild(tar._tar); } - tnext = tpar = null; + tnext = tpar = isLast = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); var fontSize = parseFloat(style.getPropertyValue("font-size")); @@ -3233,35 +3217,31 @@ /*readonly SVGAnimatedLength*/ this.rx = new SVGAnimatedLength(); /*readonly SVGAnimatedLength*/ this.ry = new SVGAnimatedLength(); this.addEventListener("DOMNodeInserted", function(evt){ - if (evt.eventPhase === Event.BUBBLING_PHASE) { + var tar = evt.target; + if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tar = evt.target; - var tnext = tar.nextSibling, tpar = tar.parentNode; - if (tnext && !!tpar._tar) { - if (!!!tnext._tar) { - /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの - *use要素や実体参照などは_tarプロパティがないことに注意 - */ - var isLast = true; - while (tnext) { - if (!!tnext._tar) { - tpar._tar.insertBefore(tar._tar, tnext._tar); - isLast = false; - } - tnext = tnext.nextSibling; - } - if (isLast) { - tpar._tar.appendChild(tar._tar); - } - isLast = null; - } else { - tpar._tar.insertBefore(tar._tar, tnext._tar); + var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + } else if (tnext && !tnext._tar && tpar._tar) { + /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの + *use要素や実体参照などは_tarプロパティがないことに注意 + */ + while (tnext) { + if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + isLast = false; + } + tnext = tnext.nextSibling; } - } else if (!!tpar._tar){ - tpar._tar.appendChild(tar._tar); + if (isLast) { + tpar._tar.appendChild(tar._tar); + } + } else if (!tnext && tpar._tar) { + tpar._tar.appendChild(tar._tar); } - tnext = tpar = null; + tnext = tpar = isLast = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); var fontSize = parseFloat(style.getPropertyValue("font-size")); @@ -3315,35 +3295,31 @@ /*readonly SVGAnimatedLength*/ this.x2 = new SVGAnimatedLength(); /*readonly SVGAnimatedLength*/ this.y2 = new SVGAnimatedLength(); this.addEventListener("DOMNodeInserted", function(evt){ - if (evt.eventPhase === Event.BUBBLING_PHASE) { + var tar = evt.target; + if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tar = evt.target; - var tnext = tar.nextSibling, tpar = tar.parentNode; - if (tnext && !!tpar._tar) { - if (!!!tnext._tar) { - /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの - *use要素や実体参照などは_tarプロパティがないことに注意 - */ - var isLast = true; - while (tnext) { - if (!!tnext._tar) { - tpar._tar.insertBefore(tar._tar, tnext._tar); - isLast = false; - } - tnext = tnext.nextSibling; - } - if (isLast) { - tpar._tar.appendChild(tar._tar); - } - isLast = null; - } else { - tpar._tar.insertBefore(tar._tar, tnext._tar); + var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + } else if (tnext && !tnext._tar && tpar._tar) { + /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの + *use要素や実体参照などは_tarプロパティがないことに注意 + */ + while (tnext) { + if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + isLast = false; + } + tnext = tnext.nextSibling; } - } else if (!!tpar._tar){ - tpar._tar.appendChild(tar._tar); + if (isLast) { + tpar._tar.appendChild(tar._tar); + } + } else if (!tnext && tpar._tar) { + tpar._tar.appendChild(tar._tar); } - tnext = tpar = null; + tnext = tpar = isLast = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); var fontSize = parseFloat(style.getPropertyValue("font-size")); @@ -3403,35 +3379,31 @@ evt = tar = list = tp = par = p = null; }, false); this.addEventListener("DOMNodeInserted", function(evt){ - if (evt.eventPhase === Event.BUBBLING_PHASE) { + var tar = evt.target; + if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tar = evt.target; - var tnext = tar.nextSibling, tpar = tar.parentNode; - if (tnext && !!tpar._tar) { - if (!!!tnext._tar) { - /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの - *use要素や実体参照などは_tarプロパティがないことに注意 - */ - var isLast = true; - while (tnext) { - if (!!tnext._tar) { - tpar._tar.insertBefore(tar._tar, tnext._tar); - isLast = false; - } - tnext = tnext.nextSibling; - } - if (isLast) { - tpar._tar.appendChild(tar._tar); - } - isLast = null; - } else { - tpar._tar.insertBefore(tar._tar, tnext._tar); + var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + } else if (tnext && !tnext._tar && tpar._tar) { + /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの + *use要素や実体参照などは_tarプロパティがないことに注意 + */ + while (tnext) { + if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + isLast = false; + } + tnext = tnext.nextSibling; } - } else if (!!tpar._tar){ - tpar._tar.appendChild(tar._tar); + if (isLast) { + tpar._tar.appendChild(tar._tar); + } + } else if (!tnext && tpar._tar) { + tpar._tar.appendChild(tar._tar); } - tnext = tpar = null; + tnext = tpar = isLast = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { var tar = evt.target, tp = tar.points; //以下は、配列listそのものをCTMで座標変換していく処理 @@ -3879,38 +3851,31 @@ SVGTextPositioningElement.apply(this); this._tar = document.createElement("v:group"); this.addEventListener("DOMNodeInserted", function(evt){ - if (evt.eventPhase === Event.BUBBLING_PHASE) { + if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } var tar = evt.target; - var ttp = tar._tar; - if (ttp) { - var tnext = tar.nextSibling, tpar = tar.parentNode; - if (tnext && !!tpar._tar) { - if (!!!tnext._tar) { - /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの - *use要素や実体参照などは_tarプロパティがないことに注意 - */ - var isLast = true; - while (tnext) { - if (!!tnext._tar) { - tpar._tar.insertBefore(tar._tar, tnext._tar); - isLast = false; - } - tnext = tnext.nextSibling; - } - if (isLast) { - tpar._tar.appendChild(tar._tar); - } - isLast = null; - } else { + var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { + tpar._tar.insertBefore(tar._tar, tnext._tar); + } else if (tnext && !tnext._tar && tpar._tar) { + /*以下の処理は、_tarプロパティがない要素オブジェクトがあるため、それに対処するもの + *use要素や実体参照などは_tarプロパティがないことに注意 + */ + while (tnext) { + if (tnext._tar && (tnext._tar.parentNode === tpar._tar)) { tpar._tar.insertBefore(tar._tar, tnext._tar); - } - } else if (!!tpar._tar){ + isLast = false; + } + tnext = tnext.nextSibling; + } + if (isLast) { tpar._tar.appendChild(tar._tar); } - tnext = tpar = null; + } else if (!tnext && tpar._tar) { + tpar._tar.appendChild(tar._tar); } + tnext = tpar = isLast = null; tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { var tar = evt.target, ti = tar.firstChild, ttp = tar._tar; ttp.style.cssText = tar.style.cssText; From svnnotify @ sourceforge.jp Mon Mar 14 22:20:51 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 14 Mar 2011 22:20:51 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDgwXSAwLiA3MuOBrg==?= =?utf-8?b?5L+u5q2j5bGl5q2044KS6L+95Yqg?= Message-ID: <1300108851.786254.19474.nullmailer@users.sourceforge.jp> Revision: 2480 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2480 Author: dhrname Date: 2011-03-14 22:20:51 +0900 (Mon, 14 Mar 2011) Log Message: ----------- 0.72の修正履歴を追加 Modified Paths: -------------- trunk/ChangeLog.txt Modified: trunk/ChangeLog.txt =================================================================== --- trunk/ChangeLog.txt 2011-03-14 12:53:38 UTC (rev 2479) +++ trunk/ChangeLog.txt 2011-03-14 13:20:51 UTC (rev 2480) @@ -1,4 +1,20 @@ -?2011-2-25 version 0.71 +?2011-3-14 version 0.72 beta +version 0.71からの変更点 +1, SVGElementのプロパティを整理 +2, SVGxxxListにすべて、Array型を継承させた +3, 軽量化のために、_listプロパティの削除と、SVGPathElementとNAIBU._setPaintのグローバルオブジェクトをローカルに変えておいた +4, _ca関数の整理 +5, SVGLengthに_fontSizeプロパティを追加 +6, CSSPrimitiveValueのgetFloatValueについて修正 +7, SVGLengthのnewValueInSpecifiedメソッドに関して、パーセントとemの単位の処理を修正 +8, チケット #24492「単位の解釈が異常」を修正 +9, SVGLengthのconvertToSpecifiedUnitsメソッドを修正 +10, バッファリング処理において、shiftの使用をやめて、カウントをするように変更 +11, SVGSVGElementコンストラクタ関数にミスがあったので修正 +12, 各々の要素オブジェクトで、DOMNodeInsertedイベントが発火されたときの処理にバグがあったので、それを修正 + + +2011-3-4 version 0.71 version 0.70からの変更点 1, NAIBU._setPaint関数のparseFloatを記号に変えることで最適化 2, getOverrideStyleメソッドの修正 From svnnotify @ sourceforge.jp Mon Mar 14 22:24:15 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 14 Mar 2011 22:24:15 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDgxXQ==?= Message-ID: <1300109055.631141.25743.nullmailer@users.sourceforge.jp> Revision: 2481 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2481 Author: dhrname Date: 2011-03-14 22:24:15 +0900 (Mon, 14 Mar 2011) Log Message: ----------- Modified Paths: -------------- trunk/ChangeLog.txt Modified: trunk/ChangeLog.txt =================================================================== --- trunk/ChangeLog.txt 2011-03-14 13:20:51 UTC (rev 2480) +++ trunk/ChangeLog.txt 2011-03-14 13:24:15 UTC (rev 2481) @@ -12,6 +12,9 @@ 10, バッファリング処理において、shiftの使用をやめて、カウントをするように変更 11, SVGSVGElementコンストラクタ関数にミスがあったので修正 12, 各々の要素オブジェクトで、DOMNodeInsertedイベントが発火されたときの処理にバグがあったので、それを修正 +13, Specにおいて、SVGLengthの境界条件テストについて修正 +14, Specにおいて、convertToSpecifiedUnitsメソッドの同値分割テストに、新たなテストを追加 +15, setRotateメソッドの同値分割テストに関する修正 2011-3-4 version 0.71 From svnnotify @ sourceforge.jp Mon Mar 14 23:23:40 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 14 Mar 2011 23:23:40 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDgyXQ==?= Message-ID: <1300112620.710632.3661.nullmailer@users.sourceforge.jp> Revision: 2482 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2482 Author: dhrname Date: 2011-03-14 23:23:40 +0900 (Mon, 14 Mar 2011) Log Message: ----------- Added Paths: ----------- branches/07x/073/ From svnnotify @ sourceforge.jp Mon Mar 14 23:24:08 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 14 Mar 2011 23:24:08 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDgzXSAwLjcz?= Message-ID: <1300112648.937362.6148.nullmailer@users.sourceforge.jp> Revision: 2483 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2483 Author: dhrname Date: 2011-03-14 23:24:08 +0900 (Mon, 14 Mar 2011) Log Message: ----------- 0.73 Added Paths: ----------- branches/07x/073/org/ Property changes on: branches/07x/073/org ___________________________________________________________________ Added: svn:mergeinfo + /branches/06x/061/org:1864-2067 /branches/06x/062/org:2071-2106 /branches/06x/063/org:2110-2146 /branches/06x/064/org:2149-2177 /branches/06x/065/org:2179-2209 /branches/06x/066/org:2211-2236 /branches/06x/067/org:2257-2282 /branches/06x/068/org:2284-2314 /branches/06x/069/org:2317-2352 /branches/06x/org:1861-2353 /branches/07x/070/org:2363-2383 /branches/07x/071/org:2385-2433 /branches/07x/072/org:2435-2474 From svnnotify @ sourceforge.jp Thu Mar 17 21:25:35 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 17 Mar 2011 21:25:35 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDg0XSAgU1ZHUGF0aEVs?= =?utf-8?b?ZW1lbnTjga7lpInmlbDjga7mlbTnkIY=?= Message-ID: <1300364735.154614.29589.nullmailer@users.sourceforge.jp> Revision: 2484 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2484 Author: dhrname Date: 2011-03-17 21:25:35 +0900 (Thu, 17 Mar 2011) Log Message: ----------- SVGPathElementの変数の整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-14 14:24:08 UTC (rev 2483) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-17 12:25:35 UTC (rev 2484) @@ -2681,11 +2681,9 @@ cx = rx; } } - ti = dii = ts = null; } - taco = cx = cy = xn = yn = startx = starty = null; } - evt = null; + evt = tar = taco = cx = cy = xn = yn = startx = starty = tnl = tlist = ti = dii = ts = isZ = isM = isL = isC = s = null; }, false); /*以下の処理は、このpath要素ノードがDOMツリーに追加されて初めて、 *描画が開始されることを示す。つまり、appendChildで挿入されない限り、描画をしない。 From svnnotify @ sourceforge.jp Fri Mar 18 23:27:42 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Fri, 18 Mar 2011 23:27:42 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDg1XSAgU1ZHUGF0aEVs?= =?utf-8?b?ZW1lbnTjga7pgKPntprjgZfjgZ92YXLmlofjgpLmlbTnkIbjgZfjgabou70=?= =?utf-8?b?6YeP5YyW?= Message-ID: <1300458462.884503.10617.nullmailer@users.sourceforge.jp> Revision: 2485 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2485 Author: dhrname Date: 2011-03-18 23:27:42 +0900 (Fri, 18 Mar 2011) Log Message: ----------- SVGPathElementの連続したvar文を整理して軽量化 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-17 12:25:35 UTC (rev 2484) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-18 14:27:42 UTC (rev 2485) @@ -2416,7 +2416,9 @@ * *SVG1.1 「8.3.9 The grammar for path data」の項目にある最後の文章を参照 */ - var tnl = tar.normalizedPathSegList, tlist = tar.pathSegList, D = []; + var tnl = tar.normalizedPathSegList, + tlist = tar.pathSegList, + D = []; if (tnl.numberOfItems > 0) { tnl.clear(); tlist.clear(); @@ -2425,8 +2427,9 @@ *JSONにおける表現は以下のとおり *D = [["M", 20, 30], ["L", 20 40]] */ - var taco = tar._com, sgs = taco.isSp; - var dd = evt.newValue + var taco = tar._com, + sgs = taco.isSp, + dd = evt.newValue .replace(taco.isRa, " -") .replace(taco.isRb, " ") .replace(taco.isRc, ",$1 ") @@ -2506,11 +2509,13 @@ /*以下の処理は、pathSegListからnormalizedPathSegListへの *変換をする処理。相対座標を絶対座標に変換して、M、L、Cコマンドに正規化していく */ - var cx = 0, cy = 0; //現在セグメントの終了点の絶対座標を示す (相対座標を絶対座標に変換するときに使用) - var xn = 0, yn = 0; //T,tコマンドで仮想的な座標を算出するのに用いる。第一コントロール点 - var startx = 0, starty = 0; //M,mコマンドにおける始点座標(Z,zコマンドで用いる) + var cx = 0, cy = 0, //現在セグメントの終了点の絶対座標を示す (相対座標を絶対座標に変換するときに使用) + xn = 0, yn = 0, //T,tコマンドで仮想的な座標を算出するのに用いる。第一コントロール点 + startx = 0, starty = 0; //M,mコマンドにおける始点座標(Z,zコマンドで用いる) for (var j=0, tli=tlist.numberOfItems;j 1) { r1 = _math.sqrt(lamda) * r1; r2 = _math.sqrt(lamda) * r2; @@ -2600,32 +2609,37 @@ } sds = seif * _math.sqrt((r1x*r2y - r1x*rydd - r2y*rxdd) / (r1x*rydd + r2y*rxdd)); } - var txd = sds*r1*ryd / r2, tyd = -1 * sds*r2*rxd / r1; - var tx = cpsi*txd - spsi*tyd + (rx+cx)/2, ty = spsi*txd + cpsi*tyd + (ry+cy)/2; - var rad = _math.atan2((ryd-tyd)/r2, (rxd-txd)/r1) - _math.atan2(0, 1); - var s1 = (rad >= 0) ? rad : 2 * _math.PI + rad; - rad = _math.atan2((-ryd-tyd)/r2, (-rxd-txd)/r1) - _math.atan2((ryd-tyd)/r2, (rxd-txd)/r1); - var dr = (rad >= 0) ? rad : 2 * _math.PI + rad; + var txd = sds*r1*ryd / r2, + tyd = -1 * sds*r2*rxd / r1, + tx = cpsi*txd - spsi*tyd + (rx+cx)/2, + ty = spsi*txd + cpsi*tyd + (ry+cy)/2, + rad = _math.atan2((ryd-tyd)/r2, (rxd-txd)/r1) - _math.atan2(0, 1), + s1 = (rad >= 0) ? rad : 2 * _math.PI + rad, + rad = _math.atan2((-ryd-tyd)/r2, (-rxd-txd)/r1) - _math.atan2((ryd-tyd)/r2, (rxd-txd)/r1), + dr = (rad >= 0) ? rad : 2 * _math.PI + rad; if (!fS && dr > 0) { dr -= 2*_math.PI; } else if (fS && dr < 0) { dr += 2*_math.PI; } - var sse = dr * 2 / _math.PI; - var seg = _math.ceil(sse<0 ? -1*sse : sse); - var segr = dr / seg; - var t = 8/3 * _math.sin(segr/4) * _math.sin(segr/4) / _math.sin(segr/2); - var cpsir1 = cpsi * r1, cpsir2 = cpsi * r2; - var spsir1 = spsi * r1, spsir2 = spsi * r2; - var mc = _math.cos(s1); - var ms = _math.sin(s1); - var x2 = rx - t * (cpsir1*ms + spsir2*mc), y2 = ry - t * (spsir1*ms - cpsir2*mc); + var sse = dr * 2 / _math.PI, + seg = _math.ceil(sse<0 ? -1*sse : sse), + segr = dr / seg, + t = 8/3 * _math.sin(segr/4) * _math.sin(segr/4) / _math.sin(segr/2), + cpsir1 = cpsi * r1, cpsir2 = cpsi * r2, + spsir1 = spsi * r1, spsir2 = spsi * r2, + mc = _math.cos(s1), + ms = _math.sin(s1), + x2 = rx - t * (cpsir1*ms + spsir2*mc), + y2 = ry - t * (spsir1*ms - cpsir2*mc); for (var n = 0; n < seg; ++n) { s1 += segr; mc = _math.cos(s1); ms = _math.sin(s1); - var x3 = cpsir1*mc - spsir2*ms + tx, y3 = spsir1*mc + cpsir2*ms + ty; - var dx = -t * (cpsir1*ms + spsir2*mc), dy = -t * (spsir1*ms - cpsir2*mc); + var x3 = cpsir1*mc - spsir2*ms + tx, + y3 = spsir1*mc + cpsir2*ms + ty, + dx = -t * (cpsir1*ms + spsir2*mc), + dy = -t * (spsir1*ms - cpsir2*mc); tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(x3, y3, x2, y2, x3-dx, y3-dy)); x2 = x3 + dx; y2 = y3 + dy; @@ -2635,13 +2649,15 @@ if (j !== 0) { var tg = tnl.getItem(tnl.numberOfItems-1); if (tg.pathSegTypeAsLetter === "C") { - var x1 = 2*tg.x - tg.x2; - var y1 = 2*tg.y - tg.y2; + var x1 = 2*tg.x - tg.x2, + y1 = 2*tg.y - tg.y2; } else { //前のコマンドがCでなければ、現在の座標を第1コントロール点に用いる - var x1 = rx, y1 = ry; + var x1 = rx, + y1 = ry; } } else { - var x1 = rx, y1 = ry; + var x1 = rx, + y1 = ry; } tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(cx, cy, x1, y1, ti.x2, ti.y2)); x1 = y1 = null; @@ -2649,13 +2665,15 @@ if (j !== 0) { var tg = tnl.getItem(tnl.numberOfItems-1); if (tg.pathSegTypeAsLetter === "C") { - var x1 = 2*tg.x - tg.x2; - var y1 = 2*tg.y - tg.y2; + var x1 = 2*tg.x - tg.x2, + y1 = 2*tg.y - tg.y2; } else { - var x1 = rx, y1 = ry; + var x1 = rx, + y1 = ry; } } else { - var x1 = rx, y1 = ry; + var x1 = rx, + y1 = ry; } tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(cx, cy, x1, y1, ti.x2+rx, ti.y2+ry)); x1 = y1 = null; @@ -2693,7 +2711,9 @@ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + var tnext = tar.nextSibling, + tpar = tar.parentNode, + isLast = true; if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { tpar._tar.insertBefore(tar._tar, tnext._tar); } else if (tnext && !tnext._tar && tpar._tar) { @@ -2718,12 +2738,18 @@ /*以下の処理は、normalizedpathSegListとCTMに基づいて、 *SVGのd属性をVMLに変換していく処理である。 */ - var tar = evt.target, matrix = tar.getScreenCTM(), tlist = tar.normalizedPathSegList, _parseInt = _pInt; - var dat = [], ma = matrix.a, mb = matrix.b, mc = matrix.c, md = matrix.d, me = matrix.e, mf = matrix.f; - var cname = tar._com._nameCom, isZ = tar._com._isZ, isC = tar._com._isC; + var tar = evt.target, + matrix = tar.getScreenCTM(), + tlist = tar.normalizedPathSegList, + _parseInt = _pInt, + dat = [], + ma = matrix.a, mb = matrix.b, mc = matrix.c, md = matrix.d, me = matrix.e, mf = matrix.f, + cname = tar._com._nameCom, + isZ = tar._com._isZ, isC = tar._com._isC; for (var i=0, tli=tlist.numberOfItems;i Revision: 2486 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2486 Author: dhrname Date: 2011-03-19 23:31:47 +0900 (Sat, 19 Mar 2011) Log Message: ----------- betaから0.72正式版に変更 Modified Paths: -------------- trunk/ChangeLog.txt Modified: trunk/ChangeLog.txt =================================================================== --- trunk/ChangeLog.txt 2011-03-18 14:27:42 UTC (rev 2485) +++ trunk/ChangeLog.txt 2011-03-19 14:31:47 UTC (rev 2486) @@ -1,4 +1,4 @@ -?2011-3-14 version 0.72 beta +?2011-3-20 version 0.72 version 0.71からの変更点 1, SVGElementのプロパティを整理 2, SVGxxxListにすべて、Array型を継承させた @@ -16,7 +16,6 @@ 14, Specにおいて、convertToSpecifiedUnitsメソッドの同値分割テストに、新たなテストを追加 15, setRotateメソッドの同値分割テストに関する修正 - 2011-3-4 version 0.71 version 0.70からの変更点 1, NAIBU._setPaint関数のparseFloatを記号に変えることで最適化 From svnnotify @ sourceforge.jp Sat Mar 19 23:49:18 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 19 Mar 2011 23:49:18 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDg3XQ==?= Message-ID: <1300546158.295403.2276.nullmailer@users.sourceforge.jp> Revision: 2487 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2487 Author: dhrname Date: 2011-03-19 23:49:18 +0900 (Sat, 19 Mar 2011) Log Message: ----------- Added Paths: ----------- tags/072/ From svnnotify @ sourceforge.jp Sun Mar 20 20:46:52 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sun, 20 Mar 2011 20:46:52 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDkwXQ==?= Message-ID: <1300621612.137340.16822.nullmailer@users.sourceforge.jp> Revision: 2490 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2490 Author: dhrname Date: 2011-03-20 20:46:51 +0900 (Sun, 20 Mar 2011) Log Message: ----------- Modified Paths: -------------- trunk/index.html Modified: trunk/index.html =================================================================== --- trunk/index.html 2011-03-20 09:54:05 UTC (rev 2489) +++ trunk/index.html 2011-03-20 11:46:51 UTC (rev 2490) @@ -20,7 +20,7 @@

    もっと自由で軽量なスタイルに

    無料ダウンロード

    -

    sie-071.zip/ (ZIP形式, 465.8 KB)

    あらかじめ、圧縮ファイル(ZIP形式)をダウンロードしてから、解凍してください。sie.jsを手に入れることができます。

    +

    sie-072.zip/ (ZIP形式, 465.8 KB)

    あらかじめ、圧縮ファイル(ZIP形式)をダウンロードしてから、解凍してください。sie.jsを手に入れることができます。

    動作環境

    Internet Explorer6.0+、Mozilla Firefox3.0+、Opera9.0+、Safari3.0+、Google Chrome3.0+

    SIEとは

    From svnnotify @ sourceforge.jp Mon Mar 21 19:44:34 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 21 Mar 2011 19:44:34 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDkxXSAgU1ZHRWxlbWVu?= =?utf-8?b?dOOChFNWR0xlbmd0aOOBrnZhcuaWh+OCkuaVtOeQhg==?= Message-ID: <1300704274.955629.27710.nullmailer@users.sourceforge.jp> Revision: 2491 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2491 Author: dhrname Date: 2011-03-21 19:44:34 +0900 (Mon, 21 Mar 2011) Log Message: ----------- SVGElementやSVGLengthのvar文を整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-20 11:46:51 UTC (rev 2490) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-21 10:44:34 UTC (rev 2491) @@ -140,25 +140,36 @@ if (evt.eventPhase === Event.BUBBLING_PHASE) { return; } - var name = evt.attrName, tar = evt.target; + var name = evt.attrName, + tar = evt.target; if (!!CSS2Properties[name] || name.indexOf("-") > -1) { //スタイルシートのプロパティならば tar._attributeStyle.setProperty(name, evt.newValue, ""); } if (evt.relatedNode.localName === "id") { //xml:idあるいはid属性ならば tar.id = evt.newValue; } else if (name === "transform" && !!tar.transform) { - var tft = evt.newValue, degR = tar._degReg; - var coma = tft.match(tar._comaReg); //コマンド文字にマッチ translate - var list = tft.match(tar._strReg); //カッコ内のリストにマッチ (10 20 30...) - var a,b,c,d,e,f,lis,deg,rad,degli; + var tft = evt.newValue, + degR = tar._degReg, + coma = tft.match(tar._comaReg), //コマンド文字にマッチ translate + list = tft.match(tar._strReg), //カッコ内のリストにマッチ (10 20 30...) + a,b,c,d,e,f, + lis, + com, + deg, + rad, + degli, + s, + cm, + degz; //transform属性の値を、SVGTransformListであるtransformプロパティに結びつける for (var j=0,cli=coma.length;j nx ? nx : el; et = et > ny ? ny : et; er = er > nx ? er : nx; eb = eb > ny ? eb : ny; - nx = ny = null; } - data = degis = null; s.x = el; s.y = et; s.width = er - el; s.height = eb - et; - el = et = er = eb = vi = null; + nx = ny = data = degis =el = et = er = eb = vi = null; return s; }; @@ -339,11 +367,11 @@ *もし、要素の中心座標を取得したい人がいれば、transformプロパティのconsolidateメソッドを使うこと */ /*SVGMatrix*/ this.getCTM = function() { - var s; + var s, m; if (!!this._cacheMatrix) { //キャッシュがあれば s = this._cacheMatrix; } else { - var m = this.transform.baseVal.consolidate(); + m = this.transform.baseVal.consolidate(); if (m) { m = m.matrix; } else { @@ -366,6 +394,7 @@ } var view = this.nearestViewportElement || this.ownerDocument.documentElement; var s = view.getScreenCTM().multiply(this.getCTM()); + view = null; return s; }; @@ -511,32 +540,33 @@ *例:2pxならば、x.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 2);となる */ newValueSpecifiedUnits : function (/*unsigned short*/ unitType, /*float*/ valueInSpecifiedUnits) { - var n = 1, _s = ""; //nは各単位から利用単位への変換数値。_sは単位の文字列を表す - if (unitType === SVGLength.SVG_LENGTHTYPE_NUMBER) { - } else if (unitType === SVGLength.SVG_LENGTHTYPE_PX) { + var n = 1, + _s = ""; //nは各単位から利用単位への変換数値。_sは単位の文字列を表す + if (unitType === /*SVGLength.SVG_LENGTHTYPE_NUMBER*/ 1) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_PX*/ 5) { _s = "px"; - } else if (unitType === SVGLength.SVG_LENGTHTYPE_PERCENTAGE) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_PERCENTAGE*/ 2) { n = this._percent; _s = "%" - } else if (unitType === SVGLength.SVG_LENGTHTYPE_EMS) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_EMS*/ 3) { n = this._fontSize; _s = "em"; - } else if (unitType === SVGLength.SVG_LENGTHTYPE_EXS) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_EXS*/ 4) { n = this._fontSize * 0.5; _s = "ex"; - } else if (unitType === SVGLength.SVG_LENGTHTYPE_CM) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_CM*/ 6) { n = 35.43307; _s = "cm"; - } else if (unitType === SVGLength.SVG_LENGTHTYPE_MM) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_MM*/ 7) { n = 3.543307; _s = "mm"; - } else if (unitType === SVGLength.SVG_LENGTHTYPE_IN) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_IN*/ 8) { n = 90; _s = "in"; - } else if (unitType === SVGLength.SVG_LENGTHTYPE_PT) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_PT*/ 9) { n = 1.25; _s = "pt"; - } else if (unitType === SVGLength.SVG_LENGTHTYPE_PC) { + } else if (unitType === /*SVGLength.SVG_LENGTHTYPE_PC*/ 10) { n = 15; _s = "pc"; } else { @@ -546,7 +576,7 @@ this.value = valueInSpecifiedUnits * n; this.valueInSpecifiedUnits = valueInSpecifiedUnits; this.valueAsString = valueInSpecifiedUnits + _s; - n = _s = null; + valueInSpecifiedUnits = unitType = n = _s = null; }, /*convertToSpecifiedUnitsメソッド *valueプロパティを書き換えずに、単位だけを変換する @@ -603,7 +633,8 @@ }; SVGAngle.prototype = { /*void*/ newValueSpecifiedUnits : function (/*in unsigned short*/ unitType, /*in float*/ valueInSpecifiedUnits ) { - var n = 1, _s = ""; //nは各単位から利用単位への変換数値。_sは単位の文字列を表す + var n = 1, + _s = ""; //nは各単位から利用単位への変換数値。_sは単位の文字列を表す if (unitType === SVGAngle.SVG_ANGLETYPE_DEG) { _s = "deg" } else if (unitType === SVGAngle.SVG_ANGLETYPE_RAD) { @@ -638,7 +669,7 @@ }; function SVGColor() { CSSValue.call(this, arguments); - /*readonly unsigned short*/ this.colorType = SVGColor.SVG_COLORTYPE_UNKNOWN; + /*readonly unsigned short*/ this.colorType = /*SVGColor.SVG_COLORTYPE_UNKNOWN*/ 0; /*readonly css::RGBColor*/ this.rgbColor = new RGBColor(); /*readonly SVGICCColor*/ this.iccColor; return this; From svnnotify @ sourceforge.jp Mon Mar 21 20:03:59 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 21 Mar 2011 20:03:59 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDkyXSAgU1ZHVVJJUmVm?= =?utf-8?b?ZXJlbmNl44GudmFy5paH44KS5pW055CG?= Message-ID: <1300705439.772817.29913.nullmailer@users.sourceforge.jp> Revision: 2492 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2492 Author: dhrname Date: 2011-03-21 20:03:59 +0900 (Mon, 21 Mar 2011) Log Message: ----------- SVGURIReferenceのvar文を整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-21 10:44:34 UTC (rev 2491) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:03:59 UTC (rev 2492) @@ -684,7 +684,11 @@ SVGColor.constructor = CSSValue; /*void*/ SVGColor.prototype.setRGBColor = function(/*DOMString*/ rgbColor ){ - var tkr = this._keywords[rgbColor]; + var tkr = this._keywords[rgbColor], + s, + _parseInt, + r, g, b, + c; if (tkr !== void 0) { rgbColor = tkr; } @@ -692,12 +696,15 @@ rgbColor = rgbColor.replace(/[\d.]+%/g, function(s) { return Math.round((2.55 * parseFloat(s))); }); - var s = rgbColor.match(/\d+/g); + s = rgbColor.match(/\d+/g); } else if (rgbColor.indexOf("#") === 0) { //#を含む場合 - var s = [], _parseInt = parseInt; - var r = rgbColor.charAt(1), g = rgbColor.charAt(2), b = rgbColor.charAt(3) + s = []; + _parseInt = parseInt; + r = rgbColor.charAt(1); + g = rgbColor.charAt(2); + b = rgbColor.charAt(3) if (rgbColor.length < 5) { - var c = "#" + r + r + g + g + b + b; + c = "#" + r + r + g + g + b + b; rgbColor = c; c = null; } @@ -706,7 +713,7 @@ s[2] = _parseInt(rgbColor.charAt(5)+rgbColor.charAt(6), 16)+ ""; r = g = b = null; } else { - var s = rgbColor.match(/\d+/g); + s = rgbColor.match(/\d+/g); if (!!!s) { //数値が含まれていなければ強制的に終了 rgbColor = null; return; @@ -715,15 +722,16 @@ this.rgbColor.red.cssText = s[0]; this.rgbColor.green.cssText = s[1]; this.rgbColor.blue.cssText = s[2]; - rgbColor = tkr = s = null; + rgbColor = tkr = s = _parseInt = null; }; // raises( SVGException ); /*void*/ SVGColor.prototype.setColor =function(/*unsigned short*/ colorType, /*DOMString*/ rgbColor, /*DOMString*/ iccColor ){ this.colorType = colorType; - if ((colorType === SVGColor.SVG_COLORTYPE_RGBCOLOR) || (colorType === SVGColor.SVG_COLORTYPE_CURRENTCOLOR)) { + if ((colorType === /*SVGColor.SVG_COLORTYPE_RGBCOLOR*/ 1) || (colorType === /*SVGColor.SVG_COLORTYPE_CURRENTCOLOR*/ 3)) { this.setRGBColor(rgbColor); } + colorType = rgbColor = null; } // raises( SVGException ); //色キーワード @@ -941,15 +949,18 @@ return; //強制終了させる } tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt){ - var tar = evt.target; + var tar = evt.target, + base, + href = tar.href.baseVal, + egbase, ep, b, lh, uri, xmlhttp, ui, id, doc, ele, ev; /*xlink:href属性とxml:base属性を手がかりに、 *ハイパーリンクのURIを決定する処理を行う */ - if (tar.href.baseVal !== "") { //xlink:href属性が指定されたとき - var base, href = tar.href.baseVal; - var egbase = tar.xmlbase; + if (href !== "") { //xlink:href属性が指定されたとき + egbase = tar.xmlbase; if (!egbase) { - var ep = tar.parentNode, b = null; + ep = tar.parentNode; + b = null; while (!b && ep) { b = ep.xmlbase; ep = ep.parentNode; @@ -957,7 +968,7 @@ base = b; if (!b) { //xml:baseの指定がなければ if (href.indexOf("#") !== 0) { //href属性において#が一番につかない場合 - var lh = location.href; + lh = location.href; base = lh.replace(/\/[^\/]+?$/, "/"); //URIの最後尾にあるファイル名は消す。例: /n/sie.js -> /n/ } else { base = location.href; @@ -969,7 +980,8 @@ if (href.indexOf(":") !== -1) { //絶対URIの場合 base = ""; } - var uri = base + href, show = tar.getAttributeNS("http://www.w3.org/1999/xlink", "show") || "embed"; + uri = base + href; + show = tar.getAttributeNS("http://www.w3.org/1999/xlink", "show") || "embed"; if (href.indexOf(".") === 0) { //相対URIの場合 uri = href; } @@ -979,18 +991,19 @@ tar._tar.setAttribute("target", "_blank"); tar._tar.setAttribute("href", uri); } else if (show === "embed") { - var xmlhttp = NAIBU.xmlhttp; - var ui = uri.indexOf("#"); + xmlhttp = NAIBU.xmlhttp; + ui = uri.indexOf("#"); if (ui > -1) { - var id = uri.substring(ui+1, uri.length); + id = uri.substring(ui+1, uri.length); uri = uri.replace(/#.+$/, ""); } else { - var id = null; + id = null; } if (href.indexOf("#") === 0) { //URIが#で始まるのであれば - var doc = tar.ownerDocument, ele = doc.getElementById(id); + doc = tar.ownerDocument; + ele = doc.getElementById(id); tar._instance = ele; - var ev = doc.createEvent("SVGEvents"); + ev = doc.createEvent("SVGEvents"); ev.initEvent("SVGLoad", false, false); tar.dispatchEvent(ev); ev = null; @@ -1005,7 +1018,8 @@ xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState === 4 && xmlhttp.status === 200) { - var type = xmlhttp.getResponseHeader('Content-Type') || "text"; + var type = xmlhttp.getResponseHeader('Content-Type') || "text", + doc, str, ele, ev; if ((type.indexOf("text") > -1) || (type.indexOf("xml") > -1) || (type.indexOf("script") > -1)) { //ファイルがtext形式である場合 /*responseXMLを使うと、時々、空のデータを返すことがあるため(原因は不明)、 *ここでは、responseTextを用いる @@ -1015,14 +1029,14 @@ *それら以外は、_instanceプロパティにDOMツリーを格納しておく */ if (tar.localName !== "script" && tar.localName !== "style") { - var doc = new ActiveXObject("MSXML2.DomDocument"); + doc = new ActiveXObject("MSXML2.DomDocument"); str = xmlhttp.responseText.replace(/!DOCTYPE/,"!--").replace(/(dtd">|\]>)/,"-->"); NAIBU.doc.async = false; NAIBU.doc.validateOnParse = false; NAIBU.doc.resolveExternals = false; NAIBU.doc.preserveWhiteSpace = false; doc.loadXML(str); - var ele = doc.documentElement; + ele = doc.documentElement; tar._instance = tar.ownerDocument.importNode(ele, true); if (id) { tar._instance = tar._instance.ownerDocument.getElementById(id); @@ -1033,10 +1047,10 @@ } else if (!!tar._tar) { tar._tar.src = uri; } - var ev = tar.ownerDocument.createEvent("SVGEvents"); + ev = tar.ownerDocument.createEvent("SVGEvents"); ev.initEvent("SVGLoad", false, false); tar.dispatchEvent(ev); - ev = null; + type = doc = str = ev = null; /*IEのメモリリーク対策として、空関数を入力*/ xmlhttp.onreadystatechange = NAIBU.emptyFunction; } @@ -1045,7 +1059,7 @@ } } } - evt = tar = null; + evt = tar = base = href = egbase = ep = b = lh = uri = xmlhttp = ui = id = doc = ele = ev = null; }, false); tar = evt = null; }, false); @@ -5804,7 +5818,7 @@ } window.onscroll = NAIBU.emptyFunction; window.detachEvent("onload", NAIBU._main); - Element = SVGElement = Attr = NamedNodeMap = CSS2Properties = CSSValue = CSSPrimitiveValue = NAIBU.xmlhttp = Node = Event = NAIBU = stlog = STLog = null; + Element = SVGElement = Attr = NamedNodeMap = CSS2Properties = CSSValue = CSSPrimitiveValue = NAIBU.xmlhttp = Node = Event = NAIBU = stlog = STLog = SVGColor = SVGPaint = null; Array = ActiveXObject = null; } catch(e) {} } From svnnotify @ sourceforge.jp Mon Mar 21 20:07:51 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 21 Mar 2011 20:07:51 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDkzXSAgU1ZHVVJJUmVm?= =?utf-8?b?ZXJlbmNl44GudmFy5paH44Gr44GK44GE44Gm44CBc2hvd+OBjOioreWumg==?= =?utf-8?b?44GV44KM44Gm44GE44Gq44GL44Gj44Gf44Gu44Gn5L+u5q2j?= Message-ID: <1300705671.012624.4161.nullmailer@users.sourceforge.jp> Revision: 2493 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2493 Author: dhrname Date: 2011-03-21 20:07:50 +0900 (Mon, 21 Mar 2011) Log Message: ----------- SVGURIReferenceのvar文において、showが設定されていなかったので修正 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:03:59 UTC (rev 2492) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:07:50 UTC (rev 2493) @@ -952,7 +952,7 @@ var tar = evt.target, base, href = tar.href.baseVal, - egbase, ep, b, lh, uri, xmlhttp, ui, id, doc, ele, ev; + show, egbase, ep, b, lh, uri, xmlhttp, ui, id, doc, ele, ev; /*xlink:href属性とxml:base属性を手がかりに、 *ハイパーリンクのURIを決定する処理を行う */ @@ -1006,8 +1006,6 @@ ev = doc.createEvent("SVGEvents"); ev.initEvent("SVGLoad", false, false); tar.dispatchEvent(ev); - ev = null; - ele = null; } else if (uri.indexOf("data:") > -1) { tar._tar.src = uri; } else if ((uri.indexOf("http:") > -1) || (uri.indexOf(".") === 0)){ @@ -1059,7 +1057,7 @@ } } } - evt = tar = base = href = egbase = ep = b = lh = uri = xmlhttp = ui = id = doc = ele = ev = null; + evt = tar = base = href = egbase = ep = b = lh = uri = xmlhttp = ui = id = doc = ele = ev = show= null; }, false); tar = evt = null; }, false); @@ -1151,11 +1149,16 @@ if (evt.eventPhase === Event.BUBBLING_PHASE) { return; //強制終了させる } - var tar = evt.target, name = evt.attrName; + var tar = evt.target, + name = evt.attrName, + tv, + ovb, + par, + tp; if (name === "viewBox") { tar._cacheScreenCTM = null; - var tv = tar.viewBox.baseVal; - var ovb = evt.newValue.replace(/^\s+|\s+$/g, "").split(/[\s,]+/); + tv = tar.viewBox.baseVal; + ovb = evt.newValue.replace(/^\s+|\s+$/g, "").split(/[\s,]+/); tv.x = parseFloat(ovb[0]); tv.y = parseFloat(ovb[1]); tv.width = parseFloat(ovb[2]); @@ -1163,7 +1166,8 @@ tar.viewBox.baseVal._isUsed = 1; } else if (name === "preserveAspectRatio") { tar._cacheScreenCTM = null; - var par = evt.newValue, tp = tar.preserveAspectRatio.baseVal; + par = evt.newValue; + tp = tar.preserveAspectRatio.baseVal; var sa = 1, mos = SVGPreserveAspectRatio.SVG_MEETORSLICE_UNKNOWN; if (!!par.match(/x(Min|Mid|Max)Y(Min|Mid|Max)(?:\s+(meet|slice))?/)) { switch (RegExp.$1) { From svnnotify @ sourceforge.jp Mon Mar 21 20:12:45 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 21 Mar 2011 20:12:45 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDk0XSAgU1ZHU1ZHRWxl?= =?utf-8?b?bWVudOOBrnZhcuaWh+OCkuaVtOeQhg==?= Message-ID: <1300705965.486001.14336.nullmailer@users.sourceforge.jp> Revision: 2494 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2494 Author: dhrname Date: 2011-03-21 20:12:45 +0900 (Mon, 21 Mar 2011) Log Message: ----------- SVGSVGElementのvar文を整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:07:50 UTC (rev 2493) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:12:45 UTC (rev 2494) @@ -1151,10 +1151,7 @@ } var tar = evt.target, name = evt.attrName, - tv, - ovb, - par, - tp; + tv, ovb, par, tp, sa, mos; if (name === "viewBox") { tar._cacheScreenCTM = null; tv = tar.viewBox.baseVal; @@ -1168,7 +1165,8 @@ tar._cacheScreenCTM = null; par = evt.newValue; tp = tar.preserveAspectRatio.baseVal; - var sa = 1, mos = SVGPreserveAspectRatio.SVG_MEETORSLICE_UNKNOWN; + sa = 1; + mos = SVGPreserveAspectRatio.SVG_MEETORSLICE_UNKNOWN; if (!!par.match(/x(Min|Mid|Max)Y(Min|Mid|Max)(?:\s+(meet|slice))?/)) { switch (RegExp.$1) { case "Min": @@ -1205,14 +1203,15 @@ } else if (name === "height") { tar.viewport.height = tar.height.baseVal.value; } - evt = name = null; + evt = name = tv = ovb = par = tp = sa = mos = null; }, false); this.addEventListener("SVGLoad", function(evt){ evt.target.addEventListener("DOMAttrModified", function(evt){ if (evt.eventPhase === Event.BUBBLING_PHASE) { - var tar = evt.target; + var tar = evt.target, + evtt; if (tar.parentNode) { - var evtt = tar.ownerDocument.createEvent("MutationEvents"); + evtt = tar.ownerDocument.createEvent("MutationEvents"); evtt.initMutationEvent("DOMNodeInsertedIntoDocument", false, false, null, null, null, null, null); evtt.target = tar; evtt.eventPhase = Event.AT_TARGET; @@ -1254,16 +1253,14 @@ return s; }; /*SVGPoint*/ SVGSVGElement.prototype.createSVGPoint = function(){ - var s = new SVGPoint(); - return s; + return new SVGPoint(); }; /*SVGMatrix*/ SVGSVGElement.prototype.createSVGMatrix = function(){ - var s = new SVGMatrix(); //単位行列を作成 - return s; + //単位行列を作成 + return new SVGMatrix(); }; /*SVGRect*/ SVGSVGElement.prototype.createSVGRect = function(){ - var s = new SVGRect(); - return s; + return new SVGRect(); }; /*SVGTransform*/ SVGSVGElement.prototype.createSVGTransform = function(){ var s = this.createSVGTransformFromMatrix(this.createSVGMatrix()); From svnnotify @ sourceforge.jp Mon Mar 21 20:19:24 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 21 Mar 2011 20:19:24 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDk1XSAgU1ZHU1ZHRWxl?= =?utf-8?b?bWVudOOBrmdldFNjcmVlbkNUTeODoeOCveODg+ODieOBrnZhcuaWh+OBqw==?= =?utf-8?b?44Gk44GE44Gm5pW055CG?= Message-ID: <1300706364.049417.25171.nullmailer@users.sourceforge.jp> Revision: 2495 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2495 Author: dhrname Date: 2011-03-21 20:19:24 +0900 (Mon, 21 Mar 2011) Log Message: ----------- SVGSVGElementのgetScreenCTMメソッドのvar文について整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:12:45 UTC (rev 2494) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:19:24 UTC (rev 2495) @@ -1278,21 +1278,32 @@ if (!!this._cacheScreenCTM) { //キャッシュがあれば return (this._cacheScreenCTM); } - var vw = this.viewport.width, vh = this.viewport.height; + var vw = this.viewport.width, + vh = this.viewport.height, + vB, par, m, vbx, vby, vbw, vbh, rw, rh, xr, yr, tx, ty, ttps; if (!this.useCurrentView) { - var vB = this.viewBox.baseVal, par = this.preserveAspectRatio.baseVal; + vB = this.viewBox.baseVal; + par = this.preserveAspectRatio.baseVal; } else { - var vB = this.currentView.viewBox.baseVal, par = this.currentView.preserveAspectRatio.baseVal; + vB = this.currentView.viewBox.baseVal; + par = this.currentView.preserveAspectRatio.baseVal; } if (!!!vB._isUsed) { //viewBox属性が指定されていなければ this._tx = this._ty = 0; - var m = this.createSVGMatrix(); + m = this.createSVGMatrix(); this._cacheScreenCTM = m; //キャッシュを作っておく return m; } else { - var vbx = vB.x, vby = vB.y, vbw = vB.width, vbh = vB.height; - var rw = vw / vbw, rh = vh / vbh; - var xr = 1, yr = 1, tx = 0, ty = 0; + vbx = vB.x; + vby = vB.y; + vbw = vB.width; + vbh = vB.height; + rw = vw / vbw; + rh = vh / vbh; + xr = 1; + yr = 1; + tx = 0; + ty = 0; if (par.align === 1) { //none xr = rw; yr = rh; @@ -1336,13 +1347,14 @@ //text要素の位置調整に使うため、ここで、viewの移動量を記録しておく this._tx = tx; this._ty = ty; - var ttps = this._tar.style; + ttps = this._tar.style; ttps.marginLeft = tx+ "px"; ttps.marginTop = ty+ "px"; - var m = this.createSVGMatrix(); + m = this.createSVGMatrix(); m.a = xr; m.d = yr; this._cacheScreenCTM = m; //キャッシュを作っておく + vw = vh = vB = par = vbx = vby = vbw = vbh = rw = rh = xr = yr = tx = ty = ttps = null; return m; }; From svnnotify @ sourceforge.jp Mon Mar 21 20:28:42 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 21 Mar 2011 20:28:42 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDk2XSAgU1ZHSW1hZ2VF?= =?utf-8?b?bGVtZW5044GudmFy5paH44KS5pW055CG?= Message-ID: <1300706922.481249.10133.nullmailer@users.sourceforge.jp> Revision: 2496 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2496 Author: dhrname Date: 2011-03-21 20:28:42 +0900 (Mon, 21 Mar 2011) Log Message: ----------- SVGImageElementのvar文を整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:19:24 UTC (rev 2495) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:28:42 UTC (rev 2496) @@ -1395,7 +1395,9 @@ if (evt.eventPhase === /*Event.BUBBLING_PHASE*/ 3) { return; //強制終了させる } - var tnext = tar.nextSibling, tpar = tar.parentNode, isLast = true; + var tnext = tar.nextSibling, + tpar = tar.parentNode, + isLast = true; if (tnext && tnext._tar && tpar._tar && (tnext._tar.parentNode === tpar._tar)) { tpar._tar.insertBefore(tar._tar, tnext._tar); } else if (tnext && !tnext._tar && tpar._tar) { @@ -1491,15 +1493,16 @@ evt.target.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:show", "embed"); }, false); this.addEventListener("SVGLoad", function(evt){ - var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); - var fontSize = parseFloat(style.getPropertyValue("font-size")); + var tar = evt.target, + style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""), + fontSize = parseFloat(style.getPropertyValue("font-size")), + tgtb = tar.transform.baseVal, + trans = tar.ownerDocument.documentElement.createSVGTransform(); tar.x.baseVal._emToUnit(fontSize); tar.y.baseVal._emToUnit(fontSize); tar.width.baseVal._emToUnit(fontSize); tar.height.baseVal._emToUnit(fontSize); tar.instanceRoot = tar.animatedInstanceRoot = tar.ownerDocument.importNode(tar._instance, true); - var tgtb = tar.transform.baseVal; - var trans = tar.ownerDocument.documentElement.createSVGTransform(); trans.setTranslate(tar.x.baseVal.value, tar.y.baseVal.value); tgtb.appendItem(trans); tar.appendChild(tar.instanceRoot); @@ -1559,16 +1562,19 @@ tar.parentNode._tar.appendChild(tar._tar); } tar.addEventListener("DOMNodeInsertedIntoDocument", function(evt) { - var tar = evt.target, style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""); - var fontSize = parseFloat(style.getPropertyValue("font-size")); + var tar = evt.target, + style = tar.ownerDocument.defaultView.getComputedStyle(tar, ""), + fontSize = parseFloat(style.getPropertyValue("font-size")), + ts = tar._tar.style, + ctm = tar.getScreenCTM(), + po = tar.ownerDocument.documentElement.createSVGPoint(), + fillOpacity = parseFloat(style.getPropertyValue("fill-opacity")), + ttfia; tar.x.baseVal._emToUnit(fontSize); tar.y.baseVal._emToUnit(fontSize); tar.width.baseVal._emToUnit(fontSize); tar.height.baseVal._emToUnit(fontSize); - var ts = tar._tar.style; ts.position = "absolute"; - var ctm = tar.getScreenCTM(); - var po = tar.ownerDocument.documentElement.createSVGPoint(); po.x = tar.x.baseVal.value; po.y = tar.y.baseVal.value; po = po.matrixTransform(ctm); @@ -1576,12 +1582,12 @@ ts.top = po.y + "px"; ts.width = tar.width.baseVal.value * ctm.a + "px"; ts.height = tar.height.baseVal.value * ctm.d + "px"; - var fillOpacity = parseFloat(style.getPropertyValue("fill-opacity")); if (fillOpacity !== 1) { ts.filter = "progid:DXImageTransform.Microsoft.Alpha"; - var ttfia = tar._tar.filters.item('DXImageTransform.Microsoft.Alpha'); + ttfia = tar._tar.filters.item('DXImageTransform.Microsoft.Alpha'); ttfia.Style = 0; ttfia.Opacity = fillOpacity * 100; + ttfia = null; } evt = tar = style = fontSize = ts = ctm = po = fillOpacity = null; }, false); From svnnotify @ sourceforge.jp Mon Mar 21 20:52:46 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 21 Mar 2011 20:52:46 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDk3XSAgR2V0U1ZHRG9j?= =?utf-8?b?dW1lbnTjga5faW5pdOODoeOCveODg+ODieOBq+mWouOBl+OBpuOAgXZhcg==?= =?utf-8?b?5paH44KS5pW055CG44GX44Gf44GG44GI44Gn44CB44Kv44Ot44O844K444Oj?= =?utf-8?b?44Gu5L+u5q2j44KS44GX44Gf?= Message-ID: <1300708366.632154.23191.nullmailer@users.sourceforge.jp> Revision: 2497 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2497 Author: dhrname Date: 2011-03-21 20:52:46 +0900 (Mon, 21 Mar 2011) Log Message: ----------- GetSVGDocumentの_initメソッドに関して、var文を整理したうえで、クロージャの修正をした Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:28:42 UTC (rev 2496) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:52:46 UTC (rev 2497) @@ -1618,24 +1618,26 @@ *object(embed)要素で指定されたSVG文書を読み込んで、SVGを処理して表示させるメソッド */ _init : function() { - /*objeiはobject要素かembed要素*/ - var xmlhttp = NAIBU.xmlhttp, objei = this._tar, ca = this._ca; - if (this._tar.nodeName === "OBJECT") { - var data = "data"; - } else { - var data = "src"; - } - xmlhttp.open("GET", objei.getAttribute(data), true); - objei.style.display = "none"; - xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - this.xmlhttp = xmlhttp; - /*クロージャを利用しないと、_caはwindowの元で実行される*/ - (function(te, ta) { - ta.onreadystatechange = function() { - te._ca(); + /*objeiはobject要素かembed要素*/ + var xmlhttp = NAIBU.xmlhttp, + objei = this._tar, + that = this, + data; + if (this._tar.nodeName === "OBJECT") { + data = "data"; + } else { + data = "src"; + } + xmlhttp.open("GET", objei.getAttribute(data), true); + objei.style.display = "none"; + xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + this.xmlhttp = xmlhttp; + /*クロージャを利用しないと、_caはグローバルオブジェクトwindowの元で実行される*/ + xmlhttp.onreadystatechange = function() { + that._ca(); }; - })(this, xmlhttp); - xmlhttp.send(null); + xmlhttp.send(null); + objei = data = null; }, /*コール関数。全処理を担う*/ _ca : function() { From svnnotify @ sourceforge.jp Mon Mar 21 22:49:46 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 21 Mar 2011 22:49:46 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNDk4XSAgR2V0U1ZHRG9j?= =?utf-8?b?dW1lbnTjga5fY2Hjg6Hjgr3jg4Pjg4njgpJ2YXLmlofjgavjgaTjgYTjgaY=?= =?utf-8?b?5pW055CG?= Message-ID: <1300715386.487787.1041.nullmailer@users.sourceforge.jp> Revision: 2498 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2498 Author: dhrname Date: 2011-03-21 22:49:46 +0900 (Mon, 21 Mar 2011) Log Message: ----------- GetSVGDocumentの_caメソッドをvar文について整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-21 11:52:46 UTC (rev 2497) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-21 13:49:46 UTC (rev 2498) @@ -1646,7 +1646,19 @@ *ここでは、responseTextを用いる */ var dsd = new Date(); - str = this.xmlhttp.responseText; + var str = this.xmlhttp.responseText, + objei = this._tar, + s = DOMImplementation.createDocument("http://www.w3.org/2000/svg", "svg"), + tar = s.documentElement, + tview = tar.viewport, + objw, objh, fi, n, attr, att, + sdt = tar._tar, + sp = document.createElement("div"), + dcp = document.createElement("v:group"), + backr = document.createElement("v:rect"), + style, fontSize, w, h, sw, sh, trstyle, tpstyle, backrs, viewWidth, viewHeight, + bfl, bft, bl, backright, backdown, text, + _parseFloat = parseFloat; NAIBU.doc.async = false; /*下記のプロパティについては、Microsoftのサイトを参照 *ResolveExternals Property [Second-level DOM] @@ -1663,7 +1675,6 @@ *スクロール時にバグが起きるので、0に戻してやる必要がある。 */ screen.updateInterval = 999; - var objei = this._tar; if (/&[^;]+;/.test(str)) { /*以下の処理は、実体参照を使ったとき *代替の処理を用いて、実体参照を処理するもの @@ -1678,8 +1689,6 @@ NAIBU.doc.loadXML(tmp); tmp = null; } - var s = DOMImplementation.createDocument("http://www.w3.org/2000/svg", "svg"); - var tar = s.documentElement, tview = tar.viewport; tview.top = 0; tview.left = 0; tview.width = objei.clientWidth; @@ -1690,22 +1699,22 @@ if (tar.viewport.height < 24) { //IEの標準モードではclientHeightプロパティの値が小さくなることがある tar.viewport.height = screen.width; } - var objw = objei.getAttribute("width"), objh = objei.getAttribute("height"); + objw = objei.getAttribute("width"); + objh = objei.getAttribute("height"); if (objw) { tar.setAttributeNS(null, "width", objw); } if (objh) { tar.setAttributeNS(null, "height", objh); } - var fi = NAIBU.doc.documentElement.firstChild, n; - var attr = NAIBU.doc.documentElement.attributes, att; + fi = NAIBU.doc.documentElement.firstChild; + attr = NAIBU.doc.documentElement.attributes; /*ルート要素のNamedNodeMapを検索する*/ for (var i=0,atli=attr.length;i sw ? sw : w, viewHeight = h > sh ? sh : h; - var bfl = parseFloat(backrs.left), bft = parseFloat(backrs.top); - var bl = -tar._tx, bt = -tar._ty; + viewWidth = w > sw ? sw : w; + viewHeight = h > sh ? sh : h; + bfl = parseFloat(backrs.left); + bft = parseFloat(backrs.top); + bl = -tar._tx; + bt = -tar._ty; if (bfl !== 0 && !isNaN(bfl)) { //内部の図形にずれが生じたとき(isNaNはIE8でautoがデフォルト値のため) bl = bfl; dcp.style.left = -bl+ "px"; @@ -1754,8 +1769,8 @@ bt = bft; dcp.style.top = -bt+ "px"; } - var backright = bl + viewWidth + 1; - var backdown = bt + viewHeight + 1; + backright = bl + viewWidth + 1; + backdown = bt + viewHeight + 1; trstyle.clip = "rect(" +bt+ "px " +backright+ "px " +backdown+ "px " +bl+ "px)"; this._document = s; if ("_svgload_limited" in s.documentElement) { @@ -1774,7 +1789,7 @@ } } //以下、テキストの位置を修正 - var text = s.documentElement._tar.getElementsByTagName("div"), _parseFloat = parseFloat; + text = s.documentElement._tar.getElementsByTagName("div"); for (var i=0,textli=text.length;i Revision: 2499 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2499 Author: dhrname Date: 2011-03-22 23:27:11 +0900 (Tue, 22 Mar 2011) Log Message: ----------- Node二間して、var文を整理 Modified Paths: -------------- branches/07x/073/org/w3c/core.js Modified: branches/07x/073/org/w3c/core.js =================================================================== --- branches/07x/073/org/w3c/core.js 2011-03-21 13:49:46 UTC (rev 2498) +++ branches/07x/073/org/w3c/core.js 2011-03-22 14:27:11 UTC (rev 2499) @@ -242,7 +242,8 @@ *指定したrefノードの前に、新たなnノードを入れる。貼り付け(ペースト)機能。 */ /*Node*/ insertBefore : function( /*Node*/ n, ref) { - var tp = this.parentNode; + var tp = this.parentNode, + rp; if (tp) { while (!tp) { //先祖をたどっていく if (tp === n) { //先祖要素が追加ノードならばエラー @@ -268,7 +269,7 @@ throw (new DOMException(DOMException.NOT_FOUND_ERR)); } this.childNodes.splice(ref._num,1,n,ref); //Arrayのspliceを利用して、リストにnノードを追加 - var rp = ref.previousSibling; + rp = ref.previousSibling; if (rp) { rp.nextSibling = n; } @@ -278,6 +279,7 @@ this.firstChild = this.childNodes[0]; this.lastChild = this.childNodes[this.childNodes.length-1]; n.parentNode = this; + tp = ref = rp = null; return n; }, /*replaceChildメソッド @@ -417,30 +419,35 @@ *名前空間と名前を使って、ノードの集合から特定のノードを取り出す */ /*Node*/ getNamedItemNS : function(/*string*/ namespaceURI, /*string*/ localName) { + var ta; for (var i=0,tali=this.length;i Revision: 2500 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2500 Author: dhrname Date: 2011-03-22 23:28:00 +0900 (Tue, 22 Mar 2011) Log Message: ----------- eventモジュールに関して、var文を整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/events.js Modified: branches/07x/073/org/w3c/dom/events.js =================================================================== --- branches/07x/073/org/w3c/dom/events.js 2011-03-22 14:27:11 UTC (rev 2499) +++ branches/07x/073/org/w3c/dom/events.js 2011-03-22 14:28:00 UTC (rev 2500) @@ -111,19 +111,20 @@ /*void*/ Node.prototype.addEventListener = function( /*string*/ type, /*EventListener*/ listener, /*boolean*/ useCapture) { try{ this.removeEventListener(type, listener, useCapture); //いったん、(あれば)リスナーを離す。 - var s = new EventListener(useCapture, type, listener); //リスナーを作成 + var s = new EventListener(useCapture, type, listener), //リスナーを作成 + t = type.charAt(0), + node, evt; this._capter[this._capter.length] = s; //このノードにリスナーを登録しておく - var t = type.charAt(0); if (t !== "D" && t !== "S" && type !== "beginEvent" && type !== "endEvent" && type !== "repeatEvent") { //MouseEventsならば - var node = this; + node = this; node._tar.attachEvent("on" +type, function(){ - var evt = node.ownerDocument.createEvent("MouseEvents"); + evt = node.ownerDocument.createEvent("MouseEvents"); evt.initMouseEvent(type, true, true, node.ownerDocument.defaultView, 0); node.dispatchEvent(evt); evt = null; }); } - s = t = null; + s = t = node = null; }catch(e){ stlog.add(e, 122); } @@ -135,11 +136,17 @@ tce[i] = null; } } + i = tcli = tce = null; }; /*boolean*/ Node.prototype.dispatchEvent = function( /*Event*/ evt) { if (!evt.type || evt.type === "") { //Eventの型が設定されていないとき throw new EventException(EventException.UNSPECIFIED_EVENT_TYPE_ERR); } + var te = this, + td = this.ownerDocument, + time, tob, + type = /*Event.CAPTURING_PHASE*/ 1, + tce; if (!this.ownerDocument._isLoaded) { /*以下では、画像の処理に時間がかかりそうな場合、処理落ちとして、遅延処理 *を行い、バッファリングにイベント送付処理をためていく作業となる @@ -150,11 +157,11 @@ if (!this.ownerDocument._limit_time_) { this.ownerDocument._limit_time_ = evt.timeStamp; } else { - var time = this.ownerDocument._limit_time_; + time = this.ownerDocument._limit_time_; if ((evt.timeStamp - time) > 1000) { if (this.ownerDocument.implementation._buffer_) { /*1秒を超えたらバッファにため込んで後で使う*/ - var tob = this.ownerDocument.implementation._buffer_; + tob = this.ownerDocument.implementation._buffer_; tob[tob.length] = this; tob[tob.length] = evt; } else { @@ -166,9 +173,7 @@ } evt.target = this; evt.eventPhase = 1;//Event.CAPTURING_PHASE - var te = this; //このノードからドキュメントノードにいたるまでの、DOMツリーのリストを作成しておく - var td = this.ownerDocument; td[/*Event.BUBBLING_PHASE*/ 3] = null; /*以下の処理では、documentElementのparentNodeが *Documentノードではなく、nullになっていることを前提としている。 @@ -184,20 +189,18 @@ /*最初に捕獲フェーズでDOMツリーを下っていき、イベントのターゲットについたら、 *そこで、浮上フェーズとして折り返すように、反復処理をおこなう。 */ - var type = /*Event.CAPTURING_PHASE*/ 1; while (td) { evt.currentTarget = td; if (td === this) { //イベントのターゲットに到着(折り返し地点) type = 2;//Event.AT_TARGET; } evt.eventPhase = type; - var tce = td._capter; //tceは登録しておいたリスナーのリスト + tce = td._capter; //tceは登録しておいたリスナーのリスト for (var j=0,tcli=tce.length;j this.length) { //offsetとcountの和が文字全体の長さを超える場合、offsetから最後までのを削除 next = ""; } this.data = pre + next; this.length = this.data.length; /*ここから*/ - var evt = this.ownerDocument.createEvent("MutationEvents"); + evt = this.ownerDocument.createEvent("MutationEvents"); evt.initMutationEvent("DOMCharacterDataModified", true, false, null, pd, this.data, null, null); this.parentNode.dispatchEvent(evt); evt = pd = null; From svnnotify @ sourceforge.jp Wed Mar 23 23:21:16 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 23 Mar 2011 23:21:16 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTAxXSAgaW1wb3J0Tm9k?= =?utf-8?b?ZeODoeOCveODg+ODieOBq+OBpOOBhOOBpuOAgXZhcuaWh+OCkuaVtOeQhg==?= Message-ID: <1300890076.187170.13530.nullmailer@users.sourceforge.jp> Revision: 2501 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2501 Author: dhrname Date: 2011-03-23 23:21:16 +0900 (Wed, 23 Mar 2011) Log Message: ----------- importNodeメソッドについて、var文を整理 Modified Paths: -------------- branches/07x/073/org/w3c/core.js Modified: branches/07x/073/org/w3c/core.js =================================================================== --- branches/07x/073/org/w3c/core.js 2011-03-22 14:28:00 UTC (rev 2500) +++ branches/07x/073/org/w3c/core.js 2011-03-23 14:21:16 UTC (rev 2501) @@ -854,28 +854,30 @@ *自身のドキュメントノードに、他のドキュメントノードから作られたノードを取り込みたいときに用いる */ /*Node*/ Document.prototype.importNode = function( /*Node*/ importedNode, /*boolean*/ deep) { - var s, imn = importedNode.nodeType; + var s, + imn = importedNode.nodeType, + attr, att, fi, n, uri, ch; /*以下の処理は引き渡されたimportedNodeがMSXMLによって解析された *データであることを前提にしている */ if (imn === /*Node.ELEMENT_NODE*/ 1) { s = this.createElementNS(importedNode.namespaceURI, importedNode.nodeName); - var attr = importedNode.attributes, att; + attr = importedNode.attributes; for (var i=0,atli=attr.length;i Revision: 2502 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2502 Author: dhrname Date: 2011-03-23 23:30:35 +0900 (Wed, 23 Mar 2011) Log Message: ----------- createAtrributeNSメソッドについて整理と、Attrのnodevalueプロパティを修正 Modified Paths: -------------- branches/07x/073/org/w3c/core.js Modified: branches/07x/073/org/w3c/core.js =================================================================== --- branches/07x/073/org/w3c/core.js 2011-03-23 14:21:16 UTC (rev 2501) +++ branches/07x/073/org/w3c/core.js 2011-03-23 14:30:35 UTC (rev 2502) @@ -530,6 +530,7 @@ Attr.prototype = new Node(); //ノードのプロトタイプチェーンを作って、継承 Attr.constructor = Node; Attr.prototype.nodeType = Node.ATTRIBUTE_NODE; +Attr.prototype.nodeValue = null; /*Element *要素ノード。削除不可。 @@ -797,7 +798,7 @@ /*Text*/ Document.prototype.createTextNode = function( /*string*/ data) { var s = new Text(); s.data = s.nodeValue = data+""; - s.length = (data+"").length; + s.length = s.data.length; s.ownerDocument = this; return s; }; @@ -929,7 +930,9 @@ *例:var s = DOC.createElementNS("http://www.w3.org/2000/svg", "svg:svg"); */ /*Element*/ Document.prototype.createElementNS = function( /*string*/ namespaceURI, /*string*/ qualifiedName) { - var ele, prefix = null, localName = null; + var ele, + prefix = null, + localName = null; if (!qualifiedName) { throw (new DOMException(DOMException.INVALID_CHARACTER_ERR)); } @@ -966,12 +969,12 @@ *属性ノードを作る。setAttributeNSで使うため、削除不可 */ /*Attr*/ Document.prototype.createAttributeNS = function( /*string*/ namespaceURI, /*string*/ qualifiedName) { - var attr = new Attr(); + var attr = new Attr(), + p; attr.namespaceURI = namespaceURI; attr.nodeName = attr.name = qualifiedName; - attr.nodeValue = null; if (qualifiedName.indexOf(":") !== -1){ - var p = qualifiedName.split(":"); + p = qualifiedName.split(":"); attr.prefix = p[0]; attr.localName = p[1]; } else { @@ -979,6 +982,7 @@ attr.localName = qualifiedName; } attr.ownerDocument = this; + p = qualifiedName = null; return attr; }; /*getElementsByTagNameNSメソッド From svnnotify @ sourceforge.jp Thu Mar 24 20:43:06 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 24 Mar 2011 20:43:06 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTAzXSAgZGlzcGF0Y2hF?= =?utf-8?b?dmVudOODoeOCveODg+ODieOBruani+aWh+OCkuaVtOeQhg==?= Message-ID: <1300966986.893883.3598.nullmailer@users.sourceforge.jp> Revision: 2503 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2503 Author: dhrname Date: 2011-03-24 20:43:06 +0900 (Thu, 24 Mar 2011) Log Message: ----------- dispatchEventメソッドの構文を整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/events.js Modified: branches/07x/073/org/w3c/dom/events.js =================================================================== --- branches/07x/073/org/w3c/dom/events.js 2011-03-23 14:30:35 UTC (rev 2502) +++ branches/07x/073/org/w3c/dom/events.js 2011-03-24 11:43:06 UTC (rev 2503) @@ -144,48 +144,43 @@ } var te = this, td = this.ownerDocument, - time, tob, + etime = evt.timeStamp, + tob, type = /*Event.CAPTURING_PHASE*/ 1, tce; - if (!this.ownerDocument._isLoaded) { + if (!td._isLoaded) { /*以下では、画像の処理に時間がかかりそうな場合、処理落ちとして、遅延処理 *を行い、バッファリングにイベント送付処理をためていく作業となる */ if (evt.type === "SVGLoad") { - this.ownerDocument._isLoaded = 1; + td._isLoaded = 1; } - if (!this.ownerDocument._limit_time_) { - this.ownerDocument._limit_time_ = evt.timeStamp; - } else { - time = this.ownerDocument._limit_time_; - if ((evt.timeStamp - time) > 1000) { - if (this.ownerDocument.implementation._buffer_) { - /*1秒を超えたらバッファにため込んで後で使う*/ - tob = this.ownerDocument.implementation._buffer_; - tob[tob.length] = this; - tob[tob.length] = evt; - } else { - this.ownerDocument.implementation._buffer_ = []; - } - return true; - } + if (!td._limit_time_) { + td._limit_time_ = etime; + } else if ((etime - td._limit_time_) > 1000) { + /*1秒を超えたらバッファにため込んで後で使う*/ + tob = td.implementation._buffer_ || []; + tob[tob.length] = this; + tob[tob.length] = evt; + td.implementation._buffer_ = tob; + return true; } } evt.target = this; evt.eventPhase = 1;//Event.CAPTURING_PHASE //このノードからドキュメントノードにいたるまでの、DOMツリーのリストを作成しておく - td[/*Event.BUBBLING_PHASE*/ 3] = null; + td[/*Event.BUBBLING_PHASE*/ "3"] = null; /*以下の処理では、documentElementのparentNodeが *Documentノードではなく、nullになっていることを前提としている。 *したがって、documentElementのparentNodeがもし、Documentノードのオブジェクトならば、以下を書き換えるべきである */ while (te.parentNode) { - te.parentNode[/*Event.CAPTURING_PHASE*/ 1] = te; - te[/*Event.BUBBLING_PHASE*/ 3] = te.parentNode; + te.parentNode[/*Event.CAPTURING_PHASE*/ "1"] = te; + te[/*Event.BUBBLING_PHASE*/ "3"] = te.parentNode; te = te.parentNode; } - td[/*Event.CAPTURING_PHASE*/ 1] = te; - te[/*Event.BUBBLING_PHASE*/ 3] = td; + td[/*Event.CAPTURING_PHASE*/ "1"] = te; + te[/*Event.BUBBLING_PHASE*/ "3"] = td; /*最初に捕獲フェーズでDOMツリーを下っていき、イベントのターゲットについたら、 *そこで、浮上フェーズとして折り返すように、反復処理をおこなう。 */ @@ -212,8 +207,8 @@ } td = td[type]; } - var ed = evt._default - evt = te = tce = n = td = type = time = tob = j = tcli =null; + var ed = evt._default; + evt = te = tce = n = td = type = tob = j = tcli =null; return ed; }; From svnnotify @ sourceforge.jp Thu Mar 24 20:54:08 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 24 Mar 2011 20:54:08 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTA0XSAgZGlzcGF0Y2hF?= =?utf-8?b?dmVudOODoeOCveODg+ODieOBruaVtOeQhg==?= Message-ID: <1300967648.062869.24417.nullmailer@users.sourceforge.jp> Revision: 2504 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2504 Author: dhrname Date: 2011-03-24 20:54:07 +0900 (Thu, 24 Mar 2011) Log Message: ----------- dispatchEventメソッドの整理 Modified Paths: -------------- branches/07x/073/org/w3c/dom/events.js Modified: branches/07x/073/org/w3c/dom/events.js =================================================================== --- branches/07x/073/org/w3c/dom/events.js 2011-03-24 11:43:06 UTC (rev 2503) +++ branches/07x/073/org/w3c/dom/events.js 2011-03-24 11:54:07 UTC (rev 2504) @@ -113,12 +113,12 @@ this.removeEventListener(type, listener, useCapture); //いったん、(あれば)リスナーを離す。 var s = new EventListener(useCapture, type, listener), //リスナーを作成 t = type.charAt(0), - node, evt; + node; this._capter[this._capter.length] = s; //このノードにリスナーを登録しておく if (t !== "D" && t !== "S" && type !== "beginEvent" && type !== "endEvent" && type !== "repeatEvent") { //MouseEventsならば node = this; node._tar.attachEvent("on" +type, function(){ - evt = node.ownerDocument.createEvent("MouseEvents"); + var evt = node.ownerDocument.createEvent("MouseEvents"); evt.initMouseEvent(type, true, true, node.ownerDocument.defaultView, 0); node.dispatchEvent(evt); evt = null; @@ -145,6 +145,8 @@ var te = this, td = this.ownerDocument, etime = evt.timeStamp, + etype = evt.type, + ebub = evt.bubbles, tob, type = /*Event.CAPTURING_PHASE*/ 1, tce; @@ -192,7 +194,7 @@ evt.eventPhase = type; tce = td._capter; //tceは登録しておいたリスナーのリスト for (var j=0,tcli=tce.length;j Revision: 2505 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2505 Author: dhrname Date: 2011-03-24 21:10:48 +0900 (Thu, 24 Mar 2011) Log Message: ----------- addEventListenerメソッドを修正して、マウスイベントに対処できるようにした Modified Paths: -------------- branches/07x/073/org/w3c/dom/events.js Modified: branches/07x/073/org/w3c/dom/events.js =================================================================== --- branches/07x/073/org/w3c/dom/events.js 2011-03-24 11:54:07 UTC (rev 2504) +++ branches/07x/073/org/w3c/dom/events.js 2011-03-24 12:10:48 UTC (rev 2505) @@ -113,16 +113,19 @@ this.removeEventListener(type, listener, useCapture); //いったん、(あれば)リスナーを離す。 var s = new EventListener(useCapture, type, listener), //リスナーを作成 t = type.charAt(0), - node; + that; this._capter[this._capter.length] = s; //このノードにリスナーを登録しておく - if (t !== "D" && t !== "S" && type !== "beginEvent" && type !== "endEvent" && type !== "repeatEvent") { //MouseEventsならば - node = this; - node._tar.attachEvent("on" +type, function(){ - var evt = node.ownerDocument.createEvent("MouseEvents"); - evt.initMouseEvent(type, true, true, node.ownerDocument.defaultView, 0); - node.dispatchEvent(evt); - evt = null; - }); + if ((t !== "D") && (t !== "S") && (type !== "beginEvent") && (type !== "endEvent") && (type !== "repeatEvent")) { //MouseEventsならば + that = this; + that._tar.attachEvent("on" +type, (function(node) { + return function(){ + var evt = node.ownerDocument.createEvent("MouseEvents"); + evt.initMouseEvent(type, true, true, node.ownerDocument.defaultView, 0); + node.dispatchEvent(evt); + evt = null; + }; + })(that) + ); } s = t = node = null; }catch(e){ From svnnotify @ sourceforge.jp Thu Mar 24 21:14:48 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 24 Mar 2011 21:14:48 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTA2XSAgYWRkRXZlbnRM?= =?utf-8?b?aXN0ZW5lcuODoeOCveODg+ODieOBruS/ruatow==?= Message-ID: <1300968888.316779.28544.nullmailer@users.sourceforge.jp> Revision: 2506 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2506 Author: dhrname Date: 2011-03-24 21:14:48 +0900 (Thu, 24 Mar 2011) Log Message: ----------- addEventListenerメソッドの修正 Modified Paths: -------------- branches/07x/073/org/w3c/dom/events.js Modified: branches/07x/073/org/w3c/dom/events.js =================================================================== --- branches/07x/073/org/w3c/dom/events.js 2011-03-24 12:10:48 UTC (rev 2505) +++ branches/07x/073/org/w3c/dom/events.js 2011-03-24 12:14:48 UTC (rev 2506) @@ -109,28 +109,24 @@ /* // Introduced in DOM Level 2: interface EventTarget {*/ /*void*/ Node.prototype.addEventListener = function( /*string*/ type, /*EventListener*/ listener, /*boolean*/ useCapture) { - try{ - this.removeEventListener(type, listener, useCapture); //いったん、(あれば)リスナーを離す。 - var s = new EventListener(useCapture, type, listener), //リスナーを作成 - t = type.charAt(0), - that; - this._capter[this._capter.length] = s; //このノードにリスナーを登録しておく - if ((t !== "D") && (t !== "S") && (type !== "beginEvent") && (type !== "endEvent") && (type !== "repeatEvent")) { //MouseEventsならば - that = this; - that._tar.attachEvent("on" +type, (function(node) { - return function(){ - var evt = node.ownerDocument.createEvent("MouseEvents"); - evt.initMouseEvent(type, true, true, node.ownerDocument.defaultView, 0); - node.dispatchEvent(evt); - evt = null; - }; - })(that) - ); - } - s = t = node = null; - }catch(e){ - stlog.add(e, 122); + this.removeEventListener(type, listener, useCapture); //いったん、(あれば)リスナーを離す。 + var s = new EventListener(useCapture, type, listener), //リスナーを作成 + t = type.charAt(0), + that; + this._capter[this._capter.length] = s; //このノードにリスナーを登録しておく + if ((t !== "D") && (t !== "S") && (type !== "beginEvent") && (type !== "endEvent") && (type !== "repeatEvent")) { //MouseEventsならば + that = this; + that._tar && that._tar.attachEvent("on" +type, (function(node) { + return function(){ + var evt = node.ownerDocument.createEvent("MouseEvents"); + evt.initMouseEvent(type, true, true, node.ownerDocument.defaultView, 0); + node.dispatchEvent(evt); + evt = null; + }; + })(that) + ); } + s = t = node = null; }; /*void*/ Node.prototype.removeEventListener = function( /*string*/ type, /*EventListener*/ listener, /*boolean*/ useCapture) { var tce = this._capter; From svnnotify @ sourceforge.jp Thu Mar 24 21:18:56 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 24 Mar 2011 21:18:56 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTA3XQ==?= Message-ID: <1300969136.500946.1729.nullmailer@users.sourceforge.jp> Revision: 2507 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2507 Author: dhrname Date: 2011-03-24 21:18:56 +0900 (Thu, 24 Mar 2011) Log Message: ----------- Modified Paths: -------------- branches/07x/073/org/w3c/dom/events.js Modified: branches/07x/073/org/w3c/dom/events.js =================================================================== --- branches/07x/073/org/w3c/dom/events.js 2011-03-24 12:14:48 UTC (rev 2506) +++ branches/07x/073/org/w3c/dom/events.js 2011-03-24 12:18:56 UTC (rev 2507) @@ -126,7 +126,7 @@ })(that) ); } - s = t = node = null; + s = t = that = null; }; /*void*/ Node.prototype.removeEventListener = function( /*string*/ type, /*EventListener*/ listener, /*boolean*/ useCapture) { var tce = this._capter; From svnnotify @ sourceforge.jp Thu Mar 24 21:31:23 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 24 Mar 2011 21:31:23 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTA4XSAg5LiN6KaB44Gq?= =?utf-8?b?44Kz44Oh44Oz44OI44KS5YmK6Zmk?= Message-ID: <1300969883.366099.22091.nullmailer@users.sourceforge.jp> Revision: 2508 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2508 Author: dhrname Date: 2011-03-24 21:31:23 +0900 (Thu, 24 Mar 2011) Log Message: ----------- 不要なコメントを削除 Modified Paths: -------------- branches/07x/073/org/w3c/dom/css.js Modified: branches/07x/073/org/w3c/dom/css.js =================================================================== --- branches/07x/073/org/w3c/dom/css.js 2011-03-24 12:18:56 UTC (rev 2507) +++ branches/07x/073/org/w3c/dom/css.js 2011-03-24 12:31:23 UTC (rev 2508) @@ -708,7 +708,7 @@ if (!!tar._runtimeStyle) { return (tar._runtimeStyle); } else { - var s = new CSSStyleDeclaration(), setProp = s.setProperty; //このsetPropは関数オブジェクトではなくて、単なる関数のラベル + var s = new CSSStyleDeclaration(), setProp = s.setProperty; tar._runtimeStyle = s; } s.setProperty = function(propertyName, value, priority) { From svnnotify @ sourceforge.jp Sat Mar 26 20:42:11 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 26 Mar 2011 20:42:11 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTA5XSAg44OB44Kx44OD?= =?utf-8?b?44OIICMyNDY0OA==?= Message-ID: <1301139731.056341.6619.nullmailer@users.sourceforge.jp> Revision: 2509 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2509 Author: dhrname Date: 2011-03-26 20:42:10 +0900 (Sat, 26 Mar 2011) Log Message: ----------- チケット #24648 「単位「%」の解釈が異常」を修正 Ticket Links: :----------- http://sourceforge.jp/projects/sie/tracker/detail/24648 Modified Paths: -------------- branches/07x/073/org/w3c/dom/svg.js Modified: branches/07x/073/org/w3c/dom/svg.js =================================================================== --- branches/07x/073/org/w3c/dom/svg.js 2011-03-24 12:31:23 UTC (rev 2508) +++ branches/07x/073/org/w3c/dom/svg.js 2011-03-26 11:42:10 UTC (rev 2509) @@ -258,6 +258,8 @@ if (!!tar[name]) { var tea = tar[name], tod = tar.ownerDocument.documentElement, + tvw = tod.viewport.width, + tvh = tod.viewport.height, n, type, _parseFloat, @@ -270,10 +272,12 @@ n = n[0]; } if (n === "%") { - if ((name === "x") || (name === "width")) { - tea.baseVal._percent *= tod.viewport.width; - } else if ((name === "y") || (name === "height")) { - tea.baseVal._percent *= tod.viewport.height; + if (tar._x1width[name]) { + tea.baseVal._percent = tvw * 0.01; + } else if (tar._y1height[name]) { + tea.baseVal._percent = tvh * 0.01; + } else { + tea.baseVal._percent = Math.sqrt((tvw*tvw + tvh*tvh) / 2) * 0.01; } type = /*SVGLength.SVG_LENGTHTYPE_PERCENTAGE*/ 2; } else if (n === "em") { @@ -297,7 +301,7 @@ s = isNaN(s) ? 0 : s; tea.baseVal.newValueSpecifiedUnits(type, s); } - tea = tod = n = type = _parseFloat = s = null; + tea = tod = tvw = tvh = n = type = _parseFloat = s = null; } } evt = _parseFloat = name = tar = null; @@ -320,7 +324,21 @@ *getCTMメソッドで使う */ this._cacheMatrix = null; - + /*以下のオブジェクトは単位がパーセント付きの属性の名前を示し、処理に使う*/ + this._x1width = { + "x" : 1, + "x1" : 1, + "x2" : 1, + "width" : 1, + "cx" : 1 + }; + this._y1height = { + "y" : 1, + "y1" : 1, + "y2" : 1, + "height" : 1, + "cy" : 1 + }; /*String*/ this.id = null; //id属性の値 /*String*/ this.xmlbase = null; //xml:base属性の値 /*SVGSVGElement*/ this.ownerSVGElement; //ルート要素であるsvg要素 @@ -597,6 +615,7 @@ }, /*_emToUnitメソッド *emやexが単位に使われていたときに、@fontSizeの値を手がかりに、新たな値へとvalueを変換させる + *単位が%の場合は、新しいvalueへと変換させておく */ _emToUnit : function (/*float*/ fontSize) { if ((this.unitType === /*SVGLength.SVG_LENGTHTYPE_EMS*/ 3) || (this.unitType === 4)) { From svnnotify @ sourceforge.jp Sat Mar 26 23:19:26 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 26 Mar 2011 23:19:26 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTExXQ==?= Message-ID: <1301149166.629311.27276.nullmailer@users.sourceforge.jp> Revision: 2511 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2511 Author: dhrname Date: 2011-03-26 23:19:26 +0900 (Sat, 26 Mar 2011) Log Message: ----------- Added Paths: ----------- branches/07x/074/ From svnnotify @ sourceforge.jp Sat Mar 26 23:20:05 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 26 Mar 2011 23:20:05 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTEyXSAwLjc0IGJyYW5j?= =?utf-8?q?hes?= Message-ID: <1301149205.337485.28757.nullmailer@users.sourceforge.jp> Revision: 2512 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2512 Author: dhrname Date: 2011-03-26 23:20:05 +0900 (Sat, 26 Mar 2011) Log Message: ----------- 0.74 branches Added Paths: ----------- branches/07x/074/org/ Property changes on: branches/07x/074/org ___________________________________________________________________ Added: svn:mergeinfo + /branches/06x/061/org:1864-2067 /branches/06x/062/org:2071-2106 /branches/06x/063/org:2110-2146 /branches/06x/064/org:2149-2177 /branches/06x/065/org:2179-2209 /branches/06x/066/org:2211-2236 /branches/06x/067/org:2257-2282 /branches/06x/068/org:2284-2314 /branches/06x/069/org:2317-2352 /branches/06x/org:1861-2353 /branches/07x/070/org:2363-2383 /branches/07x/071/org:2385-2433 /branches/07x/072/org:2435-2474 /branches/07x/073/org:2476-2509 From svnnotify @ sourceforge.jp Sat Mar 26 23:32:22 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 26 Mar 2011 23:32:22 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTE0XQ==?= Message-ID: <1301149942.427856.14824.nullmailer@users.sourceforge.jp> Revision: 2514 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2514 Author: dhrname Date: 2011-03-26 23:32:22 +0900 (Sat, 26 Mar 2011) Log Message: ----------- Modified Paths: -------------- branches/07x/sie.js Modified: branches/07x/sie.js =================================================================== --- branches/07x/sie.js 2011-03-26 14:31:24 UTC (rev 2513) +++ branches/07x/sie.js 2011-03-26 14:32:22 UTC (rev 2514) @@ -3875,7 +3875,6 @@ /*responseXMLを使うと、時々、空のデータを返すことがあるため(原因は不明)、 *ここでは、responseTextを用いる */ - var dsd = new Date(); var str = this.xmlhttp.responseText, objei = this._tar, s = DOMImplementation.createDocument("http://www.w3.org/2000/svg", "svg"), @@ -4035,7 +4034,6 @@ text = _parseFloat = null; /*IEのメモリリーク対策として、空関数を入力*/ this.xmlhttp.onreadystatechange = NAIBU.emptyFunction; - alert(+(new Date()) - dsd.getTime()) if (this._next) { s = null; this._next._init(); From svnnotify @ sourceforge.jp Sat Mar 26 23:32:58 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Sat, 26 Mar 2011 23:32:58 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTE1XSAwLiA3M+ODmQ==?= =?utf-8?b?44O844K/44Gu5aSJ5pu05bGl5q2044KS6L+95Yqg?= Message-ID: <1301149978.342288.15413.nullmailer@users.sourceforge.jp> Revision: 2515 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2515 Author: dhrname Date: 2011-03-26 23:32:58 +0900 (Sat, 26 Mar 2011) Log Message: ----------- 0.73ベータの変更履歴を追加 Modified Paths: -------------- trunk/ChangeLog.txt Modified: trunk/ChangeLog.txt =================================================================== --- trunk/ChangeLog.txt 2011-03-26 14:32:22 UTC (rev 2514) +++ trunk/ChangeLog.txt 2011-03-26 14:32:58 UTC (rev 2515) @@ -1,4 +1,13 @@ -?2011-3-20 version 0.72 +?2011-3-26 version 0.73 beta +version 0.72からの変更点 +1, var文に対して、構文を整理した +2, GetSVGDocumentの_initメソッドに関して、クロージャの修正をした +3, createAtrributeNSメソッドについて整理と、Attrのnodevalueプロパティを修正 +4, addEventListenerメソッドを修正して、マウスイベントに対処できるようにした +5, チケット #24648 「単位「%」の解釈が異常」を修正 +6, SVGURIReferenceのvar文において、showの値が設定されていなかったので修正 + +2011-3-20 version 0.72 version 0.71からの変更点 1, SVGElementのプロパティを整理 2, SVGxxxListにすべて、Array型を継承させた From svnnotify @ sourceforge.jp Mon Mar 28 22:00:24 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 28 Mar 2011 22:00:24 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTE4XSAgQ1NTU3R5bGVE?= =?utf-8?b?ZWNsYXJhdGlvbuOBrnZhcuaWh+OCkuaVtOeQhuOBl+OBnw==?= Message-ID: <1301317224.070251.27264.nullmailer@users.sourceforge.jp> Revision: 2518 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2518 Author: dhrname Date: 2011-03-28 22:00:23 +0900 (Mon, 28 Mar 2011) Log Message: ----------- CSSStyleDeclarationのvar文を整理した Modified Paths: -------------- branches/07x/074/org/w3c/dom/css.js Modified: branches/07x/074/org/w3c/dom/css.js =================================================================== --- branches/07x/074/org/w3c/dom/css.js 2011-03-26 14:46:05 UTC (rev 2517) +++ branches/07x/074/org/w3c/dom/css.js 2011-03-28 13:00:23 UTC (rev 2518) @@ -208,13 +208,15 @@ *CSSValueオブジェクトを返す。このメソッドは判別に用いているので、削除不可。 */ /*CSSValue*/ getPropertyCSSValue : function( /*string*/ propertyName) { - var prop = propertyName; + var prop = propertyName, + ti, tc; propertyName += ":"; if (propertyName === ":") { //どんなデータ型でも、文字列に変換する機能をJavaScriptが持つことに注意 return null; } for (var i=0,tli=this._list.length;i -1) { //プロパティ名に合致するCSSValueオブジェクトが見つかった場合 ti._empercents = this._list._fontSize; tc = prop = propertyName = null; @@ -253,11 +255,14 @@ *プロパティを宣言内で、明示的に設定。継承は無視する */ /*void*/ setProperty : function( /*string*/ propertyName, /*string*/ value, /*string*/ priority) { - var cssText = ""; + var cssText = "", + tg = null, + ti, paintType, + uri = null, + color = null, + fill, stroke; if (!!this[propertyName]) { - var tg = this.getPropertyCSSValue(propertyName); - } else { - var tg = null; + tg = this.getPropertyCSSValue(propertyName); } cssText += propertyName; cssText += ":"; @@ -265,14 +270,14 @@ if (tg) { //見つかった場合 tg._priority = priority; tg.cssText = cssText; - var ti = tg; + ti = tg; } else { if ((propertyName === "fill") || (propertyName === "stroke")) { /*fill、strokeプロパティは別途、SVGPaintで処理(JavaScriptでは、型キャストを使えないため) *CSSPrimitiveValueオブジェクトとSVGPaintオブジェクトを最後に置き換える */ - var ti = new SVGPaint(); - var paintType = SVGPaint.SVG_PAINTTYPE_UNKNOWN, uri = null, color = null; + ti = new SVGPaint(); + paintType = /*SVGPaint.SVG_PAINTTYPE_UNKNOWN*/ 0; if (value === "none") { paintType = SVGPaint.SVG_PAINTTYPE_NONE; } else if (value === "currentColor") { @@ -291,8 +296,9 @@ ti.setPaint(paintType, uri, color, null); paintType = uri = color = null; } else if (propertyName === "color") { - var ti = new CSSPrimitiveValue(); - var fill = this.getPropertyCSSValue("fill"), stroke = this.getPropertyCSSValue("stroke"); + ti = new CSSPrimitiveValue(); + fill = this.getPropertyCSSValue("fill"); + stroke = this.getPropertyCSSValue("stroke"); if (fill) { if (fill.paintType === SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR) { fill.setPaint(fill.paintType, null, value, null); @@ -303,7 +309,7 @@ } } } else { - var ti = new CSSPrimitiveValue(); + ti = new CSSPrimitiveValue(); } ti._priority = priority; ti.cssText = cssText; From svnnotify @ sourceforge.jp Mon Mar 28 22:28:29 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 28 Mar 2011 22:28:29 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTE5XSAgc2V0UHJvcGVy?= =?utf-8?b?dHnjg6Hjgr3jg4Pjg4njgpLmlbTnkIbjgZfjgabjgIHou73ph4/ljJbjgZc=?= =?utf-8?b?44Gf?= Message-ID: <1301318909.233552.24120.nullmailer@users.sourceforge.jp> Revision: 2519 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2519 Author: dhrname Date: 2011-03-28 22:28:29 +0900 (Mon, 28 Mar 2011) Log Message: ----------- setPropertyメソッドを整理して、軽量化した Modified Paths: -------------- branches/07x/074/org/w3c/dom/css.js Modified: branches/07x/074/org/w3c/dom/css.js =================================================================== --- branches/07x/074/org/w3c/dom/css.js 2011-03-28 13:00:23 UTC (rev 2518) +++ branches/07x/074/org/w3c/dom/css.js 2011-03-28 13:28:29 UTC (rev 2519) @@ -192,6 +192,7 @@ cssText : "", /*long*/ length : 0, /*CSSRule*/ parentRule : null, + _urlreg : /url\(#([^)]+)/, /*getPropertyValueメソッド *CSSの値を返す。この値は継承ではなくて、明示的に表記されているもの */ @@ -257,7 +258,7 @@ /*void*/ setProperty : function( /*string*/ propertyName, /*string*/ value, /*string*/ priority) { var cssText = "", tg = null, - ti, paintType, + ti, paintType, v1, uri = null, color = null, fill, stroke; @@ -278,23 +279,21 @@ */ ti = new SVGPaint(); paintType = /*SVGPaint.SVG_PAINTTYPE_UNKNOWN*/ 0; - if (value === "none") { - paintType = SVGPaint.SVG_PAINTTYPE_NONE; + v1 = value.charAt(0); + if ((v1 === "#") || ti._keywords[value] || (v1 === "r")) { + paintType = /*SVGPaint.SVG_PAINTTYPE_RGBCOLOR*/ 1; + color = value; + } else if (value === "none") { + paintType = /*SVGPaint.SVG_PAINTTYPE_NONE*/ 101; + } else if (this._urlreg.test(value)) { //fill属性の値がurl(#id)ならば + paintType = /*SVGPaint.SVG_PAINTTYPE_URI*/ 107; + uri = RegExp.$1; } else if (value === "currentColor") { - paintType = SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR; + paintType = /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102; color = this.getPropertyValue("color"); - } else { - var _urlreg = /url\(#([^)]+)/; - if (_urlreg.test(value)) { //fill属性の値がurl(#id)ならば - paintType = SVGPaint.SVG_PAINTTYPE_URI; - uri = RegExp.$1; - } else { - paintType = SVGPaint.SVG_PAINTTYPE_RGBCOLOR; - color = value; - } } ti.setPaint(paintType, uri, color, null); - paintType = uri = color = null; + paintType = v1 = uri = color = null; } else if (propertyName === "color") { ti = new CSSPrimitiveValue(); fill = this.getPropertyCSSValue("fill"); From svnnotify @ sourceforge.jp Mon Mar 28 22:32:57 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 28 Mar 2011 22:32:57 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTIwXSAgc2V0UHJvcGVy?= =?utf-8?b?dHnjg6Hjgr3jg4Pjg4njgavjgYrjgYTjgabjgIFvcGFjaXR55bGe5oCn44Gu?= =?utf-8?b?5YCk44Gr5a++44GX44Gm44CBcGFyc2VGbG9hdOOCkuS9v+OBhuOBruOCkg==?= =?utf-8?b?44KE44KB44Gm44CB6KiY5Y+344Gr5YiH44KK5pu/44GI44Gf?= Message-ID: <1301319177.488590.28329.nullmailer@users.sourceforge.jp> Revision: 2520 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2520 Author: dhrname Date: 2011-03-28 22:32:57 +0900 (Mon, 28 Mar 2011) Log Message: ----------- setPropertyメソッドにおいて、opacity属性の値に対して、parseFloatを使うのをやめて、記号に切り替えた Modified Paths: -------------- branches/07x/074/org/w3c/dom/css.js Modified: branches/07x/074/org/w3c/dom/css.js =================================================================== --- branches/07x/074/org/w3c/dom/css.js 2011-03-28 13:28:29 UTC (rev 2519) +++ branches/07x/074/org/w3c/dom/css.js 2011-03-28 13:32:57 UTC (rev 2520) @@ -299,11 +299,11 @@ fill = this.getPropertyCSSValue("fill"); stroke = this.getPropertyCSSValue("stroke"); if (fill) { - if (fill.paintType === SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR) { + if (fill.paintType === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { fill.setPaint(fill.paintType, null, value, null); } } else if (stroke) { - if (stroke.paintType === SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR) { + if (stroke.paintType === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { stroke.setPaint(fill.paintType, null, value, null); } } @@ -321,7 +321,7 @@ if (value === "inherit") { ti.cssValueType = CSSValue.CSS_INHERIT; } else if (propertyName === "opacity") { - this._list._opacity = parseFloat(value); + this._list._opacity = +value; } else if (propertyName === "font-size") { if (/(%|em)/.test(value)) { this._list.fontSize = parseFloat(value); From svnnotify @ sourceforge.jp Mon Mar 28 22:38:04 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 28 Mar 2011 22:38:04 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTIxXQ==?= Message-ID: <1301319484.860417.1919.nullmailer@users.sourceforge.jp> Revision: 2521 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2521 Author: dhrname Date: 2011-03-28 22:38:04 +0900 (Mon, 28 Mar 2011) Log Message: ----------- Modified Paths: -------------- branches/07x/074/org/w3c/dom/css.js Modified: branches/07x/074/org/w3c/dom/css.js =================================================================== --- branches/07x/074/org/w3c/dom/css.js 2011-03-28 13:32:57 UTC (rev 2520) +++ branches/07x/074/org/w3c/dom/css.js 2011-03-28 13:38:04 UTC (rev 2521) @@ -256,7 +256,7 @@ *プロパティを宣言内で、明示的に設定。継承は無視する */ /*void*/ setProperty : function( /*string*/ propertyName, /*string*/ value, /*string*/ priority) { - var cssText = "", + var cssText = propertyName, tg = null, ti, paintType, v1, uri = null, @@ -265,7 +265,6 @@ if (!!this[propertyName]) { tg = this.getPropertyCSSValue(propertyName); } - cssText += propertyName; cssText += ":"; cssText += value; if (tg) { //見つかった場合 From svnnotify @ sourceforge.jp Mon Mar 28 23:04:14 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 28 Mar 2011 23:04:14 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTIyXSAgU1ZHQW5nbGU=?= =?utf-8?b?44GuY29udmVydFRvU3BlY2lmaWVk44Oh44K944OD44OJ44KS5L+u5q2j?= Message-ID: <1301321054.346087.30973.nullmailer@users.sourceforge.jp> Revision: 2522 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2522 Author: dhrname Date: 2011-03-28 23:04:14 +0900 (Mon, 28 Mar 2011) Log Message: ----------- SVGAngleのconvertToSpecifiedメソッドを修正 Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-28 13:38:04 UTC (rev 2521) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-28 14:04:14 UTC (rev 2522) @@ -671,7 +671,14 @@ //raises( DOMException ); }, /*void*/ convertToSpecifiedUnits : function (/*in unsigned short*/ unitType ) { + if (this.value === 0) { + this.newValueSpecifiedUnits(unitType, 0); + return; + } + var v = this.value; this.newValueSpecifiedUnits(unitType, this.valueInSpecifiedUnits); + v = v / this.value * this.valueInSpecifiedUnits; + this.newValueSpecifiedUnits(unitType, v); //raises( DOMException ); } }; From svnnotify @ sourceforge.jp Mon Mar 28 23:27:05 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 28 Mar 2011 23:27:05 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTIzXSAgZ2V0RmxvYXRW?= =?utf-8?b?YWx1ZeODoeOCveODg+ODieOBq+OBpOOBhOOBpuOAgei7vemHj+WMlg==?= Message-ID: <1301322425.127826.27662.nullmailer@users.sourceforge.jp> Revision: 2523 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2523 Author: dhrname Date: 2011-03-28 23:27:05 +0900 (Mon, 28 Mar 2011) Log Message: ----------- getFloatValueメソッドについて、軽量化 Modified Paths: -------------- branches/07x/074/org/w3c/dom/css.js Modified: branches/07x/074/org/w3c/dom/css.js =================================================================== --- branches/07x/074/org/w3c/dom/css.js 2011-03-28 14:04:14 UTC (rev 2522) +++ branches/07x/074/org/w3c/dom/css.js 2011-03-28 14:27:05 UTC (rev 2523) @@ -393,7 +393,7 @@ CSSPrimitiveValue.prototype._percent = 0; //単位に%が使われていた場合、このプロパティの数値を1%として使う CSSPrimitiveValue.prototype._empercent = 0; /*void*/ CSSPrimitiveValue.prototype.setFloatValue = function(/*short*/ unitType, /*float*/ floatValue) { - if (CSSPrimitiveValue.CSS_UNKNOWN >= unitType && unitType >= CSSPrimitiveValue.CSS_STRING) { //浮動小数点数単位型をサポートしないCSS単位である場合 + if ((/*CSSPrimitiveValue.CSS_UNKNOWN*/ 0 >= unitType) && (unitType >= /*CSSPrimitiveValue.CSS_STRING*/ 19)) { //浮動小数点数単位型をサポートしないCSS単位である場合 throw new DOMException(DOMException.INVALID_ACCESS_ERR); } this.primitiveType = unitType; @@ -403,40 +403,41 @@ *別の単位に変換可能。 */ /*float*/ CSSPrimitiveValue.prototype.getFloatValue = function(/*short*/ unitType) { - if (CSSPrimitiveValue.CSS_UNKNOWN >= unitType && unitType >= CSSPrimitiveValue.CSS_STRING) { //浮動小数点数単位型をサポートしないCSS単位である場合 + if ((/*CSSPrimitiveValue.CSS_UNKNOWN*/ 0 >= unitType) && (unitType >= /*CSSPrimitiveValue.CSS_STRING*/ 19)) { //浮動小数点数単位型をサポートしないCSS単位である場合 throw new DOMException(DOMException.INVALID_ACCESS_ERR); } - var n = this.cssText.match(/\D+$/), type = 0, _parseFloat = parseFloat; - var s = _parseFloat(this.cssText.match(/[\d\.]+/)); + var n = this.cssText.match(/\D+$/), + type = 0, + s = +(this.cssText.match(/[\d\.]+/)); s = isNaN(s) ? 0 : s; if (!!n) { n = n[0]; } if (!n) { - type = CSSPrimitiveValue.CSS_NUMBER; + type = /*CSSPrimitiveValue.CSS_NUMBER*/ 1; } else if (n === "%") { s *= this._percent; - type = CSSPrimitiveValue.CSS_PERCENTAGE; + type = /*CSSPrimitiveValue.CSS_PERCENTAGE*/ 2; } else if (n === "em") { s *= this._empercent; - type = CSSPrimitiveValue.CSS_EMS; + type = /*CSSPrimitiveValue.CSS_EMS*/ 3; } else if (n === "ex") { - type = CSSPrimitiveValue.CSS_EXS; + type = /*CSSPrimitiveValue.CSS_EXS*/ 4; } else if (n === "px") { - type = CSSPrimitiveValue.CSS_PX; + type = /*CSSPrimitiveValue.CSS_PX*/ 5; } else if (n === "cm") { - type = CSSPrimitiveValue.CSS_CM; + type = /*CSSPrimitiveValue.CSS_CM*/ 6; } else if (n === "mm") { - type = CSSPrimitiveValue.CSS_MM; + type = /*CSSPrimitiveValue.CSS_MM*/ 7; } else if (n === "in") { - type = CSSPrimitiveValue.CSS_IN; + type = /*CSSPrimitiveValue.CSS_IN*/ 8; } else if (n === "pt") { - type = CSSPrimitiveValue.CSS_PT; + type = /*CSSPrimitiveValue.CSS_PT*/ 9; } else if (n === "pc") { - type = CSSPrimitiveValue.CSS_PC; + type = /*CSSPrimitiveValue.CSS_PC*/ 10; } - this.setFloatValue(type, s); - return (this._value / this._n[unitType-1]); + this._value = s * this._n[unitType-1]; //値はあらかじめ、利用しやすいように変換しておく + return (this._value); }; /*void*/ CSSPrimitiveValue.prototype.setStringValue = function(/*short*/ stringType, /*string*/ stringValue) { if (CSSPrimitiveValue.CSS_DIMENSION >= stringType && stringType >= CSSPrimitiveValue.CSS_COUNTER) { //文字列型をサポートしないCSS単位である場合 From svnnotify @ sourceforge.jp Mon Mar 28 23:33:13 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 28 Mar 2011 23:33:13 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTI0XSAgZ2V0RmxvYXRW?= =?utf-8?b?YWx1ZeODoeOCveODg+ODieOBruS/ruatow==?= Message-ID: <1301322793.741714.863.nullmailer@users.sourceforge.jp> Revision: 2524 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2524 Author: dhrname Date: 2011-03-28 23:33:13 +0900 (Mon, 28 Mar 2011) Log Message: ----------- getFloatValueメソッドの修正 Modified Paths: -------------- branches/07x/074/org/w3c/dom/css.js Modified: branches/07x/074/org/w3c/dom/css.js =================================================================== --- branches/07x/074/org/w3c/dom/css.js 2011-03-28 14:27:05 UTC (rev 2523) +++ branches/07x/074/org/w3c/dom/css.js 2011-03-28 14:33:13 UTC (rev 2524) @@ -436,8 +436,8 @@ } else if (n === "pc") { type = /*CSSPrimitiveValue.CSS_PC*/ 10; } - this._value = s * this._n[unitType-1]; //値はあらかじめ、利用しやすいように変換しておく - return (this._value); + this._value = s * this._n[type-1]; //値はあらかじめ、利用しやすいように変換しておく + return (this._value / this._n[unitType-1]); }; /*void*/ CSSPrimitiveValue.prototype.setStringValue = function(/*short*/ stringType, /*string*/ stringValue) { if (CSSPrimitiveValue.CSS_DIMENSION >= stringType && stringType >= CSSPrimitiveValue.CSS_COUNTER) { //文字列型をサポートしないCSS単位である場合 From svnnotify @ sourceforge.jp Mon Mar 28 23:39:04 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Mon, 28 Mar 2011 23:39:04 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTI1XSAgZ2V0RmxvYXRW?= =?utf-8?b?YWx1ZeOBruWkieaVsOOBruino+aUvg==?= Message-ID: <1301323144.277751.7198.nullmailer@users.sourceforge.jp> Revision: 2525 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2525 Author: dhrname Date: 2011-03-28 23:39:04 +0900 (Mon, 28 Mar 2011) Log Message: ----------- getFloatValueの変数の解放 Modified Paths: -------------- branches/07x/074/org/w3c/dom/css.js Modified: branches/07x/074/org/w3c/dom/css.js =================================================================== --- branches/07x/074/org/w3c/dom/css.js 2011-03-28 14:33:13 UTC (rev 2524) +++ branches/07x/074/org/w3c/dom/css.js 2011-03-28 14:39:04 UTC (rev 2525) @@ -437,6 +437,7 @@ type = /*CSSPrimitiveValue.CSS_PC*/ 10; } this._value = s * this._n[type-1]; //値はあらかじめ、利用しやすいように変換しておく + n = type = s = null; return (this._value / this._n[unitType-1]); }; /*void*/ CSSPrimitiveValue.prototype.setStringValue = function(/*short*/ stringType, /*string*/ stringValue) { From svnnotify @ sourceforge.jp Tue Mar 29 22:39:52 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 29 Mar 2011 22:39:52 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTI2XSAgR2V0U1ZHRG9j?= =?utf-8?b?dW1lbnTjga7jg6Hjgr3jg4Pjg4njgpLmlbTnkIbjgZfjgabou73ph4/ljJY=?= Message-ID: <1301405992.929001.30449.nullmailer@users.sourceforge.jp> Revision: 2526 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2526 Author: dhrname Date: 2011-03-29 22:39:52 +0900 (Tue, 29 Mar 2011) Log Message: ----------- GetSVGDocumentのメソッドを整理して軽量化 Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-28 14:39:04 UTC (rev 2525) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-29 13:39:52 UTC (rev 2526) @@ -1684,18 +1684,19 @@ backr = document.createElement("v:rect"), style, fontSize, w, h, sw, sh, trstyle, tpstyle, backrs, viewWidth, viewHeight, bfl, bft, bl, backright, backdown, text, - _parseFloat = parseFloat; - NAIBU.doc.async = false; + _parseFloat = parseFloat, + ndoc = NAIBU.doc; + ndoc.async = false; /*下記のプロパティについては、Microsoftのサイトを参照 *ResolveExternals Property [Second-level DOM] * http://msdn.microsoft.com/en-us/library/ms761375%28VS.85%29.aspx *ValidateOnParse Property [Second-level DOM] * http://msdn.microsoft.com/en-us/library/ms760286%28VS.85%29.asp */ - NAIBU.doc.validateOnParse = false; - NAIBU.doc.resolveExternals = false; - NAIBU.doc.preserveWhiteSpace = true; - NAIBU.doc.loadXML(str); + ndoc.validateOnParse = false; + ndoc.resolveExternals = false; + ndoc.preserveWhiteSpace = true; + ndoc.loadXML(str); /*IE6-8のみで使えるupdateIntervalは、 *描画間隔の調整が可能。デフォルトは0。 *スクロール時にバグが起きるので、0に戻してやる必要がある。 @@ -1706,13 +1707,13 @@ *代替の処理を用いて、実体参照を処理するもの */ var tmp = str; - var enti = (NAIBU.doc.doctype)? NAIBU.doc.doctype.entities: { length:0 }; + var enti = (ndoc.doctype)? ndoc.doctype.entities: { length:0 }; for (var i=0; i sw ? sw : w; viewHeight = h > sh ? sh : h; - bfl = parseFloat(backrs.left); - bft = parseFloat(backrs.top); + bfl = _parseFloat(backrs.left); + bft = _parseFloat(backrs.top); bl = -tar._tx; bt = -tar._ty; if (bfl !== 0 && !isNaN(bfl)) { //内部の図形にずれが生じたとき(isNaNはIE8でautoがデフォルト値のため) @@ -1842,16 +1843,20 @@ /*以下はバッファリングにためておいた要素とイベントを、後から実行する*/ NAIBU._buff_num = 0; NAIBU._buff = setInterval(function(){ - if (DOMImplementation._buffer_.length === 0) { + var n = NAIBU._buff_num, + dbuf = DOMImplementation._buffer_, + dbufli = dbuf.length, + s, evt; + if (dufli === 0) { clearInterval(Event._buff); } else { - var n = NAIBU._buff_num; for (var i=0;i<50;++i) { - var s = DOMImplementation._buffer_[n], evt = DOMImplementation._buffer_[n+1]; + s = dbuf[n]; + evt = dbuf[n+1]; s.dispatchEvent(evt); n += 2; - s = evt = null; - if (n >= DOMImplementation._buffer_.length) { + dbuf = dbufli = s = evt = null; + if (n >= dbufli) { clearInterval(NAIBU._buff); DOMImplementation._buffer_ = null; NAIBU.Time.start(); From svnnotify @ sourceforge.jp Tue Mar 29 23:11:09 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Tue, 29 Mar 2011 23:11:09 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTI3XSAgU1ZHUGF0aEVs?= =?utf-8?b?ZW1lbnTjga7mnIDpganljJY=?= Message-ID: <1301407869.998975.30609.nullmailer@users.sourceforge.jp> Revision: 2527 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2527 Author: dhrname Date: 2011-03-29 23:11:09 +0900 (Tue, 29 Mar 2011) Log Message: ----------- SVGPathElementの最適化 Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-29 13:39:52 UTC (rev 2526) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-29 14:11:09 UTC (rev 2527) @@ -2541,14 +2541,17 @@ */ var taco = tar._com, sgs = taco.isSp, + tccc = tar.createSVGPathSegCurvetoCubicAbs, + tcla = tar.createSVGPathSegLinetoAbs, dd = evt.newValue .replace(taco.isRa, " -") .replace(taco.isRb, " ") .replace(taco.isRc, ",$1 ") .replace(taco.isRd, ",$1 1") .replace(taco.isRe, "") - .split(","); - for (var i=0, dli=dd.length;i Revision: 2528 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2528 Author: dhrname Date: 2011-03-29 23:24:57 +0900 (Tue, 29 Mar 2011) Log Message: ----------- SVGPathElementのif構文を変更して、最適化 Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-29 14:11:09 UTC (rev 2527) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-29 14:24:57 UTC (rev 2528) @@ -2631,7 +2631,7 @@ var ti = tlist.getItem(j), ts = ti.pathSegType, dii = ti.pathSegTypeAsLetter; - if (ts === SVGPathSeg.PATHSEG_UNKNOWN) { + if (ts === /*SVGPathSeg.PATHSEG_UNKNOWN*/ 0) { } else { var rx = cx, ry = cy; //rx, ryは前のセグメントの終了点 if (ts % 2 === 1) { //相対座標ならば @@ -2641,7 +2641,11 @@ cx = ti.x; cy = ti.y; } - if (isM[dii]) { + if (isC[dii]) { + tnl.appendItem(ti); + } else if (isL[dii]) { + tnl.appendItem(ti); + } else if (isM[dii]) { if (j !== 0) { /*Mコマンドが続いた場合は、2番目以降はLコマンドと解釈する *W3C SVG1.1の「8.3.2 The "moveto" commands」を参照 @@ -2667,12 +2671,8 @@ startx = cx; starty = cy; tnl.appendItem(tar.createSVGPathSegMovetoAbs(cx, cy)); - } else if (isL[dii]) { - tnl.appendItem(ti); } else if (dii === "l") { tnl.appendItem(tcla(cx, cy)); - } else if (isC[dii]) { - tnl.appendItem(ti); } else if (dii === "c") { tnl.appendItem(tccc(cx, cy, ti.x1+rx, ti.y1+ry, ti.x2+rx, ti.y2+ry)); } else if (isZ[dii]) { From svnnotify @ sourceforge.jp Wed Mar 30 23:09:49 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 30 Mar 2011 23:09:49 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTI5XSAwLiA3M+atow==?= =?utf-8?b?5byP54mI44Gu5bGl5q2044Gr5aSJ5pu0?= Message-ID: <1301494189.356634.4455.nullmailer@users.sourceforge.jp> Revision: 2529 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2529 Author: dhrname Date: 2011-03-30 23:09:48 +0900 (Wed, 30 Mar 2011) Log Message: ----------- 0.73正式版の履歴に変更 Modified Paths: -------------- trunk/ChangeLog.txt Modified: trunk/ChangeLog.txt =================================================================== --- trunk/ChangeLog.txt 2011-03-29 14:24:57 UTC (rev 2528) +++ trunk/ChangeLog.txt 2011-03-30 14:09:48 UTC (rev 2529) @@ -1,4 +1,4 @@ -?2011-3-26 version 0.73 beta +?2011-4-1 version 0.73 version 0.72からの変更点 1, var文に対して、構文を整理した 2, GetSVGDocumentの_initメソッドに関して、クロージャの修正をした From svnnotify @ sourceforge.jp Wed Mar 30 23:29:45 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 30 Mar 2011 23:29:45 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTMxXSBOQUlCVS4gX3Nl?= =?utf-8?b?dFBhaW506Zai5pWw44GudmFy5paH44KS5pW055CG?= Message-ID: <1301495385.273654.28264.nullmailer@users.sourceforge.jp> Revision: 2531 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2531 Author: dhrname Date: 2011-03-30 23:29:45 +0900 (Wed, 30 Mar 2011) Log Message: ----------- NAIBU._setPaint関数のvar文を整理 Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-30 14:13:49 UTC (rev 2530) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-30 14:29:45 UTC (rev 2531) @@ -2375,31 +2375,38 @@ /*以下では、スタイルシートを用いて、fill-とstroke-関連の *処理を行う。SVGPaintインターフェースをも用いる */ - var tod = tar.ownerDocument, el = tar._tar; + var tod = tar.ownerDocument, + el = tar._tar, + style = tod.defaultView.getComputedStyle(tar, ""), + fill = style.getPropertyCSSValue("fill"), + stroke = style.getPropertyCSSValue("stroke"), + fillElement, tgebtfill, fc, + num = /*CSSPrimitiveValue.CSS_NUMBER*/ 1, + t, evtt, fillOpacity, strs, cursor, vis, disp, + strokeElement, strokeOpacity, tgebtstroke, sgsw, w, h, swx, tsd, strokedasharray; if (!el) { return; } - var style = tod.defaultView.getComputedStyle(tar, ""); - var fill = style.getPropertyCSSValue("fill"), stroke = style.getPropertyCSSValue("stroke"); if (fill.paintType === /*SVGPaint.SVG_PAINTTYPE_RGBCOLOR*/ 1 || fill.paintType === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { if (fill.paintType === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { /*再度、設定。css.jsのsetPropertyを参照*/ style.setProperty("color", style.getPropertyValue("color")); } if (!!tar._fillElement) { - var fillElement = tar._fillElement; - var tgebtfill = el.getElementsByTagName("fill"); + fillElement = tar._fillElement; + tgebtfill = el.getElementsByTagName("fill"); if (tgebtfill.length > 0) { /*あらかじめ消しおかないと、効果が出ない*/ el.removeChild(tgebtfill[0]); } tgebtfill = null; } else { - var fillElement = _doc.createElement("v:fill"); + fillElement = _doc.createElement("v:fill"); } - var fc = fill.rgbColor, num = /*CSSPrimitiveValue.CSS_NUMBER*/ 1; + fc = fill.rgbColor; + num = /*CSSPrimitiveValue.CSS_NUMBER*/ 1; fillElement.setAttribute("color", "rgb(" +fc.red.getFloatValue(num)+ "," +fc.green.getFloatValue(num)+ "," +fc.blue.getFloatValue(num)+ ")"); - var fillOpacity = +(style.getPropertyValue("fill-opacity")) * style._list._opacity; //opacityを掛け合わせる + fillOpacity = +(style.getPropertyValue("fill-opacity")) * style._list._opacity; //opacityを掛け合わせる if (fillOpacity < 1) { fillElement.setAttribute("opacity", fillOpacity+""); } @@ -2414,14 +2421,15 @@ /*以下では、Gradation関連の要素に、イベントを渡すことで、 *この要素の、グラデーション描画を行う */ - var t = tod.getElementById(fill.uri); + t = tod.getElementById(fill.uri); if (t) { - var evtt = tod.createEvent("MutationEvents"); + evtt = tod.createEvent("MutationEvents"); evtt.initMutationEvent("DOMNodeInsertedIntoDocument", false, false, null, null, null, null, null); evtt._tar = !!tar._fillElement ? tar._fillElement : _doc.createElement("v:fill"); - evtt._style = style, evtt._ttar = tar; + evtt._style = style; + evtt._ttar = tar; t.dispatchEvent(evtt); - if (t.localName !== "radialGradient" && !!!tar._fillElement) { + if ((t.localName !== "radialGradient") && !!!tar._fillElement) { el.appendChild(evtt._tar); tar._fillElement = evtt._tar; //キャッシュを作る } @@ -2436,24 +2444,26 @@ style.setProperty("color", style.getPropertyValue("color")); } if (!!tar._strokeElement) { - var strokeElement = tar._strokeElement; - var tgebtstroke = el.getElementsByTagName("stroke") + strokeElement = tar._strokeElement; + tgebtstroke = el.getElementsByTagName("stroke") if (tgebtstroke.length > 0) { el.removeChild(tgebtstroke[0]); } tgebtstroke = null; } else { - var strokeElement = _doc.createElement("v:stroke"); + strokeElement = _doc.createElement("v:stroke"); } - var sgsw = style.getPropertyCSSValue("stroke-width"), w = tod.documentElement.viewport.width, h = tod.documentElement.viewport.height; + sgsw = style.getPropertyCSSValue("stroke-width"); + w = tod.documentElement.viewport.width; + h = tod.documentElement.viewport.height; sgsw._percent = _math.sqrt((w*w + h*h) / 2); - var swx = sgsw.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) * _math.sqrt(_math.abs(matrix._determinant())); + swx = sgsw.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) * _math.sqrt(_math.abs(matrix._determinant())); strokeElement.setAttribute("weight", swx + "px"); sgsw = w = h = null; if (!stroke.uri) { - var fc = stroke.rgbColor, num = /*CSSPrimitiveValue.CSS_NUMBER*/ 1; + fc = stroke.rgbColor; strokeElement.setAttribute("color", "rgb(" +fc.red.getFloatValue(num)+ "," +fc.green.getFloatValue(num)+ "," +fc.blue.getFloatValue(num)+ ")"); - var strokeOpacity = +(style.getPropertyValue("stroke-opacity")) * (+(style.getPropertyValue("opacity"))); //opacityを掛け合わせる + strokeOpacity = +(style.getPropertyValue("stroke-opacity")) * (+(style.getPropertyValue("opacity"))); //opacityを掛け合わせる if (swx < 1) { strokeOpacity *= swx; //太さが1px未満なら色を薄くする } @@ -2469,14 +2479,14 @@ } else { strokeElement.setAttribute("endcap", style.getPropertyValue("stroke-linecap")); } - var tsd = style.getPropertyValue("stroke-dasharray"); + tsd = style.getPropertyValue("stroke-dasharray"); if (tsd !== "none") { if (tsd.indexOf(",") > 0) { //コンマ区切りの文字列の場合 - var strs = tsd.split(","); + strs = tsd.split(","); for (var i = 0, sli = strs.length; i < sli; ++i) { strs[i] = _math.ceil(+(strs[i]) / parseFloat(style.getPropertyValue("stroke-width"))); //精密ではないので注意 } - var strokedasharray = strs.join(" "); + strokedasharray = strs.join(" "); if (strs.length % 2 === 1) { strokedasharray += " " + strokedasharray; } @@ -2494,15 +2504,15 @@ } else { el.stroked = "false"; } - var cursor = style.getPropertyValue("cursor"); + cursor = style.getPropertyValue("cursor"); if (cursor !== "auto" && cursor !== "") { el.style.cursor = cursor; } - var vis = style.getPropertyValue("visibility"); + vis = style.getPropertyValue("visibility"); if (vis !== "visiblee") { //初期値でないならば el.style.visibility = vis; } - var disp = style.getPropertyValue("display"); + disp = style.getPropertyValue("display"); if (disp === "none") { el.style.display = "none";  } else if (disp !== "inline-block") { From svnnotify @ sourceforge.jp Wed Mar 30 23:35:38 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Wed, 30 Mar 2011 23:35:38 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTMyXSBOQUlCVS4gX3Nl?= =?utf-8?b?dFBhaW506Zai5pWw44Gu5pyA6YGp5YyW?= Message-ID: <1301495738.751748.996.nullmailer@users.sourceforge.jp> Revision: 2532 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2532 Author: dhrname Date: 2011-03-30 23:35:38 +0900 (Wed, 30 Mar 2011) Log Message: ----------- NAIBU._setPaint関数の最適化 Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-30 14:29:45 UTC (rev 2531) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-30 14:35:38 UTC (rev 2532) @@ -2380,6 +2380,8 @@ style = tod.defaultView.getComputedStyle(tar, ""), fill = style.getPropertyCSSValue("fill"), stroke = style.getPropertyCSSValue("stroke"), + fp = fill.paintType, + sp = stroke.paintType, fillElement, tgebtfill, fc, num = /*CSSPrimitiveValue.CSS_NUMBER*/ 1, t, evtt, fillOpacity, strs, cursor, vis, disp, @@ -2387,8 +2389,8 @@ if (!el) { return; } - if (fill.paintType === /*SVGPaint.SVG_PAINTTYPE_RGBCOLOR*/ 1 || fill.paintType === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { - if (fill.paintType === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { + if ((fp === /*SVGPaint.SVG_PAINTTYPE_RGBCOLOR*/ 1) || (fp === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102)) { + if (fp === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { /*再度、設定。css.jsのsetPropertyを参照*/ style.setProperty("color", style.getPropertyValue("color")); } @@ -2438,8 +2440,8 @@ } else { el.filled = "false"; } - if (stroke.paintType === /*SVGPaint.SVG_PAINTTYPE_RGBCOLOR*/ 1 || stroke.paintType === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { - if (stroke.paintType === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { + if ((sp === /*SVGPaint.SVG_PAINTTYPE_RGBCOLOR*/ 1) || (sp === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102)) { + if (sp === /*SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR*/ 102) { /*再度、設定。css.jsのsetPropertyを参照*/ style.setProperty("color", style.getPropertyValue("color")); } @@ -2518,7 +2520,7 @@  } else if (disp !== "inline-block") { el.style.display = "inline-block"; } - tod = el = fill = stroke = style = cursor = tar = matrix = vis = disp = null; + tod = el = fill = stroke = sp = fp = style = cursor = tar = matrix = vis = disp = null; }; function SVGPathElement() { From svnnotify @ sourceforge.jp Thu Mar 31 19:30:16 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 19:30:16 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTMzXQ==?= Message-ID: <1301567416.783056.22214.nullmailer@users.sourceforge.jp> Revision: 2533 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2533 Author: dhrname Date: 2011-03-31 19:30:16 +0900 (Thu, 31 Mar 2011) Log Message: ----------- Modified Paths: -------------- trunk/Spec/SpecRunner.html Modified: trunk/Spec/SpecRunner.html =================================================================== --- trunk/Spec/SpecRunner.html 2011-03-30 14:35:38 UTC (rev 2532) +++ trunk/Spec/SpecRunner.html 2011-03-31 10:30:16 UTC (rev 2533) @@ -8,12 +8,12 @@ - - - - - - + + + + + + From svnnotify @ sourceforge.jp Thu Mar 31 19:31:04 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 19:31:04 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTM0XQ==?= Message-ID: <1301567464.125121.23307.nullmailer@users.sourceforge.jp> Revision: 2534 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2534 Author: dhrname Date: 2011-03-31 19:31:04 +0900 (Thu, 31 Mar 2011) Log Message: ----------- Added Paths: ----------- tags/073/ From svnnotify @ sourceforge.jp Thu Mar 31 19:53:18 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 19:53:18 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTM3XQ==?= Message-ID: <1301568798.636206.17302.nullmailer@users.sourceforge.jp> Revision: 2537 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2537 Author: dhrname Date: 2011-03-31 19:53:18 +0900 (Thu, 31 Mar 2011) Log Message: ----------- Added Paths: ----------- trunk/README_EN.txt Added: trunk/README_EN.txt =================================================================== --- trunk/README_EN.txt (rev 0) +++ trunk/README_EN.txt 2011-03-31 10:53:18 UTC (rev 2537) @@ -0,0 +1,55 @@ +SIE - SVG's JavaScript Library + + +1, What's SIE + +SIE is a OpenSource JavaScript library to display SVG files on the almost browser. SVG is a standard language for drawing vector graphics. + +2, Licenses + +SIE is distributed under the Mozilla Public License (MPL). You may copy, modify and re-distribute it. +You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + +3, Usage + + 3.1, Edit HTML file + + To display SVG files on the web browser, you need to edit the HTML file as the next: + + + + Your Web Page + + + + + + + + 3.2, The 'script' element + + Copy the 'sie-mini.js' file to your web server, and write this in the 'head' element of your web page. + + + + 3.3, The 'object' element + + Copy the 'zeimusu_sakura_.svg' file to your web server, and write the next in the 'body' element. + The code 'width (height) ="1000"' set to 1000(px) for the width (height) of the svg image. + + + +4, Contact + + 4.1 Mailing List + + sie-developers @ lists.sourceforge.jp + + 4.2 Twitter + + http://twitter.com/dhrname + +5, Acknowledgement + + revulo, bellbind, SourceForge.jp (http://sourceforge.JP/), the Mozilla project. thank you. \ No newline at end of file From svnnotify @ sourceforge.jp Thu Mar 31 19:54:26 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 19:54:26 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTM4XQ==?= Message-ID: <1301568866.248519.19298.nullmailer@users.sourceforge.jp> Revision: 2538 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2538 Author: dhrname Date: 2011-03-31 19:54:26 +0900 (Thu, 31 Mar 2011) Log Message: ----------- Modified Paths: -------------- trunk/README_EN.txt Modified: trunk/README_EN.txt =================================================================== --- trunk/README_EN.txt 2011-03-31 10:53:18 UTC (rev 2537) +++ trunk/README_EN.txt 2011-03-31 10:54:26 UTC (rev 2538) @@ -29,16 +29,20 @@ 3.2, The 'script' element - Copy the 'sie-mini.js' file to your web server, and write this in the 'head' element of your web page. + Upload the 'sie-mini.js' file to your web server, and write this in the 'head' element of your HTML document. 3.3, The 'object' element - Copy the 'zeimusu_sakura_.svg' file to your web server, and write the next in the 'body' element. - The code 'width (height) ="1000"' set to 1000(px) for the width (height) of the svg image. + Upload the 'zeimusu_sakura_.svg' file to your web server, and write in your HTML document as the next: + + + 3.4 Inline SVG + + See Demo: http://sie.sourceforge.jp/svginhtml.html 4, Contact From svnnotify @ sourceforge.jp Thu Mar 31 20:02:35 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 20:02:35 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTM5XSAwLiA3M+OBrg==?= =?utf-8?b?5bGl5q2044KS5L+u5q2j?= Message-ID: <1301569355.524319.28937.nullmailer@users.sourceforge.jp> Revision: 2539 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2539 Author: dhrname Date: 2011-03-31 20:02:35 +0900 (Thu, 31 Mar 2011) Log Message: ----------- 0.73の履歴を修正 Modified Paths: -------------- trunk/ChangeLog.txt Modified: trunk/ChangeLog.txt =================================================================== --- trunk/ChangeLog.txt 2011-03-31 10:54:26 UTC (rev 2538) +++ trunk/ChangeLog.txt 2011-03-31 11:02:35 UTC (rev 2539) @@ -6,6 +6,7 @@ 4, addEventListenerメソッドを修正して、マウスイベントに対処できるようにした 5, チケット #24648 「単位「%」の解釈が異常」を修正 6, SVGURIReferenceのvar文において、showの値が設定されていなかったので修正 +7, 英語版であるREADME_EN.txtを同梱 2011-3-20 version 0.72 version 0.71からの変更点 From svnnotify @ sourceforge.jp Thu Mar 31 20:09:54 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 20:09:54 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTQwXQ==?= Message-ID: <1301569794.382278.4905.nullmailer@users.sourceforge.jp> Revision: 2540 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2540 Author: dhrname Date: 2011-03-31 20:09:54 +0900 (Thu, 31 Mar 2011) Log Message: ----------- Added Paths: ----------- trunk/news/n20110320.html Added: trunk/news/n20110320.html =================================================================== --- trunk/news/n20110320.html (rev 0) +++ trunk/news/n20110320.html 2011-03-31 11:09:54 UTC (rev 2540) @@ -0,0 +1,55 @@ + + +「SIE0.72」リリース - SIE + + + + + +

    +

    「SIE0.72」リリース - SIE

    +

    0.72リリースについてのお知らせ

    +

    2011年3月20日、私たちSIEプロジェクトは、「SIE0.72」を正式に公開しました。今回の主な変更は、バグとSpecの修正です。

    +

    無料ダウンロード

    +

    sie-072.zip/ (ZIP形式, 465.8 KB)

    +

    変更点

    +

    version 0.71からの変更点

    +
      +
    1. SVGElementのプロパティを整理
    2. +
    3. SVGxxxListにすべて、Array型を継承させた
    4. +
    5. 軽量化のために、_listプロパティの削除と、SVGPathElementとNAIBU._setPaintのグローバルオブジェクトをローカルに変えておいた
    6. +
    7. _ca関数の整理
    8. +
    9. SVGLengthに_fontSizeプロパティを追加
    10. +
    11. CSSPrimitiveValueのgetFloatValueについて修正
    12. +
    13. SVGLengthのnewValueInSpecifiedメソッドに関して、パーセントとemの単位の処理を修正
    14. +
    15. チケット #24492「単位の解釈が異常」を修正
    16. +
    17. SVGLengthのconvertToSpecifiedUnitsメソッドを修正
    18. +
    19. バッファリング処理において、shiftの使用をやめて、カウントをするように変更
    20. +
    21. SVGSVGElementコンストラクタ関数にミスがあったので修正
    22. +
    23. 各々の要素オブジェクトで、DOMNodeInsertedイベントが発火されたときの処理にバグがあったので、それを修正
    24. +
    25. Specにおいて、SVGLengthの境界条件テストについて修正
    26. +
    27. Specにおいて、convertToSpecifiedUnitsメソッドの同値分割テストに、新たなテストを追加
    28. +
    29. setRotateメソッドの同値分割テストに関する修正
    30. +
    +

    このお知らせに関するご質問やご感想などがありましたら

    +

    以下のメールアドレスへメールを下さい。また、メールはオープンな議論をするために、原則、ウェブで公開されますのでご承知ください。

    +

    公式メーリングリスト「Sie-developers」sie-developers @ lists.sourceforge.jp

    +

    © Copyright 2009 dhrname(Eメールでdhrname @ users.sourceforge.jp)コードの著作権の許諾に関しては、次の文章に書かれています。(英文LICENCE.txt)。このページの許諾に関しても、同様のライセンスが適用されるものとします。

    + + + \ No newline at end of file From svnnotify @ sourceforge.jp Thu Mar 31 22:48:13 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 22:48:13 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTQxXSAgQ1NTMlByb3Bl?= =?utf-8?b?cnRpZXPjga7liJ3mnJ/ljJbjgavjgaTjgYTjgabjgIHlpInmlbDjgpLmlbQ=?= =?utf-8?b?55CG44GX44Gf?= Message-ID: <1301579293.678058.24280.nullmailer@users.sourceforge.jp> Revision: 2541 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2541 Author: dhrname Date: 2011-03-31 22:48:13 +0900 (Thu, 31 Mar 2011) Log Message: ----------- CSS2Propertiesの初期化について、変数を整理した Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-31 11:09:54 UTC (rev 2540) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-31 13:48:13 UTC (rev 2541) @@ -5855,27 +5855,31 @@ *CSSprimitiveValueのリストを収納している。なお、その際に、writingModeなどはwriting-modeに変更している */ (function(){ - var s = new CSSStyleDeclaration(), n = 0; + var s = new CSSStyleDeclaration(), + n = 0, + regAZ = /([A-Z])/, + regm = /\-/, + u, t; for (var i in CSS2Properties) { if(CSS2Properties.hasOwnProperty(i)) { - var t = i.replace(/([A-Z])/, "-"); + t = i.replace(regAZ, "-"); if (!!RegExp.$1) { - var u = "-" +RegExp.$1.toLowerCase(); + u = "-" +RegExp.$1.toLowerCase(); } else { - var u = "-"; + u = "-"; } - t = t.replace(/\-/, u); + t = t.replace(regm, u); s.setProperty(t, CSS2Properties[i]); s._list[t] = s._list[n]; //この処理はCSSモジュールのgetComputedStyleメソッドのため ++n; - p = m = i = t = u = null; + i = t = u = null; } } s._list._opacity = 1; s._list._fontSize = 12; CSS2Properties._list = s._list; Document.prototype.defaultView._defaultCSS = s._list; - s = null; + s = n = regAZ = regm =null; })(); NAIBU.addEvent = function(evt,lis){ From svnnotify @ sourceforge.jp Thu Mar 31 23:04:39 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 23:04:39 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTQyXQ==?= Message-ID: <1301580279.880249.8927.nullmailer@users.sourceforge.jp> Revision: 2542 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2542 Author: dhrname Date: 2011-03-31 23:04:39 +0900 (Thu, 31 Mar 2011) Log Message: ----------- Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-31 13:48:13 UTC (rev 2541) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-31 14:04:39 UTC (rev 2542) @@ -1847,7 +1847,7 @@ dbuf = DOMImplementation._buffer_, dbufli = dbuf.length, s, evt; - if (dufli === 0) { + if (dbufli === 0) { clearInterval(Event._buff); } else { for (var i=0;i<50;++i) { @@ -1855,17 +1855,18 @@ evt = dbuf[n+1]; s.dispatchEvent(evt); n += 2; - dbuf = dbufli = s = evt = null; + s = evt = null; if (n >= dbufli) { clearInterval(NAIBU._buff); DOMImplementation._buffer_ = null; NAIBU.Time.start(); + dbuf = n = dbufli = null; return; } } NAIBU._buff_num = n; - n = null; } + dbuf = n = dbufli = null; }, 1); s = null; } else { @@ -2895,13 +2896,14 @@ } var vi = tar.ownerDocument.documentElement, w = vi.width.baseVal.value, - h = vi.height.baseVal.value; + h = vi.height.baseVal.value, + tt = tar._tar; dat[dat.length] = " e"; - tar._tar.path = dat.join(" "); - tar._tar.coordsize = w + " " + h; + tt.path = dat.join(" "); + tt.coordsize = w + " " + h; NAIBU._setPaint(tar, matrix); delete tar._cacheMatrix, tar._currentStyle; - evt = tar = dat = t = w = h = matrix = tlist = x = y = _parseInt = ma = mb = mc = md = me = mf = vi = isZ = isC = i = tli = tps = ti = cname = null; + evt = tar = dat = t = w = h = matrix = tlist = x = y = _parseInt = ma = mb = mc = md = me = mf = vi = isZ = isC = i = tli = tps = ti = cname = tt = null; }, false); evt = tar = null; }, false); From svnnotify @ sourceforge.jp Thu Mar 31 23:11:40 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 23:11:40 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTQzXQ==?= Message-ID: <1301580700.334577.15330.nullmailer@users.sourceforge.jp> Revision: 2543 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2543 Author: dhrname Date: 2011-03-31 23:11:40 +0900 (Thu, 31 Mar 2011) Log Message: ----------- Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-31 14:04:39 UTC (rev 2542) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-31 14:11:40 UTC (rev 2543) @@ -2872,6 +2872,7 @@ dat = [], ma = matrix.a, mb = matrix.b, mc = matrix.c, md = matrix.d, me = matrix.e, mf = matrix.f, cname = tar._com._nameCom, + pin = _pInt, isZ = tar._com._isZ, isC = tar._com._isC; for (var i=0, tli=tlist.numberOfItems;i Revision: 2544 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2544 Author: dhrname Date: 2011-03-31 23:37:34 +0900 (Thu, 31 Mar 2011) Log Message: ----------- SVGPathElementの修正 Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-31 14:11:40 UTC (rev 2543) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-31 14:37:34 UTC (rev 2544) @@ -2554,8 +2554,6 @@ */ var taco = tar._com, sgs = taco.isSp, - tccc = tar.createSVGPathSegCurvetoCubicAbs, - tcla = tar.createSVGPathSegLinetoAbs, dd = evt.newValue .replace(taco.isRa, " -") .replace(taco.isRb, " ") @@ -2582,13 +2580,13 @@ s = tar.createSVGPathSegMovetoRel(di[j], di[j+1]); ++j; } else if (isL[dii]) { - s = tcla(di[j], di[j+1]); + s = tar.createSVGPathSegLinetoAbs(di[j], di[j+1]); ++j; } else if (dii === "l") { s = tar.createSVGPathSegLinetoRel(di[j], di[j+1]); ++j; } else if (isC[dii]) { - s = tccc(di[j+4], di[j+5], di[j], di[j+1], di[j+2], di[j+3]); + s = tar.createSVGPathSegCurvetoCubicAbs(di[j+4], di[j+5], di[j], di[j+1], di[j+2], di[j+3]); j += 5; } else if (dii === "c") { s = tar.createSVGPathSegCurvetoCubicRel(di[j+4], di[j+5], di[j], di[j+1], di[j+2], di[j+3]); @@ -2666,7 +2664,7 @@ */ var tg = tlist.getItem(j-1); if (tg.pathSegTypeAsLetter === "M") { - tnl.appendItem(tcla(cx, cy)); + tnl.appendItem(tar.createSVGPathSegLinetoAbs(cx, cy)); continue; } } @@ -2677,7 +2675,7 @@ if (j !== 0) { var tg = tlist.getItem(j-1); if (tg.pathSegTypeAsLetter === "m") { - tnl.appendItem(tcla(cx, cy)); + tnl.appendItem(tar.createSVGPathSegLinetoAbs(cx, cy)); continue; } } @@ -2685,9 +2683,9 @@ starty = cy; tnl.appendItem(tar.createSVGPathSegMovetoAbs(cx, cy)); } else if (dii === "l") { - tnl.appendItem(tcla(cx, cy)); + tnl.appendItem(tar.createSVGPathSegLinetoAbs(cx, cy)); } else if (dii === "c") { - tnl.appendItem(tccc(cx, cy, ti.x1+rx, ti.y1+ry, ti.x2+rx, ti.y2+ry)); + tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(cx, cy, ti.x1+rx, ti.y1+ry, ti.x2+rx, ti.y2+ry)); } else if (isZ[dii]) { cx = startx; cy = starty; @@ -2696,12 +2694,12 @@ xn = 2*cx - ti.x1; yn = 2*cy - ti.y1; //2次スプライン曲線は近似的な3次ベジェ曲線に変換している - tnl.appendItem(tccc(cx, cy, (rx + 2*ti.x1) / 3, (ry + 2*ti.y1) / 3, (2*ti.x1 + cx) / 3, (2*ti.y1 + cy) / 3)); + tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(cx, cy, (rx + 2*ti.x1) / 3, (ry + 2*ti.y1) / 3, (2*ti.x1 + cx) / 3, (2*ti.y1 + cy) / 3)); } else if (dii === "q") { var x1 = ti.x1 + rx, y1 = ti.y1 + ry; xn = 2*cx - x1; yn = 2*cy - y1; - tnl.appendItem(tccc(cx, cy, (rx + 2*x1) / 3, (ry + 2*y1) / 3, (2*x1 + cx) / 3, (2*y1 + cy) / 3)); + tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(cx, cy, (rx + 2*x1) / 3, (ry + 2*y1) / 3, (2*x1 + cx) / 3, (2*y1 + cy) / 3)); x1 = y1 = null; } else if (dii === "A" || dii === "a") { (function(ti, cx, cy, rx, ry, tar, tnl) { //変数を隠蔽するためのfunction @@ -2768,7 +2766,7 @@ y3 = spsir1*mc + cpsir2*ms + ty, dx = -t * (cpsir1*ms + spsir2*mc), dy = -t * (spsir1*ms - cpsir2*mc); - tnl.appendItem(tccc(x3, y3, x2, y2, x3-dx, y3-dy)); + tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(x3, y3, x2, y2, x3-dx, y3-dy)); x2 = x3 + dx; y2 = y3 + dy; } @@ -2787,7 +2785,7 @@ var x1 = rx, y1 = ry; } - tnl.appendItem(tccc(cx, cy, x1, y1, ti.x2, ti.y2)); + tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(cx, cy, x1, y1, ti.x2, ti.y2)); x1 = y1 = null; } else if (dii === "s") { if (j !== 0) { @@ -2803,7 +2801,7 @@ var x1 = rx, y1 = ry; } - tnl.appendItem(tccc(cx, cy, x1, y1, ti.x2+rx, ti.y2+ry)); + tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(cx, cy, x1, y1, ti.x2+rx, ti.y2+ry)); x1 = y1 = null; } else if (dii === "T" || dii === "t") { if (j !== 0) { @@ -2815,21 +2813,21 @@ } else { xn = rx, yn = ry; } - tnl.appendItem(tccc(cx, cy, (rx + 2*xn) / 3, (ry + 2*yn) / 3, (2*xn + cx) / 3, (2*yn + cy) / 3)); + tnl.appendItem(tar.createSVGPathSegCurvetoCubicAbs(cx, cy, (rx + 2*xn) / 3, (ry + 2*yn) / 3, (2*xn + cx) / 3, (2*yn + cy) / 3)); xn = 2*cx - xn; yn = 2*cy - yn; xx1 = yy1 = null; } else if (dii === "H" || dii === "h") { - tnl.appendItem(tcla(cx, ry)); + tnl.appendItem(tar.createSVGPathSegLinetoAbs(cx, ry)); cy = ry; //勝手にti.yが0としているため } else if (dii === "V" || dii === "v") { - tnl.appendItem(tcla(rx, cy)); + tnl.appendItem(tar.createSVGPathSegLinetoAbs(rx, cy)); cx = rx; } } } } - evt = tar = taco = cx = cy = xn = yn = startx = starty = tnl = tlist = ti = dii = ts = isZ = isM = isL = isC = s = tcla = tccc = null; + evt = tar = taco = cx = cy = xn = yn = startx = starty = tnl = tlist = ti = dii = ts = isZ = isM = isL = isC = s = null; }, false); /*以下の処理は、このpath要素ノードがDOMツリーに追加されて初めて、 *描画が開始されることを示す。つまり、appendChildで挿入されない限り、描画をしない。 From svnnotify @ sourceforge.jp Thu Mar 31 23:51:14 2011 From: svnnotify @ sourceforge.jp (svnnotify @ sourceforge.jp) Date: Thu, 31 Mar 2011 23:51:14 +0900 Subject: [Sie-announce] =?utf-8?b?U0lF44Kz44O844OJIFsyNTQ1XQ==?= Message-ID: <1301583074.726335.27262.nullmailer@users.sourceforge.jp> Revision: 2545 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2545 Author: dhrname Date: 2011-03-31 23:51:14 +0900 (Thu, 31 Mar 2011) Log Message: ----------- Modified Paths: -------------- branches/07x/074/org/w3c/dom/svg.js Modified: branches/07x/074/org/w3c/dom/svg.js =================================================================== --- branches/07x/074/org/w3c/dom/svg.js 2011-03-31 14:37:34 UTC (rev 2544) +++ branches/07x/074/org/w3c/dom/svg.js 2011-03-31 14:51:14 UTC (rev 2545) @@ -2867,10 +2867,10 @@ var tar = evt.target, matrix = tar.getScreenCTM(), tlist = tar.normalizedPathSegList, + _parseInt = _pInt, dat = [], ma = matrix.a, mb = matrix.b, mc = matrix.c, md = matrix.d, me = matrix.e, mf = matrix.f, cname = tar._com._nameCom, - pin = _pInt, isZ = tar._com._isZ, isC = tar._com._isC; for (var i=0, tli=tlist.numberOfItems;i