logo

Inkscape

  • Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

svg.idl

Go to the documentation of this file.
00001 // File: svg.idl
00002 #ifndef _SVG_IDL_
00003 #define _SVG_IDL_
00004 
00005 
00006 // For access to DOM2 core
00007 #include "dom.idl"
00008 
00009 // For access to DOM2 events
00010 #include "events.idl"
00011 
00012 // For access to those parts from DOM2 CSS OM used by SVG DOM.
00013 #include "css.idl"
00014 
00015 // For access to those parts from DOM2 Views OM used by SVG DOM.
00016 #include "views.idl"
00017 
00018 // For access to the SMIL OM used by SVG DOM.
00019 #include "smil.idl"
00020 
00021 #pragma prefix "dom.w3c.org"
00022 #pragma javaPackage "org.w3c.dom"
00023 module svg
00024 {
00025   typedef dom::DOMString DOMString;
00026   typedef dom::DOMException DOMException;
00027   typedef dom::Element Element;
00028   typedef dom::Document Document;
00029   typedef dom::NodeList NodeList;
00030 
00031   // Predeclarations
00032   interface SVGElement;
00033   interface SVGLangSpace;
00034   interface SVGExternalResourcesRequired;
00035   interface SVGTests;
00036   interface SVGFitToViewBox;
00037   interface SVGZoomAndPan;
00038   interface SVGViewSpec;
00039   interface SVGURIReference;
00040   interface SVGPoint;
00041   interface SVGMatrix;
00042   interface SVGPreserveAspectRatio;
00043   interface SVGAnimatedPreserveAspectRatio;
00044   interface SVGTransformList;
00045   interface SVGAnimatedTransformList;
00046   interface SVGTransform;
00047   interface SVGICCColor;
00048   interface SVGColor;
00049   interface SVGPaint;
00050   interface SVGTransformable;
00051   interface SVGDocument;
00052   interface SVGSVGElement;
00053   interface SVGElementInstance;
00054   interface SVGElementInstanceList;
00055 
00056 
00057   exception SVGException {
00058     unsigned short   code;
00059   };
00060 
00061   // SVGExceptionCode
00062   const unsigned short SVG_WRONG_TYPE_ERR           = 0;
00063   const unsigned short SVG_INVALID_VALUE_ERR        = 1;
00064   const unsigned short SVG_MATRIX_NOT_INVERTABLE    = 2;
00065 
00066   interface SVGElement : Element { 
00067              attribute DOMString id;
00068                          // raises DOMException on setting
00069              attribute DOMString xmlbase;
00070                          // raises DOMException on setting
00071     readonly attribute SVGSVGElement ownerSVGElement;
00072     readonly attribute SVGElement viewportElement;
00073   };
00074 
00075   interface SVGAnimatedBoolean { 
00076 
00077              attribute boolean baseVal;
00078                          // raises DOMException on setting
00079     readonly attribute boolean animVal;
00080   };
00081 
00082   interface SVGAnimatedString { 
00083 
00084              attribute DOMString baseVal;
00085                          // raises DOMException on setting
00086     readonly attribute DOMString animVal;
00087   };
00088 
00089   interface SVGStringList { 
00090 
00091     readonly attribute unsigned long numberOfItems;
00092 
00093     void   clear (  )
00094                     raises( DOMException );
00095     DOMString initialize ( in DOMString newItem )
00096                     raises( DOMException, SVGException );
00097     DOMString getItem ( in unsigned long index )
00098                     raises( DOMException );
00099     DOMString insertItemBefore ( in DOMString newItem, in unsigned long index )
00100                     raises( DOMException, SVGException );
00101     DOMString replaceItem ( in DOMString newItem, in unsigned long index )
00102                     raises( DOMException, SVGException );
00103     DOMString removeItem ( in unsigned long index )
00104                     raises( DOMException );
00105     DOMString appendItem ( in DOMString newItem )
00106                     raises( DOMException, SVGException );
00107   };
00108 
00109   interface SVGAnimatedEnumeration { 
00110 
00111              attribute unsigned short baseVal;
00112                          // raises DOMException on setting
00113     readonly attribute unsigned short animVal;
00114   };
00115 
00116   interface SVGAnimatedInteger { 
00117 
00118              attribute long baseVal;
00119                          // raises DOMException on setting
00120     readonly attribute long animVal;
00121   };
00122 
00123   interface SVGNumber { 
00124 
00125              attribute float value;
00126                          // raises DOMException on setting
00127   };
00128 
00129   interface SVGAnimatedNumber { 
00130 
00131              attribute float baseVal;
00132                          // raises DOMException on setting
00133     readonly attribute float animVal;
00134   };
00135 
00136   interface SVGNumberList { 
00137 
00138     readonly attribute unsigned long numberOfItems;
00139 
00140     void   clear (  )
00141                     raises( DOMException );
00142     SVGNumber initialize ( in SVGNumber newItem )
00143                     raises( DOMException, SVGException );
00144     SVGNumber getItem ( in unsigned long index )
00145                     raises( DOMException );
00146     SVGNumber insertItemBefore ( in SVGNumber newItem, in unsigned long index )
00147                     raises( DOMException, SVGException );
00148     SVGNumber replaceItem ( in SVGNumber newItem, in unsigned long index )
00149                     raises( DOMException, SVGException );
00150     SVGNumber removeItem ( in unsigned long index )
00151                     raises( DOMException );
00152     SVGNumber appendItem ( in SVGNumber newItem )
00153                     raises( DOMException, SVGException );
00154   };
00155 
00156   interface SVGAnimatedNumberList { 
00157 
00158     readonly attribute SVGNumberList baseVal;
00159     readonly attribute SVGNumberList animVal;
00160   };
00161 
00162   interface SVGLength { 
00163 
00164     // Length Unit Types
00165     const unsigned short SVG_LENGTHTYPE_UNKNOWN    = 0;
00166     const unsigned short SVG_LENGTHTYPE_NUMBER     = 1;
00167     const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2;
00168     const unsigned short SVG_LENGTHTYPE_EMS        = 3;
00169     const unsigned short SVG_LENGTHTYPE_EXS        = 4;
00170     const unsigned short SVG_LENGTHTYPE_PX         = 5;
00171     const unsigned short SVG_LENGTHTYPE_CM         = 6;
00172     const unsigned short SVG_LENGTHTYPE_MM         = 7;
00173     const unsigned short SVG_LENGTHTYPE_IN         = 8;
00174     const unsigned short SVG_LENGTHTYPE_PT         = 9;
00175     const unsigned short SVG_LENGTHTYPE_PC         = 10;
00176 
00177     readonly attribute unsigned short unitType;
00178              attribute float          value;
00179                          // raises DOMException on setting
00180              attribute float          valueInSpecifiedUnits;
00181                          // raises DOMException on setting
00182              attribute DOMString      valueAsString;
00183                          // raises DOMException on setting
00184 
00185     void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits );
00186     void convertToSpecifiedUnits ( in unsigned short unitType );
00187   };
00188 
00189   interface SVGAnimatedLength { 
00190 
00191     readonly attribute SVGLength baseVal;
00192     readonly attribute SVGLength animVal;
00193   };
00194 
00195   interface SVGLengthList { 
00196 
00197     readonly attribute unsigned long numberOfItems;
00198 
00199     void   clear (  )
00200                     raises( DOMException );
00201     SVGLength initialize ( in SVGLength newItem )
00202                     raises( DOMException, SVGException );
00203     SVGLength getItem ( in unsigned long index )
00204                     raises( DOMException );
00205     SVGLength insertItemBefore ( in SVGLength newItem, in unsigned long index )
00206                     raises( DOMException, SVGException );
00207     SVGLength replaceItem ( in SVGLength newItem, in unsigned long index )
00208                     raises( DOMException, SVGException );
00209     SVGLength removeItem ( in unsigned long index )
00210                     raises( DOMException );
00211     SVGLength appendItem ( in SVGLength newItem )
00212                     raises( DOMException, SVGException );
00213   };
00214 
00215   interface SVGAnimatedLengthList { 
00216 
00217     readonly attribute SVGLengthList baseVal;
00218     readonly attribute SVGLengthList animVal;
00219   };
00220 
00221   interface SVGAngle { 
00222 
00223     // Angle Unit Types
00224     const unsigned short SVG_ANGLETYPE_UNKNOWN     = 0;
00225     const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1;
00226     const unsigned short SVG_ANGLETYPE_DEG         = 2;
00227     const unsigned short SVG_ANGLETYPE_RAD         = 3;
00228     const unsigned short SVG_ANGLETYPE_GRAD        = 4;
00229 
00230     readonly attribute unsigned short unitType;
00231              attribute float          value;
00232                          // raises DOMException on setting
00233              attribute float          valueInSpecifiedUnits;
00234                          // raises DOMException on setting
00235              attribute DOMString      valueAsString;
00236                          // raises DOMException on setting
00237 
00238     void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits );
00239     void convertToSpecifiedUnits ( in unsigned short unitType );
00240   };
00241 
00242   interface SVGAnimatedAngle { 
00243 
00244     readonly attribute SVGAngle baseVal;
00245     readonly attribute SVGAngle animVal;
00246   };
00247 
00248   interface SVGColor : css::CSSValue { 
00249     // Color Types
00250     const unsigned short SVG_COLORTYPE_UNKNOWN           = 0;
00251     const unsigned short SVG_COLORTYPE_RGBCOLOR          = 1;
00252     const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2;
00253     const unsigned short SVG_COLORTYPE_CURRENTCOLOR      = 3;
00254 
00255     readonly attribute unsigned short colorType;
00256     readonly attribute css::RGBColor  rgbColor;
00257     readonly attribute SVGICCColor    iccColor;
00258 
00259     void        setRGBColor ( in DOMString rgbColor )
00260                     raises( SVGException );
00261     void        setRGBColorICCColor ( in DOMString rgbColor, in DOMString iccColor )
00262                     raises( SVGException );
00263     void        setColor ( in unsigned short colorType, in DOMString rgbColor, in DOMString iccColor )
00264                     raises( SVGException );
00265   };
00266 
00267   interface SVGICCColor { 
00268 
00269              attribute DOMString      colorProfile;
00270                          // raises DOMException on setting
00271     readonly attribute SVGNumberList colors;
00272   };
00273 
00274   interface SVGRect { 
00275 
00276              attribute float x;
00277                          // raises DOMException on setting
00278              attribute float y;
00279                          // raises DOMException on setting
00280              attribute float width;
00281                          // raises DOMException on setting
00282              attribute float height;
00283                          // raises DOMException on setting
00284   };
00285 
00286   interface SVGAnimatedRect { 
00287 
00288     readonly attribute SVGRect baseVal;
00289     readonly attribute SVGRect animVal;
00290   };
00291 
00292   interface SVGUnitTypes { 
00293 
00294     // Unit Types
00295     const unsigned short SVG_UNIT_TYPE_UNKNOWN           = 0;
00296     const unsigned short SVG_UNIT_TYPE_USERSPACEONUSE    = 1;
00297     const unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2;
00298   };
00299 
00300   interface SVGStylable { 
00301 
00302     readonly attribute SVGAnimatedString className;
00303     readonly attribute css::CSSStyleDeclaration style;
00304 
00305     css::CSSValue getPresentationAttribute ( in DOMString name );
00306   };
00307 
00308   interface SVGLocatable { 
00309 
00310     readonly attribute SVGElement              nearestViewportElement;
00311     readonly attribute SVGElement              farthestViewportElement;
00312 
00313     SVGRect   getBBox (  );
00314     SVGMatrix getCTM (  );
00315     SVGMatrix getScreenCTM (  );
00316     SVGMatrix getTransformToElement ( in SVGElement element )
00317                     raises( SVGException );
00318   };
00319 
00320   interface SVGTransformable : SVGLocatable { 
00321     readonly attribute SVGAnimatedTransformList transform;
00322   };
00323 
00324   interface SVGTests { 
00325 
00326     readonly attribute SVGStringList requiredFeatures;
00327     readonly attribute SVGStringList requiredExtensions;
00328     readonly attribute SVGStringList systemLanguage;
00329 
00330     boolean hasExtension ( in DOMString extension );
00331   };
00332 
00333   interface SVGLangSpace { 
00334 
00335              attribute DOMString xmllang;
00336                          // raises DOMException on setting
00337              attribute DOMString xmlspace;
00338                          // raises DOMException on setting
00339   };
00340 
00341   interface SVGExternalResourcesRequired { 
00342 
00343     readonly attribute SVGAnimatedBoolean externalResourcesRequired;
00344   };
00345 
00346   interface SVGFitToViewBox { 
00347 
00348     readonly attribute SVGAnimatedRect                viewBox;
00349     readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
00350   };
00351 
00352   interface SVGZoomAndPan { 
00353 
00354     // Zoom and Pan Types
00355     const unsigned short SVG_ZOOMANDPAN_UNKNOWN   = 0;
00356     const unsigned short SVG_ZOOMANDPAN_DISABLE = 1;
00357     const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2;
00358 
00359              attribute unsigned short zoomAndPan;
00360                          // raises DOMException on setting
00361   };
00362 
00363   interface SVGViewSpec : 
00364                 SVGZoomAndPan,
00365                 SVGFitToViewBox { 
00366 
00367     readonly attribute SVGTransformList transform;
00368     readonly attribute SVGElement       viewTarget;
00369     readonly attribute DOMString        viewBoxString;
00370     readonly attribute DOMString        preserveAspectRatioString;
00371     readonly attribute DOMString        transformString;
00372     readonly attribute DOMString        viewTargetString;
00373   };
00374 
00375   interface SVGURIReference { 
00376 
00377     readonly attribute SVGAnimatedString href;
00378   };
00379 
00380   interface SVGCSSRule : css::CSSRule { 
00381     // Additional CSS RuleType to support ICC color specifications
00382     const unsigned short COLOR_PROFILE_RULE = 7;
00383   };
00384 
00385   interface SVGRenderingIntent { 
00386 
00387     // Rendering Intent Types
00388     const unsigned short RENDERING_INTENT_UNKNOWN               = 0;
00389     const unsigned short RENDERING_INTENT_AUTO                  = 1;
00390     const unsigned short RENDERING_INTENT_PERCEPTUAL            = 2;
00391     const unsigned short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3;
00392     const unsigned short RENDERING_INTENT_SATURATION            = 4;
00393     const unsigned short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5;
00394   };
00395 
00396   interface SVGDocument : 
00397                 Document,
00398                 events::DocumentEvent { 
00399 
00400     readonly attribute DOMString    title;
00401     readonly attribute DOMString     referrer;
00402     readonly attribute DOMString      domain;
00403     readonly attribute DOMString      URL;
00404     readonly attribute SVGSVGElement rootElement;
00405   };
00406 
00407   interface SVGSVGElement : 
00408                 SVGElement,
00409                 SVGTests,
00410                 SVGLangSpace,
00411                 SVGExternalResourcesRequired,
00412                 SVGStylable,
00413                 SVGLocatable,
00414                 SVGFitToViewBox,
00415                 SVGZoomAndPan,
00416                 events::EventTarget,
00417                 events::DocumentEvent,
00418                 css::ViewCSS,
00419                 css::DocumentCSS { 
00420 
00421     readonly attribute SVGAnimatedLength x;
00422     readonly attribute SVGAnimatedLength y;
00423     readonly attribute SVGAnimatedLength width;
00424     readonly attribute SVGAnimatedLength height;
00425              attribute DOMString         contentScriptType;
00426                          // raises DOMException on setting
00427              attribute DOMString         contentStyleType;
00428                          // raises DOMException on setting
00429     readonly attribute SVGRect           viewport;
00430     readonly attribute float pixelUnitToMillimeterX;
00431     readonly attribute float pixelUnitToMillimeterY;
00432     readonly attribute float screenPixelToMillimeterX;
00433     readonly attribute float screenPixelToMillimeterY;
00434              attribute boolean useCurrentView;
00435                          // raises DOMException on setting
00436     readonly attribute SVGViewSpec currentView;
00437              attribute float currentScale;
00438                          // raises DOMException on setting
00439     readonly attribute SVGPoint currentTranslate;
00440 
00441     unsigned long suspendRedraw ( in unsigned long max_wait_milliseconds );
00442     void          unsuspendRedraw ( in unsigned long suspend_handle_id )
00443                     raises( DOMException );
00444     void          unsuspendRedrawAll (  );
00445     void          forceRedraw (  );
00446     void          pauseAnimations (  );
00447     void          unpauseAnimations (  );
00448     boolean       animationsPaused (  );
00449     float         getCurrentTime (  );
00450     void          setCurrentTime ( in float seconds );
00451     NodeList      getIntersectionList ( in SVGRect rect, in SVGElement referenceElement );
00452     NodeList      getEnclosureList ( in SVGRect rect, in SVGElement referenceElement );
00453     boolean       checkIntersection ( in SVGElement element, in SVGRect rect );
00454     boolean       checkEnclosure ( in SVGElement element, in SVGRect rect );
00455     void          deselectAll (  );
00456     SVGNumber              createSVGNumber (  );
00457     SVGLength              createSVGLength (  );
00458     SVGAngle               createSVGAngle (  );
00459     SVGPoint               createSVGPoint (  );
00460     SVGMatrix              createSVGMatrix (  );
00461     SVGRect                createSVGRect (  );
00462     SVGTransform           createSVGTransform (  );
00463     SVGTransform     createSVGTransformFromMatrix ( in SVGMatrix matrix );
00464     Element         getElementById ( in DOMString elementId );
00465   };
00466 
00467   interface SVGGElement : 
00468                 SVGElement,
00469                 SVGTests,
00470                 SVGLangSpace,
00471                 SVGExternalResourcesRequired,
00472                 SVGStylable,
00473                 SVGTransformable,
00474                 events::EventTarget {};
00475 
00476   interface SVGDefsElement : 
00477                 SVGElement,
00478                 SVGTests,
00479                 SVGLangSpace,
00480                 SVGExternalResourcesRequired,
00481                 SVGStylable,
00482                 SVGTransformable,
00483                 events::EventTarget {};
00484 
00485   interface SVGDescElement : 
00486                 SVGElement,
00487                 SVGLangSpace,
00488                 SVGStylable {};
00489 
00490   interface SVGTitleElement : 
00491                 SVGElement,
00492                 SVGLangSpace,
00493                 SVGStylable {};
00494 
00495   interface SVGSymbolElement : 
00496                 SVGElement,
00497                 SVGLangSpace,
00498                 SVGExternalResourcesRequired,
00499                 SVGStylable,
00500                 SVGFitToViewBox,
00501                 events::EventTarget {};
00502 
00503   interface SVGUseElement : 
00504                 SVGElement,
00505                 SVGURIReference,
00506                 SVGTests,
00507                 SVGLangSpace,
00508                 SVGExternalResourcesRequired,
00509                 SVGStylable,
00510                 SVGTransformable,
00511                 events::EventTarget { 
00512 
00513     readonly attribute SVGAnimatedLength   x;
00514     readonly attribute SVGAnimatedLength   y;
00515     readonly attribute SVGAnimatedLength   width;
00516     readonly attribute SVGAnimatedLength   height;
00517     readonly attribute SVGElementInstance instanceRoot;
00518     readonly attribute SVGElementInstance animatedInstanceRoot;
00519   };
00520 
00521   interface SVGElementInstance : events::EventTarget { 
00522     readonly attribute SVGElement correspondingElement;
00523     readonly attribute SVGUseElement correspondingUseElement;
00524     readonly attribute SVGElementInstance parentNode;
00525     readonly attribute SVGElementInstanceList childNodes;
00526     readonly attribute SVGElementInstance firstChild;
00527     readonly attribute SVGElementInstance lastChild;
00528     readonly attribute SVGElementInstance previousSibling;
00529     readonly attribute SVGElementInstance nextSibling;
00530   };
00531 
00532   interface SVGElementInstanceList { 
00533 
00534     readonly attribute unsigned long length;
00535 
00536     SVGElementInstance item ( in unsigned long index );
00537   };
00538 
00539   interface SVGImageElement : 
00540                 SVGElement,
00541                 SVGURIReference,
00542                 SVGTests,
00543                 SVGLangSpace,
00544                 SVGExternalResourcesRequired,
00545                 SVGStylable,
00546                 SVGTransformable,
00547                 events::EventTarget { 
00548 
00549     readonly attribute SVGAnimatedLength x;
00550     readonly attribute SVGAnimatedLength y;
00551     readonly attribute SVGAnimatedLength width;
00552     readonly attribute SVGAnimatedLength height;
00553     readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
00554   };
00555 
00556   interface SVGSwitchElement : 
00557                 SVGElement,
00558                 SVGTests,
00559                 SVGLangSpace,
00560                 SVGExternalResourcesRequired,
00561                 SVGStylable,
00562                 SVGTransformable,
00563                 events::EventTarget {};
00564 
00565   interface GetSVGDocument { 
00566 
00567     SVGDocument getSVGDocument (  )
00568                     raises( DOMException );
00569   };
00570 
00571   interface SVGStyleElement : SVGElement { 
00572              attribute DOMString xmlspace;
00573                          // raises DOMException on setting
00574              attribute DOMString type;
00575                          // raises DOMException on setting
00576              attribute DOMString media;
00577                          // raises DOMException on setting
00578              attribute DOMString title;
00579                          // raises DOMException on setting
00580   };
00581 
00582   interface SVGPoint { 
00583 
00584              attribute float x;
00585                          // raises DOMException on setting
00586              attribute float y;
00587                          // raises DOMException on setting
00588 
00589     SVGPoint matrixTransform ( in SVGMatrix matrix );
00590   };
00591 
00592   interface SVGPointList { 
00593 
00594     readonly attribute unsigned long numberOfItems;
00595 
00596     void   clear (  )
00597                     raises( DOMException );
00598     SVGPoint initialize ( in SVGPoint newItem )
00599                     raises( DOMException, SVGException );
00600     SVGPoint getItem ( in unsigned long index )
00601                     raises( DOMException );
00602     SVGPoint insertItemBefore ( in SVGPoint newItem, in unsigned long index )
00603                     raises( DOMException, SVGException );
00604     SVGPoint replaceItem ( in SVGPoint newItem, in unsigned long index )
00605                     raises( DOMException, SVGException );
00606     SVGPoint removeItem ( in unsigned long index )
00607                     raises( DOMException );
00608     SVGPoint appendItem ( in SVGPoint newItem )
00609                     raises( DOMException, SVGException );
00610   };
00611 
00612   interface SVGMatrix { 
00613 
00614              attribute float a;
00615                          // raises DOMException on setting
00616              attribute float b;
00617                          // raises DOMException on setting
00618              attribute float c;
00619                          // raises DOMException on setting
00620              attribute float d;
00621                          // raises DOMException on setting
00622              attribute float e;
00623                          // raises DOMException on setting
00624              attribute float f;
00625                          // raises DOMException on setting
00626 
00627     SVGMatrix multiply ( in SVGMatrix secondMatrix );
00628     SVGMatrix inverse (  )
00629                     raises( SVGException );
00630     SVGMatrix translate ( in float x, in float y );
00631     SVGMatrix scale ( in float scaleFactor );
00632     SVGMatrix scaleNonUniform ( in float scaleFactorX, in float scaleFactorY );
00633     SVGMatrix rotate ( in float angle );
00634     SVGMatrix rotateFromVector ( in float x, in float y )
00635                     raises( SVGException );
00636     SVGMatrix flipX (  );
00637     SVGMatrix flipY (  );
00638     SVGMatrix skewX ( in float angle );
00639     SVGMatrix skewY ( in float angle );
00640   };
00641 
00642   interface SVGTransform { 
00643 
00644     // Transform Types
00645     const unsigned short SVG_TRANSFORM_UNKNOWN   = 0;
00646     const unsigned short SVG_TRANSFORM_MATRIX    = 1;
00647     const unsigned short SVG_TRANSFORM_TRANSLATE = 2;
00648     const unsigned short SVG_TRANSFORM_SCALE     = 3;
00649     const unsigned short SVG_TRANSFORM_ROTATE    = 4;
00650     const unsigned short SVG_TRANSFORM_SKEWX     = 5;
00651     const unsigned short SVG_TRANSFORM_SKEWY     = 6;
00652 
00653     readonly attribute unsigned short type;
00654     readonly attribute SVGMatrix matrix;
00655     readonly attribute float angle;
00656 
00657     void setMatrix ( in SVGMatrix matrix );
00658     void setTranslate ( in float tx, in float ty );
00659     void setScale ( in float sx, in float sy );
00660     void setRotate ( in float angle, in float cx, in float cy );
00661     void setSkewX ( in float angle );
00662     void setSkewY ( in float angle );
00663   };
00664 
00665   interface SVGTransformList { 
00666 
00667     readonly attribute unsigned long numberOfItems;
00668 
00669     void   clear (  )
00670                     raises( DOMException );
00671     SVGTransform initialize ( in SVGTransform newItem )
00672                     raises( DOMException, SVGException );
00673     SVGTransform getItem ( in unsigned long index )
00674                     raises( DOMException );
00675     SVGTransform insertItemBefore ( in SVGTransform newItem, in unsigned long index )
00676                     raises( DOMException, SVGException );
00677     SVGTransform replaceItem ( in SVGTransform newItem, in unsigned long index )
00678                     raises( DOMException, SVGException );
00679     SVGTransform removeItem ( in unsigned long index )
00680                     raises( DOMException );
00681     SVGTransform appendItem ( in SVGTransform newItem )
00682                     raises( DOMException, SVGException );
00683     SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix );
00684     SVGTransform consolidate (  );
00685   };
00686 
00687   interface SVGAnimatedTransformList { 
00688 
00689     readonly attribute SVGTransformList baseVal;
00690     readonly attribute SVGTransformList animVal;
00691   };
00692 
00693   interface SVGPreserveAspectRatio { 
00694 
00695     // Alignment Types
00696     const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN   = 0;
00697     const unsigned short SVG_PRESERVEASPECTRATIO_NONE     = 1;
00698     const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;
00699     const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;
00700     const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;
00701     const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5;
00702     const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;
00703     const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;
00704     const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;
00705     const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;
00706     const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;
00707     // Meet-or-slice Types
00708     const unsigned short SVG_MEETORSLICE_UNKNOWN   = 0;
00709     const unsigned short SVG_MEETORSLICE_MEET  = 1;
00710     const unsigned short SVG_MEETORSLICE_SLICE = 2;
00711 
00712              attribute unsigned short align;
00713                          // raises DOMException on setting
00714              attribute unsigned short meetOrSlice;
00715                          // raises DOMException on setting
00716   };
00717 
00718   interface SVGAnimatedPreserveAspectRatio { 
00719 
00720     readonly attribute SVGPreserveAspectRatio baseVal;
00721     readonly attribute SVGPreserveAspectRatio animVal;
00722   };
00723 
00724   interface SVGPathSeg { 
00725 
00726     // Path Segment Types
00727     const unsigned short PATHSEG_UNKNOWN                      = 0;
00728     const unsigned short PATHSEG_CLOSEPATH                    = 1;
00729     const unsigned short PATHSEG_MOVETO_ABS                   = 2;
00730     const unsigned short PATHSEG_MOVETO_REL                   = 3;
00731     const unsigned short PATHSEG_LINETO_ABS                   = 4;
00732     const unsigned short PATHSEG_LINETO_REL                   = 5;
00733     const unsigned short PATHSEG_CURVETO_CUBIC_ABS            = 6;
00734     const unsigned short PATHSEG_CURVETO_CUBIC_REL            = 7;
00735     const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS        = 8;
00736     const unsigned short PATHSEG_CURVETO_QUADRATIC_REL        = 9;
00737     const unsigned short PATHSEG_ARC_ABS                      = 10;
00738     const unsigned short PATHSEG_ARC_REL                      = 11;
00739     const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS        = 12;
00740     const unsigned short PATHSEG_LINETO_HORIZONTAL_REL        = 13;
00741     const unsigned short PATHSEG_LINETO_VERTICAL_ABS          = 14;
00742     const unsigned short PATHSEG_LINETO_VERTICAL_REL          = 15;
00743     const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS     = 16;
00744     const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL     = 17;
00745     const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
00746     const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
00747 
00748     readonly attribute unsigned short pathSegType;
00749     readonly attribute DOMString      pathSegTypeAsLetter;
00750   };
00751 
00752   interface SVGPathSegClosePath : SVGPathSeg {};
00753 
00754   interface SVGPathSegMovetoAbs : SVGPathSeg { 
00755              attribute float   x;
00756                          // raises DOMException on setting
00757              attribute float   y;
00758                          // raises DOMException on setting
00759   };
00760 
00761   interface SVGPathSegMovetoRel : SVGPathSeg { 
00762              attribute float   x;
00763                          // raises DOMException on setting
00764              attribute float   y;
00765                          // raises DOMException on setting
00766   };
00767 
00768   interface SVGPathSegLinetoAbs : SVGPathSeg { 
00769              attribute float   x;
00770                          // raises DOMException on setting
00771              attribute float   y;
00772                          // raises DOMException on setting
00773   };
00774 
00775   interface SVGPathSegLinetoRel : SVGPathSeg { 
00776              attribute float   x;
00777                          // raises DOMException on setting
00778              attribute float   y;
00779                          // raises DOMException on setting
00780   };
00781 
00782   interface SVGPathSegCurvetoCubicAbs : SVGPathSeg { 
00783              attribute float   x;
00784                          // raises DOMException on setting
00785              attribute float   y;
00786                          // raises DOMException on setting
00787              attribute float   x1;
00788                          // raises DOMException on setting
00789              attribute float   y1;
00790                          // raises DOMException on setting
00791              attribute float   x2;
00792                          // raises DOMException on setting
00793              attribute float   y2;
00794                          // raises DOMException on setting
00795   };
00796 
00797   interface SVGPathSegCurvetoCubicRel : SVGPathSeg { 
00798              attribute float   x;
00799                          // raises DOMException on setting
00800              attribute float   y;
00801                          // raises DOMException on setting
00802              attribute float   x1;
00803                          // raises DOMException on setting
00804              attribute float   y1;
00805                          // raises DOMException on setting
00806              attribute float   x2;
00807                          // raises DOMException on setting
00808              attribute float   y2;
00809                          // raises DOMException on setting
00810   };
00811 
00812   interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg { 
00813              attribute float   x;
00814                          // raises DOMException on setting
00815              attribute float   y;
00816                          // raises DOMException on setting
00817              attribute float   x1;
00818                          // raises DOMException on setting
00819              attribute float   y1;
00820                          // raises DOMException on setting
00821   };
00822 
00823   interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg { 
00824              attribute float   x;
00825                          // raises DOMException on setting
00826              attribute float   y;
00827                          // raises DOMException on setting
00828              attribute float   x1;
00829                          // raises DOMException on setting
00830              attribute float   y1;
00831                          // raises DOMException on setting
00832   };
00833 
00834   interface SVGPathSegArcAbs : SVGPathSeg { 
00835              attribute float   x;
00836                          // raises DOMException on setting
00837              attribute float   y;
00838                          // raises DOMException on setting
00839              attribute float   r1;
00840                          // raises DOMException on setting
00841              attribute float   r2;
00842                          // raises DOMException on setting
00843              attribute float   angle;
00844                          // raises DOMException on setting
00845              attribute boolean largeArcFlag;
00846                          // raises DOMException on setting
00847              attribute boolean sweepFlag;
00848                          // raises DOMException on setting
00849   };
00850 
00851   interface SVGPathSegArcRel : SVGPathSeg { 
00852              attribute float   x;
00853                          // raises DOMException on setting
00854              attribute float   y;
00855                          // raises DOMException on setting
00856              attribute float   r1;
00857                          // raises DOMException on setting
00858              attribute float   r2;
00859                          // raises DOMException on setting
00860              attribute float   angle;
00861                          // raises DOMException on setting
00862              attribute boolean largeArcFlag;
00863                          // raises DOMException on setting
00864              attribute boolean sweepFlag;
00865                          // raises DOMException on setting
00866   };
00867 
00868   interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg { 
00869              attribute float   x;
00870                          // raises DOMException on setting
00871   };
00872 
00873   interface SVGPathSegLinetoHorizontalRel : SVGPathSeg { 
00874              attribute float   x;
00875                          // raises DOMException on setting
00876   };
00877 
00878   interface SVGPathSegLinetoVerticalAbs : SVGPathSeg { 
00879              attribute float   y;
00880                          // raises DOMException on setting
00881   };
00882 
00883   interface SVGPathSegLinetoVerticalRel : SVGPathSeg { 
00884              attribute float   y;
00885                          // raises DOMException on setting
00886   };
00887 
00888   interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg { 
00889              attribute float   x;
00890                          // raises DOMException on setting
00891              attribute float   y;
00892                          // raises DOMException on setting
00893              attribute float   x2;
00894                          // raises DOMException on setting
00895              attribute float   y2;
00896                          // raises DOMException on setting
00897   };
00898 
00899   interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg { 
00900              attribute float   x;
00901                          // raises DOMException on setting
00902              attribute float   y;
00903                          // raises DOMException on setting
00904              attribute float   x2;
00905                          // raises DOMException on setting
00906              attribute float   y2;
00907                          // raises DOMException on setting
00908   };
00909 
00910   interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg { 
00911              attribute float   x;
00912                          // raises DOMException on setting
00913              attribute float   y;
00914                          // raises DOMException on setting
00915   };
00916 
00917   interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg { 
00918              attribute float   x;
00919                          // raises DOMException on setting
00920              attribute float   y;
00921                          // raises DOMException on setting
00922   };
00923 
00924   interface SVGPathSegList { 
00925 
00926     readonly attribute unsigned long numberOfItems;
00927 
00928     void   clear (  )
00929                     raises( DOMException );
00930     SVGPathSeg initialize ( in SVGPathSeg newItem )
00931                     raises( DOMException, SVGException );
00932     SVGPathSeg getItem ( in unsigned long index )
00933                     raises( DOMException );
00934     SVGPathSeg insertItemBefore ( in SVGPathSeg newItem, in unsigned long index )
00935                     raises( DOMException, SVGException );
00936     SVGPathSeg replaceItem ( in SVGPathSeg newItem, in unsigned long index )
00937                     raises( DOMException, SVGException );
00938     SVGPathSeg removeItem ( in unsigned long index )
00939                     raises( DOMException );
00940     SVGPathSeg appendItem ( in SVGPathSeg newItem )
00941                     raises( DOMException, SVGException );
00942   };
00943 
00944   interface SVGAnimatedPathData { 
00945 
00946     readonly attribute SVGPathSegList   pathSegList;
00947     readonly attribute SVGPathSegList   normalizedPathSegList;
00948     readonly attribute SVGPathSegList   animatedPathSegList;
00949     readonly attribute SVGPathSegList   animatedNormalizedPathSegList;
00950   };
00951 
00952   interface SVGPathElement : 
00953                 SVGElement,
00954                 SVGTests,
00955                 SVGLangSpace,
00956                 SVGExternalResourcesRequired,
00957                 SVGStylable,
00958                 SVGTransformable,
00959                 events::EventTarget,
00960                 SVGAnimatedPathData { 
00961 
00962     readonly attribute SVGAnimatedNumber pathLength;
00963 
00964     float         getTotalLength (  );
00965     SVGPoint      getPointAtLength ( in float distance );
00966     unsigned long getPathSegAtLength ( in float distance );
00967     SVGPathSegClosePath    createSVGPathSegClosePath (  );
00968     SVGPathSegMovetoAbs    createSVGPathSegMovetoAbs ( in float x, in float y );
00969     SVGPathSegMovetoRel    createSVGPathSegMovetoRel ( in float x, in float y );
00970     SVGPathSegLinetoAbs    createSVGPathSegLinetoAbs ( in float x, in float y );
00971     SVGPathSegLinetoRel    createSVGPathSegLinetoRel ( in float x, in float y );
00972     SVGPathSegCurvetoCubicAbs    createSVGPathSegCurvetoCubicAbs ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 );
00973     SVGPathSegCurvetoCubicRel    createSVGPathSegCurvetoCubicRel ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 );
00974     SVGPathSegCurvetoQuadraticAbs    createSVGPathSegCurvetoQuadraticAbs ( in float x, in float y, in float x1, in float y1 );
00975     SVGPathSegCurvetoQuadraticRel    createSVGPathSegCurvetoQuadraticRel ( in float x, in float y, in float x1, in float y1 );
00976     SVGPathSegArcAbs    createSVGPathSegArcAbs ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag );
00977     SVGPathSegArcRel    createSVGPathSegArcRel ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag );
00978     SVGPathSegLinetoHorizontalAbs    createSVGPathSegLinetoHorizontalAbs ( in float x );
00979     SVGPathSegLinetoHorizontalRel    createSVGPathSegLinetoHorizontalRel ( in float x );
00980     SVGPathSegLinetoVerticalAbs    createSVGPathSegLinetoVerticalAbs ( in float y );
00981     SVGPathSegLinetoVerticalRel    createSVGPathSegLinetoVerticalRel ( in float y );
00982     SVGPathSegCurvetoCubicSmoothAbs    createSVGPathSegCurvetoCubicSmoothAbs ( in float x, in float y, in float x2, in float y2 );
00983     SVGPathSegCurvetoCubicSmoothRel    createSVGPathSegCurvetoCubicSmoothRel ( in float x, in float y, in float x2, in float y2 );
00984     SVGPathSegCurvetoQuadraticSmoothAbs    createSVGPathSegCurvetoQuadraticSmoothAbs ( in float x, in float y );
00985     SVGPathSegCurvetoQuadraticSmoothRel    createSVGPathSegCurvetoQuadraticSmoothRel ( in float x, in float y );
00986   };
00987 
00988   interface SVGRectElement : 
00989                 SVGElement,
00990                 SVGTests,
00991                 SVGLangSpace,
00992                 SVGExternalResourcesRequired,
00993                 SVGStylable,
00994                 SVGTransformable,
00995                 events::EventTarget { 
00996 
00997     readonly attribute SVGAnimatedLength x;
00998     readonly attribute SVGAnimatedLength y;
00999     readonly attribute SVGAnimatedLength width;
01000     readonly attribute SVGAnimatedLength height;
01001     readonly attribute SVGAnimatedLength rx;
01002     readonly attribute SVGAnimatedLength ry;
01003   };
01004 
01005   interface SVGCircleElement : 
01006                 SVGElement,
01007                 SVGTests,
01008                 SVGLangSpace,
01009                 SVGExternalResourcesRequired,
01010                 SVGStylable,
01011                 SVGTransformable,
01012                 events::EventTarget { 
01013 
01014     readonly attribute SVGAnimatedLength cx;
01015     readonly attribute SVGAnimatedLength cy;
01016     readonly attribute SVGAnimatedLength r;
01017   };
01018 
01019   interface SVGEllipseElement : 
01020                 SVGElement,
01021                 SVGTests,
01022                 SVGLangSpace,
01023                 SVGExternalResourcesRequired,
01024                 SVGStylable,
01025                 SVGTransformable,
01026                 events::EventTarget { 
01027 
01028     readonly attribute SVGAnimatedLength cx;
01029     readonly attribute SVGAnimatedLength cy;
01030     readonly attribute SVGAnimatedLength rx;
01031     readonly attribute SVGAnimatedLength ry;
01032   };
01033 
01034   interface SVGLineElement : 
01035                 SVGElement,
01036                 SVGTests,
01037                 SVGLangSpace,
01038                 SVGExternalResourcesRequired,
01039                 SVGStylable,
01040                 SVGTransformable,
01041                 events::EventTarget { 
01042 
01043     readonly attribute SVGAnimatedLength x1;
01044     readonly attribute SVGAnimatedLength y1;
01045     readonly attribute SVGAnimatedLength x2;
01046     readonly attribute SVGAnimatedLength y2;
01047   };
01048 
01049   interface SVGAnimatedPoints { 
01050 
01051     readonly attribute SVGPointList   points;
01052     readonly attribute SVGPointList   animatedPoints;
01053   };
01054 
01055   interface SVGPolylineElement : 
01056                 SVGElement,
01057                 SVGTests,
01058                 SVGLangSpace,
01059                 SVGExternalResourcesRequired,
01060                 SVGStylable,
01061                 SVGTransformable,
01062                 events::EventTarget,
01063                 SVGAnimatedPoints {};
01064 
01065   interface SVGPolygonElement : 
01066                 SVGElement,
01067                 SVGTests,
01068                 SVGLangSpace,
01069                 SVGExternalResourcesRequired,
01070                 SVGStylable,
01071                 SVGTransformable,
01072                 events::EventTarget,
01073                 SVGAnimatedPoints {};
01074 
01075   interface SVGTextContentElement : 
01076                 SVGElement,
01077                 SVGTests,
01078                 SVGLangSpace,
01079                 SVGExternalResourcesRequired,
01080                 SVGStylable,
01081                 events::EventTarget { 
01082 
01083     // lengthAdjust Types
01084     const unsigned short LENGTHADJUST_UNKNOWN   = 0;
01085     const unsigned short LENGTHADJUST_SPACING     = 1;
01086     const unsigned short LENGTHADJUST_SPACINGANDGLYPHS     = 2;
01087 
01088     readonly attribute SVGAnimatedLength      textLength;
01089     readonly attribute SVGAnimatedEnumeration lengthAdjust;
01090 
01091     long     getNumberOfChars (  );
01092     float    getComputedTextLength (  );
01093     float    getSubStringLength ( in unsigned long charnum, in unsigned long nchars )
01094                     raises( DOMException );
01095     SVGPoint getStartPositionOfChar ( in unsigned long charnum )
01096                     raises( DOMException );
01097     SVGPoint getEndPositionOfChar ( in unsigned long charnum )
01098                     raises( DOMException );
01099     SVGRect  getExtentOfChar ( in unsigned long charnum )
01100                     raises( DOMException );
01101     float    getRotationOfChar ( in unsigned long charnum )
01102                     raises( DOMException );
01103     long     getCharNumAtPosition ( in SVGPoint point );
01104     void     selectSubString ( in unsigned long charnum, in unsigned long nchars )
01105                     raises( DOMException );
01106   };
01107 
01108   interface SVGTextPositioningElement : SVGTextContentElement { 
01109     readonly attribute SVGAnimatedLengthList x;
01110     readonly attribute SVGAnimatedLengthList y;
01111     readonly attribute SVGAnimatedLengthList dx;
01112     readonly attribute SVGAnimatedLengthList dy;
01113     readonly attribute SVGAnimatedNumberList rotate;
01114   };
01115 
01116   interface SVGTextElement : 
01117                 SVGTextPositioningElement,
01118                 SVGTransformable {};
01119 
01120   interface SVGTSpanElement : SVGTextPositioningElement {};
01121 
01122   interface SVGTRefElement : 
01123                 SVGTextPositioningElement,
01124                 SVGURIReference {};
01125 
01126   interface SVGTextPathElement : 
01127                 SVGTextContentElement,
01128                 SVGURIReference { 
01129 
01130     // textPath Method Types
01131     const unsigned short TEXTPATH_METHODTYPE_UNKNOWN   = 0;
01132     const unsigned short TEXTPATH_METHODTYPE_ALIGN     = 1;
01133     const unsigned short TEXTPATH_METHODTYPE_STRETCH     = 2;
01134     // textPath Spacing Types
01135     const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN   = 0;
01136     const unsigned short TEXTPATH_SPACINGTYPE_AUTO     = 1;
01137     const unsigned short TEXTPATH_SPACINGTYPE_EXACT     = 2;
01138 
01139     readonly attribute SVGAnimatedLength              startOffset;
01140     readonly attribute SVGAnimatedEnumeration method;
01141     readonly attribute SVGAnimatedEnumeration spacing;
01142   };
01143 
01144   interface SVGAltGlyphElement : 
01145                 SVGTextPositioningElement,
01146                 SVGURIReference { 
01147 
01148              attribute DOMString glyphRef;
01149                          // raises DOMException on setting
01150              attribute DOMString format;
01151                          // raises DOMException on setting
01152   };
01153 
01154   interface SVGAltGlyphDefElement : SVGElement {};
01155 
01156   interface SVGAltGlyphItemElement : SVGElement {};
01157 
01158   interface SVGGlyphRefElement : 
01159                 SVGElement,
01160                 SVGURIReference,
01161                 SVGStylable { 
01162 
01163              attribute DOMString glyphRef;
01164                          // raises DOMException on setting
01165              attribute DOMString format;
01166                          // raises DOMException on setting
01167              attribute float    x;
01168                          // raises DOMException on setting
01169              attribute float    y;
01170                          // raises DOMException on setting
01171              attribute float    dx;
01172                          // raises DOMException on setting
01173              attribute float    dy;
01174                          // raises DOMException on setting
01175   };
01176 
01177   interface SVGPaint : SVGColor { 
01178     // Paint Types
01179     const unsigned short SVG_PAINTTYPE_UNKNOWN               = 0;
01180     const unsigned short SVG_PAINTTYPE_RGBCOLOR              = 1;
01181     const unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR     = 2;
01182     const unsigned short SVG_PAINTTYPE_NONE                  = 101;
01183     const unsigned short SVG_PAINTTYPE_CURRENTCOLOR          = 102;
01184     const unsigned short SVG_PAINTTYPE_URI_NONE              = 103;
01185     const unsigned short SVG_PAINTTYPE_URI_CURRENTCOLOR      = 104;
01186     const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR          = 105;
01187     const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106;
01188     const unsigned short SVG_PAINTTYPE_URI                   = 107;
01189 
01190     readonly attribute unsigned short paintType;
01191     readonly attribute DOMString      uri;
01192 
01193     void setUri ( in DOMString uri );
01194     void setPaint ( in unsigned short paintType, in DOMString uri, in DOMString rgbColor, in DOMString iccColor )
01195                     raises( SVGException );
01196   };
01197 
01198   interface SVGMarkerElement : 
01199                 SVGElement,
01200                 SVGLangSpace,
01201                 SVGExternalResourcesRequired,
01202                 SVGStylable,
01203                 SVGFitToViewBox { 
01204 
01205     // Marker Unit Types
01206     const unsigned short SVG_MARKERUNITS_UNKNOWN        = 0;
01207     const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1;
01208     const unsigned short SVG_MARKERUNITS_STROKEWIDTH    = 2;
01209     // Marker Orientation Types
01210     const unsigned short SVG_MARKER_ORIENT_UNKNOWN      = 0;
01211     const unsigned short SVG_MARKER_ORIENT_AUTO         = 1;
01212     const unsigned short SVG_MARKER_ORIENT_ANGLE        = 2;
01213 
01214     readonly attribute SVGAnimatedLength      refX;
01215     readonly attribute SVGAnimatedLength      refY;
01216     readonly attribute SVGAnimatedEnumeration markerUnits;
01217     readonly attribute SVGAnimatedLength      markerWidth;
01218     readonly attribute SVGAnimatedLength      markerHeight;
01219     readonly attribute SVGAnimatedEnumeration orientType;
01220     readonly attribute SVGAnimatedAngle      orientAngle;
01221 
01222     void setOrientToAuto (  );
01223     void setOrientToAngle ( in SVGAngle angle );
01224   };
01225 
01226   interface SVGColorProfileElement : 
01227                 SVGElement,
01228                 SVGURIReference,
01229                 SVGRenderingIntent { 
01230 
01231              attribute DOMString      local;
01232                          // raises DOMException on setting
01233              attribute DOMString      name;
01234                          // raises DOMException on setting
01235              attribute unsigned short renderingIntent;
01236                          // raises DOMException on setting
01237   };
01238 
01239   interface SVGColorProfileRule : 
01240                 SVGCSSRule,
01241                 SVGRenderingIntent { 
01242 
01243              attribute DOMString      src;
01244                          // raises DOMException on setting
01245              attribute DOMString      name;
01246                          // raises DOMException on setting
01247              attribute unsigned short renderingIntent;
01248                          // raises DOMException on setting
01249   };
01250 
01251   interface SVGGradientElement : 
01252                 SVGElement,
01253                 SVGURIReference,
01254                 SVGExternalResourcesRequired,
01255                 SVGStylable,
01256                 SVGUnitTypes { 
01257 
01258     // Spread Method Types
01259     const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0;
01260     const unsigned short SVG_SPREADMETHOD_PAD     = 1;
01261     const unsigned short SVG_SPREADMETHOD_REFLECT = 2;
01262     const unsigned short SVG_SPREADMETHOD_REPEAT  = 3;
01263 
01264     readonly attribute SVGAnimatedEnumeration   gradientUnits;
01265     readonly attribute SVGAnimatedTransformList gradientTransform;
01266     readonly attribute SVGAnimatedEnumeration   spreadMethod;
01267   };
01268 
01269   interface SVGLinearGradientElement : SVGGradientElement { 
01270     readonly attribute SVGAnimatedLength x1;
01271     readonly attribute SVGAnimatedLength y1;
01272     readonly attribute SVGAnimatedLength x2;
01273     readonly attribute SVGAnimatedLength y2;
01274   };
01275 
01276   interface SVGRadialGradientElement : SVGGradientElement { 
01277     readonly attribute SVGAnimatedLength cx;
01278     readonly attribute SVGAnimatedLength cy;
01279     readonly attribute SVGAnimatedLength r;
01280     readonly attribute SVGAnimatedLength fx;
01281     readonly attribute SVGAnimatedLength fy;
01282   };
01283 
01284   interface SVGStopElement : 
01285                 SVGElement,
01286                 SVGStylable { 
01287 
01288     readonly attribute SVGAnimatedNumber offset;
01289   };
01290 
01291   interface SVGPatternElement : 
01292                 SVGElement,
01293                 SVGURIReference,
01294                 SVGTests,
01295                 SVGLangSpace,
01296                 SVGExternalResourcesRequired,
01297                 SVGStylable,
01298                 SVGFitToViewBox,
01299                 SVGUnitTypes { 
01300 
01301     readonly attribute SVGAnimatedEnumeration   patternUnits;
01302     readonly attribute SVGAnimatedEnumeration   patternContentUnits;
01303     readonly attribute SVGAnimatedTransformList patternTransform;
01304     readonly attribute SVGAnimatedLength        x;
01305     readonly attribute SVGAnimatedLength        y;
01306     readonly attribute SVGAnimatedLength        width;
01307     readonly attribute SVGAnimatedLength        height;
01308   };
01309 
01310   interface SVGClipPathElement : 
01311                 SVGElement,
01312                 SVGTests,
01313                 SVGLangSpace,
01314                 SVGExternalResourcesRequired,
01315                 SVGStylable,
01316                 SVGTransformable,
01317                 SVGUnitTypes { 
01318 
01319     readonly attribute SVGAnimatedEnumeration clipPathUnits;
01320   };
01321 
01322   interface SVGMaskElement : 
01323                 SVGElement,
01324                 SVGTests,
01325                 SVGLangSpace,
01326                 SVGExternalResourcesRequired,
01327                 SVGStylable,
01328                 SVGUnitTypes { 
01329 
01330     readonly attribute SVGAnimatedEnumeration maskUnits;
01331     readonly attribute SVGAnimatedEnumeration maskContentUnits;
01332     readonly attribute SVGAnimatedLength      x;
01333     readonly attribute SVGAnimatedLength      y;
01334     readonly attribute SVGAnimatedLength      width;
01335     readonly attribute SVGAnimatedLength      height;
01336   };
01337 
01338   interface SVGFilterElement : 
01339                 SVGElement,
01340                 SVGURIReference,
01341                 SVGLangSpace,
01342                 SVGExternalResourcesRequired,
01343                 SVGStylable,
01344                 SVGUnitTypes { 
01345 
01346     readonly attribute SVGAnimatedEnumeration filterUnits;
01347     readonly attribute SVGAnimatedEnumeration primitiveUnits;
01348     readonly attribute SVGAnimatedLength      x;
01349     readonly attribute SVGAnimatedLength      y;
01350     readonly attribute SVGAnimatedLength      width;
01351     readonly attribute SVGAnimatedLength      height;
01352     readonly attribute SVGAnimatedInteger    filterResX;
01353     readonly attribute SVGAnimatedInteger    filterResY;
01354 
01355     void setFilterRes ( in unsigned long filterResX, in unsigned long filterResY );
01356   };
01357 
01358   interface SVGFilterPrimitiveStandardAttributes : SVGStylable { 
01359     readonly attribute SVGAnimatedLength x;
01360     readonly attribute SVGAnimatedLength y;
01361     readonly attribute SVGAnimatedLength width;
01362     readonly attribute SVGAnimatedLength height;
01363     readonly attribute SVGAnimatedString result;
01364   };
01365 
01366   interface SVGFEBlendElement : 
01367                 SVGElement,
01368                 SVGFilterPrimitiveStandardAttributes { 
01369 
01370     // Blend Mode Types
01371     const unsigned short SVG_FEBLEND_MODE_UNKNOWN  = 0;
01372     const unsigned short SVG_FEBLEND_MODE_NORMAL   = 1;
01373     const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2;
01374     const unsigned short SVG_FEBLEND_MODE_SCREEN   = 3;
01375     const unsigned short SVG_FEBLEND_MODE_DARKEN   = 4;
01376     const unsigned short SVG_FEBLEND_MODE_LIGHTEN  = 5;
01377 
01378     readonly attribute SVGAnimatedString      in1;
01379     readonly attribute SVGAnimatedString      in2;
01380     readonly attribute SVGAnimatedEnumeration mode;
01381   };
01382 
01383   interface SVGFEColorMatrixElement : 
01384                 SVGElement,
01385                 SVGFilterPrimitiveStandardAttributes { 
01386 
01387     // Color Matrix Types
01388     const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN          = 0;
01389     const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX           = 1;
01390     const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE         = 2;
01391     const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE        = 3;
01392     const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4;
01393 
01394     readonly attribute SVGAnimatedString      in1;
01395     readonly attribute SVGAnimatedEnumeration type;
01396     readonly attribute SVGAnimatedNumberList  values;
01397   };
01398 
01399   interface SVGFEComponentTransferElement : 
01400                 SVGElement,
01401                 SVGFilterPrimitiveStandardAttributes { 
01402 
01403     readonly attribute SVGAnimatedString in1;
01404   };
01405 
01406   interface SVGComponentTransferFunctionElement : SVGElement { 
01407     // Component Transfer Types
01408     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN  = 0;
01409     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;
01410     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE    = 2;
01411     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE    = 3;
01412     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR   = 4;
01413     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA    = 5;
01414 
01415     readonly attribute SVGAnimatedEnumeration type;
01416     readonly attribute SVGAnimatedNumberList  tableValues;
01417     readonly attribute SVGAnimatedNumber      slope;
01418     readonly attribute SVGAnimatedNumber      intercept;
01419     readonly attribute SVGAnimatedNumber      amplitude;
01420     readonly attribute SVGAnimatedNumber      exponent;
01421     readonly attribute SVGAnimatedNumber      offset;
01422   };
01423 
01424   interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {};
01425 
01426   interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {};
01427 
01428   interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {};
01429 
01430   interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {};
01431 
01432   interface SVGFECompositeElement : 
01433                 SVGElement,
01434                 SVGFilterPrimitiveStandardAttributes { 
01435 
01436     // Composite Operators
01437     const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN    = 0;
01438     const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER       = 1;
01439     const unsigned short SVG_FECOMPOSITE_OPERATOR_IN         = 2;
01440     const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT        = 3;
01441     const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP       = 4;
01442     const unsigned short SVG_FECOMPOSITE_OPERATOR_XOR        = 5;
01443     const unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6;
01444 
01445     readonly attribute SVGAnimatedString      in1;
01446     readonly attribute SVGAnimatedString      in2;
01447     readonly attribute SVGAnimatedEnumeration operator;
01448     readonly attribute SVGAnimatedNumber      k1;
01449     readonly attribute SVGAnimatedNumber      k2;
01450     readonly attribute SVGAnimatedNumber      k3;
01451     readonly attribute SVGAnimatedNumber      k4;
01452   };
01453 
01454   interface SVGFEConvolveMatrixElement : 
01455                 SVGElement,
01456                 SVGFilterPrimitiveStandardAttributes { 
01457 
01458     // Edge Mode Values
01459     const unsigned short SVG_EDGEMODE_UNKNOWN   = 0;
01460     const unsigned short SVG_EDGEMODE_DUPLICATE = 1;
01461     const unsigned short SVG_EDGEMODE_WRAP      = 2;
01462     const unsigned short SVG_EDGEMODE_NONE      = 3;
01463 
01464     readonly attribute SVGAnimatedInteger     orderX;
01465     readonly attribute SVGAnimatedInteger     orderY;
01466     readonly attribute SVGAnimatedNumberList  kernelMatrix;
01467     readonly attribute SVGAnimatedNumber      divisor;
01468     readonly attribute SVGAnimatedNumber      bias;
01469     readonly attribute SVGAnimatedInteger     targetX;
01470     readonly attribute SVGAnimatedInteger     targetY;
01471     readonly attribute SVGAnimatedEnumeration edgeMode;
01472     readonly attribute SVGAnimatedLength      kernelUnitLengthX;
01473     readonly attribute SVGAnimatedLength      kernelUnitLengthY;
01474     readonly attribute SVGAnimatedBoolean     preserveAlpha;
01475   };
01476 
01477   interface SVGFEDiffuseLightingElement : 
01478                 SVGElement,
01479                 SVGFilterPrimitiveStandardAttributes { 
01480 
01481     readonly attribute SVGAnimatedString in1;
01482     readonly attribute SVGAnimatedNumber surfaceScale;
01483     readonly attribute SVGAnimatedNumber diffuseConstant;
01484   };
01485 
01486   interface SVGFEDistantLightElement : SVGElement { 
01487     readonly attribute SVGAnimatedNumber azimuth;
01488     readonly attribute SVGAnimatedNumber elevation;
01489   };
01490 
01491   interface SVGFEPointLightElement : SVGElement { 
01492     readonly attribute SVGAnimatedNumber x;
01493     readonly attribute SVGAnimatedNumber y;
01494     readonly attribute SVGAnimatedNumber z;
01495   };
01496 
01497   interface SVGFESpotLightElement : SVGElement { 
01498     readonly attribute SVGAnimatedNumber x;
01499     readonly attribute SVGAnimatedNumber y;
01500     readonly attribute SVGAnimatedNumber z;
01501     readonly attribute SVGAnimatedNumber pointsAtX;
01502     readonly attribute SVGAnimatedNumber pointsAtY;
01503     readonly attribute SVGAnimatedNumber pointsAtZ;
01504     readonly attribute SVGAnimatedNumber specularExponent;
01505     readonly attribute SVGAnimatedNumber limitingConeAngle;
01506   };
01507 
01508   interface SVGFEDisplacementMapElement : 
01509                 SVGElement,
01510                 SVGFilterPrimitiveStandardAttributes { 
01511 
01512     // Channel Selectors
01513     const unsigned short SVG_CHANNEL_UNKNOWN = 0;
01514     const unsigned short SVG_CHANNEL_R       = 1;
01515     const unsigned short SVG_CHANNEL_G       = 2;
01516     const unsigned short SVG_CHANNEL_B       = 3;
01517     const unsigned short SVG_CHANNEL_A       = 4;
01518 
01519     readonly attribute SVGAnimatedString      in1;
01520     readonly attribute SVGAnimatedString      in2;
01521     readonly attribute SVGAnimatedNumber      scale;
01522     readonly attribute SVGAnimatedEnumeration xChannelSelector;
01523     readonly attribute SVGAnimatedEnumeration yChannelSelector;
01524   };
01525 
01526   interface SVGFEFloodElement : 
01527                 SVGElement,
01528                 SVGFilterPrimitiveStandardAttributes { 
01529 
01530     readonly attribute SVGAnimatedString      in1;
01531   };
01532 
01533   interface SVGFEGaussianBlurElement : 
01534                 SVGElement,
01535                 SVGFilterPrimitiveStandardAttributes { 
01536 
01537     readonly attribute SVGAnimatedString in1;
01538     readonly attribute SVGAnimatedNumber stdDeviationX;
01539     readonly attribute SVGAnimatedNumber stdDeviationY;
01540 
01541     void setStdDeviation ( in float stdDeviationX, in float stdDeviationY );
01542   };
01543 
01544   interface SVGFEImageElement : 
01545                 SVGElement,
01546                 SVGURIReference,
01547                 SVGLangSpace,
01548                 SVGExternalResourcesRequired,
01549                 SVGFilterPrimitiveStandardAttributes {};
01550 
01551   interface SVGFEMergeElement : 
01552                 SVGElement,
01553                 SVGFilterPrimitiveStandardAttributes {};
01554 
01555   interface SVGFEMergeNodeElement : SVGElement { 
01556     readonly attribute SVGAnimatedString in1;
01557   };
01558 
01559   interface SVGFEMorphologyElement : 
01560                 SVGElement,
01561                 SVGFilterPrimitiveStandardAttributes { 
01562 
01563     // Morphology Operators
01564     const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0;
01565     const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE   = 1;
01566     const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE  = 2;
01567 
01568     readonly attribute SVGAnimatedString      in1;
01569     readonly attribute SVGAnimatedEnumeration operator;
01570     readonly attribute SVGAnimatedLength      radiusX;
01571     readonly attribute SVGAnimatedLength      radiusY;
01572   };
01573 
01574   interface SVGFEOffsetElement : 
01575                 SVGElement,
01576                 SVGFilterPrimitiveStandardAttributes { 
01577 
01578     readonly attribute SVGAnimatedString in1;
01579     readonly attribute SVGAnimatedNumber dx;
01580     readonly attribute SVGAnimatedNumber dy;
01581   };
01582 
01583   interface SVGFESpecularLightingElement : 
01584                 SVGElement,
01585                 SVGFilterPrimitiveStandardAttributes { 
01586 
01587     readonly attribute SVGAnimatedString in1;
01588     readonly attribute SVGAnimatedNumber surfaceScale;
01589     readonly attribute SVGAnimatedNumber specularConstant;
01590     readonly attribute SVGAnimatedNumber specularExponent;
01591   };
01592 
01593   interface SVGFETileElement : 
01594                 SVGElement,
01595                 SVGFilterPrimitiveStandardAttributes { 
01596 
01597     readonly attribute SVGAnimatedString in1;
01598   };
01599 
01600   interface SVGFETurbulenceElement : 
01601                 SVGElement,
01602                 SVGFilterPrimitiveStandardAttributes { 
01603 
01604     // Turbulence Types
01605     const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN      = 0;
01606     const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;
01607     const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE   = 2;
01608     // Stitch Options
01609     const unsigned short SVG_STITCHTYPE_UNKNOWN  = 0;
01610     const unsigned short SVG_STITCHTYPE_STITCH   = 1;
01611     const unsigned short SVG_STITCHTYPE_NOSTITCH = 2;
01612 
01613     readonly attribute SVGAnimatedNumber      baseFrequencyX;
01614     readonly attribute SVGAnimatedNumber      baseFrequencyY;
01615     readonly attribute SVGAnimatedInteger     numOctaves;
01616     readonly attribute SVGAnimatedNumber      seed;
01617     readonly attribute SVGAnimatedEnumeration stitchTiles;
01618     readonly attribute SVGAnimatedEnumeration type;
01619   };
01620 
01621   interface SVGCursorElement : 
01622                 SVGElement,
01623                 SVGURIReference,
01624                 SVGTests,
01625                 SVGExternalResourcesRequired { 
01626 
01627     readonly attribute SVGAnimatedLength x;
01628     readonly attribute SVGAnimatedLength y;
01629   };
01630 
01631   interface SVGAElement : 
01632                 SVGElement,
01633                 SVGURIReference,
01634                 SVGTests,
01635                 SVGLangSpace,
01636                 SVGExternalResourcesRequired,
01637                 SVGStylable,
01638                 SVGTransformable,
01639                 events::EventTarget { 
01640 
01641     readonly attribute SVGAnimatedString target;
01642   };
01643 
01644   interface SVGViewElement : 
01645                 SVGElement,
01646                 SVGExternalResourcesRequired,
01647                 SVGFitToViewBox,
01648                 SVGZoomAndPan { 
01649 
01650     readonly attribute SVGStringList viewTarget;
01651   };
01652 
01653   interface SVGScriptElement : 
01654                 SVGElement,
01655                 SVGURIReference,
01656                 SVGExternalResourcesRequired { 
01657 
01658              attribute DOMString type;
01659                          // raises DOMException on setting
01660   };
01661 
01662   interface SVGEvent : events::Event {};
01663 
01664   interface SVGZoomEvent : events::UIEvent { 
01665     readonly attribute SVGRect zoomRectScreen;
01666     readonly attribute float previousScale;
01667     readonly attribute SVGPoint previousTranslate;
01668     readonly attribute float newScale;
01669     readonly attribute SVGPoint newTranslate;
01670   };
01671 
01672   interface SVGAnimationElement : 
01673                 SVGElement,
01674                 SVGTests,
01675                 SVGExternalResourcesRequired,
01676                 smil::ElementTimeControl,
01677                 events::EventTarget { 
01678 
01679     readonly attribute SVGElement targetElement;
01680 
01681     float getStartTime (  );
01682     float getCurrentTime (  );
01683     float getSimpleDuration (  )
01684                     raises( DOMException );
01685   };
01686 
01687   interface SVGAnimateElement : SVGAnimationElement {};
01688 
01689   interface SVGSetElement : SVGAnimationElement {};
01690 
01691   interface SVGAnimateMotionElement : SVGAnimationElement {};
01692 
01693   interface SVGMPathElement : 
01694                 SVGElement,
01695                 SVGURIReference,
01696                 SVGExternalResourcesRequired {};
01697 
01698   interface SVGAnimateColorElement : SVGAnimationElement {};
01699 
01700   interface SVGAnimateTransformElement : SVGAnimationElement {};
01701 
01702   interface SVGFontElement : 
01703                 SVGElement,
01704                 SVGExternalResourcesRequired,
01705                 SVGStylable {};
01706 
01707   interface SVGGlyphElement : 
01708                 SVGElement,
01709                 SVGStylable {};
01710 
01711   interface SVGMissingGlyphElement : 
01712                 SVGElement,
01713                 SVGStylable {};
01714 
01715   interface SVGHKernElement : SVGElement {};
01716 
01717   interface SVGVKernElement : SVGElement {};
01718 
01719   interface SVGFontFaceElement : SVGElement {};
01720 
01721   interface SVGFontFaceSrcElement : SVGElement {};
01722 
01723   interface SVGFontFaceUriElement : SVGElement {};
01724 
01725   interface SVGFontFaceFormatElement : SVGElement {};
01726 
01727   interface SVGFontFaceNameElement : SVGElement {};
01728 
01729   interface SVGDefinitionSrcElement : SVGElement {};
01730 
01731   interface SVGMetadataElement : SVGElement {};
01732 
01733   interface SVGForeignObjectElement : 
01734                 SVGElement,
01735                 SVGTests,
01736                 SVGLangSpace,
01737                 SVGExternalResourcesRequired,
01738                 SVGStylable,
01739                 SVGTransformable,
01740                 events::EventTarget { 
01741 
01742     readonly attribute SVGAnimatedLength x;
01743     readonly attribute SVGAnimatedLength y;
01744     readonly attribute SVGAnimatedLength width;
01745     readonly attribute SVGAnimatedLength height;
01746   };
01747 
01748 
01749 };
01750 
01751 #endif // _SVG_IDL_