[Sie-announce] SIEコード [2855] 1, インラインSVGに関する_ca関数のバグを修正

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
2011年 8月 9日 (火) 21:19:28 JST


Revision: 2855
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2855
Author:   dhrname
Date:     2011-08-09 21:19:28 +0900 (Tue, 09 Aug 2011)

Log Message:
-----------
1, インラインSVGに関する_ca関数のバグを修正
2, テキストの位置が上に行き過ぎていたので微調整をした
3, text、tspan要素でvisibilityとdipslayプロパティが正常に動かなくなるバグを修正
4, 全体画像の位置が下へ2px、左へ2pxずれていたので、div要素のmarginプロパティを使って調整した

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

Property Changed:
----------------
    branches/08x/org/w3c/dom/svg.js

Modified: branches/08x/org/w3c/dom/svg.js
===================================================================
--- branches/08x/org/w3c/dom/svg.js	2011-08-09 12:15:54 UTC (rev 2854)
+++ branches/08x/org/w3c/dom/svg.js	2011-08-09 12:19:28 UTC (rev 2855)
@@ -1690,11 +1690,16 @@
      *ここでは、responseTextを用いる
      */
     var dsd = new Date();
-    var ifr = this._tar.previousSibling;
-    ifr.contentWindow.screen.updateInterval = 999;
-    var _doc = ifr.contentWindow.document;
-    _doc.write("");
-    _doc.close(); // これがないと document.body は null になる
+    var ifr = this._tar.previousSibling,
+        _doc;
+    if (ifr.contentWindow) {
+      ifr.contentWindow.screen.updateInterval = 999;
+      _doc = ifr.contentWindow.document;
+      _doc.write("");
+      _doc.close(); // これがないと document.body は null になる
+    } else {        //インラインSVGの場合
+      _doc = document;
+    }
     if (("namespaces" in _doc) && !_doc.namespaces["v"]) {
       _doc.namespaces.add("v","urn:schemas-microsoft-com:vml");
       _doc.namespaces.add("o","urn:schemas-microsoft-com:office:office");
@@ -1723,7 +1728,10 @@
           oba = _doc.createElement("div"); //obaはradialGradient要素で使う
     oba.setAttribute("id","_NAIBU_outline");
     _doc.body.appendChild(oba);
-    _doc.body.style.backgroundColor = objei.parentNode.currentStyle.backgroundColor;
+    sp.style.margin = "-2px,-0px,0px,-2px"
+    if (ifr.contentWindow) {
+       _doc.body.style.backgroundColor = objei.parentNode.currentStyle.backgroundColor;
+    }
     s._document_ = _doc; //_document_プロパティはradialGradient要素やNAIBU._setPaintなどで使う
     ndoc.async = false;
     /*下記のプロパティについては、Microsoftのサイトを参照
@@ -1785,7 +1793,11 @@
     dcp.style.height = tview.height+ "px";
     dcp.coordsize = tview.width+ " " +tview.height;
     sp.appendChild(dcp);
-    _doc.body.appendChild(sp);
+    if (ifr.contentWindow) {
+      _doc.body.appendChild(sp);
+    } else {
+      this._tar.parentNode.insertBefore(sp, this._tar);
+    }
     dcp.appendChild(sdt);
     while (fi) { //子ノードを検索して、子供がいれば、importNodeメソッドを再帰的に実行する
       n = s.importNode(fi, true);
@@ -1872,7 +1884,7 @@
     this.xmlhttp.onreadystatechange = NAIBU.emptyFunction;
     alert(+(new Date()) - dsd.getTime())
     if (this._next) {
-      ifr.contentWindow.screen.updateInterval = 0;
+      ifr.contentWindow && (ifr.contentWindow.screen.updateInterval = 0);
       ifr = s = null;
       this._next._init();
     } else {
@@ -4202,7 +4214,7 @@
             sty.top = p.y + "px";
             sty.width = "0px";
             sty.height = "0px";
-            sty.marginTop = tar._isYokogaki ? -n-10+ "px" : "-10px";
+            sty.marginTop = tar._isYokogaki ? -n-5+ "px" : "-5px";
             sty.lineHeight = n+10+ "px";
             ttp.appendChild(ti._tars[ij]);
             sty = p = null;
@@ -4231,26 +4243,27 @@
       var color = style.getPropertyValue("fill"),
           cursor = style.getPropertyCSSValue("cursor"),
           vis = style.getPropertyCSSValue("visibility"),
-          disp = style.getPropertyCSSValue("display");
+          disp = style.getPropertyCSSValue("display"),
+          tts = tar._tar.style;
       if (color === "none"){
-        tar._tar.style.color = "transparent";
+        tts.color = "transparent";
       } else if (color.indexOf("url") === -1) {
-        tar._tar.style.color = color;
+        tts.color = color;
       } else {
-        tar._tar.style.color = "black";
+        tts.color = "black";
       }
       if (cursor && !cursor._isDefault) { //初期値でないならば
         var tc = cursor.cssText;
-        el.style.cursor = tc.substring(tc.indexOf(":")+1, tc.length);
+        tts.cursor = tc.substring(tc.indexOf(":")+1, tc.length);
         tc = null;
       }
       if (vis && !vis._isDefault) {
-        el.style.visibility = vis.cssText.substring(vis.cssText.indexOf(":")+1, vis.cssText.length);
+        tts.visibility = vis.cssText.substring(vis.cssText.indexOf(":")+1, vis.cssText.length);
       }
        if (disp && !disp._isDefault && (disp.cssText.indexOf("none") > -1)) {
-        el.style.display = "none";
+        tts.display = "none";
             } else if (disp && !disp._isDefault) {
-        el.style.display = "block";
+        tts.display = "block";
       }
       var isRect = true;
       if (ttp.lastChild) {


Property changes on: branches/08x/org/w3c/dom/svg.js
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/06x/061/org/w3c/dom/svg.js:1864-2067
/branches/06x/062/org/w3c/dom/svg.js:2071-2106
/branches/06x/063/org/w3c/dom/svg.js:2110-2146
/branches/06x/064/org/w3c/dom/svg.js:2149-2177
/branches/06x/065/org/w3c/dom/svg.js:2179-2209
/branches/06x/066/org/w3c/dom/svg.js:2211-2239
/branches/06x/067/org/w3c/dom/svg.js:2257-2282
/branches/06x/068/org/w3c/dom/svg.js:2284-2314
/branches/06x/069/org/w3c/dom/svg.js:2317-2352
/branches/06x/org/w3c/dom/svg.js:1861-2353
/branches/07x/070/org/w3c/dom/svg.js:2363-2383
/branches/07x/071/org/w3c/dom/svg.js:2385-2433
/branches/07x/072/org/w3c/dom/svg.js:2435-2474
/branches/07x/073/org/w3c/dom/svg.js:2476-2509
/branches/07x/074/org/w3c/dom/svg.js:2511-2556
/branches/07x/075/org/w3c/dom/svg.js:2558-2597
/branches/07x/076/org/w3c/dom/svg.js:2600-2631,2642
/branches/07x/077/org/w3c/dom/svg.js:2635-2677
/branches/07x/078/org/w3c/dom/svg.js:2679-2726
/branches/07x/079/org/w3c/dom/svg.js:2728-2746
/branches/07x/org/org/w3c/dom/svg.js:2643
/branches/07x/org/w3c/dom/svg.js:2356-2753
/branches/08x/080/org/w3c/dom/svg.js:2758-2785
/branches/08x/081/org/w3c/dom/svg.js:2787-2814
/branches/08x/082/org/w3c/dom/svg.js:2817-2843
/branches/ufltima/dom/svg.js:1621-1856
   + /branches/06x/061/org/w3c/dom/svg.js:1864-2067
/branches/06x/062/org/w3c/dom/svg.js:2071-2106
/branches/06x/063/org/w3c/dom/svg.js:2110-2146
/branches/06x/064/org/w3c/dom/svg.js:2149-2177
/branches/06x/065/org/w3c/dom/svg.js:2179-2209
/branches/06x/066/org/w3c/dom/svg.js:2211-2239
/branches/06x/067/org/w3c/dom/svg.js:2257-2282
/branches/06x/068/org/w3c/dom/svg.js:2284-2314
/branches/06x/069/org/w3c/dom/svg.js:2317-2352
/branches/06x/org/w3c/dom/svg.js:1861-2353
/branches/07x/070/org/w3c/dom/svg.js:2363-2383
/branches/07x/071/org/w3c/dom/svg.js:2385-2433
/branches/07x/072/org/w3c/dom/svg.js:2435-2474
/branches/07x/073/org/w3c/dom/svg.js:2476-2509
/branches/07x/074/org/w3c/dom/svg.js:2511-2556
/branches/07x/075/org/w3c/dom/svg.js:2558-2597
/branches/07x/076/org/w3c/dom/svg.js:2600-2631,2642
/branches/07x/077/org/w3c/dom/svg.js:2635-2677
/branches/07x/078/org/w3c/dom/svg.js:2679-2726
/branches/07x/079/org/w3c/dom/svg.js:2728-2746
/branches/07x/org/org/w3c/dom/svg.js:2643
/branches/07x/org/w3c/dom/svg.js:2356-2753
/branches/08x/080/org/w3c/dom/svg.js:2758-2785
/branches/08x/081/org/w3c/dom/svg.js:2787-2814
/branches/08x/082/org/w3c/dom/svg.js:2817-2843
/branches/08x/083/org/w3c/dom/svg.js:2847-2854
/branches/ufltima/dom/svg.js:1621-1856




Sie-announce メーリングリストの案内
アーカイブの一覧に戻る