Back to index

lightning-sunbird  0.9+nobinonly
nsIDOMSVGSVGElement.idl
Go to the documentation of this file.
00001 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is the Mozilla SVG project.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Crocodile Clips Ltd..
00019  * Portions created by the Initial Developer are Copyright (C) 2001
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *   Alex Fritze <alex.fritze@crocodile-clips.com> (original author)
00024  *
00025  * Alternatively, the contents of this file may be used under the terms of
00026  * either of the GNU General Public License Version 2 or later (the "GPL"),
00027  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00028  * in which case the provisions of the GPL or the LGPL are applicable instead
00029  * of those above. If you wish to allow use of your version of this file only
00030  * under the terms of either the GPL or the LGPL, and not to allow others to
00031  * use your version of this file under the terms of the MPL, indicate your
00032  * decision by deleting the provisions above and replace them with the notice
00033  * and other provisions required by the GPL or the LGPL. If you do not delete
00034  * the provisions above, a recipient may use your version of this file under
00035  * the terms of any one of the MPL, the GPL or the LGPL.
00036  *
00037  * ***** END LICENSE BLOCK ***** */
00038 
00039 #include "nsIDOMSVGElement.idl"
00040 
00041 interface nsIDOMSVGAnimatedLength;
00042 interface nsIDOMSVGRect;
00043 interface nsIDOMSVGViewSpec;
00044 interface nsIDOMSVGPoint;
00045 interface nsIDOMSVGNumber;
00046 interface nsIDOMSVGLength;
00047 interface nsIDOMSVGAngle;
00048 interface nsIDOMSVGMatrix;
00049 interface nsIDOMSVGTransform;
00050 
00051 [scriptable, uuid(67b8f41e-3577-4c8a-b1de-bef51186fe08)]
00052 interface nsIDOMSVGSVGElement
00053   : nsIDOMSVGElement
00054 /*
00055         The SVG DOM makes use of multiple interface inheritance.
00056         Since XPCOM only supports single interface inheritance,
00057         the best thing that we can do is to promise that whenever
00058         an object implements _this_ interface it will also
00059         implement the following interfaces. (We then have to QI to
00060         hop between them.)
00061         
00062     nsIDOMSVGTests,
00063     nsIDOMSVGLangSpace,
00064     nsIDOMSVGExternalResourcesRequired,
00065     nsIDOMSVGStylable,
00066     nsIDOMSVGLocatable,
00067     nsIDOMSVGFitToViewBox,
00068     nsIDOMSVGZoomAndPan,
00069     events::nsIDOMEventTarget,
00070     events::nsIDOMDocumentEvent,
00071     css::nsIDOMViewCSS,
00072     css::nsIDOMDocumentCSS
00073 */
00074 { 
00075   readonly attribute nsIDOMSVGAnimatedLength x;
00076   readonly attribute nsIDOMSVGAnimatedLength y;
00077   readonly attribute nsIDOMSVGAnimatedLength width;
00078   readonly attribute nsIDOMSVGAnimatedLength height;
00079   attribute DOMString         contentScriptType;
00080       // raises DOMException on setting
00081   attribute DOMString         contentStyleType;
00082       // raises DOMException on setting
00083   readonly attribute nsIDOMSVGRect     viewport;
00084   readonly attribute float pixelUnitToMillimeterX;
00085   readonly attribute float pixelUnitToMillimeterY;
00086   readonly attribute float screenPixelToMillimeterX;
00087   readonly attribute float screenPixelToMillimeterY;
00088   attribute boolean useCurrentView;
00089       // raises DOMException on setting
00090   readonly attribute nsIDOMSVGViewSpec currentView;
00091   attribute float currentScale;
00092       // raises DOMException on setting
00093   readonly attribute nsIDOMSVGPoint currentTranslate;
00094 
00095   unsigned long suspendRedraw(in unsigned long max_wait_milliseconds);
00096   void          unsuspendRedraw(in unsigned long suspend_handle_id);
00097       // raises( DOMException );
00098   void          unsuspendRedrawAll();
00099   void          forceRedraw();
00100   void          pauseAnimations();
00101   void          unpauseAnimations();
00102   boolean       animationsPaused();
00103   float         getCurrentTime();
00104   void          setCurrentTime(in float seconds);
00105   nsIDOMNodeList getIntersectionList(in nsIDOMSVGRect rect,
00106                                      in nsIDOMSVGElement referenceElement);
00107   nsIDOMNodeList getEnclosureList(in nsIDOMSVGRect rect, in nsIDOMSVGElement referenceElement);
00108   boolean       checkIntersection(in nsIDOMSVGElement element, in nsIDOMSVGRect rect);
00109   boolean       checkEnclosure(in nsIDOMSVGElement element, in nsIDOMSVGRect rect);
00110   void          deSelectAll();
00111   nsIDOMSVGNumber       createSVGNumber();
00112   nsIDOMSVGLength       createSVGLength();
00113   nsIDOMSVGAngle        createSVGAngle();
00114   nsIDOMSVGPoint        createSVGPoint();
00115   nsIDOMSVGMatrix       createSVGMatrix();
00116   nsIDOMSVGRect         createSVGRect();
00117   nsIDOMSVGTransform    createSVGTransform();
00118   nsIDOMSVGTransform    createSVGTransformFromMatrix(in nsIDOMSVGMatrix matrix);
00119   DOMString             createSVGString();
00120   nsIDOMElement         getElementById(in DOMString elementId);
00121 
00122   // Mozilla extension, not part of W3 SVG DOM:
00123   nsIDOMSVGMatrix getViewboxToViewportTransform();
00124 };
00125 
00126 
00127 
00128 
00129