この付録は規範的である。 ◎ This appendix is normative.
この付録は、~SVG文書~obj~model定義~用の完全な~Web~IDLを包含する。 ◎ This appendix contains the complete Web IDL for the SVG Document Object Model definitions.
[Exposed=Window]
interface `SVGElement@I : `Element$I {
[SameObject] readonly attribute `SVGAnimatedString$I `className$m;
readonly attribute `SVGSVGElement$I? `ownerSVGElement$m;
readonly attribute `SVGElement$I? `viewportElement$m;
};
`SVGElement$I includes `GlobalEventHandlers$I;
`SVGElement$I includes `DocumentAndElementEventHandlers$I;
`SVGElement$I includes `SVGElementInstance$I;
`SVGElement$I includes `HTMLOrSVGElement$I;
dictionary `SVGBoundingBoxOptions$I {
boolean fill = true;
boolean stroke = false;
boolean markers = false;
boolean clipped = false;
};
[Exposed=Window]
interface `SVGGraphicsElement@I : `SVGElement$I {
[SameObject] readonly attribute `SVGAnimatedTransformList$I `transform$m;
`DOMRect$I `getBBox$m(optional `SVGBoundingBoxOptions$I %options);
`DOMMatrix$I? `getCTM$m();
`DOMMatrix$I? `getScreenCTM$m();
};
`SVGGraphicsElement$I includes `SVGTests$I;
[Exposed=Window]
interface `SVGGeometryElement@I : `SVGGraphicsElement$I {
[SameObject] readonly attribute `SVGAnimatedNumber$I `pathLength$m;
boolean `isPointInFill$m(optional `DOMPointInit$I %point);
boolean `isPointInStroke$m(optional `DOMPointInit$I %point);
float `getTotalLength$m();
`DOMPoint$I `getPointAtLength$m(float %distance);
};
[Exposed=Window]
interface `SVGNumber@I {
attribute float `value$m;
};
[Exposed=Window]
interface `SVGLength@I {
// Length Unit Types
const unsigned short `SVG_LENGTHTYPE_UNKNOWN$m = 0;
const unsigned short `SVG_LENGTHTYPE_NUMBER$m = 1;
const unsigned short `SVG_LENGTHTYPE_PERCENTAGE$m = 2;
const unsigned short `SVG_LENGTHTYPE_EMS$m = 3;
const unsigned short `SVG_LENGTHTYPE_EXS$m = 4;
const unsigned short `SVG_LENGTHTYPE_PX$m = 5;
const unsigned short `SVG_LENGTHTYPE_CM$m = 6;
const unsigned short `SVG_LENGTHTYPE_MM$m = 7;
const unsigned short `SVG_LENGTHTYPE_IN$m = 8;
const unsigned short `SVG_LENGTHTYPE_PT$m = 9;
const unsigned short `SVG_LENGTHTYPE_PC$m = 10;
readonly attribute unsigned short `unitType$m;
attribute float `value$m;
attribute float `valueInSpecifiedUnits$m;
attribute DOMString `valueAsString$m;
undefined `newValueSpecifiedUnits$m(unsigned short %unitType, float %valueInSpecifiedUnits);
undefined `convertToSpecifiedUnits$m(unsigned short %unitType);
};
[Exposed=Window]
interface `SVGAngle@I {
// Angle Unit Types
const unsigned short `SVG_ANGLETYPE_UNKNOWN$m = 0;
const unsigned short `SVG_ANGLETYPE_UNSPECIFIED$m = 1;
const unsigned short `SVG_ANGLETYPE_DEG$m = 2;
const unsigned short `SVG_ANGLETYPE_RAD$m = 3;
const unsigned short `SVG_ANGLETYPE_GRAD$m = 4;
readonly attribute unsigned short `unitType$m;
attribute float `value$m;
attribute float `valueInSpecifiedUnits$m;
attribute DOMString `valueAsString$m;
undefined `newValueSpecifiedUnits$m(unsigned short %unitType, float %valueInSpecifiedUnits);
undefined `convertToSpecifiedUnits$m(unsigned short %unitType);
};
[Exposed=Window]
interface `SVGNumberList@I {
readonly attribute unsigned long `length$n;
readonly attribute unsigned long `numberOfItems$n;
undefined `clear$n();
`SVGNumber$I `initialize$n(`SVGNumber$I %newItem);
getter `SVGNumber$I `getItem$n(unsigned long %index);
`SVGNumber$I `insertItemBefore$n(`SVGNumber$I %newItem, unsigned long %index);
`SVGNumber$I `replaceItem$n(`SVGNumber$I %newItem, unsigned long %index);
`SVGNumber$I `removeItem$n(unsigned long %index);
`SVGNumber$I `appendItem$n(`SVGNumber$I %newItem);
`setter$n undefined (unsigned long %index, `SVGNumber$I %newItem);
};
[Exposed=Window]
interface `SVGLengthList@I {
readonly attribute unsigned long `length$n;
readonly attribute unsigned long `numberOfItems$n;
undefined `clear$n();
`SVGLength$I `initialize$n(`SVGLength$I %newItem);
getter `SVGLength$I `getItem$n(unsigned long %index);
`SVGLength$I `insertItemBefore$n(`SVGLength$I %newItem, unsigned long %index);
`SVGLength$I `replaceItem$n(`SVGLength$I %newItem, unsigned long %index);
`SVGLength$I `removeItem$n(unsigned long %index);
`SVGLength$I `appendItem$n(`SVGLength$I %newItem);
`setter$n undefined (unsigned long %index, `SVGLength$I %newItem);
};
[Exposed=Window]
interface `SVGStringList@I {
readonly attribute unsigned long `length$n;
readonly attribute unsigned long `numberOfItems$n;
undefined `clear$n();
DOMString `initialize$n(DOMString %newItem);
getter DOMString `getItem$n(unsigned long %index);
DOMString `insertItemBefore$n(DOMString %newItem, unsigned long %index);
DOMString `replaceItem$n(DOMString %newItem, unsigned long %index);
DOMString `removeItem$n(unsigned long %index);
DOMString `appendItem$n(DOMString %newItem);
`setter$n undefined (unsigned long %index, DOMString %newItem);
};
[Exposed=Window]
interface `SVGAnimatedBoolean@I {
attribute boolean `baseVal$m;
readonly attribute boolean `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedEnumeration@I {
attribute unsigned short `baseVal$m;
readonly attribute unsigned short `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedInteger@I {
attribute long `baseVal$m;
readonly attribute long `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedNumber@I {
attribute float `baseVal$m;
readonly attribute float `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedLength@I {
[SameObject] readonly attribute `SVGLength$I `baseVal$m;
[SameObject] readonly attribute `SVGLength$I `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedAngle@I {
[SameObject] readonly attribute `SVGAngle$I `baseVal$m;
[SameObject] readonly attribute `SVGAngle$I `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedString@I {
attribute DOMString `baseVal$m;
readonly attribute DOMString `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedRect@I {
[SameObject] readonly attribute `DOMRect$I `baseVal$m;
[SameObject] readonly attribute `DOMRectReadOnly$I `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedNumberList@I {
[SameObject] readonly attribute `SVGNumberList$I `baseVal$m;
[SameObject] readonly attribute `SVGNumberList$I `animVal$m;
};
[Exposed=Window]
interface `SVGAnimatedLengthList@I {
[SameObject] readonly attribute `SVGLengthList$I `baseVal$m;
[SameObject] readonly attribute `SVGLengthList$I `animVal$m;
};
[Exposed=Window]
interface `SVGUnitTypes@I {
// Unit Types
const unsigned short `SVG_UNIT_TYPE_UNKNOWN$m = 0;
const unsigned short `SVG_UNIT_TYPE_USERSPACEONUSE$m = 1;
const unsigned short `SVG_UNIT_TYPE_OBJECTBOUNDINGBOX$m = 2;
};
interface mixin `SVGTests@I {
[SameObject] readonly attribute `SVGStringList$I `requiredExtensions$m;
[SameObject] readonly attribute `SVGStringList$I `systemLanguage$m;
};
interface mixin `SVGFitToViewBox@I {
[SameObject] readonly attribute `SVGAnimatedRect$I `viewBox$m;
[SameObject] readonly attribute `SVGAnimatedPreserveAspectRatio$I `preserveAspectRatio$m;
};
interface mixin `SVGURIReference@I {
[SameObject] readonly attribute `SVGAnimatedString$I `href$m;
};
partial interface `Document@I {
readonly attribute `SVGSVGElement$I? `rootElement$n;
};
[Exposed=Window]
interface `SVGSVGElement@I : `SVGGraphicsElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `x$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `width$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `height$m;
attribute float `currentScale$m;
[SameObject] readonly attribute `DOMPointReadOnly$I `currentTranslate$m;
`NodeList$I `getIntersectionList$m(`DOMRectReadOnly$I %rect, `SVGElement$I? %referenceElement);
`NodeList$I `getEnclosureList$m(`DOMRectReadOnly$I %rect, `SVGElement$I? %referenceElement);
boolean `checkIntersection$m(`SVGElement$I %element, `DOMRectReadOnly$I %rect);
boolean `checkEnclosure$m(`SVGElement$I %element, `DOMRectReadOnly$I %rect);
undefined `deselectAll$m();
`SVGNumber$I `createSVGNumber$m();
`SVGLength$I `createSVGLength$m();
`SVGAngle$I `createSVGAngle$m();
`DOMPoint$I `createSVGPoint$m();
`DOMMatrix$I `createSVGMatrix$m();
`DOMRect$I `createSVGRect$m();
`SVGTransform$I `createSVGTransform$m();
`SVGTransform$I `createSVGTransformFromMatrix$m(optional `DOMMatrix2DInit$I %matrix = {});
`Element$I `getElementById$m(DOMString %elementId);
/*
非推奨にされた~method
— ~callされても効果はないが、互換性の理由から保たれている。
◎
Deprecated methods that have no effect when called, but which are kept for compatibility reasons.
*/
unsigned long `suspendRedraw$m(unsigned long %maxWaitMilliseconds);
undefined `unsuspendRedraw$m(unsigned long %suspendHandleID);
undefined `unsuspendRedrawAll$m();
undefined `forceRedraw$m();
};
`SVGSVGElement$I includes `SVGFitToViewBox$I;
`SVGSVGElement$I includes `WindowEventHandlers$I;
[Exposed=Window]
interface `SVGGElement@I : `SVGGraphicsElement$I {
};
[Exposed=Window]
interface `SVGDefsElement@I : `SVGGraphicsElement$I {
};
[Exposed=Window]
interface `SVGDescElement@I : `SVGElement$I {
};
[Exposed=Window]
interface `SVGMetadataElement@I : `SVGElement$I {
};
[Exposed=Window]
interface `SVGTitleElement@I : `SVGElement$I {
};
[Exposed=Window]
interface `SVGSymbolElement@I : `SVGGraphicsElement$I {
};
`SVGSymbolElement$I includes `SVGFitToViewBox$I;
[Exposed=Window]
interface `SVGUseElement@I : `SVGGraphicsElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `x$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `width$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `height$m;
[SameObject] readonly attribute `SVGElement$I? `instanceRoot$m;
[SameObject] readonly attribute `SVGElement$I? `animatedInstanceRoot$m;
};
`SVGUseElement$I includes `SVGURIReference$I;
[Exposed=Window]
interface `SVGUseElementShadowRoot@I : `ShadowRoot$I {
};
interface mixin `SVGElementInstance@I {
[SameObject] readonly attribute `SVGElement$I? `correspondingElement$m;
[SameObject] readonly attribute `SVGUseElement$I? `correspondingUseElement$m;
};
[Exposed=Window]
interface `ShadowAnimation@I : `Animation$I {
constructor(`Animation$I %source, (`Element$I or `CSSPseudoElement$I) %newTarget);
[SameObject] readonly attribute `Animation$I `sourceAnimation$m;
};
[Exposed=Window]
interface `SVGSwitchElement@I : `SVGGraphicsElement$I {
};
interface mixin `GetSVGDocument@I {
`Document$I `getSVGDocument$m();
};
[Exposed=Window]
interface `SVGStyleElement@I : `SVGElement$I {
attribute DOMString `type$m;
attribute DOMString `media$m;
attribute DOMString `title$m;
};
`SVGStyleElement$I includes `LinkStyle$I;
[Exposed=Window]
interface `SVGTransform@I {
// Transform Types
const unsigned short `SVG_TRANSFORM_UNKNOWN$m = 0;
const unsigned short `SVG_TRANSFORM_MATRIX$m = 1;
const unsigned short `SVG_TRANSFORM_TRANSLATE$m = 2;
const unsigned short `SVG_TRANSFORM_SCALE$m = 3;
const unsigned short `SVG_TRANSFORM_ROTATE$m = 4;
const unsigned short `SVG_TRANSFORM_SKEWX$m = 5;
const unsigned short `SVG_TRANSFORM_SKEWY$m = 6;
readonly attribute unsigned short `type$m;
[SameObject] readonly attribute `DOMMatrix$I `matrix$m;
readonly attribute float `angle$m;
undefined `setMatrix$m(optional `DOMMatrix2DInit$I %matrix = {});
undefined `setTranslate$m(float %tx, float %ty);
undefined `setScale$m(float %sx, float %sy);
undefined `setRotate$m(float %angle, float %cx, float %cy);
undefined `setSkewX$m(float %angle);
undefined `setSkewY$m(float %angle);
};
[Exposed=Window]
interface `SVGTransformList@I {
readonly attribute unsigned long `length$n;
readonly attribute unsigned long `numberOfItems$n;
undefined `clear$n();
`SVGTransform$I `initialize$n(`SVGTransform$I %newItem);
getter `SVGTransform$I `getItem$n(unsigned long %index);
`SVGTransform$I `insertItemBefore$n(`SVGTransform$I %newItem, unsigned long %index);
`SVGTransform$I `replaceItem$n(`SVGTransform$I %newItem, unsigned long %index);
`SVGTransform$I `removeItem$n(unsigned long %index);
`SVGTransform$I `appendItem$n(`SVGTransform$I %newItem);
`setter$n undefined (unsigned long %index, `SVGTransform$I %newItem);
/*
他の~list~interfaceと共通しない追加的な~method。
◎
Additional methods not common to other list interfaces.
`SVGTransform$I `createSVGTransformFromMatrix$m(optional `DOMMatrix2DInit$I %matrix = {});
`SVGTransform$I? `consolidate$m();
};
[Exposed=Window]
interface `SVGAnimatedTransformList@I {
[SameObject] readonly attribute `SVGTransformList$I `baseVal$m;
[SameObject] readonly attribute `SVGTransformList$I `animVal$m;
};
[Exposed=Window]
interface `SVGPreserveAspectRatio@I {
// Alignment Types
const unsigned short `SVG_PRESERVEASPECTRATIO_UNKNOWN$m = 0;
const unsigned short `SVG_PRESERVEASPECTRATIO_NONE$m = 1;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMINYMIN$m = 2;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMIDYMIN$m = 3;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMAXYMIN$m = 4;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMINYMID$m = 5;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMIDYMID$m = 6;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMAXYMID$m = 7;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMINYMAX$m = 8;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMIDYMAX$m = 9;
const unsigned short `SVG_PRESERVEASPECTRATIO_XMAXYMAX$m = 10;
// Meet-or-slice Types
const unsigned short `SVG_MEETORSLICE_UNKNOWN$m = 0;
const unsigned short `SVG_MEETORSLICE_MEET$m = 1;
const unsigned short `SVG_MEETORSLICE_SLICE$m = 2;
attribute unsigned short `align$m;
attribute unsigned short `meetOrSlice$m;
};
[Exposed=Window]
interface `SVGAnimatedPreserveAspectRatio@I {
[SameObject] readonly attribute `SVGPreserveAspectRatio$I `baseVal$m;
[SameObject] readonly attribute `SVGPreserveAspectRatio$I `animVal$m;
};
[Exposed=Window]
interface `SVGPathElement@I : `SVGGeometryElement$I {
};
[Exposed=Window]
interface `SVGRectElement@I : `SVGGeometryElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `x$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `width$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `height$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `rx$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `ry$m;
};
[Exposed=Window]
interface `SVGCircleElement@I : `SVGGeometryElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `cx$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `cy$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `r$m;
};
[Exposed=Window]
interface `SVGEllipseElement@I : `SVGGeometryElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `cx$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `cy$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `rx$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `ry$m;
};
[Exposed=Window]
interface `SVGLineElement@I : `SVGGeometryElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `x1$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y1$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `x2$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y2$m;
};
interface mixin `SVGAnimatedPoints@I {
[SameObject] readonly attribute `SVGPointList$I `points$m;
[SameObject] readonly attribute `SVGPointList$I `animatedPoints$m;
};
[Exposed=Window]
interface `SVGPointList@I {
readonly attribute unsigned long `length$n;
readonly attribute unsigned long `numberOfItems$n;
undefined `clear$n();
`DOMPoint$I `initialize$n(`DOMPoint$I %newItem);
getter `DOMPoint$I `getItem$n(unsigned long %index);
`DOMPoint$I `insertItemBefore$n(`DOMPoint$I %newItem, unsigned long %index);
`DOMPoint$I `replaceItem$n(`DOMPoint$I %newItem, unsigned long %index);
`DOMPoint$I `removeItem$n(unsigned long %index);
`DOMPoint$I `appendItem$n(`DOMPoint$I %newItem);
`setter$n undefined (unsigned long %index, `DOMPoint$I %newItem);
};
[Exposed=Window]
interface `SVGPolylineElement@I : `SVGGeometryElement$I {
};
`SVGPolylineElement$I includes `SVGAnimatedPoints$I;
[Exposed=Window]
interface `SVGPolygonElement@I : `SVGGeometryElement$I {
};
`SVGPolygonElement$I includes `SVGAnimatedPoints$I;
[Exposed=Window]
interface `SVGTextContentElement@I : `SVGGraphicsElement$I {
// lengthAdjust Types
const unsigned short `LENGTHADJUST_UNKNOWN$m = 0;
const unsigned short `LENGTHADJUST_SPACING$m = 1;
const unsigned short `LENGTHADJUST_SPACINGANDGLYPHS$m = 2;
[SameObject] readonly attribute `SVGAnimatedLength$I `textLength$m;
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `lengthAdjust$m;
long `getNumberOfChars$m();
float `getComputedTextLength$m();
float `getSubStringLength$m(unsigned long %charnum, unsigned long %nchars);
`DOMPoint$I `getStartPositionOfChar$m(unsigned long %charnum);
`DOMPoint$I `getEndPositionOfChar$m(unsigned long %charnum);
`DOMRect$I `getExtentOfChar$m(unsigned long %charnum);
float `getRotationOfChar$m(unsigned long %charnum);
long `getCharNumAtPosition$m(optional `DOMPointInit$I %point);
undefined `selectSubString$m(unsigned long %charnum, unsigned long %nchars);
};
[Exposed=Window]
interface `SVGTextPositioningElement@I : `SVGTextContentElement$I {
[SameObject] readonly attribute `SVGAnimatedLengthList$I `x$m;
[SameObject] readonly attribute `SVGAnimatedLengthList$I `y$m;
[SameObject] readonly attribute `SVGAnimatedLengthList$I `dx$m;
[SameObject] readonly attribute `SVGAnimatedLengthList$I `dy$m;
[SameObject] readonly attribute `SVGAnimatedNumberList$I `rotate$m;
};
[Exposed=Window]
interface `SVGTextElement@I : `SVGTextPositioningElement$I {
};
[Exposed=Window]
interface `SVGTSpanElement@I : `SVGTextPositioningElement$I {
};
[Exposed=Window]
interface `SVGTextPathElement@I : `SVGTextContentElement$I {
// textPath Method Types
const unsigned short `TEXTPATH_METHODTYPE_UNKNOWN$m = 0;
const unsigned short `TEXTPATH_METHODTYPE_ALIGN$m = 1;
const unsigned short `TEXTPATH_METHODTYPE_STRETCH$m = 2;
// textPath Spacing Types
const unsigned short `TEXTPATH_SPACINGTYPE_UNKNOWN$m = 0;
const unsigned short `TEXTPATH_SPACINGTYPE_AUTO$m = 1;
const unsigned short `TEXTPATH_SPACINGTYPE_EXACT$m = 2;
[SameObject] readonly attribute `SVGAnimatedLength$I `startOffset$m;
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `method$m;
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `spacing$m;
};
`SVGTextPathElement$I includes `SVGURIReference$I;
[Exposed=Window]
interface `SVGImageElement@I : `SVGGraphicsElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `x$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `width$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `height$m;
[SameObject] readonly attribute `SVGAnimatedPreserveAspectRatio$I `preserveAspectRatio$m;
attribute DOMString? `crossOrigin$m;
};
`SVGImageElement$I includes `SVGURIReference$I;
[Exposed=Window]
interface `SVGForeignObjectElement@I : `SVGGraphicsElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `x$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `width$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `height$m;
};
[Exposed=Window]
interface `SVGMarkerElement@I : `SVGElement$I {
// Marker Unit Types
const unsigned short `SVG_MARKERUNITS_UNKNOWN$m = 0;
const unsigned short `SVG_MARKERUNITS_USERSPACEONUSE$m = 1;
const unsigned short `SVG_MARKERUNITS_STROKEWIDTH$m = 2;
// Marker Orientation Types
const unsigned short `SVG_MARKER_ORIENT_UNKNOWN$m = 0;
const unsigned short `SVG_MARKER_ORIENT_AUTO$m = 1;
const unsigned short `SVG_MARKER_ORIENT_ANGLE$m = 2;
[SameObject] readonly attribute `SVGAnimatedLength$I `refX$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `refY$m;
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `markerUnits$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `markerWidth$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `markerHeight$m;
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `orientType$m;
[SameObject] readonly attribute `SVGAnimatedAngle$I `orientAngle$m;
attribute DOMString `orient$m;
undefined `setOrientToAuto$m();
undefined `setOrientToAngle$m(`SVGAngle$I %angle);
};
`SVGMarkerElement$I includes `SVGFitToViewBox$I;
[Exposed=Window]
interface `SVGGradientElement@I : `SVGElement$I {
// Spread Method Types
const unsigned short `SVG_SPREADMETHOD_UNKNOWN$m = 0;
const unsigned short `SVG_SPREADMETHOD_PAD$m = 1;
const unsigned short `SVG_SPREADMETHOD_REFLECT$m = 2;
const unsigned short `SVG_SPREADMETHOD_REPEAT$m = 3;
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `gradientUnits$m;
[SameObject] readonly attribute `SVGAnimatedTransformList$I `gradientTransform$m;
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `spreadMethod$m;
};
`SVGGradientElement$I includes `SVGURIReference$I;
[Exposed=Window]
interface `SVGLinearGradientElement@I : `SVGGradientElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `x1$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y1$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `x2$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y2$m;
};
[Exposed=Window]
interface `SVGRadialGradientElement@I : `SVGGradientElement$I {
[SameObject] readonly attribute `SVGAnimatedLength$I `cx$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `cy$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `r$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `fx$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `fy$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `fr$m;
};
[Exposed=Window]
interface `SVGStopElement@I : `SVGElement$I {
[SameObject] readonly attribute `SVGAnimatedNumber$I `offset$m;
};
[Exposed=Window]
interface `SVGPatternElement@I : `SVGElement$I {
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `patternUnits$m;
[SameObject] readonly attribute `SVGAnimatedEnumeration$I `patternContentUnits$m;
[SameObject] readonly attribute `SVGAnimatedTransformList$I `patternTransform$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `x$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `y$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `width$m;
[SameObject] readonly attribute `SVGAnimatedLength$I `height$m;
};
`SVGPatternElement$I includes `SVGFitToViewBox$I;
`SVGPatternElement$I includes `SVGURIReference$I;
[Exposed=Window]
interface `SVGScriptElement@I : `SVGElement$I {
attribute DOMString `type$m;
attribute DOMString? `crossOrigin$m;
};
`SVGScriptElement$I includes `SVGURIReference$I;
[Exposed=Window]
interface `SVGAElement@I : `SVGGraphicsElement$I {
[SameObject] readonly attribute `SVGAnimatedString$I `target$m;
attribute DOMString `download$m;
attribute USVString `ping$m;
attribute DOMString `rel$m;
[SameObject, PutsForwards=value] readonly attribute `DOMTokenList$I `relList$m;
attribute DOMString `hreflang$m;
attribute DOMString `type$m;
attribute DOMString `text$m;
attribute DOMString `referrerPolicy$m;
};
`SVGAElement$I includes `SVGURIReference$I;
`SVGAElement$I includes `HTMLHyperlinkElementUtils$I;
[Exposed=Window]
interface `SVGViewElement@I : `SVGElement$I {};
`SVGViewElement$I includes `SVGFitToViewBox$I;