[Sie-announce] SIEコード [2565] 1, SVGElementの整理

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 4月 6日 (水) 22:30:39 JST


Revision: 2565
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2565
Author:   dhrname
Date:     2011-04-06 22:30:39 +0900 (Wed, 06 Apr 2011)

Log Message:
-----------
1, SVGElementの整理
2, 変数を解放させるNAIBU.freeArg関数の追加
3, IE9の判断条件に対する修正

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

Modified: branches/07x/075/org/w3c/dom/svg.js
===================================================================
--- branches/07x/075/org/w3c/dom/svg.js	2011-04-06 13:03:15 UTC (rev 2564)
+++ branches/07x/075/org/w3c/dom/svg.js	2011-04-06 13:30:39 UTC (rev 2565)
@@ -254,55 +254,53 @@
       tar.addEventListener(v, document._s, false);
     } else if (evt.relatedNode.nodeName === "xml:base") { //xml:base属性ならば
       tar.xmlbase = evt.newValue;
-    } else {
-      if (!!tar[name]) {
-        var tea = tar[name],
-            tod = tar.ownerDocument.documentElement,
-            tvw = tod.viewport.width,
-            tvh = tod.viewport.height,
-            n,
-            type,
-            _parseFloat,
-            s;
-        if (tea instanceof SVGAnimatedLength) {
-          n = evt.newValue.match(tar._NaNReg);
-          type = /*SVGLength.SVG_LENGTHTYPE_NUMBER*/ 1;
-          _parseFloat = parseFloat;
-          if (!!n) {
-            n = n[0];
+    } else if (!!tar[name]) {
+      var tea = tar[name],
+      tod = tar.ownerDocument.documentElement,
+      tvw = tod.viewport.width,
+      tvh = tod.viewport.height,
+      n,
+      type,
+      _parseFloat,
+      s;
+      if (tea instanceof SVGAnimatedLength) {
+        n = evt.newValue.match(tar._NaNReg);
+        type = /*SVGLength.SVG_LENGTHTYPE_NUMBER*/ 1;
+        _parseFloat = parseFloat;
+        if (!!n) {
+          n = n[0];
+        }
+        if (n === "%") {
+          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;
           }
-          if (n === "%") {
-            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") {
-            type = /*SVGLength.SVG_LENGTHTYPE_EMS*/ 3;
-          } else if (n === "ex") {
-            type = /*SVGLength.SVG_LENGTHTYPE_EXS*/ 4;
-          } else if (n === "px") {
-            type = /*SVGLength.SVG_LENGTHTYPE_PX*/ 5;
-          } else if (n === "cm") {
-            type = /*SVGLength.SVG_LENGTHTYPE_CM*/ 6;
-          } else if (n === "mm") {
-            type = /*SVGLength.SVG_LENGTHTYPE_MM*/ 7;
-          } else if (n === "in") {
-            type = /*SVGLength.SVG_LENGTHTYPE_IN*/ 8;
-          } else if (n === "pt") {
-            type = /*SVGLength.SVG_LENGTHTYPE_PT*/ 9;
-          } else if (n === "pc") {
-            type = /*SVGLength.SVG_LENGTHTYPE_PC*/ 10;
-          }
-          s = _parseFloat(evt.newValue);
-          s = isNaN(s) ? 0 : s;
-          tea.baseVal.newValueSpecifiedUnits(type, s);
+          type = /*SVGLength.SVG_LENGTHTYPE_PERCENTAGE*/ 2;
+        } else if (n === "em") {
+          type = /*SVGLength.SVG_LENGTHTYPE_EMS*/ 3;
+        } else if (n === "ex") {
+          type = /*SVGLength.SVG_LENGTHTYPE_EXS*/ 4;
+        } else if (n === "px") {
+          type = /*SVGLength.SVG_LENGTHTYPE_PX*/ 5;
+        } else if (n === "cm") {
+          type = /*SVGLength.SVG_LENGTHTYPE_CM*/ 6;
+        } else if (n === "mm") {
+          type = /*SVGLength.SVG_LENGTHTYPE_MM*/ 7;
+        } else if (n === "in") {
+          type = /*SVGLength.SVG_LENGTHTYPE_IN*/ 8;
+        } else if (n === "pt") {
+          type = /*SVGLength.SVG_LENGTHTYPE_PT*/ 9;
+        } else if (n === "pc") {
+          type = /*SVGLength.SVG_LENGTHTYPE_PC*/ 10;
         }
-        tea = tod = tvw = tvh = n = type = _parseFloat = s = null;
+        s = _parseFloat(evt.newValue);
+        s = isNaN(s) ? 0 : s;
+        tea.baseVal.newValueSpecifiedUnits(type, s);
       }
+      tea = tod = tvw = tvh = n = type = _parseFloat = s = null;
     }
     evt = _parseFloat = name = tar = null;
   }, false);
@@ -2372,6 +2370,10 @@
 
 /*documentは引数の変数として登録しておく*/
 (function(_doc, _pInt, _math) {
+//freeArg関数はunloadで使う解放処理
+NAIBU.freeArg = function() {
+  SVGPathElement = _doc = _pInt = _math = null;
+};
 //仮のfill属性とstroke属性の処理
 NAIBU._setPaint = function(tar, matrix) {
   /*以下では、スタイルシートを用いて、fill-とstroke-関連の
@@ -5907,6 +5909,7 @@
     }
     window.onscroll = NAIBU.emptyFunction;
     window.detachEvent("onload", NAIBU._main);
+    NAIBU.freeArg();
     Element = SVGElement = Attr = NamedNodeMap = CSS2Properties = CSSValue = CSSPrimitiveValue = NAIBU.xmlhttp = Node = Event = NAIBU = stlog = STLog = SVGColor = SVGPaint = null;
     Array = ActiveXObject = null;
   } catch(e) {}
@@ -5980,9 +5983,7 @@
   NAIBU.doc = nd;
   nd = ary = null;
   if (xmlhttp && NAIBU.isMSIE) {
-    if (!!document.createElementNS) { //IE9ならば
-      if (!!document.createElementNS( "http://www.w3.org/2000/svg", "svg").createSVGRect) {
-      }
+    if (!!document.createElementNS && !!document.createElementNS( "http://www.w3.org/2000/svg", "svg").createSVGRect) { //IE9ならば
     } else { //IE6-8ならば
       var oba = document.createElement("div");
       oba.setAttribute("id","_NAIBU_outline");




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