1// File: svg.idl 2#ifndef _SVG_IDL_ 3#define _SVG_IDL_ 4 5 6// For access to DOM2 core 7#include "dom.idl" 8 9// For access to DOM2 events 10#include "events.idl" 11 12// For access to those parts from DOM2 CSS OM used by SVG DOM. 13#include "css.idl" 14 15// For access to those parts from DOM2 Views OM used by SVG DOM. 16#include "views.idl" 17 18// For access to the SMIL OM used by SVG DOM. 19#include "smil.idl" 20 21#pragma prefix "dom.w3c.org" 22#pragma javaPackage "org.w3c.dom" 23module svg 24{ 25 typedef dom::DOMString DOMString; 26 typedef dom::DOMException DOMException; 27 typedef dom::Element Element; 28 typedef dom::Document Document; 29 typedef dom::NodeList NodeList; 30 31 // Predeclarations 32 interface SVGElement; 33 interface SVGLangSpace; 34 interface SVGExternalResourcesRequired; 35 interface SVGTests; 36 interface SVGFitToViewBox; 37 interface SVGZoomAndPan; 38 interface SVGViewSpec; 39 interface SVGURIReference; 40 interface SVGPoint; 41 interface SVGMatrix; 42 interface SVGPreserveAspectRatio; 43 interface SVGAnimatedPreserveAspectRatio; 44 interface SVGTransformList; 45 interface SVGAnimatedTransformList; 46 interface SVGTransform; 47 interface SVGICCColor; 48 interface SVGColor; 49 interface SVGPaint; 50 interface SVGTransformable; 51 interface SVGDocument; 52 interface SVGSVGElement; 53 interface SVGElementInstance; 54 interface SVGElementInstanceList; 55 56 57 exception SVGException { 58 unsigned short code; 59 }; 60 61 // SVGExceptionCode 62 const unsigned short SVG_WRONG_TYPE_ERR = 0; 63 const unsigned short SVG_INVALID_VALUE_ERR = 1; 64 const unsigned short SVG_MATRIX_NOT_INVERTABLE = 2; 65 66 interface SVGElement : Element { 67 attribute DOMString id; 68 // raises DOMException on setting 69 attribute DOMString xmlbase; 70 // raises DOMException on setting 71 readonly attribute SVGSVGElement ownerSVGElement; 72 readonly attribute SVGElement viewportElement; 73 }; 74 75 interface SVGAnimatedBoolean { 76 77 attribute boolean baseVal; 78 // raises DOMException on setting 79 readonly attribute boolean animVal; 80 }; 81 82 interface SVGAnimatedString { 83 84 attribute DOMString baseVal; 85 // raises DOMException on setting 86 readonly attribute DOMString animVal; 87 }; 88 89 interface SVGStringList { 90 91 readonly attribute unsigned long numberOfItems; 92 93 void clear ( ) 94 raises( DOMException ); 95 DOMString initialize ( in DOMString newItem ) 96 raises( DOMException, SVGException ); 97 DOMString getItem ( in unsigned long index ) 98 raises( DOMException ); 99 DOMString insertItemBefore ( in DOMString newItem, in unsigned long index ) 100 raises( DOMException, SVGException ); 101 DOMString replaceItem ( in DOMString newItem, in unsigned long index ) 102 raises( DOMException, SVGException ); 103 DOMString removeItem ( in unsigned long index ) 104 raises( DOMException ); 105 DOMString appendItem ( in DOMString newItem ) 106 raises( DOMException, SVGException ); 107 }; 108 109 interface SVGAnimatedEnumeration { 110 111 attribute unsigned short baseVal; 112 // raises DOMException on setting 113 readonly attribute unsigned short animVal; 114 }; 115 116 interface SVGAnimatedInteger { 117 118 attribute long baseVal; 119 // raises DOMException on setting 120 readonly attribute long animVal; 121 }; 122 123 interface SVGNumber { 124 125 attribute float value; 126 // raises DOMException on setting 127 }; 128 129 interface SVGAnimatedNumber { 130 131 attribute float baseVal; 132 // raises DOMException on setting 133 readonly attribute float animVal; 134 }; 135 136 interface SVGNumberList { 137 138 readonly attribute unsigned long numberOfItems; 139 140 void clear ( ) 141 raises( DOMException ); 142 SVGNumber initialize ( in SVGNumber newItem ) 143 raises( DOMException, SVGException ); 144 SVGNumber getItem ( in unsigned long index ) 145 raises( DOMException ); 146 SVGNumber insertItemBefore ( in SVGNumber newItem, in unsigned long index ) 147 raises( DOMException, SVGException ); 148 SVGNumber replaceItem ( in SVGNumber newItem, in unsigned long index ) 149 raises( DOMException, SVGException ); 150 SVGNumber removeItem ( in unsigned long index ) 151 raises( DOMException ); 152 SVGNumber appendItem ( in SVGNumber newItem ) 153 raises( DOMException, SVGException ); 154 }; 155 156 interface SVGAnimatedNumberList { 157 158 readonly attribute SVGNumberList baseVal; 159 readonly attribute SVGNumberList animVal; 160 }; 161 162 interface SVGLength { 163 164 // Length Unit Types 165 const unsigned short SVG_LENGTHTYPE_UNKNOWN = 0; 166 const unsigned short SVG_LENGTHTYPE_NUMBER = 1; 167 const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2; 168 const unsigned short SVG_LENGTHTYPE_EMS = 3; 169 const unsigned short SVG_LENGTHTYPE_EXS = 4; 170 const unsigned short SVG_LENGTHTYPE_PX = 5; 171 const unsigned short SVG_LENGTHTYPE_CM = 6; 172 const unsigned short SVG_LENGTHTYPE_MM = 7; 173 const unsigned short SVG_LENGTHTYPE_IN = 8; 174 const unsigned short SVG_LENGTHTYPE_PT = 9; 175 const unsigned short SVG_LENGTHTYPE_PC = 10; 176 177 readonly attribute unsigned short unitType; 178 attribute float value; 179 // raises DOMException on setting 180 attribute float valueInSpecifiedUnits; 181 // raises DOMException on setting 182 attribute DOMString valueAsString; 183 // raises DOMException on setting 184 185 void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits ); 186 void convertToSpecifiedUnits ( in unsigned short unitType ); 187 }; 188 189 interface SVGAnimatedLength { 190 191 readonly attribute SVGLength baseVal; 192 readonly attribute SVGLength animVal; 193 }; 194 195 interface SVGLengthList { 196 197 readonly attribute unsigned long numberOfItems; 198 199 void clear ( ) 200 raises( DOMException ); 201 SVGLength initialize ( in SVGLength newItem ) 202 raises( DOMException, SVGException ); 203 SVGLength getItem ( in unsigned long index ) 204 raises( DOMException ); 205 SVGLength insertItemBefore ( in SVGLength newItem, in unsigned long index ) 206 raises( DOMException, SVGException ); 207 SVGLength replaceItem ( in SVGLength newItem, in unsigned long index ) 208 raises( DOMException, SVGException ); 209 SVGLength removeItem ( in unsigned long index ) 210 raises( DOMException ); 211 SVGLength appendItem ( in SVGLength newItem ) 212 raises( DOMException, SVGException ); 213 }; 214 215 interface SVGAnimatedLengthList { 216 217 readonly attribute SVGLengthList baseVal; 218 readonly attribute SVGLengthList animVal; 219 }; 220 221 interface SVGAngle { 222 223 // Angle Unit Types 224 const unsigned short SVG_ANGLETYPE_UNKNOWN = 0; 225 const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1; 226 const unsigned short SVG_ANGLETYPE_DEG = 2; 227 const unsigned short SVG_ANGLETYPE_RAD = 3; 228 const unsigned short SVG_ANGLETYPE_GRAD = 4; 229 230 readonly attribute unsigned short unitType; 231 attribute float value; 232 // raises DOMException on setting 233 attribute float valueInSpecifiedUnits; 234 // raises DOMException on setting 235 attribute DOMString valueAsString; 236 // raises DOMException on setting 237 238 void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits ); 239 void convertToSpecifiedUnits ( in unsigned short unitType ); 240 }; 241 242 interface SVGAnimatedAngle { 243 244 readonly attribute SVGAngle baseVal; 245 readonly attribute SVGAngle animVal; 246 }; 247 248 interface SVGColor : css::CSSValue { 249 // Color Types 250 const unsigned short SVG_COLORTYPE_UNKNOWN = 0; 251 const unsigned short SVG_COLORTYPE_RGBCOLOR = 1; 252 const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2; 253 const unsigned short SVG_COLORTYPE_CURRENTCOLOR = 3; 254 255 readonly attribute unsigned short colorType; 256 readonly attribute css::RGBColor rgbColor; 257 readonly attribute SVGICCColor iccColor; 258 259 void setRGBColor ( in DOMString rgbColor ) 260 raises( SVGException ); 261 void setRGBColorICCColor ( in DOMString rgbColor, in DOMString iccColor ) 262 raises( SVGException ); 263 void setColor ( in unsigned short colorType, in DOMString rgbColor, in DOMString iccColor ) 264 raises( SVGException ); 265 }; 266 267 interface SVGICCColor { 268 269 attribute DOMString colorProfile; 270 // raises DOMException on setting 271 readonly attribute SVGNumberList colors; 272 }; 273 274 interface SVGRect { 275 276 attribute float x; 277 // raises DOMException on setting 278 attribute float y; 279 // raises DOMException on setting 280 attribute float width; 281 // raises DOMException on setting 282 attribute float height; 283 // raises DOMException on setting 284 }; 285 286 interface SVGAnimatedRect { 287 288 readonly attribute SVGRect baseVal; 289 readonly attribute SVGRect animVal; 290 }; 291 292 interface SVGUnitTypes { 293 294 // Unit Types 295 const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0; 296 const unsigned short SVG_UNIT_TYPE_USERSPACEONUSE = 1; 297 const unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2; 298 }; 299 300 interface SVGStylable { 301 302 readonly attribute SVGAnimatedString className; 303 readonly attribute css::CSSStyleDeclaration style; 304 305 css::CSSValue getPresentationAttribute ( in DOMString name ); 306 }; 307 308 interface SVGLocatable { 309 310 readonly attribute SVGElement nearestViewportElement; 311 readonly attribute SVGElement farthestViewportElement; 312 313 SVGRect getBBox ( ); 314 SVGMatrix getCTM ( ); 315 SVGMatrix getScreenCTM ( ); 316 SVGMatrix getTransformToElement ( in SVGElement element ) 317 raises( SVGException ); 318 }; 319 320 interface SVGTransformable : SVGLocatable { 321 readonly attribute SVGAnimatedTransformList transform; 322 }; 323 324 interface SVGTests { 325 326 readonly attribute SVGStringList requiredFeatures; 327 readonly attribute SVGStringList requiredExtensions; 328 readonly attribute SVGStringList systemLanguage; 329 330 boolean hasExtension ( in DOMString extension ); 331 }; 332 333 interface SVGLangSpace { 334 335 attribute DOMString xmllang; 336 // raises DOMException on setting 337 attribute DOMString xmlspace; 338 // raises DOMException on setting 339 }; 340 341 interface SVGExternalResourcesRequired { 342 343 readonly attribute SVGAnimatedBoolean externalResourcesRequired; 344 }; 345 346 interface SVGFitToViewBox { 347 348 readonly attribute SVGAnimatedRect viewBox; 349 readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; 350 }; 351 352 interface SVGZoomAndPan { 353 354 // Zoom and Pan Types 355 const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0; 356 const unsigned short SVG_ZOOMANDPAN_DISABLE = 1; 357 const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2; 358 359 attribute unsigned short zoomAndPan; 360 // raises DOMException on setting 361 }; 362 363 interface SVGViewSpec : 364 SVGZoomAndPan, 365 SVGFitToViewBox { 366 367 readonly attribute SVGTransformList transform; 368 readonly attribute SVGElement viewTarget; 369 readonly attribute DOMString viewBoxString; 370 readonly attribute DOMString preserveAspectRatioString; 371 readonly attribute DOMString transformString; 372 readonly attribute DOMString viewTargetString; 373 }; 374 375 interface SVGURIReference { 376 377 readonly attribute SVGAnimatedString href; 378 }; 379 380 interface SVGCSSRule : css::CSSRule { 381 // Additional CSS RuleType to support ICC color specifications 382 const unsigned short COLOR_PROFILE_RULE = 7; 383 }; 384 385 interface SVGRenderingIntent { 386 387 // Rendering Intent Types 388 const unsigned short RENDERING_INTENT_UNKNOWN = 0; 389 const unsigned short RENDERING_INTENT_AUTO = 1; 390 const unsigned short RENDERING_INTENT_PERCEPTUAL = 2; 391 const unsigned short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3; 392 const unsigned short RENDERING_INTENT_SATURATION = 4; 393 const unsigned short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5; 394 }; 395 396 interface SVGDocument : 397 Document, 398 events::DocumentEvent { 399 400 readonly attribute DOMString title; 401 readonly attribute DOMString referrer; 402 readonly attribute DOMString domain; 403 readonly attribute DOMString URL; 404 readonly attribute DOMString path; 405 readonly attribute SVGSVGElement rootElement; 406 }; 407 408 interface SVGSVGElement : 409 SVGElement, 410 SVGTests, 411 SVGLangSpace, 412 SVGExternalResourcesRequired, 413 SVGStylable, 414 SVGLocatable, 415 SVGFitToViewBox, 416 SVGZoomAndPan, 417 events::EventTarget, 418 events::DocumentEvent, 419 css::ViewCSS, 420 css::DocumentCSS { 421 422 readonly attribute SVGAnimatedLength x; 423 readonly attribute SVGAnimatedLength y; 424 readonly attribute SVGAnimatedLength width; 425 readonly attribute SVGAnimatedLength height; 426 attribute DOMString contentScriptType; 427 // raises DOMException on setting 428 attribute DOMString contentStyleType; 429 // raises DOMException on setting 430 readonly attribute SVGRect viewport; 431 readonly attribute float pixelUnitToMillimeterX; 432 readonly attribute float pixelUnitToMillimeterY; 433 readonly attribute float screenPixelToMillimeterX; 434 readonly attribute float screenPixelToMillimeterY; 435 attribute boolean useCurrentView; 436 // raises DOMException on setting 437 readonly attribute SVGViewSpec currentView; 438 attribute float currentScale; 439 // raises DOMException on setting 440 readonly attribute SVGPoint currentTranslate; 441 442 unsigned long suspendRedraw ( in unsigned long max_wait_milliseconds ); 443 void unsuspendRedraw ( in unsigned long suspend_handle_id ) 444 raises( DOMException ); 445 void unsuspendRedrawAll ( ); 446 void forceRedraw ( ); 447 void pauseAnimations ( ); 448 void unpauseAnimations ( ); 449 boolean animationsPaused ( ); 450 float getCurrentTime ( ); 451 void setCurrentTime ( in float seconds ); 452 NodeList getIntersectionList ( in SVGRect rect, in SVGElement referenceElement ); 453 NodeList getEnclosureList ( in SVGRect rect, in SVGElement referenceElement ); 454 boolean checkIntersection ( in SVGElement element, in SVGRect rect ); 455 boolean checkEnclosure ( in SVGElement element, in SVGRect rect ); 456 void deselectAll ( ); 457 SVGNumber createSVGNumber ( ); 458 SVGLength createSVGLength ( ); 459 SVGAngle createSVGAngle ( ); 460 SVGPoint createSVGPoint ( ); 461 SVGMatrix createSVGMatrix ( ); 462 SVGRect createSVGRect ( ); 463 SVGTransform createSVGTransform ( ); 464 SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix ); 465 Element getElementById ( in DOMString elementId ); 466 }; 467 468 interface SVGGElement : 469 SVGElement, 470 SVGTests, 471 SVGLangSpace, 472 SVGExternalResourcesRequired, 473 SVGStylable, 474 SVGTransformable, 475 events::EventTarget {}; 476 477 interface SVGDefsElement : 478 SVGElement, 479 SVGTests, 480 SVGLangSpace, 481 SVGExternalResourcesRequired, 482 SVGStylable, 483 SVGTransformable, 484 events::EventTarget {}; 485 486 interface SVGDescElement : 487 SVGElement, 488 SVGLangSpace, 489 SVGStylable {}; 490 491 interface SVGTitleElement : 492 SVGElement, 493 SVGLangSpace, 494 SVGStylable {}; 495 496 interface SVGSymbolElement : 497 SVGElement, 498 SVGLangSpace, 499 SVGExternalResourcesRequired, 500 SVGStylable, 501 SVGFitToViewBox, 502 events::EventTarget {}; 503 504 interface SVGUseElement : 505 SVGElement, 506 SVGURIReference, 507 SVGTests, 508 SVGLangSpace, 509 SVGExternalResourcesRequired, 510 SVGStylable, 511 SVGTransformable, 512 events::EventTarget { 513 514 readonly attribute SVGAnimatedLength x; 515 readonly attribute SVGAnimatedLength y; 516 readonly attribute SVGAnimatedLength width; 517 readonly attribute SVGAnimatedLength height; 518 readonly attribute SVGElementInstance instanceRoot; 519 readonly attribute SVGElementInstance animatedInstanceRoot; 520 }; 521 522 interface SVGElementInstance : events::EventTarget { 523 readonly attribute SVGElement correspondingElement; 524 readonly attribute SVGUseElement correspondingUseElement; 525 readonly attribute SVGElementInstance parentNode; 526 readonly attribute SVGElementInstanceList childNodes; 527 readonly attribute SVGElementInstance firstChild; 528 readonly attribute SVGElementInstance lastChild; 529 readonly attribute SVGElementInstance previousSibling; 530 readonly attribute SVGElementInstance nextSibling; 531 }; 532 533 interface SVGElementInstanceList { 534 535 readonly attribute unsigned long length; 536 537 SVGElementInstance item ( in unsigned long index ); 538 }; 539 540 interface SVGImageElement : 541 SVGElement, 542 SVGURIReference, 543 SVGTests, 544 SVGLangSpace, 545 SVGExternalResourcesRequired, 546 SVGStylable, 547 SVGTransformable, 548 events::EventTarget { 549 550 readonly attribute SVGAnimatedLength x; 551 readonly attribute SVGAnimatedLength y; 552 readonly attribute SVGAnimatedLength width; 553 readonly attribute SVGAnimatedLength height; 554 readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; 555 }; 556 557 interface SVGSwitchElement : 558 SVGElement, 559 SVGTests, 560 SVGLangSpace, 561 SVGExternalResourcesRequired, 562 SVGStylable, 563 SVGTransformable, 564 events::EventTarget {}; 565 566 interface GetSVGDocument { 567 568 SVGDocument getSVGDocument ( ) 569 raises( DOMException ); 570 }; 571 572 interface SVGStyleElement : SVGElement { 573 attribute DOMString xmlspace; 574 // raises DOMException on setting 575 attribute DOMString type; 576 // raises DOMException on setting 577 attribute DOMString media; 578 // raises DOMException on setting 579 attribute DOMString title; 580 // raises DOMException on setting 581 }; 582 583 interface SVGPoint { 584 585 attribute float x; 586 // raises DOMException on setting 587 attribute float y; 588 // raises DOMException on setting 589 590 SVGPoint matrixTransform ( in SVGMatrix matrix ); 591 }; 592 593 interface SVGPointList { 594 595 readonly attribute unsigned long numberOfItems; 596 597 void clear ( ) 598 raises( DOMException ); 599 SVGPoint initialize ( in SVGPoint newItem ) 600 raises( DOMException, SVGException ); 601 SVGPoint getItem ( in unsigned long index ) 602 raises( DOMException ); 603 SVGPoint insertItemBefore ( in SVGPoint newItem, in unsigned long index ) 604 raises( DOMException, SVGException ); 605 SVGPoint replaceItem ( in SVGPoint newItem, in unsigned long index ) 606 raises( DOMException, SVGException ); 607 SVGPoint removeItem ( in unsigned long index ) 608 raises( DOMException ); 609 SVGPoint appendItem ( in SVGPoint newItem ) 610 raises( DOMException, SVGException ); 611 }; 612 613 interface SVGMatrix { 614 615 attribute float a; 616 // raises DOMException on setting 617 attribute float b; 618 // raises DOMException on setting 619 attribute float c; 620 // raises DOMException on setting 621 attribute float d; 622 // raises DOMException on setting 623 attribute float e; 624 // raises DOMException on setting 625 attribute float f; 626 // raises DOMException on setting 627 628 SVGMatrix multiply ( in SVGMatrix secondMatrix ); 629 SVGMatrix inverse ( ) 630 raises( SVGException ); 631 SVGMatrix translate ( in float x, in float y ); 632 SVGMatrix scale ( in float scaleFactor ); 633 SVGMatrix scaleNonUniform ( in float scaleFactorX, in float scaleFactorY ); 634 SVGMatrix rotate ( in float angle ); 635 SVGMatrix rotateFromVector ( in float x, in float y ) 636 raises( SVGException ); 637 SVGMatrix flipX ( ); 638 SVGMatrix flipY ( ); 639 SVGMatrix skewX ( in float angle ); 640 SVGMatrix skewY ( in float angle ); 641 }; 642 643 interface SVGTransform { 644 645 // Transform Types 646 const unsigned short SVG_TRANSFORM_UNKNOWN = 0; 647 const unsigned short SVG_TRANSFORM_MATRIX = 1; 648 const unsigned short SVG_TRANSFORM_TRANSLATE = 2; 649 const unsigned short SVG_TRANSFORM_SCALE = 3; 650 const unsigned short SVG_TRANSFORM_ROTATE = 4; 651 const unsigned short SVG_TRANSFORM_SKEWX = 5; 652 const unsigned short SVG_TRANSFORM_SKEWY = 6; 653 654 readonly attribute unsigned short type; 655 readonly attribute SVGMatrix matrix; 656 readonly attribute float angle; 657 658 void setMatrix ( in SVGMatrix matrix ); 659 void setTranslate ( in float tx, in float ty ); 660 void setScale ( in float sx, in float sy ); 661 void setRotate ( in float angle, in float cx, in float cy ); 662 void setSkewX ( in float angle ); 663 void setSkewY ( in float angle ); 664 }; 665 666 interface SVGTransformList { 667 668 readonly attribute unsigned long numberOfItems; 669 670 void clear ( ) 671 raises( DOMException ); 672 SVGTransform initialize ( in SVGTransform newItem ) 673 raises( DOMException, SVGException ); 674 SVGTransform getItem ( in unsigned long index ) 675 raises( DOMException ); 676 SVGTransform insertItemBefore ( in SVGTransform newItem, in unsigned long index ) 677 raises( DOMException, SVGException ); 678 SVGTransform replaceItem ( in SVGTransform newItem, in unsigned long index ) 679 raises( DOMException, SVGException ); 680 SVGTransform removeItem ( in unsigned long index ) 681 raises( DOMException ); 682 SVGTransform appendItem ( in SVGTransform newItem ) 683 raises( DOMException, SVGException ); 684 SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix ); 685 SVGTransform consolidate ( ); 686 }; 687 688 interface SVGAnimatedTransformList { 689 690 readonly attribute SVGTransformList baseVal; 691 readonly attribute SVGTransformList animVal; 692 }; 693 694 interface SVGPreserveAspectRatio { 695 696 // Alignment Types 697 const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0; 698 const unsigned short SVG_PRESERVEASPECTRATIO_NONE = 1; 699 const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2; 700 const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3; 701 const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4; 702 const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5; 703 const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6; 704 const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7; 705 const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8; 706 const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9; 707 const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10; 708 // Meet-or-slice Types 709 const unsigned short SVG_MEETORSLICE_UNKNOWN = 0; 710 const unsigned short SVG_MEETORSLICE_MEET = 1; 711 const unsigned short SVG_MEETORSLICE_SLICE = 2; 712 713 attribute unsigned short align; 714 // raises DOMException on setting 715 attribute unsigned short meetOrSlice; 716 // raises DOMException on setting 717 }; 718 719 interface SVGAnimatedPreserveAspectRatio { 720 721 readonly attribute SVGPreserveAspectRatio baseVal; 722 readonly attribute SVGPreserveAspectRatio animVal; 723 }; 724 725 interface SVGPathSeg { 726 727 // Path Segment Types 728 const unsigned short PATHSEG_UNKNOWN = 0; 729 const unsigned short PATHSEG_CLOSEPATH = 1; 730 const unsigned short PATHSEG_MOVETO_ABS = 2; 731 const unsigned short PATHSEG_MOVETO_REL = 3; 732 const unsigned short PATHSEG_LINETO_ABS = 4; 733 const unsigned short PATHSEG_LINETO_REL = 5; 734 const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6; 735 const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7; 736 const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8; 737 const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9; 738 const unsigned short PATHSEG_ARC_ABS = 10; 739 const unsigned short PATHSEG_ARC_REL = 11; 740 const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12; 741 const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13; 742 const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14; 743 const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15; 744 const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16; 745 const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17; 746 const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18; 747 const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; 748 749 readonly attribute unsigned short pathSegType; 750 readonly attribute DOMString pathSegTypeAsLetter; 751 }; 752 753 interface SVGPathSegClosePath : SVGPathSeg {}; 754 755 interface SVGPathSegMovetoAbs : SVGPathSeg { 756 attribute float x; 757 // raises DOMException on setting 758 attribute float y; 759 // raises DOMException on setting 760 }; 761 762 interface SVGPathSegMovetoRel : SVGPathSeg { 763 attribute float x; 764 // raises DOMException on setting 765 attribute float y; 766 // raises DOMException on setting 767 }; 768 769 interface SVGPathSegLinetoAbs : SVGPathSeg { 770 attribute float x; 771 // raises DOMException on setting 772 attribute float y; 773 // raises DOMException on setting 774 }; 775 776 interface SVGPathSegLinetoRel : SVGPathSeg { 777 attribute float x; 778 // raises DOMException on setting 779 attribute float y; 780 // raises DOMException on setting 781 }; 782 783 interface SVGPathSegCurvetoCubicAbs : SVGPathSeg { 784 attribute float x; 785 // raises DOMException on setting 786 attribute float y; 787 // raises DOMException on setting 788 attribute float x1; 789 // raises DOMException on setting 790 attribute float y1; 791 // raises DOMException on setting 792 attribute float x2; 793 // raises DOMException on setting 794 attribute float y2; 795 // raises DOMException on setting 796 }; 797 798 interface SVGPathSegCurvetoCubicRel : SVGPathSeg { 799 attribute float x; 800 // raises DOMException on setting 801 attribute float y; 802 // raises DOMException on setting 803 attribute float x1; 804 // raises DOMException on setting 805 attribute float y1; 806 // raises DOMException on setting 807 attribute float x2; 808 // raises DOMException on setting 809 attribute float y2; 810 // raises DOMException on setting 811 }; 812 813 interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg { 814 attribute float x; 815 // raises DOMException on setting 816 attribute float y; 817 // raises DOMException on setting 818 attribute float x1; 819 // raises DOMException on setting 820 attribute float y1; 821 // raises DOMException on setting 822 }; 823 824 interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg { 825 attribute float x; 826 // raises DOMException on setting 827 attribute float y; 828 // raises DOMException on setting 829 attribute float x1; 830 // raises DOMException on setting 831 attribute float y1; 832 // raises DOMException on setting 833 }; 834 835 interface SVGPathSegArcAbs : SVGPathSeg { 836 attribute float x; 837 // raises DOMException on setting 838 attribute float y; 839 // raises DOMException on setting 840 attribute float r1; 841 // raises DOMException on setting 842 attribute float r2; 843 // raises DOMException on setting 844 attribute float angle; 845 // raises DOMException on setting 846 attribute boolean largeArcFlag; 847 // raises DOMException on setting 848 attribute boolean sweepFlag; 849 // raises DOMException on setting 850 }; 851 852 interface SVGPathSegArcRel : SVGPathSeg { 853 attribute float x; 854 // raises DOMException on setting 855 attribute float y; 856 // raises DOMException on setting 857 attribute float r1; 858 // raises DOMException on setting 859 attribute float r2; 860 // raises DOMException on setting 861 attribute float angle; 862 // raises DOMException on setting 863 attribute boolean largeArcFlag; 864 // raises DOMException on setting 865 attribute boolean sweepFlag; 866 // raises DOMException on setting 867 }; 868 869 interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg { 870 attribute float x; 871 // raises DOMException on setting 872 }; 873 874 interface SVGPathSegLinetoHorizontalRel : SVGPathSeg { 875 attribute float x; 876 // raises DOMException on setting 877 }; 878 879 interface SVGPathSegLinetoVerticalAbs : SVGPathSeg { 880 attribute float y; 881 // raises DOMException on setting 882 }; 883 884 interface SVGPathSegLinetoVerticalRel : SVGPathSeg { 885 attribute float y; 886 // raises DOMException on setting 887 }; 888 889 interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg { 890 attribute float x; 891 // raises DOMException on setting 892 attribute float y; 893 // raises DOMException on setting 894 attribute float x2; 895 // raises DOMException on setting 896 attribute float y2; 897 // raises DOMException on setting 898 }; 899 900 interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg { 901 attribute float x; 902 // raises DOMException on setting 903 attribute float y; 904 // raises DOMException on setting 905 attribute float x2; 906 // raises DOMException on setting 907 attribute float y2; 908 // raises DOMException on setting 909 }; 910 911 interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg { 912 attribute float x; 913 // raises DOMException on setting 914 attribute float y; 915 // raises DOMException on setting 916 }; 917 918 interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg { 919 attribute float x; 920 // raises DOMException on setting 921 attribute float y; 922 // raises DOMException on setting 923 }; 924 925 interface SVGPathSegList { 926 927 readonly attribute unsigned long numberOfItems; 928 929 void clear ( ) 930 raises( DOMException ); 931 SVGPathSeg initialize ( in SVGPathSeg newItem ) 932 raises( DOMException, SVGException ); 933 SVGPathSeg getItem ( in unsigned long index ) 934 raises( DOMException ); 935 SVGPathSeg insertItemBefore ( in SVGPathSeg newItem, in unsigned long index ) 936 raises( DOMException, SVGException ); 937 SVGPathSeg replaceItem ( in SVGPathSeg newItem, in unsigned long index ) 938 raises( DOMException, SVGException ); 939 SVGPathSeg removeItem ( in unsigned long index ) 940 raises( DOMException ); 941 SVGPathSeg appendItem ( in SVGPathSeg newItem ) 942 raises( DOMException, SVGException ); 943 }; 944 945 interface SVGAnimatedPathData { 946 947 readonly attribute SVGPathSegList pathSegList; 948 readonly attribute SVGPathSegList normalizedPathSegList; 949 readonly attribute SVGPathSegList animatedPathSegList; 950 readonly attribute SVGPathSegList animatedNormalizedPathSegList; 951 }; 952 953 interface SVGPathElement : 954 SVGElement, 955 SVGTests, 956 SVGLangSpace, 957 SVGExternalResourcesRequired, 958 SVGStylable, 959 SVGTransformable, 960 events::EventTarget, 961 SVGAnimatedPathData { 962 963 readonly attribute SVGAnimatedNumber pathLength; 964 965 float getTotalLength ( ); 966 SVGPoint getPointAtLength ( in float distance ); 967 unsigned long getPathSegAtLength ( in float distance ); 968 SVGPathSegClosePath createSVGPathSegClosePath ( ); 969 SVGPathSegMovetoAbs createSVGPathSegMovetoAbs ( in float x, in float y ); 970 SVGPathSegMovetoRel createSVGPathSegMovetoRel ( in float x, in float y ); 971 SVGPathSegLinetoAbs createSVGPathSegLinetoAbs ( in float x, in float y ); 972 SVGPathSegLinetoRel createSVGPathSegLinetoRel ( in float x, in float y ); 973 SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 ); 974 SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 ); 975 SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs ( in float x, in float y, in float x1, in float y1 ); 976 SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel ( in float x, in float y, in float x1, in float y1 ); 977 SVGPathSegArcAbs createSVGPathSegArcAbs ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag ); 978 SVGPathSegArcRel createSVGPathSegArcRel ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag ); 979 SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs ( in float x ); 980 SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel ( in float x ); 981 SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs ( in float y ); 982 SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel ( in float y ); 983 SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs ( in float x, in float y, in float x2, in float y2 ); 984 SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel ( in float x, in float y, in float x2, in float y2 ); 985 SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs ( in float x, in float y ); 986 SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel ( in float x, in float y ); 987 }; 988 989 interface SVGRectElement : 990 SVGElement, 991 SVGTests, 992 SVGLangSpace, 993 SVGExternalResourcesRequired, 994 SVGStylable, 995 SVGTransformable, 996 events::EventTarget { 997 998 readonly attribute SVGAnimatedLength x; 999 readonly attribute SVGAnimatedLength y; 1000 readonly attribute SVGAnimatedLength width; 1001 readonly attribute SVGAnimatedLength height; 1002 readonly attribute SVGAnimatedLength rx; 1003 readonly attribute SVGAnimatedLength ry; 1004 }; 1005 1006 interface SVGCircleElement : 1007 SVGElement, 1008 SVGTests, 1009 SVGLangSpace, 1010 SVGExternalResourcesRequired, 1011 SVGStylable, 1012 SVGTransformable, 1013 events::EventTarget { 1014 1015 readonly attribute SVGAnimatedLength cx; 1016 readonly attribute SVGAnimatedLength cy; 1017 readonly attribute SVGAnimatedLength r; 1018 }; 1019 1020 interface SVGEllipseElement : 1021 SVGElement, 1022 SVGTests, 1023 SVGLangSpace, 1024 SVGExternalResourcesRequired, 1025 SVGStylable, 1026 SVGTransformable, 1027 events::EventTarget { 1028 1029 readonly attribute SVGAnimatedLength cx; 1030 readonly attribute SVGAnimatedLength cy; 1031 readonly attribute SVGAnimatedLength rx; 1032 readonly attribute SVGAnimatedLength ry; 1033 }; 1034 1035 interface SVGLineElement : 1036 SVGElement, 1037 SVGTests, 1038 SVGLangSpace, 1039 SVGExternalResourcesRequired, 1040 SVGStylable, 1041 SVGTransformable, 1042 events::EventTarget { 1043 1044 readonly attribute SVGAnimatedLength x1; 1045 readonly attribute SVGAnimatedLength y1; 1046 readonly attribute SVGAnimatedLength x2; 1047 readonly attribute SVGAnimatedLength y2; 1048 }; 1049 1050 interface SVGAnimatedPoints { 1051 1052 readonly attribute SVGPointList points; 1053 readonly attribute SVGPointList animatedPoints; 1054 }; 1055 1056 interface SVGPolylineElement : 1057 SVGElement, 1058 SVGTests, 1059 SVGLangSpace, 1060 SVGExternalResourcesRequired, 1061 SVGStylable, 1062 SVGTransformable, 1063 events::EventTarget, 1064 SVGAnimatedPoints {}; 1065 1066 interface SVGPolygonElement : 1067 SVGElement, 1068 SVGTests, 1069 SVGLangSpace, 1070 SVGExternalResourcesRequired, 1071 SVGStylable, 1072 SVGTransformable, 1073 events::EventTarget, 1074 SVGAnimatedPoints {}; 1075 1076 interface SVGTextContentElement : 1077 SVGElement, 1078 SVGTests, 1079 SVGLangSpace, 1080 SVGExternalResourcesRequired, 1081 SVGStylable, 1082 events::EventTarget { 1083 1084 // lengthAdjust Types 1085 const unsigned short LENGTHADJUST_UNKNOWN = 0; 1086 const unsigned short LENGTHADJUST_SPACING = 1; 1087 const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2; 1088 1089 readonly attribute SVGAnimatedLength textLength; 1090 readonly attribute SVGAnimatedEnumeration lengthAdjust; 1091 1092 long getNumberOfChars ( ); 1093 float getComputedTextLength ( ); 1094 float getSubStringLength ( in unsigned long charnum, in unsigned long nchars ) 1095 raises( DOMException ); 1096 SVGPoint getStartPositionOfChar ( in unsigned long charnum ) 1097 raises( DOMException ); 1098 SVGPoint getEndPositionOfChar ( in unsigned long charnum ) 1099 raises( DOMException ); 1100 SVGRect getExtentOfChar ( in unsigned long charnum ) 1101 raises( DOMException ); 1102 float getRotationOfChar ( in unsigned long charnum ) 1103 raises( DOMException ); 1104 long getCharNumAtPosition ( in SVGPoint point ); 1105 void selectSubString ( in unsigned long charnum, in unsigned long nchars ) 1106 raises( DOMException ); 1107 }; 1108 1109 interface SVGTextPositioningElement : SVGTextContentElement { 1110 readonly attribute SVGAnimatedLengthList x; 1111 readonly attribute SVGAnimatedLengthList y; 1112 readonly attribute SVGAnimatedLengthList dx; 1113 readonly attribute SVGAnimatedLengthList dy; 1114 readonly attribute SVGAnimatedNumberList rotate; 1115 }; 1116 1117 interface SVGTextElement : 1118 SVGTextPositioningElement, 1119 SVGTransformable {}; 1120 1121 interface SVGTSpanElement : SVGTextPositioningElement {}; 1122 1123 interface SVGTRefElement : 1124 SVGTextPositioningElement, 1125 SVGURIReference {}; 1126 1127 interface SVGTextPathElement : 1128 SVGTextContentElement, 1129 SVGURIReference { 1130 1131 // textPath Method Types 1132 const unsigned short TEXTPATH_METHODTYPE_UNKNOWN = 0; 1133 const unsigned short TEXTPATH_METHODTYPE_ALIGN = 1; 1134 const unsigned short TEXTPATH_METHODTYPE_STRETCH = 2; 1135 // textPath Spacing Types 1136 const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN = 0; 1137 const unsigned short TEXTPATH_SPACINGTYPE_AUTO = 1; 1138 const unsigned short TEXTPATH_SPACINGTYPE_EXACT = 2; 1139 1140 readonly attribute SVGAnimatedLength startOffset; 1141 readonly attribute SVGAnimatedEnumeration method; 1142 readonly attribute SVGAnimatedEnumeration spacing; 1143 }; 1144 1145 interface SVGAltGlyphElement : 1146 SVGTextPositioningElement, 1147 SVGURIReference { 1148 1149 attribute DOMString glyphRef; 1150 // raises DOMException on setting 1151 attribute DOMString format; 1152 // raises DOMException on setting 1153 }; 1154 1155 interface SVGAltGlyphDefElement : SVGElement {}; 1156 1157 interface SVGAltGlyphItemElement : SVGElement {}; 1158 1159 interface SVGGlyphRefElement : 1160 SVGElement, 1161 SVGURIReference, 1162 SVGStylable { 1163 1164 attribute DOMString glyphRef; 1165 // raises DOMException on setting 1166 attribute DOMString format; 1167 // raises DOMException on setting 1168 attribute float x; 1169 // raises DOMException on setting 1170 attribute float y; 1171 // raises DOMException on setting 1172 attribute float dx; 1173 // raises DOMException on setting 1174 attribute float dy; 1175 // raises DOMException on setting 1176 }; 1177 1178 interface SVGPaint : SVGColor { 1179 // Paint Types 1180 const unsigned short SVG_PAINTTYPE_UNKNOWN = 0; 1181 const unsigned short SVG_PAINTTYPE_RGBCOLOR = 1; 1182 const unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2; 1183 const unsigned short SVG_PAINTTYPE_NONE = 101; 1184 const unsigned short SVG_PAINTTYPE_CURRENTCOLOR = 102; 1185 const unsigned short SVG_PAINTTYPE_URI_NONE = 103; 1186 const unsigned short SVG_PAINTTYPE_URI_CURRENTCOLOR = 104; 1187 const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR = 105; 1188 const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106; 1189 const unsigned short SVG_PAINTTYPE_URI = 107; 1190 1191 readonly attribute unsigned short paintType; 1192 readonly attribute DOMString uri; 1193 1194 void setUri ( in DOMString uri ); 1195 void setPaint ( in unsigned short paintType, in DOMString uri, in DOMString rgbColor, in DOMString iccColor ) 1196 raises( SVGException ); 1197 }; 1198 1199 interface SVGMarkerElement : 1200 SVGElement, 1201 SVGLangSpace, 1202 SVGExternalResourcesRequired, 1203 SVGStylable, 1204 SVGFitToViewBox { 1205 1206 // Marker Unit Types 1207 const unsigned short SVG_MARKERUNITS_UNKNOWN = 0; 1208 const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1; 1209 const unsigned short SVG_MARKERUNITS_STROKEWIDTH = 2; 1210 // Marker Orientation Types 1211 const unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0; 1212 const unsigned short SVG_MARKER_ORIENT_AUTO = 1; 1213 const unsigned short SVG_MARKER_ORIENT_ANGLE = 2; 1214 1215 readonly attribute SVGAnimatedLength refX; 1216 readonly attribute SVGAnimatedLength refY; 1217 readonly attribute SVGAnimatedEnumeration markerUnits; 1218 readonly attribute SVGAnimatedLength markerWidth; 1219 readonly attribute SVGAnimatedLength markerHeight; 1220 readonly attribute SVGAnimatedEnumeration orientType; 1221 readonly attribute SVGAnimatedAngle orientAngle; 1222 1223 void setOrientToAuto ( ); 1224 void setOrientToAngle ( in SVGAngle angle ); 1225 }; 1226 1227 interface SVGColorProfileElement : 1228 SVGElement, 1229 SVGURIReference, 1230 SVGRenderingIntent { 1231 1232 attribute DOMString local; 1233 // raises DOMException on setting 1234 attribute DOMString name; 1235 // raises DOMException on setting 1236 attribute unsigned short renderingIntent; 1237 // raises DOMException on setting 1238 }; 1239 1240 interface SVGColorProfileRule : 1241 SVGCSSRule, 1242 SVGRenderingIntent { 1243 1244 attribute DOMString src; 1245 // raises DOMException on setting 1246 attribute DOMString name; 1247 // raises DOMException on setting 1248 attribute unsigned short renderingIntent; 1249 // raises DOMException on setting 1250 }; 1251 1252 interface SVGGradientElement : 1253 SVGElement, 1254 SVGURIReference, 1255 SVGExternalResourcesRequired, 1256 SVGStylable, 1257 SVGUnitTypes { 1258 1259 // Spread Method Types 1260 const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0; 1261 const unsigned short SVG_SPREADMETHOD_PAD = 1; 1262 const unsigned short SVG_SPREADMETHOD_REFLECT = 2; 1263 const unsigned short SVG_SPREADMETHOD_REPEAT = 3; 1264 1265 readonly attribute SVGAnimatedEnumeration gradientUnits; 1266 readonly attribute SVGAnimatedTransformList gradientTransform; 1267 readonly attribute SVGAnimatedEnumeration spreadMethod; 1268 }; 1269 1270 interface SVGLinearGradientElement : SVGGradientElement { 1271 readonly attribute SVGAnimatedLength x1; 1272 readonly attribute SVGAnimatedLength y1; 1273 readonly attribute SVGAnimatedLength x2; 1274 readonly attribute SVGAnimatedLength y2; 1275 }; 1276 1277 interface SVGRadialGradientElement : SVGGradientElement { 1278 readonly attribute SVGAnimatedLength cx; 1279 readonly attribute SVGAnimatedLength cy; 1280 readonly attribute SVGAnimatedLength r; 1281 readonly attribute SVGAnimatedLength fx; 1282 readonly attribute SVGAnimatedLength fy; 1283 }; 1284 1285 interface SVGStopElement : 1286 SVGElement, 1287 SVGStylable { 1288 1289 readonly attribute SVGAnimatedNumber offset; 1290 }; 1291 1292 interface SVGPatternElement : 1293 SVGElement, 1294 SVGURIReference, 1295 SVGTests, 1296 SVGLangSpace, 1297 SVGExternalResourcesRequired, 1298 SVGStylable, 1299 SVGFitToViewBox, 1300 SVGUnitTypes { 1301 1302 readonly attribute SVGAnimatedEnumeration patternUnits; 1303 readonly attribute SVGAnimatedEnumeration patternContentUnits; 1304 readonly attribute SVGAnimatedTransformList patternTransform; 1305 readonly attribute SVGAnimatedLength x; 1306 readonly attribute SVGAnimatedLength y; 1307 readonly attribute SVGAnimatedLength width; 1308 readonly attribute SVGAnimatedLength height; 1309 }; 1310 1311 interface SVGClipPathElement : 1312 SVGElement, 1313 SVGTests, 1314 SVGLangSpace, 1315 SVGExternalResourcesRequired, 1316 SVGStylable, 1317 SVGTransformable, 1318 SVGUnitTypes { 1319 1320 readonly attribute SVGAnimatedEnumeration clipPathUnits; 1321 }; 1322 1323 interface SVGMaskElement : 1324 SVGElement, 1325 SVGTests, 1326 SVGLangSpace, 1327 SVGExternalResourcesRequired, 1328 SVGStylable, 1329 SVGUnitTypes { 1330 1331 readonly attribute SVGAnimatedEnumeration maskUnits; 1332 readonly attribute SVGAnimatedEnumeration maskContentUnits; 1333 readonly attribute SVGAnimatedLength x; 1334 readonly attribute SVGAnimatedLength y; 1335 readonly attribute SVGAnimatedLength width; 1336 readonly attribute SVGAnimatedLength height; 1337 }; 1338 1339 interface SVGFilterElement : 1340 SVGElement, 1341 SVGURIReference, 1342 SVGLangSpace, 1343 SVGExternalResourcesRequired, 1344 SVGStylable, 1345 SVGUnitTypes { 1346 1347 readonly attribute SVGAnimatedEnumeration filterUnits; 1348 readonly attribute SVGAnimatedEnumeration primitiveUnits; 1349 readonly attribute SVGAnimatedLength x; 1350 readonly attribute SVGAnimatedLength y; 1351 readonly attribute SVGAnimatedLength width; 1352 readonly attribute SVGAnimatedLength height; 1353 readonly attribute SVGAnimatedInteger filterResX; 1354 readonly attribute SVGAnimatedInteger filterResY; 1355 1356 void setFilterRes ( in unsigned long filterResX, in unsigned long filterResY ); 1357 }; 1358 1359 interface SVGFilterPrimitiveStandardAttributes : SVGStylable { 1360 readonly attribute SVGAnimatedLength x; 1361 readonly attribute SVGAnimatedLength y; 1362 readonly attribute SVGAnimatedLength width; 1363 readonly attribute SVGAnimatedLength height; 1364 readonly attribute SVGAnimatedString result; 1365 }; 1366 1367 interface SVGFEBlendElement : 1368 SVGElement, 1369 SVGFilterPrimitiveStandardAttributes { 1370 1371 // Blend Mode Types 1372 const unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0; 1373 const unsigned short SVG_FEBLEND_MODE_NORMAL = 1; 1374 const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2; 1375 const unsigned short SVG_FEBLEND_MODE_SCREEN = 3; 1376 const unsigned short SVG_FEBLEND_MODE_DARKEN = 4; 1377 const unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5; 1378 1379 readonly attribute SVGAnimatedString in1; 1380 readonly attribute SVGAnimatedString in2; 1381 readonly attribute SVGAnimatedEnumeration mode; 1382 }; 1383 1384 interface SVGFEColorMatrixElement : 1385 SVGElement, 1386 SVGFilterPrimitiveStandardAttributes { 1387 1388 // Color Matrix Types 1389 const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0; 1390 const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1; 1391 const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2; 1392 const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3; 1393 const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4; 1394 1395 readonly attribute SVGAnimatedString in1; 1396 readonly attribute SVGAnimatedEnumeration type; 1397 readonly attribute SVGAnimatedNumberList values; 1398 }; 1399 1400 interface SVGFEComponentTransferElement : 1401 SVGElement, 1402 SVGFilterPrimitiveStandardAttributes { 1403 1404 readonly attribute SVGAnimatedString in1; 1405 }; 1406 1407 interface SVGComponentTransferFunctionElement : SVGElement { 1408 // Component Transfer Types 1409 const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0; 1410 const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1; 1411 const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2; 1412 const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3; 1413 const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4; 1414 const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5; 1415 1416 readonly attribute SVGAnimatedEnumeration type; 1417 readonly attribute SVGAnimatedNumberList tableValues; 1418 readonly attribute SVGAnimatedNumber slope; 1419 readonly attribute SVGAnimatedNumber intercept; 1420 readonly attribute SVGAnimatedNumber amplitude; 1421 readonly attribute SVGAnimatedNumber exponent; 1422 readonly attribute SVGAnimatedNumber offset; 1423 }; 1424 1425 interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {}; 1426 1427 interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {}; 1428 1429 interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {}; 1430 1431 interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {}; 1432 1433 interface SVGFECompositeElement : 1434 SVGElement, 1435 SVGFilterPrimitiveStandardAttributes { 1436 1437 // Composite Operators 1438 const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0; 1439 const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1; 1440 const unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2; 1441 const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3; 1442 const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4; 1443 const unsigned short SVG_FECOMPOSITE_OPERATOR_XOR = 5; 1444 const unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6; 1445 1446 readonly attribute SVGAnimatedString in1; 1447 readonly attribute SVGAnimatedString in2; 1448 readonly attribute SVGAnimatedEnumeration operator; 1449 readonly attribute SVGAnimatedNumber k1; 1450 readonly attribute SVGAnimatedNumber k2; 1451 readonly attribute SVGAnimatedNumber k3; 1452 readonly attribute SVGAnimatedNumber k4; 1453 }; 1454 1455 interface SVGFEConvolveMatrixElement : 1456 SVGElement, 1457 SVGFilterPrimitiveStandardAttributes { 1458 1459 // Edge Mode Values 1460 const unsigned short SVG_EDGEMODE_UNKNOWN = 0; 1461 const unsigned short SVG_EDGEMODE_DUPLICATE = 1; 1462 const unsigned short SVG_EDGEMODE_WRAP = 2; 1463 const unsigned short SVG_EDGEMODE_NONE = 3; 1464 1465 readonly attribute SVGAnimatedInteger orderX; 1466 readonly attribute SVGAnimatedInteger orderY; 1467 readonly attribute SVGAnimatedNumberList kernelMatrix; 1468 readonly attribute SVGAnimatedNumber divisor; 1469 readonly attribute SVGAnimatedNumber bias; 1470 readonly attribute SVGAnimatedInteger targetX; 1471 readonly attribute SVGAnimatedInteger targetY; 1472 readonly attribute SVGAnimatedEnumeration edgeMode; 1473 readonly attribute SVGAnimatedLength kernelUnitLengthX; 1474 readonly attribute SVGAnimatedLength kernelUnitLengthY; 1475 readonly attribute SVGAnimatedBoolean preserveAlpha; 1476 }; 1477 1478 interface SVGFEDiffuseLightingElement : 1479 SVGElement, 1480 SVGFilterPrimitiveStandardAttributes { 1481 1482 readonly attribute SVGAnimatedString in1; 1483 readonly attribute SVGAnimatedNumber surfaceScale; 1484 readonly attribute SVGAnimatedNumber diffuseConstant; 1485 }; 1486 1487 interface SVGFEDistantLightElement : SVGElement { 1488 readonly attribute SVGAnimatedNumber azimuth; 1489 readonly attribute SVGAnimatedNumber elevation; 1490 }; 1491 1492 interface SVGFEPointLightElement : SVGElement { 1493 readonly attribute SVGAnimatedNumber x; 1494 readonly attribute SVGAnimatedNumber y; 1495 readonly attribute SVGAnimatedNumber z; 1496 }; 1497 1498 interface SVGFESpotLightElement : SVGElement { 1499 readonly attribute SVGAnimatedNumber x; 1500 readonly attribute SVGAnimatedNumber y; 1501 readonly attribute SVGAnimatedNumber z; 1502 readonly attribute SVGAnimatedNumber pointsAtX; 1503 readonly attribute SVGAnimatedNumber pointsAtY; 1504 readonly attribute SVGAnimatedNumber pointsAtZ; 1505 readonly attribute SVGAnimatedNumber specularExponent; 1506 readonly attribute SVGAnimatedNumber limitingConeAngle; 1507 }; 1508 1509 interface SVGFEDisplacementMapElement : 1510 SVGElement, 1511 SVGFilterPrimitiveStandardAttributes { 1512 1513 // Channel Selectors 1514 const unsigned short SVG_CHANNEL_UNKNOWN = 0; 1515 const unsigned short SVG_CHANNEL_R = 1; 1516 const unsigned short SVG_CHANNEL_G = 2; 1517 const unsigned short SVG_CHANNEL_B = 3; 1518 const unsigned short SVG_CHANNEL_A = 4; 1519 1520 readonly attribute SVGAnimatedString in1; 1521 readonly attribute SVGAnimatedString in2; 1522 readonly attribute SVGAnimatedNumber scale; 1523 readonly attribute SVGAnimatedEnumeration xChannelSelector; 1524 readonly attribute SVGAnimatedEnumeration yChannelSelector; 1525 }; 1526 1527 interface SVGFEFloodElement : 1528 SVGElement, 1529 SVGFilterPrimitiveStandardAttributes { 1530 1531 readonly attribute SVGAnimatedString in1; 1532 }; 1533 1534 interface SVGFEGaussianBlurElement : 1535 SVGElement, 1536 SVGFilterPrimitiveStandardAttributes { 1537 1538 readonly attribute SVGAnimatedString in1; 1539 readonly attribute SVGAnimatedNumber stdDeviationX; 1540 readonly attribute SVGAnimatedNumber stdDeviationY; 1541 1542 void setStdDeviation ( in float stdDeviationX, in float stdDeviationY ); 1543 }; 1544 1545 interface SVGFEImageElement : 1546 SVGElement, 1547 SVGURIReference, 1548 SVGLangSpace, 1549 SVGExternalResourcesRequired, 1550 SVGFilterPrimitiveStandardAttributes {}; 1551 1552 interface SVGFEMergeElement : 1553 SVGElement, 1554 SVGFilterPrimitiveStandardAttributes {}; 1555 1556 interface SVGFEMergeNodeElement : SVGElement { 1557 readonly attribute SVGAnimatedString in1; 1558 }; 1559 1560 interface SVGFEMorphologyElement : 1561 SVGElement, 1562 SVGFilterPrimitiveStandardAttributes { 1563 1564 // Morphology Operators 1565 const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0; 1566 const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1; 1567 const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2; 1568 1569 readonly attribute SVGAnimatedString in1; 1570 readonly attribute SVGAnimatedEnumeration operator; 1571 readonly attribute SVGAnimatedLength radiusX; 1572 readonly attribute SVGAnimatedLength radiusY; 1573 }; 1574 1575 interface SVGFEOffsetElement : 1576 SVGElement, 1577 SVGFilterPrimitiveStandardAttributes { 1578 1579 readonly attribute SVGAnimatedString in1; 1580 readonly attribute SVGAnimatedNumber dx; 1581 readonly attribute SVGAnimatedNumber dy; 1582 }; 1583 1584 interface SVGFESpecularLightingElement : 1585 SVGElement, 1586 SVGFilterPrimitiveStandardAttributes { 1587 1588 readonly attribute SVGAnimatedString in1; 1589 readonly attribute SVGAnimatedNumber surfaceScale; 1590 readonly attribute SVGAnimatedNumber specularConstant; 1591 readonly attribute SVGAnimatedNumber specularExponent; 1592 }; 1593 1594 interface SVGFETileElement : 1595 SVGElement, 1596 SVGFilterPrimitiveStandardAttributes { 1597 1598 readonly attribute SVGAnimatedString in1; 1599 }; 1600 1601 interface SVGFETurbulenceElement : 1602 SVGElement, 1603 SVGFilterPrimitiveStandardAttributes { 1604 1605 // Turbulence Types 1606 const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0; 1607 const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1; 1608 const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2; 1609 // Stitch Options 1610 const unsigned short SVG_STITCHTYPE_UNKNOWN = 0; 1611 const unsigned short SVG_STITCHTYPE_STITCH = 1; 1612 const unsigned short SVG_STITCHTYPE_NOSTITCH = 2; 1613 1614 readonly attribute SVGAnimatedNumber baseFrequencyX; 1615 readonly attribute SVGAnimatedNumber baseFrequencyY; 1616 readonly attribute SVGAnimatedInteger numOctaves; 1617 readonly attribute SVGAnimatedNumber seed; 1618 readonly attribute SVGAnimatedEnumeration stitchTiles; 1619 readonly attribute SVGAnimatedEnumeration type; 1620 }; 1621 1622 interface SVGCursorElement : 1623 SVGElement, 1624 SVGURIReference, 1625 SVGTests, 1626 SVGExternalResourcesRequired { 1627 1628 readonly attribute SVGAnimatedLength x; 1629 readonly attribute SVGAnimatedLength y; 1630 }; 1631 1632 interface SVGAElement : 1633 SVGElement, 1634 SVGURIReference, 1635 SVGTests, 1636 SVGLangSpace, 1637 SVGExternalResourcesRequired, 1638 SVGStylable, 1639 SVGTransformable, 1640 events::EventTarget { 1641 1642 readonly attribute SVGAnimatedString target; 1643 }; 1644 1645 interface SVGViewElement : 1646 SVGElement, 1647 SVGExternalResourcesRequired, 1648 SVGFitToViewBox, 1649 SVGZoomAndPan { 1650 1651 readonly attribute SVGStringList viewTarget; 1652 }; 1653 1654 interface SVGScriptElement : 1655 SVGElement, 1656 SVGURIReference, 1657 SVGExternalResourcesRequired { 1658 1659 attribute DOMString type; 1660 // raises DOMException on setting 1661 }; 1662 1663 interface SVGEvent : events::Event {}; 1664 1665 interface SVGZoomEvent : events::UIEvent { 1666 readonly attribute SVGRect zoomRectScreen; 1667 readonly attribute float previousScale; 1668 readonly attribute SVGPoint previousTranslate; 1669 readonly attribute float newScale; 1670 readonly attribute SVGPoint newTranslate; 1671 }; 1672 1673 interface SVGAnimationElement : 1674 SVGElement, 1675 SVGTests, 1676 SVGExternalResourcesRequired, 1677 smil::ElementTimeControl, 1678 events::EventTarget { 1679 // Animation Fill Types 1680 const unsigned short SVG_ANIMATION_FILL_UNKNOWN = 0; 1681 const unsigned short SVG_ANIMATION_FILL_REMOVE = 1; 1682 const unsigned short SVG_ANIMATION_FILL_FREEZE = 2; 1683 // Animation Additive Types 1684 const unsigned short SVG_ANIMATION_ADDITIVE_UNKNOWN = 0; 1685 const unsigned short SVG_ANIMATION_ADDITIVE_REPLACE = 1; 1686 const unsigned short SVG_ANIMATION_ADDITIVE_SUM = 2; 1687 // Animation Accumulate Types 1688 const unsigned short SVG_ANIMATION_ACCUMULATE_UNKNOWN = 0; 1689 const unsigned short SVG_ANIMATION_ACCUMULATE_NONE = 1; 1690 const unsigned short SVG_ANIMATION_ACCUMULATE_SUM = 2; 1691 1692 readonly attribute DOMString href; 1693 readonly attribute SVGElement targetElement; 1694 readonly attribute DOMString attributeName; 1695 readonly attribute float begin; 1696 readonly attribute float dur; 1697 readonly attribute SVGAnimatedType from; 1698 readonly attribute SVGAnimatedType to; 1699 readonly attribute unsigned short fill; 1700 readonly attribute unsigned short additive; 1701 readonly attribute unsigned short accumulate; 1702 1703 float getStartTime ( ); 1704 float getCurrentTime ( ); 1705 float getSimpleDuration ( ) 1706 raises( DOMException ); 1707 }; 1708 1709 interface SVGAnimateElement : SVGAnimationElement {}; 1710 1711 interface SVGSetElement : SVGAnimationElement {}; 1712 1713 interface SVGAnimateMotionElement : SVGAnimationElement {}; 1714 1715 interface SVGMPathElement : 1716 SVGElement, 1717 SVGURIReference, 1718 SVGExternalResourcesRequired {}; 1719 1720 interface SVGAnimateColorElement : SVGAnimationElement {}; 1721 1722 interface SVGAnimateTransformElement : SVGAnimationElement { 1723 // Animate Transform Types 1724 const unsigned short SVG_ANIMATETRANSFORM_TRANSLATE = 0; 1725 const unsigned short SVG_ANIMATETRANSFORM_SCALE = 1; 1726 const unsigned short SVG_ANIMATETRANSFORM_ROTATE = 2; 1727 const unsigned short SVG_ANIMATETRANSFORM_SKEWX = 3; 1728 const unsigned short SVG_ANIMATETRANSFORM_SKEWY = 4; 1729 1730 readonly attribute unsigned short type; 1731 }; 1732 1733 interface SVGFontElement : 1734 SVGElement, 1735 SVGExternalResourcesRequired, 1736 SVGStylable {}; 1737 1738 interface SVGGlyphElement : 1739 SVGElement, 1740 SVGStylable {}; 1741 1742 interface SVGMissingGlyphElement : 1743 SVGElement, 1744 SVGStylable {}; 1745 1746 interface SVGHKernElement : SVGElement {}; 1747 1748 interface SVGVKernElement : SVGElement {}; 1749 1750 interface SVGFontFaceElement : SVGElement {}; 1751 1752 interface SVGFontFaceSrcElement : SVGElement {}; 1753 1754 interface SVGFontFaceUriElement : SVGElement {}; 1755 1756 interface SVGFontFaceFormatElement : SVGElement {}; 1757 1758 interface SVGFontFaceNameElement : SVGElement {}; 1759 1760 interface SVGDefinitionSrcElement : SVGElement {}; 1761 1762 interface SVGMetadataElement : SVGElement {}; 1763 1764 interface SVGForeignObjectElement : 1765 SVGElement, 1766 SVGTests, 1767 SVGLangSpace, 1768 SVGExternalResourcesRequired, 1769 SVGStylable, 1770 SVGTransformable, 1771 events::EventTarget { 1772 1773 readonly attribute SVGAnimatedLength x; 1774 readonly attribute SVGAnimatedLength y; 1775 readonly attribute SVGAnimatedLength width; 1776 readonly attribute SVGAnimatedLength height; 1777 }; 1778 1779 interface SVGVideoElement : 1780 SVGElement, 1781 SVGURIReference, 1782 SVGLangSpace, 1783 SVGStylable, 1784 SVGTransformable { 1785 1786 readonly attribute SVGAnimatedLength x; 1787 readonly attribute SVGAnimatedLength y; 1788 readonly attribute SVGAnimatedLength width; 1789 readonly attribute SVGAnimatedLength height; 1790 readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; 1791 1792 readonly attribute float begin; 1793 readonly attribute float dur; 1794 readonly attribute float clipBegin; 1795 readonly attribute float clipEnd; 1796 }; 1797}; 1798 1799#endif // _SVG_IDL_ 1800