/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsIDOMSVGElement.idl" interface nsIDOMSVGAnimatedLength; interface nsIDOMSVGAnimatedEnumeration; interface nsIDOMSVGAnimatedRect; /** * The nsIDOMSVGMarker interface is the interface to an SVG marker element. * * For more information on this interface please see * http://www.w3.org/TR/SVG11/painting.html#InterfaceSVGMarkerElement * */ [scriptable, uuid(0258F664-8251-4075-A0F5-F3D2170A913A)] interface nsIDOMSVGMarkerElement : nsIDOMSVGElement /* The SVG DOM makes use of multiple interface inheritance. Since XPCOM only supports single interface inheritance, the best thing that we can do is to promise that whenever an object implements _this_ interface it will also implement the following interfaces. (We then have to QI to hop between them.) nsIDOMSVGLangSpace, nsIDOMSVGExternalResourcesRequired, nsIDOMSVGStylable, nsIDOMSVGFitToViewBox */ { // Marker Unit Types const unsigned short SVG_MARKERUNITS_UNKNOWN = 0; const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1; const unsigned short SVG_MARKERUNITS_STROKEWIDTH = 2; // Marker Orientation Types const unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0; const unsigned short SVG_MARKER_ORIENT_AUTO = 1; const unsigned short SVG_MARKER_ORIENT_ANGLE = 2; readonly attribute nsIDOMSVGAnimatedLength refX; readonly attribute nsIDOMSVGAnimatedLength refY; readonly attribute nsIDOMSVGAnimatedEnumeration markerUnits; readonly attribute nsIDOMSVGAnimatedLength markerWidth; readonly attribute nsIDOMSVGAnimatedLength markerHeight; readonly attribute nsIDOMSVGAnimatedEnumeration orientType; readonly attribute nsISupports orientAngle; void setOrientToAuto ( ); void setOrientToAngle ( in nsISupports angle ); };