[Sie-announce] SIEコード [1839]

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 5月 23日 (日) 19:43:39 JST


Revision: 1839
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1839
Author:   dhrname
Date:     2010-05-23 19:43:39 +0900 (Sun, 23 May 2010)

Log Message:
-----------


Modified Paths:
--------------
    branches/ufltima/dom/svg.js

Modified: branches/ufltima/dom/svg.js
===================================================================
--- branches/ufltima/dom/svg.js	2010-05-23 10:27:41 UTC (rev 1838)
+++ branches/ufltima/dom/svg.js	2010-05-23 10:43:39 UTC (rev 1839)
@@ -1286,8 +1286,12 @@
   return this;
 }
  GetSVGDocument.prototype = {
+  /*_initメソッド
+   *object(embed)要素で指定されたSVG文書を読み込んで、SVGを処理して表示させるメソッド
+   */
   _init : function() {
-  var xmlhttp = NAIBU.xmlhttp, objei = this._tar, thistar = this;   //objeiはobject要素かembed要素
+  /*objeiはobject要素かembed要素*/
+  var xmlhttp = NAIBU.xmlhttp, objei = this._tar, thistar = this;
   xmlhttp.open("GET", objei.getAttribute("data"), true);
   xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
   xmlhttp.onreadystatechange = function() {
@@ -1295,7 +1299,7 @@
       /*responseXMLを使うと、時々、空のデータを返すことがあるため(原因は不明)、
        *ここでは、responseTextを用いる
        */
-      var doc = NAIBU.document;
+      var doc = new ActiveXObject("MSXML2.DomDocument");
       var dew = new Date();
       str = xmlhttp.responseText.replace(/!DOCTYPE/,"!--").replace(/(dtd">|\]>)/,"-->");
       doc.loadXML(str);
@@ -1316,10 +1320,12 @@
       }
       var fi = doc.documentElement.firstChild, n;
       var attr = doc.documentElement.attributes, att;
-      for (var i=0,atli=attr.length;i<atli;++i) { //ルート要素のNamedNodeMapを検索する
+      /*ルート要素のNamedNodeMapを検索する*/
+      for (var i=0,atli=attr.length;i<atli;++i) {
         att = s.importNode(attr[i], false);
         tar.setAttributeNodeNS(att);
       }
+      doc = str = attr = null;
       var sdt = tar._tar, sp = document.createElement("div"), dcp = document.createElement("v:group");
       dcp.style.width = tar.width.baseVal.value+ "px";
       dcp.style.height = tar.height.baseVal.value+ "px";
@@ -1332,6 +1338,7 @@
         tar.appendChild(n);
         fi = fi.nextSibling;
       }
+      fi = null;
       /*以下では、VMLの要素とHTMLのCSSのプロパティを用いて、背景を
        *作り出す作業を行う。これは必須
        */
@@ -1348,20 +1355,21 @@
       var tpstyle = objei.style;
       trstyle.visibility = "visible";
       trstyle.position = "absolute";
-      //以下、画像を切り取り
+      /*以下、画像を切り取り*/
       trstyle.overflow = "hidden";
       var backrs = backr.currentStyle;
-      var viewWidth = w > sw ? sw : w, viewHeight = h > sh ? sh : h; //ウィンドウ枠の長さを決定する
+      /*ウィンドウ枠の長さを決定する*/
+      var viewWidth = w > sw ? sw : w, viewHeight = h > sh ? sh : h;
       var bfl = parseFloat(backrs.left), bft = parseFloat(backrs.top);
       var bl = -tar._tx, bt = -tar._ty;
       var backright = bl + viewWidth + 1;
       var backdown = bt + viewHeight + 1;
       trstyle.clip = "rect(" +bt+ "px " +backright+ "px " +backdown+ "px " +bl+ "px)";
       alert((new Date()).getTime() - dew.getTime());
-      doc = str = fi = attr = null;
       if (thistar._next) {
         thistar._next._init();
       } else {
+        /*全要素の読み込みが終了した場合*/
       }
     }
   };
@@ -1376,7 +1384,7 @@
  */
 function SVGStyleElement() {
   SVGElement.apply(this, arguments);
-  //以下はそれぞれ、属性の値に対応している
+  /*以下はそれぞれ、属性の値に対応している*/
   /*DOMString*/ this.xmlspace;
   /*DOMString*/ this.type = "text/css";
   /*DOMString*/ this.media;
@@ -1395,7 +1403,7 @@
   return this;
 };
 SVGPoint.prototype.matrixTransform = function(/*SVGMatrix*/ matrix ) {
-  //整数にしているのは、VMLの設計上、小数点を扱えないときがあるため
+  /*整数にしているのは、VMLの設計上、小数点を扱えないときがあるため*/
   var x = parseInt(matrix.a * this.x + matrix.c * this.y + matrix.e, 10);
   var y = parseInt(matrix.b * this.x + matrix.d * this.y + matrix.f, 10);
   if (-1 < x && x < 1) {x=1;}
@@ -3849,7 +3857,6 @@
     }
   }
   NAIBU.xmlhttp = xmlhttp;
-  NAIBU.document = new ActiveXObject("MSXML2.DomDocument");
   if (!document.namespaces["v"]) {
     document.namespaces.add("v","urn:schemas-microsoft-com:vml");
     document.namespaces.add("o","urn:schemas-microsoft-com:office:office");




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