[Sie-announce] SIEコード [2597] 1, setPropertyメソッドの軽量か

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 4月 16日 (土) 23:24:56 JST


Revision: 2597
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2597
Author:   dhrname
Date:     2011-04-16 23:24:56 +0900 (Sat, 16 Apr 2011)

Log Message:
-----------
1, setPropertyメソッドの軽量か
2, stop-colorプロパティにおいて、SVGColorの型キャストができるように、setPropertyメソッドを修正

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

Modified: branches/07x/075/org/w3c/dom/css.js
===================================================================
--- branches/07x/075/org/w3c/dom/css.js	2011-04-16 13:58:12 UTC (rev 2596)
+++ branches/07x/075/org/w3c/dom/css.js	2011-04-16 14:24:56 UTC (rev 2597)
@@ -252,6 +252,20 @@
       return "";
     }
   },
+  _isFillStroke : {
+    "fill" : 1,
+    "stroke" : 1
+  },
+  _isColor : {
+    "color" : 1
+  },
+  _isStop : {
+    "stop-color" : 1
+  },
+  _isRS : {
+    "r" : 1,
+    "#" : 1
+  },
   /*setPropertyメソッド
    *プロパティを宣言内で、明示的に設定。継承は無視する
    */
@@ -272,14 +286,14 @@
       tg.cssText = cssText;
       ti = tg;
     } else {
-      if ((propertyName === "fill") || (propertyName === "stroke")) {
+      if (this._isFillStroke[propertyName]) {
         /*fill、strokeプロパティは別途、SVGPaintで処理(JavaScriptでは、型キャストを使えないため)
          *CSSPrimitiveValueオブジェクトとSVGPaintオブジェクトを最後に置き換える
          */
         ti = new SVGPaint();
         paintType = /*SVGPaint.SVG_PAINTTYPE_UNKNOWN*/ 0;
         v1 = value.charAt(0);
-        if ((v1 === "#") || ti._keywords[value] || (v1 === "r")) {
+        if (this._isRS[v1] || ti._keywords[value]) {
           paintType = /*SVGPaint.SVG_PAINTTYPE_RGBCOLOR*/ 1;
           color = value;
         } else if (value === "none") {
@@ -293,7 +307,11 @@
         }
         ti.setPaint(paintType, uri, color, null);
         paintType = v1 = uri = color = null;
-      } else if (propertyName === "color") {
+      } else if (this._isStop[propertyName]) {
+        ti = new SVGColor();
+        ti.colorType = /*SVGColor.SVG_COLORTYPE_RGBCOLOR*/ 1;
+        ti.setRGBColor(value);
+      } else if (this._isColor[propertyName]) {
         ti = new CSSPrimitiveValue();
         fill = this.getPropertyCSSValue("fill");
         stroke = this.getPropertyCSSValue("stroke");




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