blob: d9687d239c30d4c60f7790369a4be8331f70ccfd [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.
*/
// FIXME: no css::ViewCSS available!
// FIXME: Fix SVGSVGElement inheritance (css::DocumentCSS)!
// FIXME: no events::DocumentEvent available!
[
JSGenerateToNativeObject,
ExportMacro=WEBCORE_EXPORT,
] interface SVGSVGElement : SVGGraphicsElement {
readonly attribute SVGAnimatedLength x;
readonly attribute SVGAnimatedLength y;
readonly attribute SVGAnimatedLength width;
readonly attribute SVGAnimatedLength height;
attribute DOMString contentScriptType;
attribute DOMString contentStyleType;
[NewObject] readonly attribute SVGRect viewport;
readonly attribute unrestricted float pixelUnitToMillimeterX;
readonly attribute unrestricted float pixelUnitToMillimeterY;
readonly attribute unrestricted float screenPixelToMillimeterX;
readonly attribute unrestricted float screenPixelToMillimeterY;
readonly attribute boolean useCurrentView;
readonly attribute SVGViewSpec currentView;
attribute unrestricted float currentScale;
[NewObject] readonly attribute SVGPoint currentTranslate;
unsigned long suspendRedraw(optional unsigned long maxWaitMilliseconds = 0);
void unsuspendRedraw(optional unsigned long suspendHandleId = 0);
void unsuspendRedrawAll();
void forceRedraw();
void pauseAnimations();
void unpauseAnimations();
boolean animationsPaused();
unrestricted float getCurrentTime();
void setCurrentTime(optional unrestricted float seconds = NaN);
// FIXME: referenceElement should not be optional.
NodeList getIntersectionList(SVGRect rect, optional SVGElement? referenceElement = null);
// FIXME: referenceElement should not be optional.
NodeList getEnclosureList(SVGRect rect, optional SVGElement? referenceElement = null);
boolean checkIntersection(SVGElement? element, SVGRect rect); // element should not be nullable.
boolean checkEnclosure(SVGElement? element, SVGRect rect); // element should not be nullable.
void deselectAll();
[NewObject] SVGNumber createSVGNumber();
[NewObject] SVGLength createSVGLength();
[NewObject] SVGAngle createSVGAngle();
[NewObject] SVGPoint createSVGPoint();
[NewObject] SVGMatrix createSVGMatrix();
[NewObject] SVGRect createSVGRect();
[NewObject] SVGTransform createSVGTransform();
[NewObject] SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
Element getElementById([RequiresExistingAtomicString] DOMString elementId);
};
SVGSVGElement implements SVGExternalResourcesRequired;
SVGSVGElement implements SVGFitToViewBox;
SVGSVGElement implements SVGZoomAndPan;