blob: 9a0d3412732d23ffb418c0b41d627fd9f4831be8 [file] [log] [blame]
/*
* Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org>
* Copyright (C) 2004, 2005, 2010 Rob Buis <buis@kde.org>
* Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
* Copyright (C) 2006 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
// http://www.w3.org/TR/SVG2/struct.html#InterfaceSVGSVGElement
interface SVGSVGElement : SVGGraphicsElement {
[MeasureAs=SVG1DOMSVGElement] readonly attribute SVGAnimatedLength x;
[MeasureAs=SVG1DOMSVGElement] readonly attribute SVGAnimatedLength y;
[MeasureAs=SVG1DOMSVGElement] readonly attribute SVGAnimatedLength width;
[MeasureAs=SVG1DOMSVGElement] readonly attribute SVGAnimatedLength height;
// TODO(foolip): useCurrentView and currentView have been removed:
// https://github.com/w3c/svgwg/commit/4c26fd36937a65192024208d85c144a21071b057
[DeprecateAs=V8SVGSVGElement_UseCurrentView_AttributeGetter] readonly attribute boolean useCurrentView;
[DeprecateAs=V8SVGSVGElement_CurrentView_AttributeGetter] readonly attribute SVGViewSpec currentView;
attribute float currentScale;
// TODO(foolip): currentTranslate should be a DOMPointReadOnly.
[ImplementedAs=currentTranslateFromJavascript] readonly attribute SVGPoint currentTranslate;
[MeasureAs=SVGSVGElementSuspendRedraw] unsigned long suspendRedraw(unsigned long maxWaitMilliseconds);
[MeasureAs=SVGSVGElementUnsuspendRedraw] void unsuspendRedraw(unsigned long suspendHandleId);
[MeasureAs=SVGSVGElementUnsuspendRedrawAll] void unsuspendRedrawAll();
[MeasureAs=SVGSVGElementForceRedraw] void forceRedraw();
[MeasureAs=SVGSMILPausing, RuntimeEnabled=smil] void pauseAnimations();
[MeasureAs=SVGSMILPausing, RuntimeEnabled=smil] void unpauseAnimations();
[MeasureAs=SVGSMILPausing, RuntimeEnabled=smil] boolean animationsPaused();
[MeasureAs=SVGSMILCurrentTime, RuntimeEnabled=smil] float getCurrentTime();
[MeasureAs=SVGSMILCurrentTime, RuntimeEnabled=smil] void setCurrentTime(float seconds);
// TODO(foolip): The rect arguments should be DOMRectReadOnly.
NodeList getIntersectionList(SVGRect rect, SVGElement? referenceElement);
NodeList getEnclosureList(SVGRect rect, SVGElement? referenceElement);
boolean checkIntersection(SVGElement element, SVGRect rect);
boolean checkEnclosure(SVGElement element, SVGRect rect);
void deselectAll();
[Measure] SVGNumber createSVGNumber();
[Measure] SVGLength createSVGLength();
[Measure] SVGAngle createSVGAngle();
// TODO(foolip): SVGPoint/Matrix/Rect should be DOMPoint/Matrix/Rect.
[Measure] SVGPoint createSVGPoint();
[Measure] SVGMatrix createSVGMatrix();
[Measure] SVGRect createSVGRect();
[Measure] SVGTransform createSVGTransform();
[Measure] SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
// TODO(foolip): The following was part of SVG 1.1:
// http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGSVGElement
[Measure] Element getElementById(DOMString elementId);
};
SVGSVGElement implements SVGFitToViewBox;
SVGSVGElement implements SVGZoomAndPan;