[Sie-announce] SIEコード [1751]

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 3月 24日 (水) 23:10:59 JST


Revision: 1751
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1751
Author:   dhrname
Date:     2010-03-24 23:10:59 +0900 (Wed, 24 Mar 2010)

Log Message:
-----------


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

Modified: branches/ufltima/dom/svg.js
===================================================================
--- branches/ufltima/dom/svg.js	2010-03-24 14:10:26 UTC (rev 1750)
+++ branches/ufltima/dom/svg.js	2010-03-24 14:10:59 UTC (rev 1751)
@@ -156,7 +156,7 @@
       }
       style.cssText._rewrite = 1;
     }
-  }, false)
+  }, true)
   this.addEventListener("DOMAttrModified", function(evt){
     if (evt.eventPhase === Event.BUBBLING_PHASE) {
       return;
@@ -515,7 +515,6 @@
 SVGColor.constructor = CSSValue;
 
 /*void*/ SVGColor.prototype.setRGBColor = function(/*DOMString*/ rgbColor ){
-  this.cssText = rgbColor;
   var tkr = this._keywords[rgbColor];
   if (tkr !== void 0) {
     rgbColor = tkr;
@@ -533,7 +532,7 @@
   this.rgbColor.red.setFloatValue(CSSPrimitiveValue.CSS_NUMBER, parseFloat(s[0]));
   this.rgbColor.green.setFloatValue(CSSPrimitiveValue.CSS_NUMBER, parseFloat(s[1]));
   this.rgbColor.blue.setFloatValue(CSSPrimitiveValue.CSS_NUMBER, parseFloat(s[2]));
-};
+  };
 
 //                    raises( SVGException );
 /*void*/ SVGColor.prototype.setColor =function(/*unsigned short*/ colorType, /*DOMString*/ rgbColor, /*DOMString*/ iccColor ){
@@ -545,137 +544,153 @@
 //                    raises( SVGException );
 //色キーワード
 SVGColor.prototype._keywords = {
-  aliceblue: "#F0F8FF",
-  antiquewhite: "#FAEBD7",
-  aquamarine: "#7FFFD4",
-  azure: "#F0FFFF",
-  beige: "#F5F5DC",
-  bisque: "#FFE4C4",
-  blanchedalmond: "#FFEBCD",
-  blueviolet: "#8A2BE2",
-  brown: "#A52A2A",
-  burlywood: "#DEB887",
-  cadetblue: "#5F9EA0",
-  chartreuse: "#7FFF00",
-  chocolate: "#D2691E",
-  coral: "#FF7F50",
-  cornflowerblue: "#6495ED",
-  cornsilk: "#FFF8DC",
-  crimson: "#DC143C",
-  cyan: "#00FFFF",
-  darkblue: "#00008B",
-  darkcyan: "#008B8B",
-  darkgoldenrod: "#B8860B",
-  darkgray: "#A9A9A9",
-  darkgreen: "#006400",
-  darkgrey: "#A9A9A9",
-  darkkhaki: "#BDB76B",
-  darkmagenta: "#8B008B",
-  darkolivegreen: "#556B2F",
-  darkorange: "#FF8C00",
-  darkorchid: "#9932CC",
-  darkred: "#8B0000",
-  darksalmon: "#E9967A",
-  darkseagreen: "#8FBC8F",
-  darkslateblue: "#483D8B",
-  darkslategray: "#2F4F4F",
-  darkslategrey: "#2F4F4F",
-  darkturquoise: "#00CED1",
-  darkviolet: "#9400D3",
-  deeppink: "#FF1493",
-  deepskyblue: "#00BFFF",
-  dimgray: "#696969",
-  dimgrey: "#696969",
-  dodgerblue: "#1E90FF",
-  firebrick: "#B22222",
-  floralwhite: "#FFFAF0",
-  forestgreen: "#228B22",
-  gainsboro: "#DCDCDC",
-  ghostwhite: "#F8F8FF",
-  gold: "#FFD700",
-  goldenrod: "#DAA520",
-  grey: "#808080",
-  greenyellow: "#ADFF2F",
-  honeydew: "#F0FFF0",
-  hotpink: "#FF69B4",
-  indianred: "#CD5C5C",
-  indigo: "#4B0082",
-  ivory: "#FFFFF0",
-  khaki: "#F0E68C",
-  lavender: "#E6E6FA",
-  lavenderblush: "#FFF0F5",
-  lawngreen: "#7CFC00",
-  lemonchiffon: "#FFFACD",
-  lightblue: "#ADD8E6",
-  lightcoral: "#F08080",
-  lightcyan: "#E0FFFF",
-  lightgoldenrodyellow: "#FAFAD2",
-  lightgray: "#D3D3D3",
-  lightgreen: "#90EE90",
-  lightgrey: "#D3D3D3",
-  lightpink: "#FFB6C1",
-  lightsalmon: "#FFA07A",
-  lightseagreen: "#20B2AA",
-  lightskyblue: "#87CEFA",
-  lightslategray: "#778899",
-  lightslategrey: "#778899",
-  lightsteelblue: "#B0C4DE",
-  lightyellow: "#FFFFE0",
-  limegreen: "#32CD32",
-  linen: "#FAF0E6",
-  magenta: "#FF00FF",
-  mediumaquamarine: "#66CDAA",
-  mediumblue: "#0000CD",
-  mediumorchid: "#BA55D3",
-  mediumpurple: "#9370DB",
-  mediumseagreen: "#3CB371",
-  mediumslateblue: "#7B68EE",
-  mediumspringgreen: "#00FA9A",
-  mediumturquoise: "#48D1CC",
-  mediumvioletred: "#C71585",
-  midnightblue: "#191970",
-  mintcream: "#F5FFFA",
-  mistyrose: "#FFE4E1",
-  moccasin: "#FFE4B5",
-  navajowhite: "#FFDEAD",
-  oldlace: "#FDF5E6",
-  olivedrab: "#6B8E23",
-  orange: "#FFA500",
-  orangered: "#FF4500",
-  orchid: "#DA70D6",
-  palegoldenrod: "#EEE8AA",
-  palegreen: "#98FB98",
-  paleturquoise: "#AFEEEE",
-  palevioletred: "#DB7093",
-  papayawhip: "#FFEFD5",
-  peachpuff: "#FFDAB9",
-  peru: "#CD853F",
-  pink: "#FFC0CB",
-  plum: "#DDA0DD",
-  powderblue: "#B0E0E6",
-  rosybrown: "#BC8F8F",
-  royalblue: "#4169E1",
-  saddlebrown: "#8B4513",
-  salmon: "#FA8072",
-  sandybrown: "#F4A460",
-  seagreen: "#2E8B57",
-  seashell: "#FFF5EE",
-  sienna: "#A0522D",
-  skyblue: "#87CEEB",
-  slateblue: "#6A5ACD",
-  slategray: "#708090",
-  slategrey: "#708090",
-  snow: "#FFFAFA",
-  springgreen: "#00FF7F",
-  steelblue: "#4682B4",
-  tan: "#D2B48C",
-  thistle: "#D8BFD8",
-  tomato: "#FF6347",
-  turquoise: "#40E0D0",
-  violet: "#EE82EE",
-  wheat: "#F5DEB3",
-  whitesmoke: "#F5F5F5",
-  yellowgreen: "#9ACD32"
+    aliceblue:    "rgb(240, 248, 255)",
+    antiquewhite: "rgb(250, 235, 215)",
+    aqua:         "rgb( 0, 255, 255)",
+    aquamarine:   "rgb(127, 255, 212)",
+    azure:        "rgb(240, 255, 255)",
+    beige:        "rgb(245, 245, 220)",
+    bisque:       "rgb(255, 228, 196)",
+    black:        "rgb( 0, 0, 0)",
+    blanchedalmond:"rgb(255, 235, 205)",
+    blue:         "rgb( 0, 0, 255)",
+    blueviolet:   "rgb(138, 43, 226)",
+    brown:        "rgb(165, 42, 42)",
+    burlywood:    "rgb(222, 184, 135)",
+    cadetblue:    "rgb( 95, 158, 160)",
+    chartreuse:   "rgb(127, 255, 0)",
+    chocolate:    "rgb(210, 105, 30)",
+    coral:        "rgb(255, 127, 80)",
+    cornflowerblue:"rgb(100, 149, 237)",
+    cornsilk:     "rgb(255, 248, 220)",
+    crimson:      "rgb(220, 20, 60)",
+    cyan:         "rgb( 0, 255, 255)",
+    darkblue:     "rgb( 0, 0, 139)",
+    darkcyan:     "rgb( 0, 139, 139)",
+    darkgoldenrod:"rgb(184, 134, 11)",
+    darkgray:     "rgb(169, 169, 169)",
+    darkgreen:    "rgb( 0, 100, 0)",
+    darkgrey:     "rgb(169, 169, 169)",
+    darkkhaki:    "rgb(189, 183, 107)",
+    darkmagenta:  "rgb(139, 0, 139)",
+    darkolivegreen:"rgb( 85, 107, 47)",
+    darkorange:    "rgb(255, 140, 0)",
+    darkorchid:   "rgb(153, 50, 204)",
+    darkred:      "rgb(139, 0, 0)",
+    darksalmon:   "rgb(233, 150, 122)",
+    darkseagreen: "rgb(143, 188, 143)",
+    darkslateblue:"rgb( 72, 61, 139)",
+    darkslategray:"rgb( 47, 79, 79)",
+    darkslategrey:"rgb( 47, 79, 79)",
+    darkturquoise:"rgb( 0, 206, 209)",
+    darkviolet:   "rgb(148, 0, 211)",
+    deeppink:     "rgb(255, 20, 147)",
+    deepskyblue:  "rgb( 0, 191, 255)",
+    dimgray:      "rgb(105, 105, 105)",
+    dimgrey:      "rgb(105, 105, 105)",
+    dodgerblue:   "rgb( 30, 144, 255)",
+    firebrick:    "rgb(178, 34, 34)",
+    floralwhite:  "rgb(255, 250, 240)",
+    forestgreen:  "rgb( 34, 139, 34)",
+    fuchsia:      "rgb(255, 0, 255)",
+    gainsboro:    "rgb(220, 220, 220)",
+    ghostwhite:   "rgb(248, 248, 255)",
+    gold:         "rgb(255, 215, 0)",
+    goldenrod:    "rgb(218, 165, 32)",
+    gray:         "rgb(128, 128, 128)",
+    grey:         "rgb(128, 128, 128)",
+    green:        "rgb( 0, 128, 0)",
+    greenyellow:  "rgb(173, 255, 47)",
+    honeydew:     "rgb(240, 255, 240)",
+    hotpink:      "rgb(255, 105, 180)",
+    indianred:    "rgb(205, 92, 92)",
+    indigo:       "rgb( 75, 0, 130)",
+    ivory:        "rgb(255, 255, 240)",
+    khaki:        "rgb(240, 230, 140)",
+    lavender:     "rgb(230, 230, 250)",
+    lavenderblush:"rgb(255, 240, 245)",
+    lawngreen:    "rgb(124, 252, 0)",
+    lemonchiffon: "rgb(255, 250, 205)",
+    lightblue:    "rgb(173, 216, 230)",
+    lightcoral:   "rgb(240, 128, 128)",
+    lightcyan:    "rgb(224, 255, 255)",
+    lightgoldenrodyellow:"rgb(250, 250, 210)",
+    lightgray:    "rgb(211, 211, 211)",
+    lightgreen:   "rgb(144, 238, 144)",
+    lightgrey:    "rgb(211, 211, 211)",
+    lightpink:    "rgb(255, 182, 193)",
+    lightsalmon:  "rgb(255, 160, 122)",
+    lightseagree: "rgb( 32, 178, 170)",
+    lightskyblue: "rgb(135, 206, 250)",
+    lightslategray:"rgb(119, 136, 153)",
+    lightslategrey:"rgb(119, 136, 153)",
+    lightsteelblue:"rgb(176, 196, 222)",
+    lightyellow:  "rgb(255, 255, 224)",
+    lime:         "rgb( 0, 255, 0)",
+    limegreen:    "rgb( 50, 205, 50)",
+    linen:        "rgb(250, 240, 230)",
+    magenta:      "rgb(255, 0, 255)",
+    maroon:       "rgb(128, 0, 0)",
+    mediumaquamarine:"rgb(102, 205, 170)",
+    mediumblue:    "rgb( 0, 0, 205)",
+    mediumorchid:  "rgb(186, 85, 211)",
+    mediumpurple:  "rgb(147, 112, 219)",
+    mediumseagreen:"rgb( 60, 179, 113)",
+    mediumslateblue:"rgb(123, 104, 238)",
+    mediumspringgreen:"rgb( 0, 250, 154)",
+    mediumturquoise:"rgb( 72, 209, 204)",
+    mediumvioletred:"rgb(199, 21, 133)",
+    midnightblue:  "rgb( 25, 25, 112)",
+    mintcream:     "rgb(245, 255, 250)",
+    mistyrose:     "rgb(255, 228, 225)",
+    moccasin:      "rgb(255, 228, 181)",
+    navajowhite:   "rgb(255, 222, 173)",
+    navy:          "rgb( 0, 0, 128)",
+    oldlace:       "rgb(253, 245, 230)",
+    olive:         "rgb(128, 128, 0)",
+    olivedrab:     "rgb(107, 142, 35)",
+    orange:        "rgb(255, 165, 0)",
+    orangered:     "rgb(255, 69, 0)",
+    orchid:        "rgb(218, 112, 214)",
+    palegoldenrod: "rgb(238, 232, 170)",
+    palegreen:     "rgb(152, 251, 152)",
+    paleturquoise: "rgb(175, 238, 238)",
+    palevioletred: "rgb(219, 112, 147)",
+    papayawhip:    "rgb(255, 239, 213)",
+    peachpuff:     "rgb(255, 218, 185)",
+    peru:          "rgb(205, 133, 63)",
+    pink:          "rgb(255, 192, 203)",
+    plum:          "rgb(221, 160, 221)",
+    powderblue:    "rgb(176, 224, 230)",
+    purple:        "rgb(128, 0, 128)",
+    red:           "rgb(255, 0, 0)",
+    rosybrown:     "rgb(188, 143, 143)",
+    royalblue:     "rgb( 65, 105, 225)",
+    saddlebrown:   "rgb(139, 69, 19)",
+    salmon:        "rgb(250, 128, 114)",
+    sandybrown:    "rgb(244, 164, 96)",
+    seagreen:      "rgb( 46, 139, 87)",
+    seashell:      "rgb(255, 245, 238)",
+    sienna:        "rgb(160, 82, 45)",
+    silver:        "rgb(192, 192, 192)",
+    skyblue:       "rgb(135, 206, 235)",
+    slateblue:     "rgb(106, 90, 205)",
+    slategray:     "rgb(112, 128, 144)",
+    slategrey:     "rgb(112, 128, 144)",
+    snow:          "rgb(255, 250, 250)",
+    springgreen:   "rgb( 0, 255, 127)",
+    steelblue:     "rgb( 70, 130, 180)",
+    tan:           "rgb(210, 180, 140)",
+    teal:          "rgb( 0, 128, 128)",
+    thistle:       "rgb(216, 191, 216)",
+    tomato:        "rgb(255, 99, 71)",
+    turquoise:     "rgb( 64, 224, 208)",
+    violet:        "rgb(238, 130, 238)",
+    wheat:         "rgb(245, 222, 179)",
+    white:         "rgb(255, 255, 255)",
+    whitesmoke:    "rgb(245, 245, 245)",
+    yellow:        "rgb(255, 255, 0)",
+    yellowgreen:   "rgb(154, 205, 50)"
 };
 
 function SVGRect() { 
@@ -1136,16 +1151,16 @@
     var obje = document.getElementsByTagName("object");
     for (var i=0, objli=1;i<objli;++i) {
       var objei = {style:{}};//obje[i];
-      xmlhttp.open("GET", "4wd.svg", true);//objei.getAttribute("data"), true);
+      xmlhttp.open("GET", "tiger.svg", true);//objei.getAttribute("data"), true);
       xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
       xmlhttp.onreadystatechange = function() {
         if (xmlhttp.readyState === 4  &&  xmlhttp.status === 200) {
           /*SVGDocument*/ objei.getSVGDocument = function(){
-            var dew = new Date();
             /*responseXMLを使うと、時々、空のデータを返すことがあるため(原因は不明)、
              *ここでは、responseTextを用いる
              */
             var doc = new ActiveXObject("MSXML2.DomDocument");
+            var dew = new Date();
             str = xmlhttp.responseText.replace(/!DOCTYPE/,"!--").replace(/(dtd">|\]>)/,"-->");
             doc.loadXML(str);
             var s = DOMImplementation.createDocument("http://www.w3.org/2000/svg", "svg");
@@ -1983,8 +1998,8 @@
       if (fill.paintType === SVGPaint.SVG_PAINTTYPE_RGBCOLOR || fill.paintType === SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR) {
         var fillElement = document.createElement("v:fill");
         var isRadial = false;
-        var fc = fill.rgbColor;
-        fillElement.setAttribute("color", "rgb(" +fc.red.getFloatValue()+ "," +fc.green.getFloatValue()+ "," +fc.blue.getFloatValue()+ ")");
+        var fc = fill.rgbColor, num = CSSPrimitiveValue.CSS_NUMBER;
+        fillElement.setAttribute("color", "rgb(" +fc.red.getFloatValue(num)+ "," +fc.green.getFloatValue(num)+ "," +fc.blue.getFloatValue(num)+ ")");
         var fillOpacity = parseFloat(style.getPropertyValue("fill-opacity")) * parseFloat(style.getPropertyValue("opacity")); //opacityを掛け合わせる
         if (fillOpacity < 1) {
           fillElement.setAttribute("opacity", fillOpacity+"");
@@ -1992,7 +2007,7 @@
         if (!isRadial) {
           el.appendChild(fillElement);
         }
-        isRadial = fillOpacity = null;
+        fc = isRadial = fillOpacity = null;
       }
       if (stroke.paintType === SVGPaint.SVG_PAINTTYPE_RGBCOLOR || stroke.paintType === SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR) {
         var strokeElement = document.createElement("v:stroke");
@@ -2000,8 +2015,8 @@
         var swx = sw.value * Math.sqrt(Math.abs(matrix._determinant()));
         strokeElement.setAttribute("weight", swx + "px");
         if (!stroke.uri) {
-          var fc = stroke.rgbColor;
-          strokeElement.setAttribute("color", "rgb(" +fc.red.getFloatValue()+ "," +fc.green.getFloatValue()+ "," +fc.blue.getFloatValue()+ ")");
+          var fc = stroke.rgbColor, num = CSSPrimitiveValue.CSS_NUMBER;
+          strokeElement.setAttribute("color", "rgb(" +fc.red.getFloatValue(num)+ "," +fc.green.getFloatValue(num)+ "," +fc.blue.getFloatValue(num)+ ")");
           var strokeOpacity = parseFloat(style.getPropertyValue("stroke-opacity")) * parseFloat(style.getPropertyValue("opacity")); //opacityを掛け合わせる
           if (swx < 1) {
             strokeOpacity *= swx; //太さが1px未満なら色を薄くする
@@ -2009,7 +2024,7 @@
           if (strokeOpacity < 1) {
             strokeElement.setAttribute("opacity", strokeOpacity);
           }
-          strokeOpacity = null;
+          fc = num = strokeOpacity = null;
         }
         strokeElement.setAttribute("miterlimit", style.getPropertyValue("stroke-miterlimit"));
         strokeElement.setAttribute("joinstyle", style.getPropertyValue("stroke-linejoin"));




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