[Sie-announce] SIEコード [1279] SVGPathElementの実装

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
2009年 9月 24日 (木) 22:52:45 JST


Revision: 1279
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1279
Author:   dhrname
Date:     2009-09-24 22:52:45 +0900 (Thu, 24 Sep 2009)

Log Message:
-----------
SVGPathElementの実装

Modified Paths:
--------------
    branches/DOM/org/w3c/dom/svg.js

Modified: branches/DOM/org/w3c/dom/svg.js
===================================================================
--- branches/DOM/org/w3c/dom/svg.js	2009-09-23 13:59:11 UTC (rev 1278)
+++ branches/DOM/org/w3c/dom/svg.js	2009-09-24 13:52:45 UTC (rev 1279)
@@ -2163,7 +2163,7 @@
   /*readonly SVGAnimatedRect*/ this.viewBox = new SVGAnimatedRect();
   /*readonly SVGAnimatedPreserveAspectRatio*/ this.preserveAspectRatio = new SVGAnimatedPreserveAspectRatio();
   return this;
-}
+};
 function SVGViewSpec() {
   SVGFitToViewBox.apply(this, arguments);
   /*readonly SVGTransformList*/ this.transform = null;
@@ -2534,270 +2534,387 @@
 }
 
 function SVGAnimatedTransformList() { 
-  /*readonly SVGTransformList*/ this.baseVal;
-  /*readonly SVGTransformList*/ this.animVal;
+  /*readonly SVGTransformList*/ this.animVal = this.baseVal = new SVGTransformList();
   return this;
 };
-function SVGPreserveAspectRatio { 
+function SVGPreserveAspectRatio() { 
+  /*unsigned short*/ this.align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_UNKNOWN;
+  /*unsigned short*/ this.meetOrSlice = SVGPreserveAspectRatio.SVG_MEETORSLICE_UNKNOWN;
+  return this;
+};
+with(SVGPreserveAspectRatio) {
     // Alignment Types
-  /*unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN   = 0;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_NONE     = 1;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;
-  /*unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_UNKNOWN  = 0;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_NONE     = 1;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMINYMID = 5;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;
+  /*unsigned short*/ SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;
     // Meet-or-slice Types
-  /*unsigned short SVG_MEETORSLICE_UNKNOWN   = 0;
-  /*unsigned short SVG_MEETORSLICE_MEET  = 1;
-  /*unsigned short SVG_MEETORSLICE_SLICE = 2;
-             unsigned short align;
-                         // raises DOMException on setting
-             unsigned short meetOrSlice;
-                         // raises DOMException on setting
+  /*unsigned short*/ SVG_MEETORSLICE_UNKNOWN   = 0;
+  /*unsigned short*/ SVG_MEETORSLICE_MEET  = 1;
+  /*unsigned short*/ SVG_MEETORSLICE_SLICE = 2;
+};
+
+function SVGAnimatedPreserveAspectRatio() { 
+  /*readonly SVGPreserveAspectRatio*/ this.animVal = this.baseVal = new SVGPreserveAspectRatio();
+  return this;
+};
+
+function SVGPathSeg() { 
+  /*readonly unsigned short*/ this.pathSegType = SVGPathSeg.PATHSEG_UNKNOWN;
+  /*readonly DOMString*/      this.pathSegTypeAsLetter = null;
+  return this;
+};
+with(SVGPathSeg) {
+    // Path Segment Types
+  /*unsigned short*/ PATHSEG_UNKNOWN                      = 0;
+  /*unsigned short*/ PATHSEG_CLOSEPATH                    = 1;
+  /*unsigned short*/ PATHSEG_MOVETO_ABS                   = 2;
+  /*unsigned short*/ PATHSEG_MOVETO_REL                   = 3;
+  /*unsigned short*/ PATHSEG_LINETO_ABS                   = 4;
+  /*unsigned short*/ PATHSEG_LINETO_REL                   = 5;
+  /*unsigned short*/ PATHSEG_CURVETO_CUBIC_ABS            = 6;
+  /*unsigned short*/ PATHSEG_CURVETO_CUBIC_REL            = 7;
+  /*unsigned short*/ PATHSEG_CURVETO_QUADRATIC_ABS        = 8;
+  /*unsigned short*/ PATHSEG_CURVETO_QUADRATIC_REL        = 9;
+  /*unsigned short*/ PATHSEG_ARC_ABS                      = 10;
+  /*unsigned short*/ PATHSEG_ARC_REL                      = 11;
+  /*unsigned short*/ PATHSEG_LINETO_HORIZONTAL_ABS        = 12;
+  /*unsigned short*/ PATHSEG_LINETO_HORIZONTAL_REL        = 13;
+  /*unsigned short*/ PATHSEG_LINETO_VERTICAL_ABS          = 14;
+  /*unsigned short*/ PATHSEG_LINETO_VERTICAL_REL          = 15;
+  /*unsigned short*/ PATHSEG_CURVETO_CUBIC_SMOOTH_ABS     = 16;
+  /*unsigned short*/ PATHSEG_CURVETO_CUBIC_SMOOTH_REL     = 17;
+  /*unsigned short*/ PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
+  /*unsigned short*/ PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
+};
+/*SVGPathSegxx
+ *軽量化のために、SVGPathSegの継承をしない。また、{}オブジェクトで代用する予定
+ */
+function SVGPathSegClosePath() {
+  this.pathSegType = SVGPathSeg.PATHSEG_CLOSEPATH;
+  this.pathSegTypeAsLetter = "z";
+  return this;
+};
+function SVGPathSegMovetoAbs() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  this.pathSegType = SVGPathSeg.PATHSEG_MOVETO_ABS;
+  this.pathSegTypeAsLetter = "M";
+  return this;
+};
+function SVGPathSegMovetoRel() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  this.pathSegType = SVGPathSeg.PATHSEG_MOVETO_REL;
+  this.pathSegTypeAsLetter = "m";
+  return this;
+};
+function SVGPathSegLinetoAbs() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  this.pathSegType = SVGPathSeg.PATHSEG_LINETO_ABS;
+  this.pathSegTypeAsLetter = "L";
+  return this;
   };
-function SVGAnimatedPreserveAspectRatio { 
-  /*readonly SVGPreserveAspectRatio baseVal;
-  /*readonly SVGPreserveAspectRatio animVal;
+function SVGPathSegLinetoRel() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  this.pathSegType = SVGPathSeg.PATHSEG_LINETO_REL;
+  this.pathSegTypeAsLetter = "l";
+  return this;
   };
-function SVGPathSeg { 
-    // Path Segment Types
-  /*unsigned short PATHSEG_UNKNOWN                      = 0;
-  /*unsigned short PATHSEG_CLOSEPATH                    = 1;
-  /*unsigned short PATHSEG_MOVETO_ABS                   = 2;
-  /*unsigned short PATHSEG_MOVETO_REL                   = 3;
-  /*unsigned short PATHSEG_LINETO_ABS                   = 4;
-  /*unsigned short PATHSEG_LINETO_REL                   = 5;
-  /*unsigned short PATHSEG_CURVETO_CUBIC_ABS            = 6;
-  /*unsigned short PATHSEG_CURVETO_CUBIC_REL            = 7;
-  /*unsigned short PATHSEG_CURVETO_QUADRATIC_ABS        = 8;
-  /*unsigned short PATHSEG_CURVETO_QUADRATIC_REL        = 9;
-  /*unsigned short PATHSEG_ARC_ABS                      = 10;
-  /*unsigned short PATHSEG_ARC_REL                      = 11;
-  /*unsigned short PATHSEG_LINETO_HORIZONTAL_ABS        = 12;
-  /*unsigned short PATHSEG_LINETO_HORIZONTAL_REL        = 13;
-  /*unsigned short PATHSEG_LINETO_VERTICAL_ABS          = 14;
-  /*unsigned short PATHSEG_LINETO_VERTICAL_REL          = 15;
-  /*unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS     = 16;
-  /*unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL     = 17;
-  /*unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
-  /*unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
-  /*readonly unsigned short pathSegType;
-  /*readonly DOMString      pathSegTypeAsLetter;
+function SVGPathSegCurvetoCubicAbs() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  /*float*/ this.x1;
+  /*float*/ this.y1;
+  /*float*/ this.x2;
+  /*float*/ this.y2;
+  this.pathSegType = SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;
+  this.pathSegTypeAsLetter = "C";
+  return this;
   };
-function SVGPathSegClosePath : SVGPathSeg {};
-function SVGPathSegMovetoAbs : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
+function SVGPathSegCurvetoCubicRel() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  /*float*/ this.x1;
+  /*float*/ this.y1;
+  /*float*/ this.x2;
+  /*float*/ this.y2;
+  this.pathSegType = SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;
+  this.pathSegTypeAsLetter = "c";
+  return this;
+};
+function SVGPathSegCurvetoQuadraticAbs() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  /*float*/ this.x1;
+  /*float*/ this.y1;
+  this.pathSegType = SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;
+  this.pathSegTypeAsLetter = "Q";
+  return this;
+};
+function SVGPathSegCurvetoQuadraticRel() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  /*float*/ this.x1;
+  /*float*/ this.y1;
+  this.pathSegType = SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;
+  this.pathSegTypeAsLetter = "q";
+  return this;
+};
+function SVGPathSegArcAbs() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  /*float*/ this.r1;
+  /*float*/ this.r2;
+  /*float*/ this.angle;
+  /*boolean*/ this.largeArcFlag = true;
+  /*boolean*/ this.sweepFlag = true;
+  this.pathSegType = SVGPathSeg.PATHSEG_ARC_ABS;
+  this.pathSegTypeAsLetter = "A";
+  return this;
+};
+function SVGPathSegArcRel() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  /*float*/ this.r1;
+  /*float*/ this.r2;
+  /*float*/ this.angle;
+  /*boolean*/ this.largeArcFlag = true;
+  /*boolean*/ this.sweepFlag = true;
+  this.pathSegType = SVGPathSeg.PATHSEG_ARC_REL;
+  this.pathSegTypeAsLetter = "a";
+  return this;
+};
+function SVGPathSegLinetoHorizontalAbs() { 
+  /*float*/ this.x;
+  this.pathSegType = SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;
+  this.pathSegTypeAsLetter = "H";
+  return this;
+};
+function SVGPathSegLinetoHorizontalRel() { 
+  /*float*/ this.x;
+  this.pathSegType = SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;
+  this.pathSegTypeAsLetter = "h";
+  return this;
+};
+function SVGPathSegLinetoVerticalAbs() { 
+  /*float*/ this.y;
+  this.pathSegType = SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;
+  this.pathSegTypeAsLetter = "V";
+  return this;
+};
+function SVGPathSegLinetoVerticalRel() { 
+  /*float*/ this.y;
+  this.pathSegType = SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;
+  this.pathSegTypeAsLetter = "v";
+  return this;
+};
+function SVGPathSegCurvetoCubicSmoothAbs() { 
+  /*float*/ this.x;
+  /*float*/ this.y;
+  /*float*/ this.x2;
+  /*float*/ this.y2;
+  this.pathSegType = SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
+  this.pathSegTypeAsLetter = "S";
+  return this;
+};
+function SVGPathSegCurvetoCubicSmoothRel() {
+  /*float*/ this.x;
+  /*float*/ this.y;
+  /*float*/ this.x2;
+  /*float*/ this.y2;
+  this.pathSegType = SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
+  this.pathSegTypeAsLetter = "s";
+  return this;
+};
+function SVGPathSegCurvetoQuadraticSmoothAbs() {
+  /*float*/ this.x;
+  /*float*/ this.y;
+  this.pathSegType = SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
+  this.pathSegTypeAsLetter = "T";
+  return this;
+};
+function SVGPathSegCurvetoQuadraticSmoothRel() {
+  /*float*/ this.x;
+  /*float*/ this.y;
+  this.pathSegType = SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
+  this.pathSegTypeAsLetter = "t";
+  return this;
+};
+function SVGPathSegList() {
+  /*readonly unsigned long*/ this.numberOfItems = 0;
+  return this;
+};
+for (var prop in SVGStringList.prototype) { //prototypeのコピーで継承を行う
+  SVGPathSegList.prototype[prop] = SVGStringList.prototype[prop];
+}
+
+  return this;
+};
+function SVGPathElement() {
+  SVGElement.apply(this, arguments);
+  //interface SVGAnimatedPathData
+  /*readonly SVGPathSegList*/ this.animatedPathSegList = this.pathSegList = new SVGPathSegList();
+  /*readonly SVGPathSegList*/ this.animatedNormalizedPathSegList = this.normalizedPathSegList = new SVGPathSegList();
+  /*readonly SVGAnimatedNumber*/ this.pathLength = new SVGAnimatedNumber();
+  return this;
+};
+SVGPathElement.constructor = SVGElement;
+SVGPathElement.prototype = new SVGElement();
+with(SVGPathElement.prototype) {
+  /*float*/         getTotalLength = function() {
+    return (this.pathLength.baseVal.value);
   };
-function SVGPathSegMovetoRel : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
+  /*SVGPoint*/      getPointAtLength = function(/*float*/ distance ) {
+    
   };
-function SVGPathSegLinetoAbs : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
+  /*unsigned long*/ getPathSegAtLength = function(/*float*/ distance ) {
+    
   };
-function SVGPathSegLinetoRel : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
+  /*SVGPathSegClosePath*/    createSVGPathSegClosePath = function() {
+    return (new SVGPathSegClosePath());
   };
-function SVGPathSegCurvetoCubicAbs : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
-  /*float*/   x1;
-                         // raises DOMException on setting
-  /*float*/   y1;
-                         // raises DOMException on setting
-  /*float*/   x2;
-                         // raises DOMException on setting
-  /*float*/   y2;
-                         // raises DOMException on setting
+  /*SVGPathSegMovetoAbs*/    createSVGPathSegMovetoAbs = function(/*float*/ x, /*float*/ y ) {
+    var s = new SVGPathSegMovetoAbs();
+    s.x = x;
+    s.y = y;
+    return s;
   };
-function SVGPathSegCurvetoCubicRel : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
-  /*float*/   x1;
-                         // raises DOMException on setting
-  /*float*/   y1;
-                         // raises DOMException on setting
-  /*float*/   x2;
-                         // raises DOMException on setting
-  /*float*/   y2;
-                         // raises DOMException on setting
+  /*SVGPathSegMovetoRel*/    createSVGPathSegMovetoRel = function(/*float*/ x, /*float*/ y ) {
+    var s = new SVGPathSegMovetoRel();
+    s.x = x;
+    s.y = y;
+    return s;
   };
-function SVGPathSegCurvetoQuadraticAbs : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
-  /*float*/   x1;
-                         // raises DOMException on setting
-  /*float*/   y1;
-                         // raises DOMException on setting
+  /*SVGPathSegLinetoAbs*/    createSVGPathSegLinetoAbs = function(/*float*/ x, /*float*/ y ) {
+    var s = new SVGPathSegLinetoAbs();
+    s.x = x;
+    s.y = y;
+    return s;
   };
-function SVGPathSegCurvetoQuadraticRel : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
-  /*float*/   x1;
-                         // raises DOMException on setting
-  /*float*/   y1;
-                         // raises DOMException on setting
+  /*SVGPathSegLinetoRel*/    createSVGPathSegLinetoRel = function(/*float*/ x, /*float*/ y ) {
+    var s = new SVGPathSegLinetoRel();
+    s.x = x;
+    s.y = y;
+    return s;
   };
-function SVGPathSegArcAbs : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
-  /*float*/   r1;
-                         // raises DOMException on setting
-  /*float*/   r2;
-                         // raises DOMException on setting
-  /*float*/   angle;
-                         // raises DOMException on setting
-             boolean largeArcFlag;
-                         // raises DOMException on setting
-             boolean sweepFlag;
-                         // raises DOMException on setting
+  /*SVGPathSegCurvetoCubicAbs*/    createSVGPathSegCurvetoCubicAbs = function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1, /*float*/ x2, /*float*/ y2 ) {
+    var s = new SVGPathSegCurvetoCubicAbs();
+    s.x = x;
+    s.y = y;
+    s.x1 = x1;
+    s.y1 = y1;
+    s.x2 = x2;
+    s.y2 = y2;
+    return s;
   };
-function SVGPathSegArcRel : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
-  /*float*/   r1;
-                         // raises DOMException on setting
-  /*float*/   r2;
-                         // raises DOMException on setting
-  /*float*/   angle;
-                         // raises DOMException on setting
-             boolean largeArcFlag;
-                         // raises DOMException on setting
-             boolean sweepFlag;
-                         // raises DOMException on setting
+  /*SVGPathSegCurvetoCubicRel*/    createSVGPathSegCurvetoCubicRel = function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1, /*float*/ x2, /*float*/ y2 ) {
+    var s = new SVGPathSegCurvetoCubicRel();
+    s.x = x;
+    s.y = y;
+    s.x1 = x1;
+    s.y1 = y1;
+    s.x2 = x2;
+    s.y2 = y2;
+    return s;
   };
-function SVGPathSegLinetoHorizontalAbs : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
+  /*SVGPathSegCurvetoQuadraticAbs*/    createSVGPathSegCurvetoQuadraticAbs = function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1 ) {
+    var s = new SVGPathSegCurvetoQuadraticAbs();
+    s.x = x;
+    s.y = y;
+    s.x1 = x1;
+    s.y1 = y1;
+    return s;
   };
-function SVGPathSegLinetoHorizontalRel : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
+  /*SVGPathSegCurvetoQuadraticRel*/    createSVGPathSegCurvetoQuadraticRel = function(/*float*/ x, /*float*/ y, /*float*/ x1, /*float*/ y1 ) {
+    var s = new SVGPathSegCurvetoQuadraticRel();
+    s.x = x;
+    s.y = y;
+    s.x1 = x1;
+    s.y1 = y1;
+    return s;
   };
-function SVGPathSegLinetoVerticalAbs : SVGPathSeg { 
-  /*float*/   y;
-                         // raises DOMException on setting
+  /*SVGPathSegArcAbs*/    createSVGPathSegArcAbs = function(/*float*/ x, /*float*/ y, /*float*/ r1, /*float*/ r2, /*float*/ angle, /*boolean*/ largeArcFlag, /*boolean*/ sweepFlag ) {
+    var s = new SVGPathSegArcAbs();
+    s.x = x;
+    s.y = y;
+    s.r1 = r1;
+    s.r2 = r2;
+    s.angle = angle;
+    s.largeArcFlag = largeArcFlag;
+    s.sweepFlag = sweepFlag;
+    return s;
   };
-function SVGPathSegLinetoVerticalRel : SVGPathSeg { 
-  /*float*/   y;
-                         // raises DOMException on setting
+  /*SVGPathSegArcRel*/    createSVGPathSegArcRel = function(/*float*/ x, /*float*/ y, /*float*/ r1, /*float*/ r2, /*float*/ angle, in boolean largeArcFlag, in boolean sweepFlag ) {
+    var s = new SVGPathSegArcRel();
+    s.x = x;
+    s.y = y;
+    s.r1 = r1;
+    s.r2 = r2;
+    s.angle = angle;
+    s.largeArcFlag = largeArcFlag;
+    s.sweepFlag = sweepFlag;
+    return s;
   };
-function SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
-  /*float*/   x2;
-                         // raises DOMException on setting
-  /*float*/   y2;
-                         // raises DOMException on setting
+  /*SVGPathSegLinetoHorizontalAbs*/    createSVGPathSegLinetoHorizontalAbs = function(/*float*/ x ) {
+    var s = new SVGPathSegLinetoHorizontalAbs();
+    s.x = x;
+    return s;
   };
-function SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
-  /*float*/   x2;
-                         // raises DOMException on setting
-  /*float*/   y2;
-                         // raises DOMException on setting
+  /*SVGPathSegLinetoHorizontalRel*/    createSVGPathSegLinetoHorizontalRel = function(/*float*/ x ) {
+    var s = new SVGPathSegLinetoHorizontalRel();
+    s.x = x;
+    return s;
   };
-function SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
+  /*SVGPathSegLinetoVerticalAbs*/    createSVGPathSegLinetoVerticalAbs = function(/*float*/ y ) {
+    var s = new SVGPathSegLinetoVerticalAbs();
+    s.y = y;
+    return s;
   };
-function SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg { 
-  /*float*/   x;
-                         // raises DOMException on setting
-  /*float*/   y;
-                         // raises DOMException on setting
+  /*SVGPathSegLinetoVerticalRel*/    createSVGPathSegLinetoVerticalRel = function(/*float*/ y ) {
+    var s = new SVGPathSegLinetoVerticalRel();
+    s.y = y;
+    return s;
   };
-function SVGPathSegList { 
-  /*readonly unsigned long numberOfItems;
-    void   clear (  )
-                    raises( DOMException );
-    SVGPathSeg initialize ( in SVGPathSeg newItem )
-                    raises( DOMException, SVGException );
-    SVGPathSeg getItem ( in unsigned long index )
-                    raises( DOMException );
-    SVGPathSeg insertItemBefore ( in SVGPathSeg newItem, in unsigned long index )
-                    raises( DOMException, SVGException );
-    SVGPathSeg replaceItem ( in SVGPathSeg newItem, in unsigned long index )
-                    raises( DOMException, SVGException );
-    SVGPathSeg removeItem ( in unsigned long index )
-                    raises( DOMException );
-    SVGPathSeg appendItem ( in SVGPathSeg newItem )
-                    raises( DOMException, SVGException );
+  /*SVGPathSegCurvetoCubicSmoothAbs*/    createSVGPathSegCurvetoCubicSmoothAbs = function(/*float*/ x, /*float*/ y, /*float*/ x2, /*float*/ y2 ) {
+    var s = new SVGPathSegCurvetoCubicSmoothAbs();
+    s.x = x;
+    s.y = y;
+    s.x2 = x2;
+    s.y2 = y2;
+    return s;
   };
-function SVGAnimatedPathData { 
-  /*readonly SVGPathSegList   pathSegList;
-  /*readonly SVGPathSegList   normalizedPathSegList;
-  /*readonly SVGPathSegList   animatedPathSegList;
-  /*readonly SVGPathSegList   animatedNormalizedPathSegList;
+  /*SVGPathSegCurvetoCubicSmoothRel*/    createSVGPathSegCurvetoCubicSmoothRel = function(/*float*/ x, /*float*/ y, /*float*/ x2, /*float*/ y2 ) {
+    var s = new SVGPathSegCurvetoCubicSmoothRel();
+    s.x = x;
+    s.y = y;
+    s.x2 = x2;
+    s.y2 = y2;
+    return s;
   };
-function SVGPathElement : 
-                SVGElement,
-                SVGTests,
-                SVGLangSpace,
-                SVGExternalResourcesRequired,
-                SVGStylable,
-                SVGTransformable,
-                events::EventTarget,
-                SVGAnimatedPathData { 
-  /*readonly SVGAnimatedNumber pathLength;
-    float         getTotalLength (  );
-    SVGPoint      getPointAtLength ( in float distance );
-    unsigned long getPathSegAtLength ( in float distance );
-    SVGPathSegClosePath    createSVGPathSegClosePath (  );
-    SVGPathSegMovetoAbs    createSVGPathSegMovetoAbs ( in float x, in float y );
-    SVGPathSegMovetoRel    createSVGPathSegMovetoRel ( in float x, in float y );
-    SVGPathSegLinetoAbs    createSVGPathSegLinetoAbs ( in float x, in float y );
-    SVGPathSegLinetoRel    createSVGPathSegLinetoRel ( in float x, in float y );
-    SVGPathSegCurvetoCubicAbs    createSVGPathSegCurvetoCubicAbs ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 );
-    SVGPathSegCurvetoCubicRel    createSVGPathSegCurvetoCubicRel ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 );
-    SVGPathSegCurvetoQuadraticAbs    createSVGPathSegCurvetoQuadraticAbs ( in float x, in float y, in float x1, in float y1 );
-    SVGPathSegCurvetoQuadraticRel    createSVGPathSegCurvetoQuadraticRel ( in float x, in float y, in float x1, in float y1 );
-    SVGPathSegArcAbs    createSVGPathSegArcAbs ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag );
-    SVGPathSegArcRel    createSVGPathSegArcRel ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag );
-    SVGPathSegLinetoHorizontalAbs    createSVGPathSegLinetoHorizontalAbs ( in float x );
-    SVGPathSegLinetoHorizontalRel    createSVGPathSegLinetoHorizontalRel ( in float x );
-    SVGPathSegLinetoVerticalAbs    createSVGPathSegLinetoVerticalAbs ( in float y );
-    SVGPathSegLinetoVerticalRel    createSVGPathSegLinetoVerticalRel ( in float y );
-    SVGPathSegCurvetoCubicSmoothAbs    createSVGPathSegCurvetoCubicSmoothAbs ( in float x, in float y, in float x2, in float y2 );
-    SVGPathSegCurvetoCubicSmoothRel    createSVGPathSegCurvetoCubicSmoothRel ( in float x, in float y, in float x2, in float y2 );
-    SVGPathSegCurvetoQuadraticSmoothAbs    createSVGPathSegCurvetoQuadraticSmoothAbs ( in float x, in float y );
-    SVGPathSegCurvetoQuadraticSmoothRel    createSVGPathSegCurvetoQuadraticSmoothRel ( in float x, in float y );
+  /*SVGPathSegCurvetoQuadraticSmoothAbs*/    createSVGPathSegCurvetoQuadraticSmoothAbs = function(/*float*/ x, /*float*/ y ) {
+    var s = new SVGPathSegCurvetoQuadraticSmoothAbs();
+    s.x = x;
+    s.y = y;
+    return s;
   };
+  /*SVGPathSegCurvetoQuadraticSmoothRel*/    createSVGPathSegCurvetoQuadraticSmoothRel = function(/*float*/ x, /*float*/ y ) {
+    var s = new SVGPathSegCurvetoQuadraticSmoothRel();
+    s.x = x;
+    s.y = y;
+    return s;
+  };
+};
+
 function SVGRectElement : 
                 SVGElement,
                 SVGTests,
@@ -2881,9 +2998,9 @@
                 SVGStylable,
                 events::EventTarget { 
     // lengthAdjust Types
-  /*unsigned short LENGTHADJUST_UNKNOWN   = 0;
-  /*unsigned short LENGTHADJUST_SPACING     = 1;
-  /*unsigned short LENGTHADJUST_SPACINGANDGLYPHS     = 2;
+  /*unsigned short*/ LENGTHADJUST_UNKNOWN   = 0;
+  /*unsigned short*/ LENGTHADJUST_SPACING     = 1;
+  /*unsigned short*/ LENGTHADJUST_SPACINGANDGLYPHS     = 2;
   /*readonly SVGAnimatedLength      textLength;
   /*readonly SVGAnimatedEnumeration lengthAdjust;
     long     getNumberOfChars (  );
@@ -2920,13 +3037,13 @@
                 SVGTextContentElement,
                 SVGURIReference { 
     // textPath Method Types
-  /*unsigned short TEXTPATH_METHODTYPE_UNKNOWN   = 0;
-  /*unsigned short TEXTPATH_METHODTYPE_ALIGN     = 1;
-  /*unsigned short TEXTPATH_METHODTYPE_STRETCH     = 2;
+  /*unsigned short*/ TEXTPATH_METHODTYPE_UNKNOWN   = 0;
+  /*unsigned short*/ TEXTPATH_METHODTYPE_ALIGN     = 1;
+  /*unsigned short*/ TEXTPATH_METHODTYPE_STRETCH     = 2;
     // textPath Spacing Types
-  /*unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN   = 0;
-  /*unsigned short TEXTPATH_SPACINGTYPE_AUTO     = 1;
-  /*unsigned short TEXTPATH_SPACINGTYPE_EXACT     = 2;
+  /*unsigned short*/ TEXTPATH_SPACINGTYPE_UNKNOWN   = 0;
+  /*unsigned short*/ TEXTPATH_SPACINGTYPE_AUTO     = 1;
+  /*unsigned short*/ TEXTPATH_SPACINGTYPE_EXACT     = 2;
   /*readonly SVGAnimatedLength              startOffset;
   /*readonly SVGAnimatedEnumeration method;
   /*readonly SVGAnimatedEnumeration spacing;
@@ -2960,17 +3077,17 @@
   };
 function SVGPaint : SVGColor { 
     // Paint Types
-  /*unsigned short SVG_PAINTTYPE_UNKNOWN               = 0;
-  /*unsigned short SVG_PAINTTYPE_RGBCOLOR              = 1;
-  /*unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR     = 2;
-  /*unsigned short SVG_PAINTTYPE_NONE                  = 101;
-  /*unsigned short SVG_PAINTTYPE_CURRENTCOLOR          = 102;
-  /*unsigned short SVG_PAINTTYPE_URI_NONE              = 103;
-  /*unsigned short SVG_PAINTTYPE_URI_CURRENTCOLOR      = 104;
-  /*unsigned short SVG_PAINTTYPE_URI_RGBCOLOR          = 105;
-  /*unsigned short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106;
-  /*unsigned short SVG_PAINTTYPE_URI                   = 107;
-  /*readonly unsigned short paintType;
+  /*unsigned short*/ SVG_PAINTTYPE_UNKNOWN               = 0;
+  /*unsigned short*/ SVG_PAINTTYPE_RGBCOLOR              = 1;
+  /*unsigned short*/ SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR     = 2;
+  /*unsigned short*/ SVG_PAINTTYPE_NONE                  = 101;
+  /*unsigned short*/ SVG_PAINTTYPE_CURRENTCOLOR          = 102;
+  /*unsigned short*/ SVG_PAINTTYPE_URI_NONE              = 103;
+  /*unsigned short*/ SVG_PAINTTYPE_URI_CURRENTCOLOR      = 104;
+  /*unsigned short*/ SVG_PAINTTYPE_URI_RGBCOLOR          = 105;
+  /*unsigned short*/ SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106;
+  /*unsigned short*/ SVG_PAINTTYPE_URI                   = 107;
+  /*readonly unsigned short*/ paintType;
   /*readonly DOMString      uri;
     void setUri ( in DOMString uri );
     void setPaint ( in unsigned short paintType, in DOMString uri, in DOMString rgbColor, in DOMString iccColor )




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