[Sie-announce] SIEコード [1775] getPropertyCSSValueメソッドの修正

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 4月 4日 (日) 00:16:38 JST


Revision: 1775
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1775
Author:   dhrname
Date:     2010-04-04 00:16:38 +0900 (Sun, 04 Apr 2010)

Log Message:
-----------
getPropertyCSSValueメソッドの修正

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

Modified: branches/ufltima/dom/css.js
===================================================================
--- branches/ufltima/dom/css.js	2010-04-03 15:00:53 UTC (rev 1774)
+++ branches/ufltima/dom/css.js	2010-04-03 15:16:38 UTC (rev 1775)
@@ -209,10 +209,16 @@
    */
 /*CSSValue*/ getPropertyCSSValue : function( /*string*/ propertyName) {
     propertyName += ":";
+    if (propertyName === ":") { //どんなデータ型でも、文字列に変換する機能をJavaScriptが持つことに注意
+      return null;
+    }
     for (var i=0,tli=this._list.length;i<tli;++i) {
       var ti = this._list[i], tc = ti.cssText;
-      if (tc.indexOf(propertyName) > -1) {                            //プロパティ名に合致するCSSValueオブジェクトが見つかった場合
-        if (propertyName === "fill:" || propertyName === "stroke:") { //fill、strokeプロパティは別途、SVGPaintで処理
+      if (tc.indexOf(propertyName) > -1) {            //プロパティ名に合致するCSSValueオブジェクトが見つかった場合
+        if ((propertyName === "fill:") || (propertyName === "stroke:")) {
+          /*fill、strokeプロパティは別途、SVGPaintで処理(JavaScriptでは、型キャストを使えないため)
+           *CSSPrimitiveValueオブジェクトとSVGPaintオブジェクトを最後に置き換える
+           */
           ti = new SVGPaint();
           ti.cssText = tc;
            var paintType = SVGPaint.SVG_PAINTTYPE_UNKNOWN, uri = null, color = null;
@@ -223,7 +229,7 @@
             color = this.getPropertyValue("color");
           } else {
             var _urlreg = /url\(#([^)]+)/;
-            if (_urlreg.test(tc)) {                                  //fill属性の値がurl(#id)ならば
+            if (_urlreg.test(tc)) {                   //fill属性の値がurl(#id)ならば
               paintType = SVGPaint.SVG_PAINTTYPE_URI;
               uri = RegExp.$1;
             } else {
@@ -232,6 +238,7 @@
             }
           }
           ti.setPaint(paintType, uri, color, null);
+          this._list[i] = ti;
         }
         return ti;
       }




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