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 )