[Sie-announce] SIEコード [2974] polyline, polygon要素のpoints属性をアニメーションする際に発生するバグを一部修正

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2011年 10月 5日 (水) 19:28:35 JST


Revision: 2974
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2974
Author:   dhrname
Date:     2011-10-05 19:28:34 +0900 (Wed, 05 Oct 2011)

Log Message:
-----------
polyline, polygon要素のpoints属性をアニメーションする際に発生するバグを一部修正

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

Modified: branches/08x/086/org/w3c/dom/svg.js
===================================================================
--- branches/08x/086/org/w3c/dom/svg.js	2011-10-03 14:36:58 UTC (rev 2973)
+++ branches/08x/086/org/w3c/dom/svg.js	2011-10-05 10:28:34 UTC (rev 2974)
@@ -5355,7 +5355,15 @@
           v2 = tanni = void 0;
         }
       }
-      if (!!tta) {
+      if ("animatedPoints" in ttr) {
+        ttr.animatedPoints = vi.points;
+        for (var i=0, tav=tar._values, tvli=tav.length;i<tvli;++i) {
+          var vir = ttr.cloneNode(false);
+          delete vir._tar;
+          vir.setAttributeNS(null, "points", tav[i]);
+          tar._valueList[tar._valueList.length] = vir.points;
+        }
+      } else if (!!tta) {
         tta.animVal = vi[attrName].baseVal;
         for (var i=0, tav=tar._values, tvli=tav.length;i<tvli;++i) {
           var vir = ttr.cloneNode(false); //仮の要素
@@ -5372,14 +5380,6 @@
             tar._valueList[i] = parseFloat(tav[i]);
           }
         }
-      } else if ("animatedPoints" in ttr) {
-        ttr.animatedPoints = vi.points;
-        for (var i=0, tav=tar._values, tvli=tav.length;i<tvli;++i) {
-          var vir = ttr.cloneNode(false);
-          delete vir._tar;
-          vir.setAttributeNS(null, "points", tav[i]);
-          tar._valueList[tar._valueList.length] = vir.points;
-        }
       } else if ("normalizedPathSegList" in ttr) {
         ttr.animatedNormalizedPathSegList = vi.normalizedPathSegList;
         for (var i=0, tav=tar._values, tvli=tav.length;i<tvli;++i) {
@@ -5427,7 +5427,13 @@
         var di = d / n; //keyTimesがなければ均等に時間を配分しておく
         var ti = ii / n;
       }
-      if (!!tta) {
+      if ("animatedPoints" in ttr) {
+        var base = ttr.points;
+        ttr.points = ttr.animatedPoints;
+        ttr.dispatchEvent(evt);
+        ttr.animatedPoints = ttr.points;
+        ttr.points = base;
+      } else if (!!tta) {
         var base = tta.baseVal, tanim = tta.animVal;
         var v1 = tar._valueList[ii].value;
         /*vを求める公式に関しては、SMIL2.0 Animation Moduleの単純アニメーション関数の項を参照
@@ -5457,12 +5463,6 @@
         } else {
           var v = v1;
         }
-      } else if ("animatedPoints" in ttr) {
-        var base = ttr.points;
-        ttr.points = ttr.animatedPoints;
-        ttr.dispatchEvent(evt);
-        ttr.animatedPoints = ttr.points;
-        ttr.points = base;
       } else if ("normalizedPathSegList" in ttr) {
         var base = ttr.normalizedPathSegList;
         ttr.normalizedPathSegList = ttr.animatedNormalizedPathSegList;




Sie-announce メーリングリストの案内
Zurück zum Archiv-Index