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