This appendix contains the complete OMG IDL for the SVG Document Object Model definitions.
The IDL files are also available as: http://www.w3.org/TR/2000/???/idl.zip
// File: svg.idl #ifndef _SVG_IDL_ #define _SVG_IDL_ #include "dom.idl" // The following block of definitions only apply to // the DOM for Stylable SVG. #ifdef STYLABLESVG // For access to CSSStyleDeclaration type. #include "css.idl" #define STYLABLESVGStyleAttribute \ readonly attribute CSSStyleDeclaration style #endif STYLABLESVG // The following block of definitions only apply to // the DOM for Exchange SVG. #ifdef EXCHANGESVG // For access to the CSSValue type. #include "css.idl" #define EXCHANGESVGContainerAttrs \ attribute CSSValue enable-background #define EXCHANGESVGFillStrokeAttrs \ attribute CSSValue fill; \ attribute CSSValue fill-opacity; \ attribute CSSValue fill-rule; \ attribute CSSValue stroke; \ attribute CSSValue stroke-dasharray; \ attribute CSSValue stroke-dashoffset; \ attribute CSSValue stroke-linecap; \ attribute CSSValue stroke-linejoin; \ attribute CSSValue stroke-miterlimit; \ attribute CSSValue stroke-opacity; \ attribute CSSValue stroke-width #define EXCHANGESVGGradientAttrs \ attribute CSSValue stop-color; \ attribute CSSValue stop-opacity #define EXCHANGESVGGraphicsAttrs \ attribute CSSValue clip-path; \ attribute CSSValue clip-rule; \ attribute CSSValue color; \ attribute CSSValue color-interpolation; \ attribute CSSValue color-rendering; \ attribute CSSValue cursor; \ attribute CSSValue display; \ attribute CSSValue filter; \ attribute CSSValue image-rendering; \ attribute CSSValue mask; \ attribute CSSValue opacity; \ attribute CSSValue pointer-events; \ attribute CSSValue shape-rendering; \ attribute CSSValue text-rendering; \ attribute CSSValue visibility #define EXCHANGESVGMarkerAttrs \ attribute CSSValue marker-start; \ attribute CSSValue marker-mid; \ attribute CSSValue marker-end #define EXCHANGESVGTextContainerAttrs \ attribute CSSValue baseline-identifier; \ attribute CSSValue baseline-shift; \ attribute CSSValue direction; \ attribute CSSValue font-family; \ attribute CSSValue font-size; \ attribute CSSValue font-size-adjust; \ attribute CSSValue font-stretch; \ attribute CSSValue font-style; \ attribute CSSValue font-variant; \ attribute CSSValue font-weight; \ attribute CSSValue glyph-orientation-horizontal; \ attribute CSSValue glyph-orientation-vertical; \ attribute CSSValue letter-spacing; \ attribute CSSValue text-decoration; \ attribute CSSValue unicode-bidi; \ attribute CSSValue word-spacing #define EXCHANGESVGTextElementAttrs \ attribute CSSValue dominant-baseline; \ attribute CSSValue text-anchor; \ attribute CSSValue writing-mode #define EXCHANGESVGViewportAttrs \ attribute CSSValue clip; \ attribute CSSValue overflow #define EXCHANGESVGfeFloodAttrs \ attribute CSSValue flood-color; \ attribute CSSValue flood-opacity #endif EXCHANGESVG #pragma prefix "dom.w3c.org" module svg { typedef dom::Element Element; typedef dom::DOMString DOMString; typedef dom::NodeList NodeList; typedef dom::Document Document; typedef dom::DOMImplementation DOMImplementation; typedef dom::DOMException DOMException; #ifdef STYLABLESVG // For access to CSSStyleDeclaration type. typedef css::dom::CSSStyleDeclaration CSSStyleDeclaration; #endif STYLABLESVG #ifdef EXCHANGESVG // For access to the CSSValue type. typedef css::dom::CSSValue CSSValue; #endif EXCHANGESVG exception SVGException { unsigned short code; }; // SVGExceptionCode const unsigned short SYNTAX_ERR = 0; const unsigned short SVG_INVALID_MODIFICATION_ERR = 1; const unsigned short SVG_NO_GRAPHICS_ELEMENTS = 2; const unsigned short SVG_MATRIX_NOT_INVERTABLE = 3; const unsigned short SVG_WRONG_TYPE_ERR = 4; const unsigned short SVG_INVALID_VALUE_ERR = 5; interface SVGDOMImplementation : DOMImplementation { SVGDocument createSVGDocument( in DOMString title ) raises( DOMException ); }; interface SVGAngle { // Angle Unit Types constant unsigned short SVG_ANGLETYPE_UNKNOWN = 0; constant unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1; constant unsigned short SVG_ANGLETYPE_DEG = 2; constant unsigned short SVG_ANGLETYPE_RAD = 3; constant unsigned short SVG_ANGLETYPE_GRAD = 4; readonly attribute unsigned short unitType; attribute float value; attribute float valueInSpecifiedUnits; attribute DOMString valueAsString; readonly attribute float animatedValue; void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits ) raises( SVGException ); void convertToSpecifiedUnits ( in unsigned short unitType ) raises( SVGException ); }; interface SVGInteger { attribute long value; readonly attribute long animatedValue; }; interface SVGLength { // Length Unit Types constant unsigned short SVG_LENGTHTYPE_UNKNOWN = 0; constant unsigned short SVG_LENGTHTYPE_NUMBER = 1; constant unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2; constant unsigned short SVG_LENGTHTYPE_EMS = 3; constant unsigned short SVG_LENGTHTYPE_EXS = 4; constant unsigned short SVG_LENGTHTYPE_PX = 5; constant unsigned short SVG_LENGTHTYPE_CM = 6; constant unsigned short SVG_LENGTHTYPE_MM = 7; constant unsigned short SVG_LENGTHTYPE_IN = 8; constant unsigned short SVG_LENGTHTYPE_PT = 9; constant unsigned short SVG_LENGTHTYPE_PC = 10; readonly attribute unsigned short unitType; attribute float value; attribute float valueInSpecifiedUnits; attribute DOMString valueAsString; readonly attribute float animatedValue; void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits ) raises( SVGException ); void convertToSpecifiedUnits ( in unsigned short unitType ) raises( SVGException ); }; interface SVGNumber { attribute float value; readonly attribute float animatedValue; }; interface SVGRect { attribute SVGNumber x; attribute SVGNumber y; attribute SVGNumber width; attribute SVGNumber height; }; interface SVGList { readonly attribute unsigned long numberOfItems; void clear ( ); Object initialize ( in Object newItem ) raises( SVGException ); Object createItem ( ); Object getItem ( in unsigned long index ) raises( DOMException ); Object insertBefore ( in Object newItem, in unsigned long index ) raises( SVGException ); Object replace ( in Object newItem, in unsigned long index ) raises( DOMException, SVGException ); Object remove ( in unsigned long index ) raises( DOMException ); Object append ( in Object newItem ) raises( SVGException ); }; interface SVGLengthList : SVGList; interface SVGUnitTypes { // Unit Types constant unsigned short SVG_UNIT_TYPE_UNKNOWN = 0; constant unsigned short SVG_UNIT_TYPE_USERSPACE = 1; constant unsigned short SVG_UNIT_TYPE_USERSPACEONUSE = 2; constant unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 3; }; #ifdef STYLABLESVG interface SVGStyleElement : SVGElement, SVGLangSpace, SVGTests { attribute DOMString type; }; #endif STYLABLESVG #ifdef STYLABLESVG interface SVGCSSRule : CSSRule { // Additional CSS RuleType to support ICC color specifications constant unsigned short COLOR_PROFILE_RULE = 7; }; #endif STYLABLESVG #ifdef STYLABLESVG interface CSSColorProfileRule : SVGCSSRule { // Rendering Intent Types constant unsigned short RENDERING_INTENT_UNKNOWN = 0; constant unsigned short RENDERING_INTENT_AUTO = 1; constant unsigned short RENDERING_INTENT_PERCEPTUAL = 2; constant unsigned short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3; constant unsigned short RENDERING_INTENT_SATURATION = 4; constant unsigned short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5; attribute DOMString src; attribute DOMString name; attribute unsigned short renderingIntent; }; #endif STYLABLESVG interface SVGDocument : Document, DocumentEvent { attribute DOMString title; readonly attribute DOMString referrer; readonly attribute DOMString domain; readonly attribute DOMString URL; readonly attribute SVGSVGElement rootElement; Element getElementById ( in DOMString elementId ); }; interface SVGElement : Element { attribute DOMString id; readonly attribute SVGSVGElement ownerSVGElement; readonly attribute SVGElement viewportElement; }; interface SVGSVGElement : SVGElement, SVGLangSpace, SVGTests, SVGFitToViewBox, DocumentEvent, EventTarget { attribute DOMString className; readonly attribute SVGRect viewport; readonly attribute float CSSPixelToMillimeterX; readonly attribute float CSSPixelToMillimeterY; readonly attribute float ScreenPixelToMillimeterX; readonly attribute float ScreenPixelToMillimeterY; attribute boolean useCurrentView; readonly attribute SVGViewSpec currentView; attribute boolean enableZoomAndPanControls; attribute float currentScale; attribute SVGPoint currentTranslate; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; EXCHANGESVGViewportAttrs; #endif EXCHANGESVG unsigned long suspendRedraw ( in unsigned long max_wait_milliseconds ); void unsuspendRedraw ( in unsigned long suspend_handle_id ) raises( DOMException ); void unsuspendRedrawAll ( ); void forceRedraw ( ); void pauseAnimations ( ); void unpauseAnimations ( ); boolean animationsPaused ( ); float getCurrentTime ( ); void setCurrentTime ( in float seconds ); NodeList getIntersectionList ( in SVGRect rect, in SVGElement referenceElement ) raises( SVGException ); NodeList getEnclosureList ( in SVGRect rect, in SVGElement referenceElement ) raises( SVGException ); boolean checkIntersection ( in SVGElement element, in SVGRect rect ) raises( SVGException ); boolean checkEnclosure ( in SVGElement element, in SVGRect rect ) raises( SVGException ); void deSelectAll ( ); SVGNumber createSVGNumber ( ); SVGLength createSVGLength ( ); SVGLengthList createSVGLengthList ( ); SVGAngle createSVGAngle ( ); SVGPoint createSVGPoint ( ); SVGPointList createSVGPointList ( ); SVGMatrix createSVGMatrix ( ); SVGPreserveAspectRatio createSVGPreserveAspectRatio ( ); SVGRect createSVGRect ( ); SVGTransformList createSVGTransformList ( ); SVGTransformList createSVGTransformListFromMatrix ( in SVGMatrix matrix ); SVGTransform createSVGTransform ( ); SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix ); SVGICCColor createSVGICCColor ( ); SVGColor createSVGColor ( ); SVGPaint createSVGPaint ( ); Element getElementById ( in DOMString elementId ); }; interface SVGGElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; #endif EXCHANGESVG }; interface SVGDefsElement : SVGElement, SVGTransformable, SVGLangSpace { attribute DOMString className; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; #endif EXCHANGESVG }; interface SVGDescElement : SVGElement, SVGLangSpace { attribute DOMString className; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG }; interface SVGTitleElement : SVGElement, SVGLangSpace { attribute DOMString className; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG }; interface SVGUseElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, SVGURIReference, EventTarget { attribute DOMString className; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; EXCHANGESVGViewportAttrs; #endif EXCHANGESVG }; interface SVGImageElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, SVGURIReference, EventTarget { attribute DOMString className; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; EXCHANGESVGViewportAttrs; #endif EXCHANGESVG }; interface SVGSymbolElement : SVGElement, SVGLangSpace, SVGFitToViewBox { attribute DOMString className; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; #endif EXCHANGESVG }; interface SVGSwitchElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; #endif EXCHANGESVG }; interface SVGLangSpace { attribute DOMString xmllang; attribute DOMString xmlspace; }; interface SVGTests { attribute DOMString systemRequired; attribute DOMString systemLanguage; }; interface SVGURIReference { attribute DOMString xlinkType; attribute DOMString xlinkRole; attribute DOMString xlinkTitle; attribute DOMString xlinkShow; attribute DOMString xlinkActuate; attribute DOMString href; }; interface GetSVGDocument { SVGDocument getSVGDocument ( ) raises( DOMException ); }; interface SVGPoint { attribute SVGLength x; attribute SVGLength y; SVGPoint matrixTransform ( in SVGMatrix matrix ) raises( SVGException ); }; interface SVGMatrix { attribute float a; attribute float b; attribute float c; attribute float d; attribute SVGLength e; attribute SVGLength f; SVGMatrix multiply ( in SVGMatrix secondMatrix ) raises( SVGException ); SVGMatrix inverse ( ) raises( SVGException ); SVGMatrix translate ( in SVGLength x, in SVGLength y ) raises( SVGException ); SVGMatrix scale ( in float scaleFactor ) raises( SVGException ); SVGMatrix scaleNonUniform ( in float scaleFactorX, in float scaleFactorY ) raises( SVGException ); SVGMatrix rotate ( in SVGAngle angle ) raises( SVGException ); SVGMatrix rotateFromVector ( in SVGLength x, in SVGLength y ) raises( SVGException ); SVGMatrix flipX ( ); SVGMatrix flipY ( ); SVGMatrix skewX ( in SVGAngle angle ) raises( SVGException ); SVGMatrix skewY ( in SVGAngle angle ) raises( SVGException ); }; interface SVGTransformList : SVGList { SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix ) raises( SVGException ); SVGTransform consolidate ( ); }; interface SVGTransform { // Transform Types constant unsigned short SVG_TRANSFORM_UNKNOWN = 0; constant unsigned short SVG_TRANSFORM_MATRIX = 1; constant unsigned short SVG_TRANSFORM_TRANSLATE = 2; constant unsigned short SVG_TRANSFORM_SCALE = 3; constant unsigned short SVG_TRANSFORM_ROTATE = 4; constant unsigned short SVG_TRANSFORM_SKEWX = 5; constant unsigned short SVG_TRANSFORM_SKEWY = 6; readonly attribute unsigned short type; readonly attribute SVGMatrix matrix; readonly attribute SVGAngle angle; void setMatrix ( in SVGMatrix matrix ) raises( SVGException ); void setTranslate ( in SVGLength tx, in SVGLength ty ) raises( SVGException ); void setScale ( in SVGNumber sx, in SVGNumber sy ) raises( SVGException ); void setRotate ( in SVGAngle angle ) raises( SVGException ); void setSkewX ( in SVGAngle angle ) raises( SVGException ); void setSkewY ( in SVGAngle angle ) raises( SVGException ); }; interface SVGPreserveAspectRatio { // Alignment Types constant unsigned short SVG_PRESERVEASPECTRATIO_NONE = 0; constant unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 1; constant unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 2; constant unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 3; constant unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 4; constant unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 5; constant unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 6; constant unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 7; constant unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 8; constant unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 9; // Meet-or-slice Types constant unsigned short SVG_MEETORSLICE_MEET = 0; constant unsigned short SVG_MEETORSLICE_SLICE = 1; attribute unsigned short align; attribute unsigned short meetOrSlice; }; interface SVGFitToViewBox { attribute SVGRect viewBox; attribute SVGPreserveAspectRatio preserveAspectRatio; }; interface SVGTransformable { readonly attribute SVGElement nearestViewportElement; readonly attribute SVGElement farthestViewportElement; attribute SVGTransformList transform; SVGRect getBBox ( ); SVGMatrix getCTM ( ); SVGMatrix getScreenCTM ( ); SVGMatrix getTransformToElement ( in SVGElement element ) raises( SVGException ); }; interface SVGPathElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; attribute SVGNumber length; readonly attribute SVGList pathSegList; readonly attribute SVGList normalizedPathSegList; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGraphicsAttrs; #endif EXCHANGESVG float getTotalLength ( ); SVGPoint getPointAtLength ( in float distance ) raises( SVGException ); unsigned long getPathSegAtLength ( in float distance ) raises( SVGException ); SVGPathSeg createSVGPathSeg ( ); }; interface SVGPathSeg { // Path Segment Types constant unsigned short SVG_PATHSEG_UNKNOWN = 0; constant unsigned short SVG_PATHSEG_CLOSEPATH = 1; constant unsigned short SVG_PATHSEG_MOVETO_ABS = 2; constant unsigned short SVG_PATHSEG_MOVETO_REL = 3; constant unsigned short SVG_PATHSEG_LINETO_ABS = 4; constant unsigned short SVG_PATHSEG_LINETO_REL = 5; constant unsigned short SVG_PATHSEG_CURVETO_CUBIC_ABS = 6; constant unsigned short SVG_PATHSEG_CURVETO_CUBIC_REL = 7; constant unsigned short SVG_PATHSEG_CURVETO_QUADRATIC_ABS = 8; constant unsigned short SVG_PATHSEG_CURVETO_QUADRATIC_REL = 9; constant unsigned short SVG_PATHSEG_ARC_ABS = 10; constant unsigned short SVG_PATHSEG_ARC_REL = 11; constant unsigned short SVG_PATHSEG_LINETO_HORIZONTAL_ABS = 12; constant unsigned short SVG_PATHSEG_LINETO_HORIZONTAL_REL = 13; constant unsigned short SVG_PATHSEG_LINETO_VERTICAL_ABS = 14; constant unsigned short SVG_PATHSEG_LINETO_VERTICAL_REL = 15; constant unsigned short SVG_PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16; constant unsigned short SVG_PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17; constant unsigned short SVG_PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18; constant unsigned short SVG_PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; attribute unsigned short pathSegType; attribute DOMString pathSegTypeAsLetter; attribute float x; attribute float y; attribute float x1; attribute float y1; attribute float x2; attribute float y2; attribute float r1; attribute float r2; attribute float angle; attribute boolean largeArcFlag; attribute boolean sweepFlag; }; interface SVGRectElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; attribute SVGLength rx; attribute SVGLength ry; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGraphicsAttrs; #endif EXCHANGESVG }; interface SVGCircleElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; attribute SVGLength cx; attribute SVGLength cy; attribute SVGLength r; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGraphicsAttrs; #endif EXCHANGESVG }; interface SVGEllipseElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; attribute SVGLength cx; attribute SVGLength cy; attribute SVGLength rx; attribute SVGLength ry; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGraphicsAttrs; #endif EXCHANGESVG }; interface SVGLineElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; attribute SVGLength x1; attribute SVGLength y1; attribute SVGLength x2; attribute SVGLength y2; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGraphicsAttrs; #endif EXCHANGESVG }; interface SVGPolylineElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; readonly attribute SVGList points; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGraphicsAttrs; #endif EXCHANGESVG }; interface SVGPolygonElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; readonly attribute SVGList points; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGraphicsAttrs; #endif EXCHANGESVG }; interface SVGTextContentElement : SVGElement, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGTextContainerAttrs; #endif EXCHANGESVG long getNumberOfChars ( ); float getLength ( ); float getSubStringLength ( in unsigned long charnum, in unsigned long nchars ) raises( DOMException, SVGException ); SVGPoint getStartPositionOfChar ( in unsigned long charnum ) raises( DOMException ); SVGPoint getEndPositionOfChar ( in unsigned long charnum ) raises( DOMException ); SVGRect getExtentOfChar ( in unsigned long charnum ) raises( DOMException ); float getRotationOfChar ( in unsigned long charnum ) raises( DOMException ); long getCharNumAtPosition ( in SVGPoint point ) raises( SVGException ); void selectSubString ( in unsigned long charnum, in unsigned long nchars ) raises( DOMException ); }; interface SVGTextElement : SVGTextContentElement, SVGTransformable { attribute SVGLength x; attribute SVGLength y; #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGTextElementAttrs; #endif EXCHANGESVG }; interface SVGTextPositioningElement : SVGTextContentElement { attribute SVGLengthList x; attribute SVGLengthList y; attribute SVGLengthList dx; attribute SVGLengthList dy; attribute SVGLengthList rotate; }; interface SVGTSpanElement : SVGTextPositioningElement; interface SVGTRefElement : SVGTextPositioningElement, SVGURIReference; interface SVGTextPathElement : SVGTextPositioningElement, SVGURIReference { attribute SVGLength startOffset; }; interface SVGAltGlyphElement : SVGTextContentElement, SVGURIReference; interface SVGAltGlyphDefElement : SVGElement; interface SVGGlyphSubElement : SVGElement { attribute DOMString fontFamily; attribute DOMString glyphRef; attribute DOMString format; }; interface SVGPaint : SVGColor { // Paint Types constant unsigned short SVG_PAINTTYPE_UNKNOWN = 0; constant unsigned short SVG_PAINTTYPE_RGBCOLOR = 1; constant unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2; constant unsigned short SVG_PAINTTYPE_NONE = 101; constant unsigned short SVG_PAINTTYPE_CURRENTCOLOR = 102; constant unsigned short SVG_PAINTTYPE_URI_NONE = 103; constant unsigned short SVG_PAINTTYPE_URI_CURRENTCOLOR = 104; constant unsigned short SVG_PAINTTYPE_URI_RGBCOLOR = 105; constant unsigned short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106; readonly attribute unsigned short paintType; readonly attribute DOMString uri; readonly attribute unsigned short animatedPaintType; readonly attribute DOMString animatedUri; void setUri ( in DOMString uri ) raises( SVGException ); void setPaint ( in unsigned short paintType, in DOMString uri, in RGBColor rgbColor, in SVGICCColor iccColor ) raises( SVGException ); }; interface SVGMarkerElement : SVGElement, SVGLangSpace, SVGFitToViewBox { // Marker Unit Types constant unsigned short SVG_MARKERUNITS_UNKNOWN = 0; constant unsigned short SVG_MARKERUNITS_USERSPACE = 1; constant unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 2; constant unsigned short SVG_MARKERUNITS_STROKEWIDTH = 3; // Marker Orientation Types constant unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0; constant unsigned short SVG_MARKER_ORIENT_AUTO = 1; constant unsigned short SVG_MARKER_ORIENT_ANGLE = 2; attribute DOMString className; readonly attribute unsigned short markerUnits; readonly attribute unsigned short orientType; readonly attribute SVGAngle orientAngle; attribute SVGLength refX; attribute SVGLength refY; attribute SVGLength markerWidth; attribute SVGLength markerHeight; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; EXCHANGESVGViewportAttrs; #endif EXCHANGESVG void setOrientToAuto ( ); void setOrientToAngle ( in SVGAngle angle ) raises( SVGException ); }; interface SVGICCColor { attribute DOMString colorProfile; readonly attribute SVGList colors; }; interface SVGColor { // Color Types constant unsigned short SVG_COLORTYPE_UNKNOWN = 0; constant unsigned short SVG_COLORTYPE_RGBCOLOR = 1; constant unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2; readonly attribute unsigned short colorType; readonly attribute RGBColor rgbColor; readonly attribute SVGICCColor iccColor; readonly attribute unsigned short animatedColorType; readonly attribute RGBColor animatedRGBColor; readonly attribute SVGICCColor animatedICCColor; void setRGBColor ( in RGBColor rgbColor ) raises( SVGException ); void setRGBColorICCColor ( in RGBColor rgbColor, in SVGICCColor iccColor ) raises( SVGException ); RGBColor createRGBColor ( ); SVGICCColor createSVGICCColor ( ); }; interface SVGGradientElement : SVGElement, SVGURIReference, SVGUnitTypes { attribute unsigned short gradientUnits; attribute SVGTransformList gradientTransform; }; interface SVGLinearGradientElement : SVGGradientElement { // Spread Method Types constant unsigned short SVG_SPREADMETHOD_UNKNOWN = 0; constant unsigned short SVG_SPREADMETHOD_PAD = 1; constant unsigned short SVG_SPREADMETHOD_REFLECT = 2; constant unsigned short SVG_SPREADMETHOD_REPEAT = 3; attribute SVGLength x1; attribute SVGLength y1; attribute SVGLength x2; attribute SVGLength y2; attribute unsigned short spreadMethod; }; interface SVGRadialGradientElement : SVGGradientElement { attribute SVGLength cx; attribute SVGLength cy; attribute SVGLength r; attribute SVGLength fx; attribute SVGLength fy; }; interface SVGStopElement : SVGElement { attribute DOMString className; attribute float offset; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG }; interface SVGPatternElement : SVGElement, SVGLangSpace, SVGFitToViewBox, SVGURIReference, SVGUnitTypes { attribute DOMString className; attribute unsigned short patternUnits; attribute SVGTransformList patternTransform; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; EXCHANGESVGViewportAttrs; #endif EXCHANGESVG }; interface SVGClipPathElement : SVGElement, SVGLangSpace, SVGUnitTypes { attribute DOMString className; attribute unsigned short clipPathUnits; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; #endif EXCHANGESVG }; interface SVGMaskElement : SVGElement, SVGLangSpace, SVGUnitTypes { attribute DOMString className; attribute unsigned short maskUnits; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; EXCHANGESVGViewportAttrs; #endif EXCHANGESVG }; interface SVGFilterElement : SVGElement, SVGLangSpace, SVGURIReference, SVGUnitTypes { attribute unsigned short filterUnits; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; readonly attribute SVGInteger filterResX; readonly attribute SVGInteger filterResY; void setFilterRes ( in unsigned long filterResX, in unsigned long filterResY ) raises( SVGException ); }; interface SVGFilterNodeStandardAttributes { attribute unsigned short filterUnits; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; attribute DOMString result; }; interface SVGFEBlendElement : SVGElement, SVGFilterNodeStandardAttributes { // Blend Mode Types constant unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0; constant unsigned short SVG_FEBLEND_MODE_NORMAL = 1; constant unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2; constant unsigned short SVG_FEBLEND_MODE_SCREEN = 3; constant unsigned short SVG_FEBLEND_MODE_DARKEN = 4; constant unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5; attribute DOMString in; attribute DOMString in2; attribute unsigned short mode; }; interface SVGFEColorMatrixElement : SVGElement, SVGFilterNodeStandardAttributes { // Color Matrix Types constant unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0; constant unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1; constant unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2; constant unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3; constant unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4; attribute DOMString in; attribute unsigned short type; readonly attribute SVGList values; }; interface SVGFEComponentTransferElement : SVGElement, SVGFilterNodeStandardAttributes { attribute DOMString in; }; interface SVGComponentTransferFunctionElement : SVGElement, SVGFilterNodeStandardAttributes { // Component Transfer Types constant unsigned short SVG_FECOMPONENTTRANFER_TYPE_UNKNOWN = 0; constant unsigned short SVG_FECOMPONENTTRANFER_TYPE_IDENTITY = 1; constant unsigned short SVG_FECOMPONENTTRANFER_TYPE_TABLE = 2; constant unsigned short SVG_FECOMPONENTTRANFER_TYPE_LINEAR = 3; constant unsigned short SVG_FECOMPONENTTRANFER_TYPE_GAMMA = 4; attribute unsigned short type; readonly attribute SVGList tableValues; attribute SVGNumber slope; attribute SVGNumber intercept; attribute SVGNumber amplitude; attribute SVGNumber exponent; attribute SVGNumber offset; }; interface SVGFEFuncRElement : SVGComponentTransferFunctionElement; interface SVGFEFuncGElement : SVGComponentTransferFunctionElement; interface SVGFEFuncBElement : SVGComponentTransferFunctionElement; interface SVGFEFuncAElement : SVGComponentTransferFunctionElement; interface SVGFECompositeElement : SVGElement, SVGFilterNodeStandardAttributes { // Composite Operators constant unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0; constant unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1; constant unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2; constant unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3; constant unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4; constant unsigned short SVG_FECOMPOSITE_OPERATOR_XOR = 5; constant unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6; attribute DOMString in; attribute DOMString in2; attribute unsigned short operator; attribute SVGInteger k1; attribute SVGInteger k2; attribute SVGInteger k3; attribute SVGInteger k4; }; interface SVGFEConvolveMatrixElement : SVGElement, SVGFilterNodeStandardAttributes { // Edge Mode Values constant unsigned short SVG_EDGEMODE_UNKNOWN = 0; constant unsigned short SVG_EDGEMODE_DUPLICATE = 1; constant unsigned short SVG_EDGEMODE_WRAP = 2; constant unsigned short SVG_EDGEMODE_NONE = 3; attribute SVGInteger orderX; attribute SVGInteger orderY; readonly attribute SVGList kernelMatrix; attribute unsigned short edgeMode; attribute SVGNumber divisor; attribute SVGInteger targetX; attribute SVGInteger targetY; attribute SVGNumber kernelUnitLengthX; attribute SVGNumber kernelUnitLengthY; }; interface SVGFEDiffuseLightingElement : SVGElement, SVGFilterNodeStandardAttributes { attribute DOMString in; attribute SVGNumber resultScale; attribute SVGNumber surfaceScale; attribute SVGNumber diffuseConstant; attribute SVGColor lightColor; }; interface SVGFEDistantLightElement : SVGElement { attribute SVGNumber azimuth; attribute SVGNumber elevation; }; interface SVGFEPointLightElement : SVGElement { attribute SVGNumber x; attribute SVGNumber y; attribute SVGNumber z; }; interface SVGFESpotLightElement : SVGElement { attribute SVGNumber x; attribute SVGNumber y; attribute SVGNumber z; attribute SVGNumber pointsAtX; attribute SVGNumber pointsAtY; attribute SVGNumber pointsAtZ; attribute SVGNumber specularExponent; }; interface SVGFEDisplacementMapElement : SVGElement, SVGFilterNodeStandardAttributes { // Channel Selectors constant unsigned short SVG_CHANNEL_UNKNOWN = 0; constant unsigned short SVG_CHANNEL_R = 1; constant unsigned short SVG_CHANNEL_G = 2; constant unsigned short SVG_CHANNEL_B = 3; constant unsigned short SVG_CHANNEL_A = 4; attribute DOMString in; attribute DOMString in2; attribute unsigned short xChannelSelector; attribute unsigned short yChannelSelector; attribute SVGNumber scale; }; interface SVGFEFloodElement : SVGElement, SVGFilterNodeStandardAttributes { attribute DOMString in; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGfeFloodAttrs; #endif EXCHANGESVG }; interface SVGFEGaussianBlurElement : SVGElement, SVGFilterNodeStandardAttributes { attribute DOMString in; readonly attribute SVGLength stdDeviationX; readonly attribute SVGLength stdDeviationY; void setStdDeviation ( in SVGLength stdDeviationX, in SVGLength stdDeviationY ) raises( SVGException ); }; interface SVGFEImageElement : SVGElement, SVGFilterNodeStandardAttributes, SVGTransformable, SVGLangSpace, SVGURIReference { attribute DOMString className; attribute DOMString in; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; EXCHANGESVGViewportAttrs; #endif EXCHANGESVG }; interface SVGFEMergeElement : SVGElement, SVGFilterNodeStandardAttributes; interface SVGFEMergeNodeElement : SVGElement { attribute DOMString in; }; interface SVGFEMorphologyElement : SVGElement, SVGFilterNodeStandardAttributes { // Morphology Operators constant unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0; constant unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1; constant unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2; attribute DOMString in; attribute unsigned short operator; attribute SVGLength radius; }; interface SVGFEOffsetElement : SVGElement, SVGFilterNodeStandardAttributes { attribute DOMString in; attribute SVGLength dx; attribute SVGLength dy; }; interface SVGFESpecularLightingElement : SVGElement, SVGFilterNodeStandardAttributes { attribute DOMString in; attribute SVGNumber surfaceScale; attribute SVGNumber specularConstant; attribute SVGNumber specularExponent; attribute SVGColor lightColor; }; interface SVGFETileElement : SVGElement, SVGFilterNodeStandardAttributes { attribute DOMString in; }; interface SVGFETurbulenceElement : SVGElement, SVGFilterNodeStandardAttributes { // Turbulence Types constant unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0; constant unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1; constant unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2; // Stitch Options constant unsigned short SVG_STITCHTYPE_UNKNOWN = 0; constant unsigned short SVG_STITCHTYPE_STITCH = 1; constant unsigned short SVG_STITCHTYPE_NOSTITCH = 2; attribute DOMString in; attribute SVGNumber baseFrequencyX; attribute SVGNumber baseFrequencyY; attribute SVGInteger numOctaves; attribute unsigned short type; attribute SVGNumber seed; attribute unsigned short stitchTiles; }; interface SVGCursorElement : SVGElement, SVGTests, SVGURIReference { attribute SVGLength x; attribute SVGLength y; }; interface SVGAElement : SVGElement, SVGLangSpace, SVGTransformable, SVGTests, SVGURIReference, EventTarget, SVGURIReference { attribute DOMString className; attribute DOMString target; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; #endif EXCHANGESVG }; interface SVGViewSpec : SVGFitToViewBox { attribute SVGTransformList transform; attribute boolean enableZoomAndPanControls; attribute SVGElement viewTarget; readonly attribute DOMString viewBoxString; readonly attribute DOMString preserveAspectRatioString; readonly attribute DOMString transformString; readonly attribute DOMString enableZoomAndPanControlsString; readonly attribute DOMString viewTargetString; }; interface SVGViewElement : SVGElement, SVGFitToViewBox { attribute boolean enableZoomAndPanControls; attribute SVGElement viewTarget; }; interface SVGScriptElement : SVGElement, SVGURIReference { attribute DOMString language; }; interface SVGZoomEvent : UIEvent { attribute SVGRect zoomRectScreen; attribute float previousScale; attribute SVGPoint previousTranslate; attribute float newScale; attribute SVGPoint newTranslate; }; interface ElementTimeControl { boolean beginElement ( ) raises( DOMException ); boolean beginElementAt ( in float offset ) raises( DOMException ); boolean endElement ( ) raises( DOMException ); boolean endElementAt ( in float offset ) raises( DOMException ); }; interface SVGAnimationElement : SVGElement, SVGTests, ElementTimeControl { readonly attribute SVGElement targetElement; float getStartTime ( ); float getCurrentTime ( ); float getSimpleDuration ( ) raises( DOMException ); }; interface SVGAnimateElement : SVGAnimationElement; interface SVGSetElement : SVGAnimationElement; interface SVGAnimateMotionElement : SVGAnimationElement; interface SVGAnimateTransformElement : SVGAnimationElement; interface TimeEvent : events::Event { readonly attribute views::AbstractView view; readonly attribute long detail; void initTimeEvent ( in DOMString typeArg, in views::AbstractView viewArg, in long detailArg ); }; interface SVGFontElement : SVGElement; interface SVGGlyphElement : SVGElement; interface SVGMissingGlyphElement : SVGElement; interface SVGHKernElement : SVGElement; interface SVGVKernElement : SVGElement; interface SVGMetadataElement : SVGElement; interface SVGForeignObjectElement : SVGElement, SVGTransformable, SVGLangSpace, SVGTests, EventTarget { attribute DOMString className; attribute SVGLength x; attribute SVGLength y; attribute SVGLength width; attribute SVGLength height; #ifdef STYLABLESVG // The following pre-defined attribute collections are only // available in the DOM for Stylable SVG. STYLABLESVGStyleAttribute; #endif STYLABLESVG #ifdef EXCHANGESVG // The following pre-defined attribute collections are only // available in the DOM for Exchange SVG. EXCHANGESVGContainerAttrs; EXCHANGESVGFillStrokeAttrs; EXCHANGESVGGradientAttrs; EXCHANGESVGGraphicsAttrs; EXCHANGESVGMarkerAttrs; EXCHANGESVGTextContainerAttrs; EXCHANGESVGTextElementAttrs; EXCHANGESVGViewportAttrs; #endif EXCHANGESVG }; }; #endif // _SVG_IDL_