[Sie-announce] SIEコード [1823] 1, SVGElementのtranslateの処理バグを修正

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
2010年 5月 16日 (日) 18:34:53 JST


Revision: 1823
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1823
Author:   dhrname
Date:     2010-05-16 18:34:53 +0900 (Sun, 16 May 2010)

Log Message:
-----------
1, SVGElementのtranslateの処理バグを修正
2, path要素のd属性において、地が空の場合の対処を追加

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

Modified: branches/ufltima/dom/svg.js
===================================================================
--- branches/ufltima/dom/svg.js	2010-05-14 14:37:55 UTC (rev 1822)
+++ branches/ufltima/dom/svg.js	2010-05-16 09:34:53 UTC (rev 1823)
@@ -142,6 +142,7 @@
    *TransformListはtransform属性を行列で表現したあとのリスト構造
    */
   /*readonly attribute SVGAnimatedTransformList*/ this.transform = new SVGAnimatedTransformList();
+  this._cacheMatrix = null;
   //描画の際、SVGStylabaleで指定しておいたプロパティの処理をする
   this.addEventListener("DOMAttrModified", function(evt){
     if (evt.eventPhase === Event.BUBBLING_PHASE) {
@@ -177,9 +178,10 @@
             var degz = _parseFloat(deg[0]);
             s.setRotate(degz, _parseFloat(deg[1]), _parseFloat(degi[2]))
           } else if (degli <= 2) {
+            var degz = _parseFloat(deg[0]);
             switch (com) {
             case "translate":
-              s.setTranslate(degz)
+              s.setTranslate(degz, _parseFloat(deg[1] || deg[0]));
             break;
             case "scale":
               s.setScale(degz, _parseFloat(deg[1] || deg[0]));
@@ -1931,14 +1933,11 @@
   //以下は、d属性に変更があった場合の処理
   this.addEventListener("DOMAttrModified", function(evt){
     var tar = evt.target;
-    if (evt.attrName === "d") {
-      if(evt.newValue === ""){
-        /* d属性の値が空の場合は、描画を行わないようにする
-         * 
-         *SVG1.1 「8.3.9 The grammar for path data」の項目にある最後の文章を参照
-         */
-        return;
-      }
+    if (evt.attrName === "d" && evt.newValue !== ""){
+      /* d属性の値が空の場合は、描画を行わないようにする
+       * 
+       *SVG1.1 「8.3.9 The grammar for path data」の項目にある最後の文章を参照
+       */
       var tnl = tar.normalizedPathSegList, tlist = tar.pathSegList, D = [], _parseFloat = parseFloat;
       /*d属性の値を正規表現を用いて、二次元配列Dに変換している。もし、d属性の値が"M 20 30 L20 40"ならば、
        *JSONにおける表現は以下のとおり




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