blob: 4cc98bb6e621734ecb55e9357252a0749db5dfba [file] [log] [blame]
* Copyright (C) 2004, 2005 Nikolas Zimmermann <>
* Copyright (C) 2004, 2005, 2010 Rob Buis <>
* Copyright (C) 2006 Samuel Weinig <>
* 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
* 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.
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;
attribute float currentScale;
// TODO(foolip): currentTranslate should be a DOMPointReadOnly.
[ImplementedAs=currentTranslateFromJavascript] readonly attribute SVGPoint currentTranslate;
// 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);
[Measure] Element getElementById(DOMString elementId);
[MeasureAs=SVGSVGElementSuspendRedraw] unsigned long suspendRedraw(unsigned long maxWaitMilliseconds);
[MeasureAs=SVGSVGElementUnsuspendRedraw] void unsuspendRedraw(unsigned long suspendHandleId);
[MeasureAs=SVGSVGElementUnsuspendRedrawAll] void unsuspendRedrawAll();
[MeasureAs=SVGSVGElementForceRedraw] void forceRedraw();
// SVG Animations
[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);
SVGSVGElement implements SVGFitToViewBox;
SVGSVGElement implements SVGZoomAndPan;