SVGSVGElement.idl   [plain text]


/*
    Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
                  2004, 2005 Rob Buis <buis@kde.org>
    Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.

    This file is part of the KDE project

    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., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.
*/

module svg
{
    // TODO: no css::ViewCSS available in kdom!
    // TODO: Fix SVGSVGElement inheritance(css::DocumentCSS)! 
    interface [Conditional=SVG] SVGSVGElement : 
                SVGElement,
                SVGTests,
                SVGLangSpace,
                SVGExternalResourcesRequired,
                SVGStylable,
                SVGLocatable,
                SVGFitToViewBox,
                SVGZoomAndPan,
                events::DocumentEvent {

        readonly attribute SVGAnimatedLength x;
        readonly attribute SVGAnimatedLength y;
        readonly attribute SVGAnimatedLength width;
        readonly attribute SVGAnimatedLength height;
                 attribute core::DOMString         contentScriptType
                        setter raises DOMException;
                 attribute core::DOMString         contentStyleType
                        setter raises DOMException;
        readonly attribute SVGRect           viewport;
        readonly attribute float pixelUnitToMillimeterX;
        readonly attribute float pixelUnitToMillimeterY;
        readonly attribute float screenPixelToMillimeterX;
        readonly attribute float screenPixelToMillimeterY;
                 attribute boolean useCurrentView
                        setter raises DOMException;
        // TODO    readonly attribute SVGViewSpec currentView;
                 attribute float currentScale
                        setter raises DOMException;
        readonly attribute SVGPoint currentTranslate;

        unsigned long suspendRedraw( in unsigned long max_wait_milliseconds );
        void          unsuspendRedraw( in unsigned long suspend_handle_id )
                        raises( DOMException );
        void          unsuspendRedrawAll();
        void          forceRedraw();
        void          pauseAnimations();
        void          unpauseAnimations();
        boolean       animationsPaused();
        float         getCurrentTime();
        void          setCurrentTime( in float seconds );
        core::NodeList      getIntersectionList( in SVGRect rect, in SVGElement referenceElement );
        core::NodeList      getEnclosureList( in SVGRect rect, in SVGElement referenceElement );
        boolean       checkIntersection( in SVGElement element, in SVGRect rect );
        boolean       checkEnclosure( in SVGElement element, in SVGRect rect );
        void          deselectAll();

        SVGNumber              createSVGNumber();
        SVGLength              createSVGLength();
        SVGAngle               createSVGAngle();
        SVGPoint               createSVGPoint();
        SVGMatrix              createSVGMatrix();
        SVGRect                createSVGRect();
        SVGTransform           createSVGTransform();
        SVGTransform     createSVGTransformFromMatrix( in SVGMatrix matrix );

        // TODO    core::Element         getElementById( in core::DOMString elementId );
    };
};