Code

remove warnings
[inkscape.git] / src / dom / svg / svg.h
1 #ifndef __SVG_H__\r
2 #define __SVG_H__\r
3 \r
4 /**\r
5  * Phoebe DOM Implementation.\r
6  *\r
7  * This is a C++ approximation of the W3C DOM model, which follows\r
8  * fairly closely the specifications in the various .idl files, copies of\r
9  * which are provided for reference.  Most important is this one:\r
10  *\r
11  * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html\r
12  *\r
13  * Authors:\r
14  *   Bob Jamison\r
15  *\r
16  * Copyright (C) 2005 Bob Jamison\r
17  *\r
18  *  This library is free software; you can redistribute it and/or\r
19  *  modify it under the terms of the GNU Lesser General Public\r
20  *  License as published by the Free Software Foundation; either\r
21  *  version 2.1 of the License, or (at your option) any later version.\r
22  *\r
23  *  This library is distributed in the hope that it will be useful,\r
24  *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
25  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
26  *  Lesser General Public License for more details.\r
27  *\r
28  *  You should have received a copy of the GNU Lesser General Public\r
29  *  License along with this library; if not, write to the Free Software\r
30  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
31  */\r
32 \r
33 \r
34 // For access to DOM2 core\r
35 #include "dom/dom.h"\r
36 \r
37 // For access to DOM2 events\r
38 #include "dom/events.h"\r
39 \r
40 // For access to those parts from DOM2 CSS OM used by SVG DOM.\r
41 #include "dom/css.h"\r
42 \r
43 // For access to those parts from DOM2 Views OM used by SVG DOM.\r
44 #include "dom/views.h"\r
45 \r
46 // For access to the SMIL OM used by SVG DOM.\r
47 #include "dom/smil.h"\r
48 \r
49 \r
50 \r
51 #include "svgtypes.h"\r
52 \r
53 #include <math.h>\r
54 \r
55 \r
56 \r
57 namespace org\r
58 {\r
59 namespace w3c\r
60 {\r
61 namespace dom\r
62 {\r
63 namespace svg\r
64 {\r
65 \r
66 \r
67 //local definitions\r
68 typedef dom::DOMString DOMString;\r
69 typedef dom::DOMException DOMException;\r
70 typedef dom::Element Element;\r
71 typedef dom::Document Document;\r
72 typedef dom::NodeList NodeList;\r
73 \r
74 \r
75 \r
76 class SVGSVGElement;\r
77 \r
78 \r
79 \r
80 /*#########################################################################\r
81 ## SVGElement\r
82 #########################################################################*/\r
83 \r
84 /**\r
85  *\r
86  */\r
87 class SVGElement : virtual public Element\r
88 {\r
89 public:\r
90 \r
91     /**\r
92      *\r
93      */\r
94     virtual DOMString getId() =0;\r
95 \r
96     /**\r
97      *\r
98      */\r
99     virtual void setId(const DOMString &val)\r
100                        throw (DOMException) =0;\r
101 \r
102     /**\r
103      *\r
104      */\r
105     virtual DOMString getXmlBase() = 0;\r
106 \r
107     /**\r
108      *\r
109      */\r
110     virtual void setXmlBase(const DOMString &val)\r
111                             throw (DOMException) = 0;\r
112 \r
113     /**\r
114      *\r
115      */\r
116     virtual SVGSVGElement *getOwnerSVGElement() = 0;\r
117 \r
118     /**\r
119      *\r
120      */\r
121     virtual SVGElement *getViewportElement() = 0;\r
122 \r
123 \r
124     //##################\r
125     //# Non-API methods\r
126     //##################\r
127 \r
128 \r
129     /**\r
130      *\r
131      */\r
132     virtual ~SVGElement() {}\r
133 \r
134 \r
135 };\r
136 \r
137 \r
138 \r
139 /*#########################################################################\r
140 ## SVGDocument\r
141 #########################################################################*/\r
142 \r
143 /**\r
144  *\r
145  */\r
146 class SVGDocument : virtual public Document,\r
147                     virtual public events::DocumentEvent\r
148 {\r
149 public:\r
150 \r
151 \r
152     /**\r
153      *\r
154      */\r
155     virtual DOMString getTitle() =0;\r
156 \r
157     /**\r
158      *\r
159      */\r
160     virtual DOMString getReferrer() =0;\r
161 \r
162     /**\r
163      *\r
164      */\r
165     virtual DOMString getDomain() =0;\r
166 \r
167     /**\r
168      *\r
169      */\r
170     virtual DOMString getURL() =0;\r
171 \r
172     /**\r
173      *\r
174      */\r
175     virtual SVGSVGElement *getRootElement() =0;\r
176 \r
177 \r
178     //##################\r
179     //# Non-API methods\r
180     //##################\r
181 \r
182     /**\r
183      *\r
184      */\r
185     virtual ~SVGDocument() {}\r
186 \r
187 };\r
188 \r
189 \r
190 \r
191 /*#########################################################################\r
192 ## SVGSVGElement\r
193 #########################################################################*/\r
194 \r
195 /**\r
196  *\r
197  */\r
198 class SVGSVGElement : virtual public SVGElement,\r
199                       public SVGTests,\r
200                       public SVGLangSpace,\r
201                       public SVGExternalResourcesRequired,\r
202                       public SVGStylable,\r
203                       public SVGLocatable,\r
204                       public SVGFitToViewBox,\r
205                       public SVGZoomAndPan,\r
206                       public events::EventTarget,\r
207                       public events::DocumentEvent,\r
208                       public css::ViewCSS,\r
209                       public css::DocumentCSS\r
210 {\r
211 public:\r
212 \r
213     /**\r
214      *\r
215      */\r
216     virtual SVGAnimatedLength getX() =0;\r
217 \r
218     /**\r
219      *\r
220      */\r
221     virtual SVGAnimatedLength getY() =0;\r
222 \r
223     /**\r
224      *\r
225      */\r
226     virtual SVGAnimatedLength getWidth() =0;\r
227 \r
228     /**\r
229      *\r
230      */\r
231     virtual SVGAnimatedLength getHeight() =0;\r
232 \r
233     /**\r
234      *\r
235      */\r
236     virtual DOMString getContentScriptType() =0;\r
237 \r
238     /**\r
239      *\r
240      */\r
241     virtual void setContentScriptType(const DOMString &val)\r
242                                      throw (DOMException) =0;\r
243 \r
244 \r
245     /**\r
246      *\r
247      */\r
248     virtual DOMString getContentStyleType() =0;\r
249 \r
250     /**\r
251      *\r
252      */\r
253     virtual void setContentStyleType(const DOMString &val)\r
254                                      throw (DOMException) =0;\r
255 \r
256     /**\r
257      *\r
258      */\r
259     virtual SVGRect getViewport() =0;\r
260 \r
261     /**\r
262      *\r
263      */\r
264     virtual double getPixelUnitToMillimeterX() =0;\r
265 \r
266     /**\r
267      *\r
268      */\r
269     virtual double getPixelUnitToMillimeterY() =0;\r
270 \r
271     /**\r
272      *\r
273      */\r
274     virtual double getScreenPixelToMillimeterX() =0;\r
275 \r
276     /**\r
277      *\r
278      */\r
279     virtual double getScreenPixelToMillimeterY() =0;\r
280 \r
281 \r
282     /**\r
283      *\r
284      */\r
285     virtual bool getUseCurrentView() =0;\r
286 \r
287     /**\r
288      *\r
289      */\r
290     virtual void setUseCurrentView(bool val) throw (DOMException) =0;\r
291 \r
292     /**\r
293      *\r
294      */\r
295     virtual SVGViewSpec getCurrentView() =0;\r
296 \r
297 \r
298     /**\r
299      *\r
300      */\r
301     virtual double getCurrentScale() =0;\r
302 \r
303     /**\r
304      *\r
305      */\r
306     virtual void setCurrentScale(double val)\r
307                                  throw (DOMException) =0;\r
308 \r
309 \r
310     /**\r
311      *\r
312      */\r
313     virtual SVGPoint getCurrentTranslate() =0;\r
314 \r
315 \r
316     /**\r
317      *\r
318      */\r
319     virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds ) =0;\r
320 \r
321     /**\r
322      *\r
323      */\r
324     virtual void unsuspendRedraw (unsigned long suspend_handle_id )\r
325                                   throw( DOMException ) =0;\r
326 \r
327     /**\r
328      *\r
329      */\r
330     virtual void unsuspendRedrawAll (  ) =0;\r
331 \r
332     /**\r
333      *\r
334      */\r
335     virtual void forceRedraw (  ) =0;\r
336 \r
337     /**\r
338      *\r
339      */\r
340     virtual void pauseAnimations (  ) =0;\r
341 \r
342     /**\r
343      *\r
344      */\r
345     virtual void unpauseAnimations (  ) =0;\r
346 \r
347     /**\r
348      *\r
349      */\r
350     virtual bool animationsPaused (  ) =0;\r
351 \r
352     /**\r
353      *\r
354      */\r
355     virtual double getCurrentTime (  ) =0;\r
356 \r
357     /**\r
358      *\r
359      */\r
360     virtual void setCurrentTime (double seconds ) =0;\r
361 \r
362     /**\r
363      *\r
364      */\r
365     virtual NodeList getIntersectionList (const SVGRect &rect,\r
366                                           const SVGElement *referenceElement ) =0;\r
367 \r
368     /**\r
369      *\r
370      */\r
371     virtual NodeList getEnclosureList (const SVGRect &rect,\r
372                                        const SVGElement *referenceElement ) =0;\r
373 \r
374     /**\r
375      *\r
376      */\r
377     virtual bool checkIntersection (const SVGElement *element, const SVGRect &rect ) =0;\r
378 \r
379     /**\r
380      *\r
381      */\r
382     virtual bool checkEnclosure (const SVGElement *element, const SVGRect &rect ) =0;\r
383 \r
384     /**\r
385      *\r
386      */\r
387     virtual void deselectAll (  ) =0;\r
388 \r
389     /**\r
390      *\r
391      */\r
392     virtual SVGNumber createSVGNumber (  ) =0;\r
393 \r
394     /**\r
395      *\r
396      */\r
397     virtual SVGLength createSVGLength (  ) =0;\r
398 \r
399     /**\r
400      *\r
401      */\r
402     virtual SVGAngle createSVGAngle (  ) =0;\r
403 \r
404     /**\r
405      *\r
406      */\r
407     virtual SVGPoint createSVGPoint (  ) =0;\r
408 \r
409     /**\r
410      *\r
411      */\r
412     virtual SVGMatrix createSVGMatrix (  ) =0;\r
413 \r
414     /**\r
415      *\r
416      */\r
417     virtual SVGRect createSVGRect (  ) =0;\r
418 \r
419     /**\r
420      *\r
421      */\r
422     virtual SVGTransform createSVGTransform (  ) =0;\r
423 \r
424     /**\r
425      *\r
426      */\r
427     virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix ) =0;\r
428 \r
429     /**\r
430      *\r
431      */\r
432     virtual Element *getElementById (const DOMString& elementId ) =0;\r
433 \r
434 \r
435 \r
436     //##################\r
437     //# Non-API methods\r
438     //##################\r
439 \r
440     /**\r
441      *\r
442      */\r
443     virtual ~SVGSVGElement() {}\r
444 \r
445 };\r
446 \r
447 \r
448 \r
449 /*#########################################################################\r
450 ## SVGGElement\r
451 #########################################################################*/\r
452 \r
453 /**\r
454  *\r
455  */\r
456 class SVGGElement : virtual public SVGElement,\r
457                     public SVGTests,\r
458                     public SVGLangSpace,\r
459                     public SVGExternalResourcesRequired,\r
460                     public SVGStylable,\r
461                     public SVGTransformable,\r
462                     public events::EventTarget\r
463 {\r
464 public:\r
465 \r
466     //##################\r
467     //# Non-API methods\r
468     //##################\r
469 \r
470     /**\r
471      *\r
472      */\r
473     virtual ~SVGGElement() {}\r
474 \r
475 };\r
476 \r
477 \r
478 \r
479 \r
480 /*#########################################################################\r
481 ## SVGDefsElement\r
482 #########################################################################*/\r
483 \r
484 /**\r
485  *\r
486  */\r
487 class SVGDefsElement :\r
488                     virtual public SVGElement,\r
489                     public SVGTests,\r
490                     public SVGLangSpace,\r
491                     public SVGExternalResourcesRequired,\r
492                     public SVGStylable,\r
493                     public SVGTransformable,\r
494                     public events::EventTarget\r
495 {\r
496 public:\r
497 \r
498     //##################\r
499     //# Non-API methods\r
500     //##################\r
501 \r
502     /**\r
503      *\r
504      */\r
505     virtual ~SVGDefsElement() {}\r
506 \r
507 };\r
508 \r
509 \r
510 \r
511 \r
512 /*#########################################################################\r
513 ## SVGDescElement\r
514 #########################################################################*/\r
515 \r
516 /**\r
517  *\r
518  */\r
519 class SVGDescElement :\r
520                     virtual public SVGElement,\r
521                     public SVGLangSpace,\r
522                     public SVGStylable\r
523 {\r
524 public:\r
525 \r
526     //##################\r
527     //# Non-API methods\r
528     //##################\r
529 \r
530     /**\r
531      *\r
532      */\r
533     virtual ~SVGDescElement() {}\r
534 \r
535 };\r
536 \r
537 \r
538 \r
539 \r
540 /*#########################################################################\r
541 ## SVGTitleElement\r
542 #########################################################################*/\r
543 \r
544 /**\r
545  *\r
546  */\r
547 class SVGTitleElement :\r
548                     virtual public SVGElement,\r
549                     public SVGLangSpace,\r
550                     public SVGStylable\r
551 {\r
552 public:\r
553 \r
554     //##################\r
555     //# Non-API methods\r
556     //##################\r
557 \r
558     /**\r
559      *\r
560      */\r
561     virtual ~SVGTitleElement() {}\r
562 \r
563 };\r
564 \r
565 \r
566 \r
567 \r
568 /*#########################################################################\r
569 ## SVGSymbolElement\r
570 #########################################################################*/\r
571 \r
572 /**\r
573  *\r
574  */\r
575 class SVGSymbolElement :\r
576                     virtual public SVGElement,\r
577                     public SVGLangSpace,\r
578                     public SVGExternalResourcesRequired,\r
579                     public SVGStylable,\r
580                     public SVGFitToViewBox,\r
581                     public events::EventTarget\r
582 {\r
583 public:\r
584 \r
585     //##################\r
586     //# Non-API methods\r
587     //##################\r
588 \r
589     /**\r
590      *\r
591      */\r
592     virtual ~SVGSymbolElement() {}\r
593 \r
594 };\r
595 \r
596 \r
597 \r
598 \r
599 /*#########################################################################\r
600 ## SVGUseElement\r
601 #########################################################################*/\r
602 \r
603 /**\r
604  *\r
605  */\r
606 class SVGUseElement :\r
607                     virtual public SVGElement,\r
608                     public SVGURIReference,\r
609                     public SVGTests,\r
610                     public SVGLangSpace,\r
611                     public SVGExternalResourcesRequired,\r
612                     public SVGStylable,\r
613                     public SVGTransformable,\r
614                     public events::EventTarget\r
615 {\r
616 public:\r
617 \r
618 \r
619 \r
620 \r
621     /**\r
622      *\r
623      */\r
624     virtual SVGAnimatedLength getX() =0;\r
625 \r
626     /**\r
627      *\r
628      */\r
629     virtual SVGAnimatedLength getY() =0;\r
630 \r
631     /**\r
632      *\r
633      */\r
634     virtual SVGAnimatedLength getWidth() =0;\r
635 \r
636     /**\r
637      *\r
638      */\r
639     virtual SVGAnimatedLength getHeight() =0;\r
640 \r
641     /**\r
642      *\r
643      */\r
644     virtual SVGElementInstance getInstanceRoot() =0;\r
645 \r
646     /**\r
647      *\r
648      */\r
649     virtual SVGElementInstance getAnimatedInstanceRoot() =0;\r
650 \r
651 \r
652 \r
653     //##################\r
654     //# Non-API methods\r
655     //##################\r
656 \r
657     /**\r
658      *\r
659      */\r
660     virtual ~SVGUseElement() {}\r
661 \r
662 };\r
663 \r
664 \r
665 \r
666 \r
667 \r
668 \r
669 \r
670 /*#########################################################################\r
671 ## SVGImageElement\r
672 #########################################################################*/\r
673 \r
674 /**\r
675  *\r
676  */\r
677 class SVGImageElement :\r
678                     virtual public SVGElement,\r
679                     public SVGURIReference,\r
680                     public SVGTests,\r
681                     public SVGLangSpace,\r
682                     public SVGExternalResourcesRequired,\r
683                     public SVGStylable,\r
684                     public SVGTransformable,\r
685                     public events::EventTarget\r
686 {\r
687 public:\r
688 \r
689 \r
690     /**\r
691      *\r
692      */\r
693     virtual SVGAnimatedLength getX() =0;\r
694 \r
695     /**\r
696      *\r
697      */\r
698     virtual SVGAnimatedLength getY() =0;\r
699 \r
700     /**\r
701      *\r
702      */\r
703     virtual SVGAnimatedLength getWidth() =0;\r
704 \r
705     /**\r
706      *\r
707      */\r
708     virtual SVGAnimatedLength getHeight() =0;\r
709 \r
710 \r
711     /**\r
712      *\r
713      */\r
714     virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() =0;\r
715 \r
716 \r
717 \r
718     //##################\r
719     //# Non-API methods\r
720     //##################\r
721 \r
722     /**\r
723      *\r
724      */\r
725     virtual ~SVGImageElement() {}\r
726 \r
727 };\r
728 \r
729 \r
730 \r
731 \r
732 \r
733 \r
734 /*#########################################################################\r
735 ## SVGSwitchElement\r
736 #########################################################################*/\r
737 \r
738 /**\r
739  *\r
740  */\r
741 class SVGSwitchElement :\r
742                     virtual public SVGElement,\r
743                     public SVGTests,\r
744                     public SVGLangSpace,\r
745                     public SVGExternalResourcesRequired,\r
746                     public SVGStylable,\r
747                     public SVGTransformable,\r
748                     public events::EventTarget\r
749 {\r
750 public:\r
751 \r
752     //##################\r
753     //# Non-API methods\r
754     //##################\r
755 \r
756     /**\r
757      *\r
758      */\r
759     virtual ~SVGSwitchElement() {}\r
760 \r
761 };\r
762 \r
763 \r
764 \r
765 \r
766 /*#########################################################################\r
767 ## GetSVGDocument\r
768 #########################################################################*/\r
769 \r
770 /**\r
771  *\r
772  */\r
773 class GetSVGDocument\r
774 {\r
775 public:\r
776 \r
777     /**\r
778      *\r
779      */\r
780     virtual SVGDocument *getSVGDocument (  )\r
781                     throw( DOMException ) =0;\r
782 \r
783     //##################\r
784     //# Non-API methods\r
785     //##################\r
786 \r
787     /**\r
788      *\r
789      */\r
790     virtual ~GetSVGDocument() {}\r
791 \r
792 };\r
793 \r
794 \r
795 \r
796 \r
797 \r
798 \r
799 /*#########################################################################\r
800 ## SVGStyleElement\r
801 #########################################################################*/\r
802 \r
803 /**\r
804  *\r
805  */\r
806 class SVGStyleElement : virtual public SVGElement\r
807 {\r
808 public:\r
809 \r
810     /**\r
811      *\r
812      */\r
813     virtual DOMString getXmlspace() = 0;\r
814 \r
815     /**\r
816      *\r
817      */\r
818     virtual void setXmlspace(const DOMString &val)\r
819                              throw (DOMException) =0;\r
820 \r
821     /**\r
822      *\r
823      */\r
824     virtual DOMString getType() = 0;\r
825 \r
826     /**\r
827      *\r
828      */\r
829     virtual void setType(const DOMString &val)\r
830                          throw (DOMException) =0;\r
831 \r
832     /**\r
833      *\r
834      */\r
835     virtual DOMString getMedia() = 0;\r
836 \r
837     /**\r
838      *\r
839      */\r
840     virtual void setMedia(const DOMString &val)\r
841                           throw (DOMException) =0;\r
842 \r
843     /**\r
844      *\r
845      */\r
846     virtual DOMString getTitle() = 0;\r
847 \r
848     /**\r
849      *\r
850      */\r
851     virtual void setTitle(const DOMString &val)\r
852                           throw (DOMException) =0;\r
853 \r
854 \r
855 \r
856     //##################\r
857     //# Non-API methods\r
858     //##################\r
859 \r
860     /**\r
861      *\r
862      */\r
863     virtual ~SVGStyleElement() {}\r
864 \r
865 };\r
866 \r
867 \r
868 \r
869 \r
870 \r
871 \r
872 /*#########################################################################\r
873 ## SVGPathElement\r
874 #########################################################################*/\r
875 \r
876 /**\r
877  *\r
878  */\r
879 class SVGPathElement :\r
880                     virtual public SVGElement,\r
881                     public SVGTests,\r
882                     public SVGLangSpace,\r
883                     public SVGExternalResourcesRequired,\r
884                     public SVGStylable,\r
885                     public SVGTransformable,\r
886                     public events::EventTarget,\r
887                     public SVGAnimatedPathData\r
888 {\r
889 public:\r
890 \r
891 \r
892 \r
893 \r
894     /**\r
895      *\r
896      */\r
897     virtual SVGAnimatedNumber getPathLength() =0;\r
898 \r
899     /**\r
900      *\r
901      */\r
902     virtual double getTotalLength (  ) =0;\r
903 \r
904     /**\r
905      *\r
906      */\r
907     virtual SVGPoint getPointAtLength (double distance ) =0;\r
908 \r
909     /**\r
910      *\r
911      */\r
912     virtual unsigned long getPathSegAtLength (double distance ) =0;\r
913 \r
914     /**\r
915      *\r
916      */\r
917     virtual SVGPathSegClosePath\r
918               createSVGPathSegClosePath (  ) =0;\r
919 \r
920     /**\r
921      *\r
922      */\r
923     virtual SVGPathSegMovetoAbs\r
924               createSVGPathSegMovetoAbs (double x, double y ) =0;\r
925 \r
926     /**\r
927      *\r
928      */\r
929     virtual SVGPathSegMovetoRel\r
930               createSVGPathSegMovetoRel (double x, double y ) =0;\r
931 \r
932     /**\r
933      *\r
934      */\r
935     virtual SVGPathSegLinetoAbs\r
936               createSVGPathSegLinetoAbs (double x, double y ) =0;\r
937 \r
938     /**\r
939      *\r
940      */\r
941     virtual SVGPathSegLinetoRel\r
942               createSVGPathSegLinetoRel (double x, double y ) =0;\r
943 \r
944     /**\r
945      *\r
946      */\r
947     virtual SVGPathSegCurvetoCubicAbs\r
948               createSVGPathSegCurvetoCubicAbs (double x, double y,\r
949                         double x1, double y1, double x2, double y2 ) =0;\r
950 \r
951     /**\r
952      *\r
953      */\r
954     virtual SVGPathSegCurvetoCubicRel\r
955               createSVGPathSegCurvetoCubicRel (double x, double y,\r
956                         double x1, double y1, double x2, double y2 ) =0;\r
957 \r
958     /**\r
959      *\r
960      */\r
961     virtual SVGPathSegCurvetoQuadraticAbs\r
962               createSVGPathSegCurvetoQuadraticAbs (double x, double y,\r
963                          double x1, double y1 ) =0;\r
964 \r
965     /**\r
966      *\r
967      */\r
968     virtual SVGPathSegCurvetoQuadraticRel\r
969               createSVGPathSegCurvetoQuadraticRel (double x, double y,\r
970                          double x1, double y1 ) =0;\r
971 \r
972     /**\r
973      *\r
974      */\r
975     virtual SVGPathSegArcAbs\r
976               createSVGPathSegArcAbs (double x, double y,\r
977                          double r1, double r2, double angle,\r
978                          bool largeArcFlag, bool sweepFlag ) =0;\r
979 \r
980     /**\r
981      *\r
982      */\r
983     virtual SVGPathSegArcRel\r
984               createSVGPathSegArcRel (double x, double y, double r1,\r
985                          double r2, double angle, bool largeArcFlag,\r
986                          bool sweepFlag ) =0;\r
987 \r
988     /**\r
989      *\r
990      */\r
991     virtual SVGPathSegLinetoHorizontalAbs\r
992               createSVGPathSegLinetoHorizontalAbs (double x ) =0;\r
993 \r
994     /**\r
995      *\r
996      */\r
997     virtual SVGPathSegLinetoHorizontalRel\r
998               createSVGPathSegLinetoHorizontalRel (double x ) =0;\r
999 \r
1000     /**\r
1001      *\r
1002      */\r
1003     virtual SVGPathSegLinetoVerticalAbs\r
1004               createSVGPathSegLinetoVerticalAbs (double y ) =0;\r
1005 \r
1006     /**\r
1007      *\r
1008      */\r
1009     virtual SVGPathSegLinetoVerticalRel\r
1010               createSVGPathSegLinetoVerticalRel (double y ) =0;\r
1011 \r
1012     /**\r
1013      *\r
1014      */\r
1015     virtual SVGPathSegCurvetoCubicSmoothAbs\r
1016               createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,\r
1017                                              double x2, double y2 ) =0;\r
1018 \r
1019     /**\r
1020      *\r
1021      */\r
1022     virtual SVGPathSegCurvetoCubicSmoothRel\r
1023               createSVGPathSegCurvetoCubicSmoothRel (double x, double y,\r
1024                                                       double x2, double y2 ) =0;\r
1025 \r
1026     /**\r
1027      *\r
1028      */\r
1029     virtual SVGPathSegCurvetoQuadraticSmoothAbs\r
1030               createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y ) =0;\r
1031 \r
1032     /**\r
1033      *\r
1034      */\r
1035     virtual SVGPathSegCurvetoQuadraticSmoothRel\r
1036               createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y ) =0;\r
1037 \r
1038 \r
1039 \r
1040     //##################\r
1041     //# Non-API methods\r
1042     //##################\r
1043 \r
1044     /**\r
1045      *\r
1046      */\r
1047     virtual ~SVGPathElement() {}\r
1048 \r
1049 };\r
1050 \r
1051 \r
1052 \r
1053 \r
1054 \r
1055 \r
1056 /*#########################################################################\r
1057 ## SVGRectElement\r
1058 #########################################################################*/\r
1059 \r
1060 /**\r
1061  *\r
1062  */\r
1063 class SVGRectElement :\r
1064                     virtual public SVGElement,\r
1065                     public SVGTests,\r
1066                     public SVGLangSpace,\r
1067                     public SVGExternalResourcesRequired,\r
1068                     public SVGStylable,\r
1069                     public SVGTransformable,\r
1070                     public events::EventTarget\r
1071 {\r
1072 public:\r
1073 \r
1074     /**\r
1075      *\r
1076      */\r
1077     virtual SVGAnimatedLength getX() =0;\r
1078 \r
1079     /**\r
1080      *\r
1081      */\r
1082     virtual SVGAnimatedLength getY() =0;\r
1083 \r
1084     /**\r
1085      *\r
1086      */\r
1087     virtual SVGAnimatedLength getWidth() =0;\r
1088 \r
1089     /**\r
1090      *\r
1091      */\r
1092     virtual SVGAnimatedLength getHeight() =0;\r
1093 \r
1094 \r
1095     /**\r
1096      *\r
1097      */\r
1098     virtual SVGAnimatedLength getRx() =0;\r
1099 \r
1100     /**\r
1101      *\r
1102      */\r
1103     virtual SVGAnimatedLength getRy() =0;\r
1104 \r
1105 \r
1106 \r
1107     //##################\r
1108     //# Non-API methods\r
1109     //##################\r
1110 \r
1111     /**\r
1112      *\r
1113      */\r
1114     virtual ~SVGRectElement() {}\r
1115 \r
1116 };\r
1117 \r
1118 \r
1119 \r
1120 \r
1121 \r
1122 \r
1123 /*#########################################################################\r
1124 ## SVGCircleElement\r
1125 #########################################################################*/\r
1126 \r
1127 /**\r
1128  *\r
1129  */\r
1130 class SVGCircleElement :\r
1131                     virtual public SVGElement,\r
1132                     public SVGTests,\r
1133                     public SVGLangSpace,\r
1134                     public SVGExternalResourcesRequired,\r
1135                     public SVGStylable,\r
1136                     public SVGTransformable,\r
1137                     public events::EventTarget\r
1138 {\r
1139 public:\r
1140 \r
1141     /**\r
1142      *\r
1143      */\r
1144     virtual SVGAnimatedLength getCx() =0;\r
1145 \r
1146     /**\r
1147      *\r
1148      */\r
1149     virtual SVGAnimatedLength getCy() =0;\r
1150 \r
1151     /**\r
1152      *\r
1153      */\r
1154     virtual SVGAnimatedLength getR() =0;\r
1155 \r
1156 \r
1157 \r
1158     //##################\r
1159     //# Non-API methods\r
1160     //##################\r
1161 \r
1162     /**\r
1163      *\r
1164      */\r
1165     virtual ~SVGCircleElement() {}\r
1166 \r
1167 };\r
1168 \r
1169 \r
1170 \r
1171 \r
1172 \r
1173 \r
1174 /*#########################################################################\r
1175 ## SVGEllipseElement\r
1176 #########################################################################*/\r
1177 \r
1178 /**\r
1179  *\r
1180  */\r
1181 class SVGEllipseElement :\r
1182                     virtual public SVGElement,\r
1183                     public SVGTests,\r
1184                     public SVGLangSpace,\r
1185                     public SVGExternalResourcesRequired,\r
1186                     public SVGStylable,\r
1187                     public SVGTransformable,\r
1188                     public events::EventTarget\r
1189 {\r
1190 public:\r
1191     /**\r
1192      *\r
1193      */\r
1194     virtual SVGAnimatedLength getCx() =0;\r
1195 \r
1196     /**\r
1197      *\r
1198      */\r
1199     virtual SVGAnimatedLength getCy() =0;\r
1200 \r
1201     /**\r
1202      *\r
1203      */\r
1204     virtual SVGAnimatedLength getRx() =0;\r
1205 \r
1206     /**\r
1207      *\r
1208      */\r
1209     virtual SVGAnimatedLength getRy() =0;\r
1210 \r
1211 \r
1212     //##################\r
1213     //# Non-API methods\r
1214     //##################\r
1215 \r
1216     /**\r
1217      *\r
1218      */\r
1219     virtual ~SVGEllipseElement() {}\r
1220 \r
1221 };\r
1222 \r
1223 \r
1224 \r
1225 \r
1226 \r
1227 \r
1228 /*#########################################################################\r
1229 ## SVGLineElement\r
1230 #########################################################################*/\r
1231 \r
1232 /**\r
1233  *\r
1234  */\r
1235 class SVGLineElement :\r
1236                     virtual public SVGElement,\r
1237                     public SVGTests,\r
1238                     public SVGLangSpace,\r
1239                     public SVGExternalResourcesRequired,\r
1240                     public SVGStylable,\r
1241                     public SVGTransformable,\r
1242                     public events::EventTarget\r
1243 {\r
1244 public:\r
1245     /**\r
1246      *\r
1247      */\r
1248     virtual SVGAnimatedLength getX1() =0;\r
1249 \r
1250     /**\r
1251      *\r
1252      */\r
1253     virtual SVGAnimatedLength getY1() =0;\r
1254 \r
1255     /**\r
1256      *\r
1257      */\r
1258     virtual SVGAnimatedLength getX2() =0;\r
1259 \r
1260     /**\r
1261      *\r
1262      */\r
1263     virtual SVGAnimatedLength getY2() =0;\r
1264 \r
1265     //##################\r
1266     //# Non-API methods\r
1267     //##################\r
1268 \r
1269     /**\r
1270      *\r
1271      */\r
1272     virtual ~SVGLineElement() {}\r
1273 \r
1274 };\r
1275 \r
1276 \r
1277 \r
1278 \r
1279 /*#########################################################################\r
1280 ## SVGPolylineElement\r
1281 #########################################################################*/\r
1282 \r
1283 /**\r
1284  *\r
1285  */\r
1286 class SVGPolylineElement :\r
1287                     virtual public SVGElement,\r
1288                     public SVGTests,\r
1289                     public SVGLangSpace,\r
1290                     public SVGExternalResourcesRequired,\r
1291                     public SVGStylable,\r
1292                     public SVGTransformable,\r
1293                     public events::EventTarget,\r
1294                     public SVGAnimatedPoints\r
1295 {\r
1296 public:\r
1297 \r
1298     //##################\r
1299     //# Non-API methods\r
1300     //##################\r
1301 \r
1302     /**\r
1303      *\r
1304      */\r
1305     virtual ~SVGPolylineElement() {}\r
1306 \r
1307 };\r
1308 \r
1309 \r
1310 \r
1311 \r
1312 /*#########################################################################\r
1313 ## SVGPolygonElement\r
1314 #########################################################################*/\r
1315 \r
1316 /**\r
1317  *\r
1318  */\r
1319 class SVGPolygonElement :\r
1320                     virtual public SVGElement,\r
1321                     public SVGTests,\r
1322                     public SVGLangSpace,\r
1323                     public SVGExternalResourcesRequired,\r
1324                     public SVGStylable,\r
1325                     public SVGTransformable,\r
1326                     public events::EventTarget,\r
1327                     public SVGAnimatedPoints\r
1328 {\r
1329 public:\r
1330 \r
1331     //##################\r
1332     //# Non-API methods\r
1333     //##################\r
1334 \r
1335     /**\r
1336      *\r
1337      */\r
1338     virtual ~SVGPolygonElement() {}\r
1339 \r
1340 };\r
1341 \r
1342 \r
1343 \r
1344 \r
1345 /*#########################################################################\r
1346 ## SVGTextContentElement\r
1347 #########################################################################*/\r
1348 \r
1349 /**\r
1350  *\r
1351  */\r
1352 class SVGTextContentElement :\r
1353                     virtual public SVGElement,\r
1354                     public SVGTests,\r
1355                     public SVGLangSpace,\r
1356                     public SVGExternalResourcesRequired,\r
1357                     public SVGStylable,\r
1358                     public events::EventTarget\r
1359 {\r
1360 public:\r
1361 \r
1362 \r
1363 \r
1364     /**\r
1365      * lengthAdjust Types\r
1366      */\r
1367     typedef enum\r
1368         {\r
1369         LENGTHADJUST_UNKNOWN          = 0,\r
1370         LENGTHADJUST_SPACING          = 1,\r
1371         LENGTHADJUST_SPACINGANDGLYPHS = 2\r
1372         } LengthAdjustType;\r
1373 \r
1374 \r
1375     /**\r
1376      *\r
1377      */\r
1378     virtual SVGAnimatedLength getTextLength() =0;\r
1379 \r
1380 \r
1381     /**\r
1382      *\r
1383      */\r
1384     virtual SVGAnimatedEnumeration getLengthAdjust() =0;\r
1385 \r
1386 \r
1387     /**\r
1388      *\r
1389      */\r
1390     virtual long getNumberOfChars (  ) =0;\r
1391 \r
1392     /**\r
1393      *\r
1394      */\r
1395     virtual double getComputedTextLength (  ) =0;\r
1396 \r
1397     /**\r
1398      *\r
1399      */\r
1400     virtual double getSubStringLength (unsigned long charnum, unsigned long nchars )\r
1401                                      throw( DOMException ) =0;\r
1402 \r
1403     /**\r
1404      *\r
1405      */\r
1406     virtual SVGPoint getStartPositionOfChar (unsigned long charnum )\r
1407                                               throw( DOMException ) =0;\r
1408 \r
1409     /**\r
1410      *\r
1411      */\r
1412     virtual SVGPoint getEndPositionOfChar (unsigned long charnum )\r
1413                                            throw( DOMException ) =0;\r
1414 \r
1415     /**\r
1416      *\r
1417      */\r
1418     virtual SVGRect getExtentOfChar (unsigned long charnum )\r
1419                                       throw( DOMException ) =0;\r
1420 \r
1421     /**\r
1422      *\r
1423      */\r
1424     virtual double getRotationOfChar (unsigned long charnum )\r
1425                                      throw( DOMException ) =0;\r
1426 \r
1427     /**\r
1428      *\r
1429      */\r
1430     virtual long getCharNumAtPosition (const SVGPoint &point ) =0;\r
1431 \r
1432     /**\r
1433      *\r
1434      */\r
1435     virtual void selectSubString (unsigned long charnum, unsigned long nchars )\r
1436                                   throw( DOMException ) =0;\r
1437 \r
1438 \r
1439 \r
1440     //##################\r
1441     //# Non-API methods\r
1442     //##################\r
1443 \r
1444     /**\r
1445      *\r
1446      */\r
1447     virtual ~SVGTextContentElement() {}\r
1448 \r
1449 };\r
1450 \r
1451 \r
1452 \r
1453 \r
1454 \r
1455 \r
1456 /*#########################################################################\r
1457 ## SVGTextPositioningElement\r
1458 #########################################################################*/\r
1459 \r
1460 /**\r
1461  *\r
1462  */\r
1463 class SVGTextPositioningElement : virtual public SVGTextContentElement\r
1464 {\r
1465 public:\r
1466 \r
1467     /**\r
1468      *\r
1469      */\r
1470     virtual SVGAnimatedLength getX() =0;\r
1471 \r
1472     /**\r
1473      *\r
1474      */\r
1475     virtual SVGAnimatedLength getY() =0;\r
1476 \r
1477     /**\r
1478      *\r
1479      */\r
1480     virtual SVGAnimatedLength getDx() =0;\r
1481 \r
1482     /**\r
1483      *\r
1484      */\r
1485     virtual SVGAnimatedLength getDy() =0;\r
1486 \r
1487 \r
1488     /**\r
1489      *\r
1490      */\r
1491     virtual SVGAnimatedNumberList getRotate() =0;\r
1492 \r
1493 \r
1494 \r
1495     //##################\r
1496     //# Non-API methods\r
1497     //##################\r
1498 \r
1499     /**\r
1500      *\r
1501      */\r
1502     virtual ~SVGTextPositioningElement() {}\r
1503 \r
1504 };\r
1505 \r
1506 \r
1507 \r
1508 \r
1509 \r
1510 \r
1511 /*#########################################################################\r
1512 ## SVGTextElement\r
1513 #########################################################################*/\r
1514 \r
1515 /**\r
1516  *\r
1517  */\r
1518 class SVGTextElement : virtual public SVGTextPositioningElement,\r
1519                        public SVGTransformable\r
1520 {\r
1521 public:\r
1522 \r
1523     //##################\r
1524     //# Non-API methods\r
1525     //##################\r
1526 \r
1527     /**\r
1528      *\r
1529      */\r
1530     virtual ~SVGTextElement() {}\r
1531 \r
1532 };\r
1533 \r
1534 \r
1535 \r
1536 \r
1537 /*#########################################################################\r
1538 ## SVGTSpanElement\r
1539 #########################################################################*/\r
1540 \r
1541 /**\r
1542  *\r
1543  */\r
1544 class SVGTSpanElement : virtual public SVGTextPositioningElement\r
1545 {\r
1546 public:\r
1547 \r
1548     //##################\r
1549     //# Non-API methods\r
1550     //##################\r
1551 \r
1552     /**\r
1553      *\r
1554      */\r
1555     virtual ~SVGTSpanElement() {}\r
1556 \r
1557 };\r
1558 \r
1559 \r
1560 \r
1561 \r
1562 /*#########################################################################\r
1563 ## SVGTRefElement\r
1564 #########################################################################*/\r
1565 \r
1566 /**\r
1567  *\r
1568  */\r
1569 class SVGTRefElement :\r
1570                     virtual public SVGTextPositioningElement,\r
1571                     public SVGURIReference\r
1572 {\r
1573 public:\r
1574 \r
1575     //##################\r
1576     //# Non-API methods\r
1577     //##################\r
1578 \r
1579     /**\r
1580      *\r
1581      */\r
1582     virtual ~SVGTRefElement() {}\r
1583 \r
1584 };\r
1585 \r
1586 \r
1587 \r
1588 \r
1589 /*#########################################################################\r
1590 ## SVGTextPathElement\r
1591 #########################################################################*/\r
1592 \r
1593 /**\r
1594  *\r
1595  */\r
1596 class SVGTextPathElement :\r
1597                     virtual public SVGTextContentElement,\r
1598                     public SVGURIReference\r
1599 {\r
1600 public:\r
1601 \r
1602 \r
1603 \r
1604     /**\r
1605      * textPath Method Types\r
1606      */\r
1607     typedef enum\r
1608         {\r
1609         TEXTPATH_METHODTYPE_UNKNOWN   = 0,\r
1610         TEXTPATH_METHODTYPE_ALIGN     = 1,\r
1611         TEXTPATH_METHODTYPE_STRETCH   = 2\r
1612         } TextPathMethodType;\r
1613 \r
1614     /**\r
1615      * textPath Spacing Types\r
1616      */\r
1617     typedef enum\r
1618         {\r
1619         TEXTPATH_SPACINGTYPE_UNKNOWN  = 0,\r
1620         TEXTPATH_SPACINGTYPE_AUTO     = 1,\r
1621         TEXTPATH_SPACINGTYPE_EXACT    = 2\r
1622         } TextPathSpacingType;\r
1623 \r
1624 \r
1625     /**\r
1626      *\r
1627      */\r
1628     virtual SVGAnimatedLength getStartOffset() =0;\r
1629 \r
1630     /**\r
1631      *\r
1632      */\r
1633     virtual SVGAnimatedEnumeration getMethod() =0;\r
1634 \r
1635     /**\r
1636      *\r
1637      */\r
1638     virtual SVGAnimatedEnumeration getSpacing() =0;\r
1639 \r
1640 \r
1641 \r
1642     //##################\r
1643     //# Non-API methods\r
1644     //##################\r
1645 \r
1646     /**\r
1647      *\r
1648      */\r
1649     virtual ~SVGTextPathElement() {}\r
1650 \r
1651 };\r
1652 \r
1653 \r
1654 \r
1655 \r
1656 \r
1657 \r
1658 /*#########################################################################\r
1659 ## SVGAltGlyphElement\r
1660 #########################################################################*/\r
1661 \r
1662 /**\r
1663  *\r
1664  */\r
1665 class SVGAltGlyphElement :\r
1666                     virtual public SVGTextPositioningElement,\r
1667                     public SVGURIReference\r
1668 {\r
1669 public:\r
1670 \r
1671     /**\r
1672      *\r
1673      */\r
1674     virtual DOMString getGlyphRef() =0;\r
1675 \r
1676     /**\r
1677      *\r
1678      */\r
1679     virtual void setGlyphRef(const DOMString &val)\r
1680                                      throw (DOMException) =0;\r
1681 \r
1682     /**\r
1683      *\r
1684      */\r
1685     virtual DOMString getFormat() =0;\r
1686 \r
1687     /**\r
1688      *\r
1689      */\r
1690     virtual void setFormat(const DOMString &val)\r
1691                                      throw (DOMException) =0;\r
1692 \r
1693 \r
1694 \r
1695 \r
1696     //##################\r
1697     //# Non-API methods\r
1698     //##################\r
1699 \r
1700     /**\r
1701      *\r
1702      */\r
1703     virtual ~SVGAltGlyphElement() {}\r
1704 \r
1705 };\r
1706 \r
1707 \r
1708 \r
1709 \r
1710 \r
1711 \r
1712 /*#########################################################################\r
1713 ## SVGAltGlyphDefElement\r
1714 #########################################################################*/\r
1715 \r
1716 /**\r
1717  *\r
1718  */\r
1719 class SVGAltGlyphDefElement : virtual public SVGElement\r
1720 {\r
1721 public:\r
1722 \r
1723     //##################\r
1724     //# Non-API methods\r
1725     //##################\r
1726 \r
1727     /**\r
1728      *\r
1729      */\r
1730     virtual ~SVGAltGlyphDefElement() {}\r
1731 \r
1732 };\r
1733 \r
1734 \r
1735 \r
1736 \r
1737 /*#########################################################################\r
1738 ## SVGAltGlyphItemElement\r
1739 #########################################################################*/\r
1740 \r
1741 /**\r
1742  *\r
1743  */\r
1744 class SVGAltGlyphItemElement : virtual public SVGElement\r
1745 {\r
1746 public:\r
1747 \r
1748     //##################\r
1749     //# Non-API methods\r
1750     //##################\r
1751 \r
1752     /**\r
1753      *\r
1754      */\r
1755     virtual ~SVGAltGlyphItemElement() {}\r
1756 \r
1757 };\r
1758 \r
1759 \r
1760 \r
1761 \r
1762 /*#########################################################################\r
1763 ## SVGGlyphRefElement\r
1764 #########################################################################*/\r
1765 \r
1766 /**\r
1767  *\r
1768  */\r
1769 class SVGGlyphRefElement : virtual public SVGElement,\r
1770                            public SVGURIReference,\r
1771                            public SVGStylable\r
1772 {\r
1773 public:\r
1774     /**\r
1775      *\r
1776      */\r
1777     virtual DOMString getGlyphRef() =0;\r
1778 \r
1779     /**\r
1780      *\r
1781      */\r
1782     virtual void setGlyphRef(const DOMString &val)\r
1783                              throw (DOMException) =0;\r
1784 \r
1785     /**\r
1786      *\r
1787      */\r
1788     virtual DOMString getFormat() =0;\r
1789 \r
1790     /**\r
1791      *\r
1792      */\r
1793     virtual void setFormat(const DOMString &val)\r
1794                            throw (DOMException) =0;\r
1795 \r
1796     /**\r
1797      *\r
1798      */\r
1799     virtual double getX() = 0;\r
1800 \r
1801     /**\r
1802      *\r
1803      */\r
1804     virtual void setX(double val) throw (DOMException) =0;\r
1805 \r
1806     /**\r
1807      *\r
1808      */\r
1809     virtual double getY() = 0;\r
1810 \r
1811     /**\r
1812      *\r
1813      */\r
1814     virtual void setY(double val) throw (DOMException) =0;\r
1815 \r
1816     /**\r
1817      *\r
1818      */\r
1819     virtual double getDx() = 0;\r
1820 \r
1821     /**\r
1822      *\r
1823      */\r
1824     virtual void setDx(double val) throw (DOMException) =0;\r
1825 \r
1826     /**\r
1827      *\r
1828      */\r
1829     virtual double getDy() = 0;\r
1830 \r
1831     /**\r
1832      *\r
1833      */\r
1834     virtual void setDy(double val) throw (DOMException) =0;\r
1835 \r
1836 \r
1837 \r
1838 \r
1839     //##################\r
1840     //# Non-API methods\r
1841     //##################\r
1842 \r
1843     /**\r
1844      *\r
1845      */\r
1846     virtual ~SVGGlyphRefElement() {}\r
1847 \r
1848 };\r
1849 \r
1850 \r
1851 \r
1852 \r
1853 \r
1854 /*#########################################################################\r
1855 ## SVGMarkerElement\r
1856 #########################################################################*/\r
1857 \r
1858 /**\r
1859  *\r
1860  */\r
1861 class SVGMarkerElement :\r
1862                     virtual public SVGElement,\r
1863                     public SVGLangSpace,\r
1864                     public SVGExternalResourcesRequired,\r
1865                     public SVGStylable,\r
1866                     public SVGFitToViewBox\r
1867 {\r
1868 public:\r
1869 \r
1870 \r
1871 \r
1872     /**\r
1873      * Marker Unit Types\r
1874      */\r
1875     typedef enum\r
1876         {\r
1877         SVG_MARKERUNITS_UNKNOWN        = 0,\r
1878         SVG_MARKERUNITS_USERSPACEONUSE = 1,\r
1879         SVG_MARKERUNITS_STROKEWIDTH    = 2\r
1880         } MarkerUnitType;\r
1881 \r
1882     /**\r
1883      * Marker Orientation Types\r
1884      */\r
1885     typedef enum\r
1886         {\r
1887         SVG_MARKER_ORIENT_UNKNOWN      = 0,\r
1888         SVG_MARKER_ORIENT_AUTO         = 1,\r
1889         SVG_MARKER_ORIENT_ANGLE        = 2\r
1890         } MarkerOrientationType;\r
1891 \r
1892 \r
1893     /**\r
1894      *\r
1895      */\r
1896     virtual SVGAnimatedLength getRefX() =0;\r
1897 \r
1898     /**\r
1899      *\r
1900      */\r
1901     virtual SVGAnimatedLength getRefY() =0;\r
1902 \r
1903     /**\r
1904      *\r
1905      */\r
1906     virtual SVGAnimatedEnumeration getMarkerUnits() =0;\r
1907 \r
1908     /**\r
1909      *\r
1910      */\r
1911     virtual SVGAnimatedLength getMarkerWidth() =0;\r
1912 \r
1913     /**\r
1914      *\r
1915      */\r
1916     virtual SVGAnimatedLength getMarkerHeight() =0;\r
1917 \r
1918     /**\r
1919      *\r
1920      */\r
1921     virtual SVGAnimatedEnumeration getOrientType() =0;\r
1922 \r
1923     /**\r
1924      *\r
1925      */\r
1926     virtual SVGAnimatedAngle getOrientAngle() =0;\r
1927 \r
1928 \r
1929     /**\r
1930      *\r
1931      */\r
1932     virtual void setOrientToAuto (  ) =0;\r
1933 \r
1934     /**\r
1935      *\r
1936      */\r
1937     virtual void setOrientToAngle (const SVGAngle &angle) =0;\r
1938 \r
1939 \r
1940 \r
1941     //##################\r
1942     //# Non-API methods\r
1943     //##################\r
1944 \r
1945     /**\r
1946      *\r
1947      */\r
1948     virtual ~SVGMarkerElement() {}\r
1949 \r
1950 };\r
1951 \r
1952 \r
1953 \r
1954 \r
1955 \r
1956 \r
1957 /*#########################################################################\r
1958 ## SVGColorProfileElement\r
1959 #########################################################################*/\r
1960 \r
1961 /**\r
1962  *\r
1963  */\r
1964 class SVGColorProfileElement :\r
1965                     virtual public SVGElement,\r
1966                     public SVGURIReference,\r
1967                     public SVGRenderingIntent\r
1968 {\r
1969 public:\r
1970     /**\r
1971      *\r
1972      */\r
1973     virtual DOMString getLocal() =0;\r
1974 \r
1975     /**\r
1976      *\r
1977      */\r
1978     virtual void setLocal(const DOMString &val)\r
1979                           throw (DOMException) =0;\r
1980 \r
1981     /**\r
1982      *\r
1983      */\r
1984     virtual DOMString getName() =0;\r
1985 \r
1986     /**\r
1987      *\r
1988      */\r
1989     virtual void setName(const DOMString &val)\r
1990                          throw (DOMException) =0;\r
1991 \r
1992     /**\r
1993      *\r
1994      */\r
1995     virtual unsigned short getRenderingIntent() =0;\r
1996 \r
1997     /**\r
1998      *\r
1999      */\r
2000     virtual void setRenderingIntent(unsigned short val)\r
2001                                     throw (DOMException) =0;\r
2002 \r
2003 \r
2004 \r
2005     //##################\r
2006     //# Non-API methods\r
2007     //##################\r
2008 \r
2009     /**\r
2010      *\r
2011      */\r
2012     virtual ~SVGColorProfileElement() {}\r
2013 \r
2014 };\r
2015 \r
2016 \r
2017 \r
2018 \r
2019 /*#########################################################################\r
2020 ## SVGGradientElement\r
2021 #########################################################################*/\r
2022 \r
2023 /**\r
2024  *\r
2025  */\r
2026 class SVGGradientElement :\r
2027                     virtual public SVGElement,\r
2028                     public SVGURIReference,\r
2029                     public SVGExternalResourcesRequired,\r
2030                     public SVGStylable,\r
2031                     public SVGUnitTypes\r
2032 {\r
2033 public:\r
2034 \r
2035 \r
2036 \r
2037     /**\r
2038      * Spread Method Types\r
2039      */\r
2040     typedef enum\r
2041         {\r
2042         SVG_SPREADMETHOD_UNKNOWN = 0,\r
2043         SVG_SPREADMETHOD_PAD     = 1,\r
2044         SVG_SPREADMETHOD_REFLECT = 2,\r
2045         SVG_SPREADMETHOD_REPEAT  = 3\r
2046         } SpreadMethodType;\r
2047 \r
2048 \r
2049     /**\r
2050      *\r
2051      */\r
2052     virtual SVGAnimatedEnumeration getGradientUnits() =0;\r
2053 \r
2054     /**\r
2055      *\r
2056      */\r
2057     virtual SVGAnimatedTransformList getGradientTransform() =0;\r
2058 \r
2059     /**\r
2060      *\r
2061      */\r
2062     virtual SVGAnimatedEnumeration getSpreadMethod() =0;\r
2063 \r
2064 \r
2065 \r
2066     //##################\r
2067     //# Non-API methods\r
2068     //##################\r
2069 \r
2070     /**\r
2071      *\r
2072      */\r
2073     virtual ~SVGGradientElement() {}\r
2074 \r
2075 };\r
2076 \r
2077 \r
2078 \r
2079 \r
2080 \r
2081 \r
2082 /*#########################################################################\r
2083 ## SVGLinearGradientElement\r
2084 #########################################################################*/\r
2085 \r
2086 /**\r
2087  *\r
2088  */\r
2089 class SVGLinearGradientElement : virtual public SVGGradientElement\r
2090 {\r
2091 public:\r
2092 \r
2093 \r
2094     /**\r
2095      *\r
2096      */\r
2097     virtual SVGAnimatedLength getX1() =0;\r
2098 \r
2099     /**\r
2100      *\r
2101      */\r
2102     virtual SVGAnimatedLength getY1() =0;\r
2103 \r
2104     /**\r
2105      *\r
2106      */\r
2107     virtual SVGAnimatedLength getX2() =0;\r
2108 \r
2109     /**\r
2110      *\r
2111      */\r
2112     virtual SVGAnimatedLength getY2() =0;\r
2113 \r
2114 \r
2115     //##################\r
2116     //# Non-API methods\r
2117     //##################\r
2118 \r
2119     /**\r
2120      *\r
2121      */\r
2122     virtual ~SVGLinearGradientElement() {}\r
2123 \r
2124 };\r
2125 \r
2126 \r
2127 \r
2128 \r
2129 \r
2130 \r
2131 /*#########################################################################\r
2132 ## SVGRadialGradientElement\r
2133 #########################################################################*/\r
2134 \r
2135 /**\r
2136  *\r
2137  */\r
2138 class SVGRadialGradientElement : virtual public SVGGradientElement\r
2139 {\r
2140 public:\r
2141 \r
2142 \r
2143     /**\r
2144      *\r
2145      */\r
2146     virtual SVGAnimatedLength getCx() =0;\r
2147 \r
2148 \r
2149     /**\r
2150      *\r
2151      */\r
2152     virtual SVGAnimatedLength getCy() =0;\r
2153 \r
2154 \r
2155     /**\r
2156      *\r
2157      */\r
2158     virtual SVGAnimatedLength getR() =0;\r
2159 \r
2160 \r
2161     /**\r
2162      *\r
2163      */\r
2164     virtual SVGAnimatedLength getFx() =0;\r
2165 \r
2166 \r
2167     /**\r
2168      *\r
2169      */\r
2170     virtual SVGAnimatedLength getFy() =0;\r
2171 \r
2172 \r
2173 \r
2174 \r
2175     //##################\r
2176     //# Non-API methods\r
2177     //##################\r
2178 \r
2179     /**\r
2180      *\r
2181      */\r
2182     virtual ~SVGRadialGradientElement() {}\r
2183 \r
2184 };\r
2185 \r
2186 \r
2187 \r
2188 \r
2189 \r
2190 \r
2191 /*#########################################################################\r
2192 ## SVGStopElement\r
2193 #########################################################################*/\r
2194 \r
2195 /**\r
2196  *\r
2197  */\r
2198 class SVGStopElement :\r
2199                     virtual public SVGElement,\r
2200                     public SVGStylable\r
2201 {\r
2202 public:\r
2203 \r
2204     /**\r
2205      *\r
2206      */\r
2207     virtual SVGAnimatedNumber getOffset() =0;\r
2208 \r
2209 \r
2210 \r
2211     //##################\r
2212     //# Non-API methods\r
2213     //##################\r
2214 \r
2215     /**\r
2216      *\r
2217      */\r
2218     virtual ~SVGStopElement() {}\r
2219 \r
2220 };\r
2221 \r
2222 \r
2223 \r
2224 \r
2225 \r
2226 \r
2227 /*#########################################################################\r
2228 ## SVGPatternElement\r
2229 #########################################################################*/\r
2230 \r
2231 /**\r
2232  *\r
2233  */\r
2234 class SVGPatternElement :\r
2235                     virtual public SVGElement,\r
2236                     public SVGURIReference,\r
2237                     public SVGTests,\r
2238                     public SVGLangSpace,\r
2239                     public SVGExternalResourcesRequired,\r
2240                     public SVGStylable,\r
2241                     public SVGFitToViewBox,\r
2242                     public SVGUnitTypes\r
2243 {\r
2244 public:\r
2245 \r
2246 \r
2247 \r
2248 \r
2249     /**\r
2250      *\r
2251      */\r
2252     virtual SVGAnimatedEnumeration getPatternUnits() =0;\r
2253 \r
2254     /**\r
2255      *\r
2256      */\r
2257     virtual SVGAnimatedEnumeration getPatternContentUnits() =0;\r
2258 \r
2259     /**\r
2260      *\r
2261      */\r
2262     virtual SVGAnimatedTransformList getPatternTransform() =0;\r
2263 \r
2264     /**\r
2265      *\r
2266      */\r
2267     virtual SVGAnimatedLength getX() =0;\r
2268 \r
2269     /**\r
2270      *\r
2271      */\r
2272     virtual SVGAnimatedLength getY() =0;\r
2273 \r
2274     /**\r
2275      *\r
2276      */\r
2277     virtual SVGAnimatedLength getWidth() =0;\r
2278 \r
2279     /**\r
2280      *\r
2281      */\r
2282     virtual SVGAnimatedLength getHeight() =0;\r
2283 \r
2284 \r
2285 \r
2286     //##################\r
2287     //# Non-API methods\r
2288     //##################\r
2289 \r
2290     /**\r
2291      *\r
2292      */\r
2293     virtual ~SVGPatternElement() {}\r
2294 \r
2295 };\r
2296 \r
2297 \r
2298 \r
2299 \r
2300 \r
2301 \r
2302 /*#########################################################################\r
2303 ## SVGClipPathElement\r
2304 #########################################################################*/\r
2305 \r
2306 /**\r
2307  *\r
2308  */\r
2309 class SVGClipPathElement :\r
2310                     virtual public SVGElement,\r
2311                     public SVGTests,\r
2312                     public SVGLangSpace,\r
2313                     public SVGExternalResourcesRequired,\r
2314                     public SVGStylable,\r
2315                     public SVGTransformable,\r
2316                     public SVGUnitTypes\r
2317 {\r
2318 public:\r
2319     /**\r
2320      *\r
2321      */\r
2322     virtual SVGAnimatedEnumeration getClipPathUnits() =0;\r
2323 \r
2324 \r
2325 \r
2326 \r
2327     //##################\r
2328     //# Non-API methods\r
2329     //##################\r
2330 \r
2331     /**\r
2332      *\r
2333      */\r
2334     virtual ~SVGClipPathElement() {}\r
2335 \r
2336 };\r
2337 \r
2338 \r
2339 \r
2340 \r
2341 \r
2342 \r
2343 /*#########################################################################\r
2344 ## SVGMaskElement\r
2345 #########################################################################*/\r
2346 \r
2347 /**\r
2348  *\r
2349  */\r
2350 class SVGMaskElement :\r
2351                     virtual public SVGElement,\r
2352                     public SVGTests,\r
2353                     public SVGLangSpace,\r
2354                     public SVGExternalResourcesRequired,\r
2355                     public SVGStylable,\r
2356                     public SVGUnitTypes\r
2357 {\r
2358 public:\r
2359 \r
2360 \r
2361 \r
2362     /**\r
2363      *\r
2364      */\r
2365     virtual SVGAnimatedEnumeration getMaskUnits() =0;\r
2366 \r
2367     /**\r
2368      *\r
2369      */\r
2370     virtual SVGAnimatedEnumeration getMaskContentUnits() =0;\r
2371 \r
2372     /**\r
2373      *\r
2374      */\r
2375     virtual SVGAnimatedLength getX() =0;\r
2376 \r
2377     /**\r
2378      *\r
2379      */\r
2380     virtual SVGAnimatedLength getY() =0;\r
2381 \r
2382     /**\r
2383      *\r
2384      */\r
2385     virtual SVGAnimatedLength getWidth() =0;\r
2386 \r
2387     /**\r
2388      *\r
2389      */\r
2390     virtual SVGAnimatedLength getHeight() =0;\r
2391 \r
2392     //##################\r
2393     //# Non-API methods\r
2394     //##################\r
2395 \r
2396     /**\r
2397      *\r
2398      */\r
2399     virtual ~SVGMaskElement() {}\r
2400 \r
2401 };\r
2402 \r
2403 \r
2404 \r
2405 \r
2406 \r
2407 \r
2408 /*#########################################################################\r
2409 ## SVGFilterElement\r
2410 #########################################################################*/\r
2411 \r
2412 /**\r
2413  *\r
2414  */\r
2415 class SVGFilterElement :\r
2416                     virtual public SVGElement,\r
2417                     public SVGURIReference,\r
2418                     public SVGLangSpace,\r
2419                     public SVGExternalResourcesRequired,\r
2420                     public SVGStylable,\r
2421                     public SVGUnitTypes\r
2422 {\r
2423 public:\r
2424 \r
2425 \r
2426 \r
2427     /**\r
2428      *\r
2429      */\r
2430     virtual SVGAnimatedEnumeration getFilterUnits() =0;\r
2431 \r
2432     /**\r
2433      *\r
2434      */\r
2435     virtual SVGAnimatedEnumeration getPrimitiveUnits() =0;\r
2436 \r
2437     /**\r
2438      *\r
2439      */\r
2440     virtual SVGAnimatedLength getX() =0;\r
2441 \r
2442     /**\r
2443      *\r
2444      */\r
2445     virtual SVGAnimatedLength getY() =0;\r
2446 \r
2447     /**\r
2448      *\r
2449      */\r
2450     virtual SVGAnimatedLength getWidth() =0;\r
2451 \r
2452     /**\r
2453      *\r
2454      */\r
2455     virtual SVGAnimatedLength getHeight() =0;\r
2456 \r
2457 \r
2458     /**\r
2459      *\r
2460      */\r
2461     virtual SVGAnimatedInteger getFilterResX() =0;\r
2462 \r
2463     /**\r
2464      *\r
2465      */\r
2466     virtual SVGAnimatedInteger getFilterResY() =0;\r
2467 \r
2468     /**\r
2469      *\r
2470      */\r
2471     virtual void setFilterRes (unsigned long filterResX,\r
2472                                unsigned long filterResY ) =0;\r
2473 \r
2474 \r
2475 \r
2476     //##################\r
2477     //# Non-API methods\r
2478     //##################\r
2479 \r
2480     /**\r
2481      *\r
2482      */\r
2483     virtual ~SVGFilterElement() {}\r
2484 \r
2485 };\r
2486 \r
2487 \r
2488 \r
2489 \r
2490 \r
2491 /*#########################################################################\r
2492 ## SVGFEBlendElement\r
2493 #########################################################################*/\r
2494 \r
2495 /**\r
2496  *\r
2497  */\r
2498 class SVGFEBlendElement :\r
2499                     virtual public SVGElement,\r
2500                     public SVGFilterPrimitiveStandardAttributes\r
2501 {\r
2502 public:\r
2503 \r
2504 \r
2505     /**\r
2506      * Blend Mode Types\r
2507      */\r
2508     typedef enum\r
2509         {\r
2510         SVG_FEBLEND_MODE_UNKNOWN  = 0,\r
2511         SVG_FEBLEND_MODE_NORMAL   = 1,\r
2512         SVG_FEBLEND_MODE_MULTIPLY = 2,\r
2513         SVG_FEBLEND_MODE_SCREEN   = 3,\r
2514         SVG_FEBLEND_MODE_DARKEN   = 4,\r
2515         SVG_FEBLEND_MODE_LIGHTEN  = 5\r
2516         } BlendModeType;\r
2517 \r
2518     /**\r
2519      *\r
2520      */\r
2521     virtual SVGAnimatedString getIn1() =0;\r
2522 \r
2523     /**\r
2524      *\r
2525      */\r
2526     virtual SVGAnimatedString getIn2() =0;\r
2527 \r
2528     /**\r
2529      *\r
2530      */\r
2531     virtual SVGAnimatedEnumeration getMode() =0;\r
2532 \r
2533 \r
2534     //##################\r
2535     //# Non-API methods\r
2536     //##################\r
2537 \r
2538     /**\r
2539      *\r
2540      */\r
2541     virtual ~SVGFEBlendElement() {}\r
2542 \r
2543 };\r
2544 \r
2545 \r
2546 \r
2547 \r
2548 \r
2549 \r
2550 /*#########################################################################\r
2551 ## SVGFEColorMatrixElement\r
2552 #########################################################################*/\r
2553 \r
2554 /**\r
2555  *\r
2556  */\r
2557 class SVGFEColorMatrixElement :\r
2558                     virtual public SVGElement,\r
2559                     public SVGFilterPrimitiveStandardAttributes\r
2560 {\r
2561 public:\r
2562 \r
2563 \r
2564 \r
2565     /**\r
2566      * Color Matrix Types\r
2567      */\r
2568     typedef enum\r
2569         {\r
2570         SVG_FECOLORMATRIX_TYPE_UNKNOWN          = 0,\r
2571         SVG_FECOLORMATRIX_TYPE_MATRIX           = 1,\r
2572         SVG_FECOLORMATRIX_TYPE_SATURATE         = 2,\r
2573         SVG_FECOLORMATRIX_TYPE_HUEROTATE        = 3,\r
2574         SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4\r
2575         } ColorMatrixType;\r
2576 \r
2577 \r
2578     /**\r
2579      *\r
2580      */\r
2581     virtual SVGAnimatedString getIn1() =0;\r
2582 \r
2583     /**\r
2584      *\r
2585      */\r
2586     virtual SVGAnimatedEnumeration getType() =0;\r
2587 \r
2588     /**\r
2589      *\r
2590      */\r
2591     virtual SVGAnimatedNumberList getValues() =0;\r
2592 \r
2593 \r
2594 \r
2595     //##################\r
2596     //# Non-API methods\r
2597     //##################\r
2598 \r
2599     /**\r
2600      *\r
2601      */\r
2602     virtual ~SVGFEColorMatrixElement() {}\r
2603 \r
2604 };\r
2605 \r
2606 \r
2607 \r
2608 \r
2609 \r
2610 \r
2611 /*#########################################################################\r
2612 ## SVGFEComponentTransferElement\r
2613 #########################################################################*/\r
2614 \r
2615 /**\r
2616  *\r
2617  */\r
2618 class SVGFEComponentTransferElement :\r
2619                     virtual public SVGElement,\r
2620                     public SVGFilterPrimitiveStandardAttributes\r
2621 {\r
2622 public:\r
2623     /**\r
2624      *\r
2625      */\r
2626     virtual SVGAnimatedString getIn1() =0;\r
2627 \r
2628     //##################\r
2629     //# Non-API methods\r
2630     //##################\r
2631 \r
2632     /**\r
2633      *\r
2634      */\r
2635     virtual ~SVGFEComponentTransferElement() {}\r
2636 \r
2637 };\r
2638 \r
2639 \r
2640 \r
2641 \r
2642 \r
2643 \r
2644 /*#########################################################################\r
2645 ## SVGComponentTransferFunctionElement\r
2646 #########################################################################*/\r
2647 \r
2648 /**\r
2649  *\r
2650  */\r
2651 class SVGComponentTransferFunctionElement : virtual public SVGElement\r
2652 {\r
2653 public:\r
2654 \r
2655 \r
2656     /**\r
2657      * Component Transfer Types\r
2658      */\r
2659     typedef enum\r
2660         {\r
2661         SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN  = 0,\r
2662         SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,\r
2663         SVG_FECOMPONENTTRANSFER_TYPE_TABLE    = 2,\r
2664         SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,\r
2665         SVG_FECOMPONENTTRANSFER_TYPE_LINEAR   = 4,\r
2666         SVG_FECOMPONENTTRANSFER_TYPE_GAMMA    = 5\r
2667         } ComponentTransferType;\r
2668 \r
2669 \r
2670     /**\r
2671      *\r
2672      */\r
2673     virtual SVGAnimatedEnumeration getType() =0;\r
2674 \r
2675     /**\r
2676      *\r
2677      */\r
2678     virtual SVGAnimatedNumberList getTableValues() =0;\r
2679 \r
2680     /**\r
2681      *\r
2682      */\r
2683     virtual SVGAnimatedNumber getSlope() =0;\r
2684 \r
2685     /**\r
2686      *\r
2687      */\r
2688     virtual SVGAnimatedNumber getIntercept() =0;\r
2689 \r
2690     /**\r
2691      *\r
2692      */\r
2693     virtual SVGAnimatedNumber getAmplitude() =0;\r
2694 \r
2695     /**\r
2696      *\r
2697      */\r
2698     virtual SVGAnimatedNumber getExponent() =0;\r
2699 \r
2700     /**\r
2701      *\r
2702      */\r
2703     virtual SVGAnimatedNumber getOffset() =0;\r
2704 \r
2705 \r
2706     //##################\r
2707     //# Non-API methods\r
2708     //##################\r
2709 \r
2710     /**\r
2711      *\r
2712      */\r
2713     virtual ~SVGComponentTransferFunctionElement() {}\r
2714 \r
2715 };\r
2716 \r
2717 \r
2718 \r
2719 \r
2720 \r
2721 \r
2722 /*#########################################################################\r
2723 ## SVGFEFuncRElement\r
2724 #########################################################################*/\r
2725 \r
2726 /**\r
2727  *\r
2728  */\r
2729 class SVGFEFuncRElement : virtual public SVGComponentTransferFunctionElement\r
2730 {\r
2731 public:\r
2732 \r
2733     //##################\r
2734     //# Non-API methods\r
2735     //##################\r
2736 \r
2737     /**\r
2738      *\r
2739      */\r
2740     virtual ~SVGFEFuncRElement() {}\r
2741 \r
2742 };\r
2743 \r
2744 \r
2745 \r
2746 \r
2747 /*#########################################################################\r
2748 ## SVGFEFuncGElement\r
2749 #########################################################################*/\r
2750 \r
2751 /**\r
2752  *\r
2753  */\r
2754 class SVGFEFuncGElement : public virtual SVGComponentTransferFunctionElement\r
2755 {\r
2756 public:\r
2757 \r
2758     //##################\r
2759     //# Non-API methods\r
2760     //##################\r
2761 \r
2762     /**\r
2763      *\r
2764      */\r
2765     virtual ~SVGFEFuncGElement() {}\r
2766 \r
2767 };\r
2768 \r
2769 \r
2770 \r
2771 \r
2772 /*#########################################################################\r
2773 ## SVGFEFuncBElement\r
2774 #########################################################################*/\r
2775 \r
2776 /**\r
2777  *\r
2778  */\r
2779 class SVGFEFuncBElement : virtual public SVGComponentTransferFunctionElement\r
2780 {\r
2781 public:\r
2782 \r
2783     //##################\r
2784     //# Non-API methods\r
2785     //##################\r
2786 \r
2787     /**\r
2788      *\r
2789      */\r
2790     virtual ~SVGFEFuncBElement() {}\r
2791 \r
2792 };\r
2793 \r
2794 \r
2795 \r
2796 \r
2797 /*#########################################################################\r
2798 ## SVGFEFuncAElement\r
2799 #########################################################################*/\r
2800 \r
2801 /**\r
2802  *\r
2803  */\r
2804 class SVGFEFuncAElement : virtual public SVGComponentTransferFunctionElement\r
2805 {\r
2806 public:\r
2807 \r
2808     //##################\r
2809     //# Non-API methods\r
2810     //##################\r
2811 \r
2812     /**\r
2813      *\r
2814      */\r
2815     virtual ~SVGFEFuncAElement() {}\r
2816 \r
2817 };\r
2818 \r
2819 \r
2820 \r
2821 \r
2822 /*#########################################################################\r
2823 ## SVGFECompositeElement\r
2824 #########################################################################*/\r
2825 \r
2826 /**\r
2827  *\r
2828  */\r
2829 class SVGFECompositeElement :\r
2830                     virtual public SVGElement,\r
2831                     public SVGFilterPrimitiveStandardAttributes\r
2832 {\r
2833 public:\r
2834 \r
2835 \r
2836 \r
2837     /**\r
2838      *  Composite Operators\r
2839      */\r
2840     typedef enum\r
2841         {\r
2842         SVG_FECOMPOSITE_OPERATOR_UNKNOWN    = 0,\r
2843         SVG_FECOMPOSITE_OPERATOR_OVER       = 1,\r
2844         SVG_FECOMPOSITE_OPERATOR_IN         = 2,\r
2845         SVG_FECOMPOSITE_OPERATOR_OUT        = 3,\r
2846         SVG_FECOMPOSITE_OPERATOR_ATOP       = 4,\r
2847         SVG_FECOMPOSITE_OPERATOR_XOR        = 5,\r
2848         SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6\r
2849         } CompositeOperatorType;\r
2850 \r
2851     /**\r
2852      *\r
2853      */\r
2854     virtual SVGAnimatedString getIn1() =0;\r
2855 \r
2856     /**\r
2857      *\r
2858      */\r
2859     virtual SVGAnimatedString getIn2() =0;\r
2860 \r
2861     /**\r
2862      *\r
2863      */\r
2864     virtual SVGAnimatedEnumeration getOperator() =0;\r
2865 \r
2866     /**\r
2867      *\r
2868      */\r
2869     virtual SVGAnimatedNumber getK1() =0;\r
2870 \r
2871     /**\r
2872      *\r
2873      */\r
2874     virtual SVGAnimatedNumber getK2() =0;\r
2875 \r
2876     /**\r
2877      *\r
2878      */\r
2879     virtual SVGAnimatedNumber getK3() =0;\r
2880 \r
2881     /**\r
2882      *\r
2883      */\r
2884     virtual SVGAnimatedNumber getK4() =0;\r
2885 \r
2886 \r
2887 \r
2888     //##################\r
2889     //# Non-API methods\r
2890     //##################\r
2891 \r
2892     /**\r
2893      *\r
2894      */\r
2895     virtual ~SVGFECompositeElement() {}\r
2896 \r
2897 };\r
2898 \r
2899 \r
2900 \r
2901 \r
2902 \r
2903 \r
2904 /*#########################################################################\r
2905 ## SVGFEConvolveMatrixElement\r
2906 #########################################################################*/\r
2907 \r
2908 /**\r
2909  *\r
2910  */\r
2911 class SVGFEConvolveMatrixElement :\r
2912                     virtual public SVGElement,\r
2913                     public SVGFilterPrimitiveStandardAttributes\r
2914 {\r
2915 public:\r
2916 \r
2917 \r
2918 \r
2919     /**\r
2920      * Edge Mode Values\r
2921      */\r
2922     typedef enum\r
2923         {\r
2924         SVG_EDGEMODE_UNKNOWN   = 0,\r
2925         SVG_EDGEMODE_DUPLICATE = 1,\r
2926         SVG_EDGEMODE_WRAP      = 2,\r
2927         SVG_EDGEMODE_NONE      = 3\r
2928         } EdgeModeType;\r
2929 \r
2930 \r
2931     /**\r
2932      *\r
2933      */\r
2934     virtual SVGAnimatedInteger getOrderX() =0;\r
2935 \r
2936     /**\r
2937      *\r
2938      */\r
2939     virtual SVGAnimatedInteger getOrderY() =0;\r
2940 \r
2941     /**\r
2942      *\r
2943      */\r
2944     virtual SVGAnimatedNumberList getKernelMatrix() =0;\r
2945 \r
2946     /**\r
2947      *\r
2948      */\r
2949     virtual SVGAnimatedNumber getDivisor() =0;\r
2950 \r
2951     /**\r
2952      *\r
2953      */\r
2954     virtual SVGAnimatedNumber getBias() =0;\r
2955 \r
2956     /**\r
2957      *\r
2958      */\r
2959     virtual SVGAnimatedInteger getTargetX() =0;\r
2960 \r
2961     /**\r
2962      *\r
2963      */\r
2964     virtual SVGAnimatedInteger getTargetY() =0;\r
2965 \r
2966     /**\r
2967      *\r
2968      */\r
2969     virtual SVGAnimatedEnumeration getEdgeMode() =0;\r
2970 \r
2971     /**\r
2972      *\r
2973      */\r
2974     virtual SVGAnimatedLength getKernelUnitLengthX() =0;\r
2975 \r
2976     /**\r
2977      *\r
2978      */\r
2979     virtual SVGAnimatedLength getKernelUnitLengthY() =0;\r
2980 \r
2981     /**\r
2982      *\r
2983      */\r
2984     virtual SVGAnimatedBoolean getPreserveAlpha() =0;\r
2985 \r
2986 \r
2987 \r
2988     //##################\r
2989     //# Non-API methods\r
2990     //##################\r
2991 \r
2992     /**\r
2993      *\r
2994      */\r
2995     virtual ~SVGFEConvolveMatrixElement() {}\r
2996 \r
2997 };\r
2998 \r
2999 \r
3000 \r
3001 \r
3002 \r
3003 \r
3004 /*#########################################################################\r
3005 ## SVGFEDiffuseLightingElement\r
3006 #########################################################################*/\r
3007 \r
3008 /**\r
3009  *\r
3010  */\r
3011 class SVGFEDiffuseLightingElement :\r
3012                     virtual public SVGElement,\r
3013                     public SVGFilterPrimitiveStandardAttributes\r
3014 {\r
3015 public:\r
3016 \r
3017     /**\r
3018      *\r
3019      */\r
3020     virtual SVGAnimatedString getIn1() =0;\r
3021 \r
3022     /**\r
3023      *\r
3024      */\r
3025     virtual SVGAnimatedNumber getSurfaceScale() =0;\r
3026 \r
3027     /**\r
3028      *\r
3029      */\r
3030     virtual SVGAnimatedNumber getDiffuseConstant() =0;\r
3031 \r
3032 \r
3033 \r
3034     //##################\r
3035     //# Non-API methods\r
3036     //##################\r
3037 \r
3038     /**\r
3039      *\r
3040      */\r
3041     virtual ~SVGFEDiffuseLightingElement() {}\r
3042 \r
3043 };\r
3044 \r
3045 \r
3046 \r
3047 \r
3048 \r
3049 \r
3050 /*#########################################################################\r
3051 ## SVGFEDistantLightElement\r
3052 #########################################################################*/\r
3053 \r
3054 /**\r
3055  *\r
3056  */\r
3057 class SVGFEDistantLightElement : virtual public SVGElement\r
3058 {\r
3059 public:\r
3060 \r
3061     /**\r
3062      *\r
3063      */\r
3064     virtual SVGAnimatedNumber getAzimuth() =0;\r
3065 \r
3066 \r
3067     /**\r
3068      *\r
3069      */\r
3070     virtual SVGAnimatedNumber getElevation() =0;\r
3071 \r
3072 \r
3073 \r
3074     //##################\r
3075     //# Non-API methods\r
3076     //##################\r
3077 \r
3078     /**\r
3079      *\r
3080      */\r
3081     virtual ~SVGFEDistantLightElement() {}\r
3082 \r
3083 };\r
3084 \r
3085 \r
3086 \r
3087 \r
3088 \r
3089 \r
3090 /*#########################################################################\r
3091 ## SVGFEPointLightElement\r
3092 #########################################################################*/\r
3093 \r
3094 /**\r
3095  *\r
3096  */\r
3097 class SVGFEPointLightElement : virtual public SVGElement\r
3098 {\r
3099 public:\r
3100     /**\r
3101      *\r
3102      */\r
3103     virtual SVGAnimatedNumber getX() =0;\r
3104 \r
3105 \r
3106     /**\r
3107      *\r
3108      */\r
3109     virtual SVGAnimatedNumber getY() =0;\r
3110 \r
3111     /**\r
3112      *\r
3113      */\r
3114     virtual SVGAnimatedNumber getZ() =0;\r
3115 \r
3116     //##################\r
3117     //# Non-API methods\r
3118     //##################\r
3119 \r
3120     /**\r
3121      *\r
3122      */\r
3123     virtual ~SVGFEPointLightElement() {}\r
3124 \r
3125 };\r
3126 \r
3127 \r
3128 \r
3129 \r
3130 \r
3131 \r
3132 /*#########################################################################\r
3133 ## SVGFESpotLightElement\r
3134 #########################################################################*/\r
3135 \r
3136 /**\r
3137  *\r
3138  */\r
3139 class SVGFESpotLightElement : virtual public SVGElement\r
3140 {\r
3141 public:\r
3142 \r
3143     /**\r
3144      *\r
3145      */\r
3146     virtual SVGAnimatedNumber getX() =0;\r
3147 \r
3148 \r
3149     /**\r
3150      *\r
3151      */\r
3152     virtual SVGAnimatedNumber getY() =0;\r
3153 \r
3154     /**\r
3155      *\r
3156      */\r
3157     virtual SVGAnimatedNumber getZ() =0;\r
3158 \r
3159     /**\r
3160      *\r
3161      */\r
3162     virtual SVGAnimatedNumber getPointsAtX() =0;\r
3163 \r
3164     /**\r
3165      *\r
3166      */\r
3167     virtual SVGAnimatedNumber getPointsAtY() =0;\r
3168 \r
3169     /**\r
3170      *\r
3171      */\r
3172     virtual SVGAnimatedNumber getPointsAtZ() =0;\r
3173 \r
3174     /**\r
3175      *\r
3176      */\r
3177     virtual SVGAnimatedNumber getSpecularExponent() =0;\r
3178 \r
3179     /**\r
3180      *\r
3181      */\r
3182     virtual SVGAnimatedNumber getLimitingConeAngle() =0;\r
3183 \r
3184 \r
3185 \r
3186     //##################\r
3187     //# Non-API methods\r
3188     //##################\r
3189 \r
3190     /**\r
3191      *\r
3192      */\r
3193     virtual ~SVGFESpotLightElement() {}\r
3194 \r
3195 };\r
3196 \r
3197 \r
3198 \r
3199 \r
3200 \r
3201 \r
3202 /*#########################################################################\r
3203 ## SVGFEDisplacementMapElement\r
3204 #########################################################################*/\r
3205 \r
3206 /**\r
3207  *\r
3208  */\r
3209 class SVGFEDisplacementMapElement :\r
3210                     virtual public SVGElement,\r
3211                     public SVGFilterPrimitiveStandardAttributes\r
3212 {\r
3213 public:\r
3214 \r
3215 \r
3216 \r
3217     /**\r
3218      *  Channel Selectors\r
3219      */\r
3220     typedef enum\r
3221         {\r
3222         SVG_CHANNEL_UNKNOWN = 0,\r
3223         SVG_CHANNEL_R       = 1,\r
3224         SVG_CHANNEL_G       = 2,\r
3225         SVG_CHANNEL_B       = 3,\r
3226         SVG_CHANNEL_A       = 4\r
3227         } ChannelSelector;\r
3228 \r
3229     /**\r
3230      *\r
3231      */\r
3232     virtual SVGAnimatedString getIn1() =0;\r
3233 \r
3234     /**\r
3235      *\r
3236      */\r
3237     virtual SVGAnimatedString getIn2() =0;\r
3238 \r
3239 \r
3240     /**\r
3241      *\r
3242      */\r
3243     virtual SVGAnimatedNumber getScale() =0;\r
3244 \r
3245     /**\r
3246      *\r
3247      */\r
3248     virtual SVGAnimatedEnumeration getXChannelSelector() =0;\r
3249 \r
3250     /**\r
3251      *\r
3252      */\r
3253     virtual SVGAnimatedEnumeration getYChannelSelector() =0;\r
3254 \r
3255 \r
3256 \r
3257     //##################\r
3258     //# Non-API methods\r
3259     //##################\r
3260 \r
3261     /**\r
3262      *\r
3263      */\r
3264     virtual ~SVGFEDisplacementMapElement() {}\r
3265 \r
3266 };\r
3267 \r
3268 \r
3269 \r
3270 \r
3271 \r
3272 \r
3273 /*#########################################################################\r
3274 ## SVGFEFloodElement\r
3275 #########################################################################*/\r
3276 \r
3277 /**\r
3278  *\r
3279  */\r
3280 class SVGFEFloodElement :\r
3281                     virtual public SVGElement,\r
3282                     public SVGFilterPrimitiveStandardAttributes\r
3283 {\r
3284 public:\r
3285     /**\r
3286      *\r
3287      */\r
3288     virtual SVGAnimatedString getIn1() =0;\r
3289 \r
3290 \r
3291     //##################\r
3292     //# Non-API methods\r
3293     //##################\r
3294 \r
3295     /**\r
3296      *\r
3297      */\r
3298     virtual ~SVGFEFloodElement() {}\r
3299 \r
3300 };\r
3301 \r
3302 \r
3303 \r
3304 \r
3305 \r
3306 \r
3307 /*#########################################################################\r
3308 ## SVGFEGaussianBlurElement\r
3309 #########################################################################*/\r
3310 \r
3311 /**\r
3312  *\r
3313  */\r
3314 class SVGFEGaussianBlurElement :\r
3315                     virtual public SVGElement,\r
3316                     public SVGFilterPrimitiveStandardAttributes\r
3317 {\r
3318 public:\r
3319     /**\r
3320      *\r
3321      */\r
3322     virtual SVGAnimatedString getIn1() =0;\r
3323 \r
3324 \r
3325     /**\r
3326      *\r
3327      */\r
3328     virtual SVGAnimatedNumber getStdDeviationX() =0;\r
3329 \r
3330     /**\r
3331      *\r
3332      */\r
3333     virtual SVGAnimatedNumber getStdDeviationY() =0;\r
3334 \r
3335 \r
3336     /**\r
3337      *\r
3338      */\r
3339     virtual void setStdDeviation (double stdDeviationX, double stdDeviationY ) =0;\r
3340 \r
3341 \r
3342 \r
3343     //##################\r
3344     //# Non-API methods\r
3345     //##################\r
3346 \r
3347     /**\r
3348      *\r
3349      */\r
3350     virtual ~SVGFEGaussianBlurElement() {}\r
3351 \r
3352 };\r
3353 \r
3354 \r
3355 \r
3356 \r
3357 \r
3358 \r
3359 /*#########################################################################\r
3360 ## SVGFEImageElement\r
3361 #########################################################################*/\r
3362 \r
3363 /**\r
3364  *\r
3365  */\r
3366 class SVGFEImageElement :\r
3367                     virtual public SVGElement,\r
3368                     public SVGURIReference,\r
3369                     public SVGLangSpace,\r
3370                     public SVGExternalResourcesRequired,\r
3371                     public SVGFilterPrimitiveStandardAttributes\r
3372 {\r
3373 public:\r
3374 \r
3375     //##################\r
3376     //# Non-API methods\r
3377     //##################\r
3378 \r
3379     /**\r
3380      *\r
3381      */\r
3382     virtual ~SVGFEImageElement() {}\r
3383 \r
3384 };\r
3385 \r
3386 \r
3387 \r
3388 \r
3389 /*#########################################################################\r
3390 ## SVGFEMergeElement\r
3391 #########################################################################*/\r
3392 \r
3393 /**\r
3394  *\r
3395  */\r
3396 class SVGFEMergeElement :\r
3397                     virtual public SVGElement,\r
3398                     public SVGFilterPrimitiveStandardAttributes\r
3399 {\r
3400 public:\r
3401 \r
3402     //##################\r
3403     //# Non-API methods\r
3404     //##################\r
3405 \r
3406     /**\r
3407      *\r
3408      */\r
3409     virtual ~SVGFEMergeElement() {}\r
3410 \r
3411 };\r
3412 \r
3413 \r
3414 \r
3415 \r
3416 /*#########################################################################\r
3417 ## SVGFEMergeNodeElement\r
3418 #########################################################################*/\r
3419 \r
3420 /**\r
3421  *\r
3422  */\r
3423 class SVGFEMergeNodeElement : virtual public SVGElement\r
3424 {\r
3425 public:\r
3426     /**\r
3427      *\r
3428      */\r
3429     virtual SVGAnimatedString getIn1() =0;\r
3430 \r
3431 \r
3432     //##################\r
3433     //# Non-API methods\r
3434     //##################\r
3435 \r
3436     /**\r
3437      *\r
3438      */\r
3439     virtual ~SVGFEMergeNodeElement() {}\r
3440 \r
3441 };\r
3442 \r
3443 \r
3444 \r
3445 \r
3446 \r
3447 \r
3448 /*#########################################################################\r
3449 ## SVGFEMorphologyElement\r
3450 #########################################################################*/\r
3451 \r
3452 /**\r
3453  *\r
3454  */\r
3455 class SVGFEMorphologyElement :\r
3456                     virtual public SVGElement,\r
3457                     public SVGFilterPrimitiveStandardAttributes\r
3458 {\r
3459 public:\r
3460 \r
3461 \r
3462 \r
3463     /**\r
3464      *  Morphology Operators\r
3465      */\r
3466     typedef enum\r
3467         {\r
3468         SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,\r
3469         SVG_MORPHOLOGY_OPERATOR_ERODE   = 1,\r
3470         SVG_MORPHOLOGY_OPERATOR_DILATE  = 2\r
3471         } MorphologyOperatorType;\r
3472 \r
3473 \r
3474     /**\r
3475      *\r
3476      */\r
3477     virtual SVGAnimatedString getIn1() =0;\r
3478 \r
3479 \r
3480     /**\r
3481      *\r
3482      */\r
3483     virtual SVGAnimatedEnumeration getOperator() =0;\r
3484 \r
3485     /**\r
3486      *\r
3487      */\r
3488     virtual SVGAnimatedLength getRadiusX() =0;\r
3489 \r
3490     /**\r
3491      *\r
3492      */\r
3493     virtual SVGAnimatedLength getRadiusY() =0;\r
3494 \r
3495 \r
3496 \r
3497     //##################\r
3498     //# Non-API methods\r
3499     //##################\r
3500 \r
3501     /**\r
3502      *\r
3503      */\r
3504     virtual ~SVGFEMorphologyElement() {}\r
3505 \r
3506 };\r
3507 \r
3508 \r
3509 \r
3510 \r
3511 \r
3512 \r
3513 /*#########################################################################\r
3514 ## SVGFEOffsetElement\r
3515 #########################################################################*/\r
3516 \r
3517 /**\r
3518  *\r
3519  */\r
3520 class SVGFEOffsetElement :\r
3521                     virtual public SVGElement,\r
3522                     public SVGFilterPrimitiveStandardAttributes\r
3523 {\r
3524 public:\r
3525 \r
3526 \r
3527 \r
3528     /**\r
3529      *\r
3530      */\r
3531     virtual SVGAnimatedString getIn1() =0;\r
3532 \r
3533     /**\r
3534      *\r
3535      */\r
3536     virtual SVGAnimatedLength getDx() =0;\r
3537 \r
3538     /**\r
3539      *\r
3540      */\r
3541     virtual SVGAnimatedLength getDy() =0;\r
3542 \r
3543 \r
3544 \r
3545 \r
3546     //##################\r
3547     //# Non-API methods\r
3548     //##################\r
3549 \r
3550     /**\r
3551      *\r
3552      */\r
3553     virtual ~SVGFEOffsetElement() {}\r
3554 \r
3555 };\r
3556 \r
3557 \r
3558 \r
3559 \r
3560 \r
3561 \r
3562 /*#########################################################################\r
3563 ## SVGFESpecularLightingElement\r
3564 #########################################################################*/\r
3565 \r
3566 /**\r
3567  *\r
3568  */\r
3569 class SVGFESpecularLightingElement :\r
3570                     virtual public SVGElement,\r
3571                     public SVGFilterPrimitiveStandardAttributes\r
3572 {\r
3573 public:\r
3574 \r
3575     /**\r
3576      *\r
3577      */\r
3578     virtual SVGAnimatedString getIn1() =0;\r
3579 \r
3580     /**\r
3581      *\r
3582      */\r
3583     virtual SVGAnimatedNumber getSurfaceScale() =0;\r
3584 \r
3585     /**\r
3586      *\r
3587      */\r
3588     virtual SVGAnimatedNumber getSpecularConstant() =0;\r
3589 \r
3590     /**\r
3591      *\r
3592      */\r
3593     virtual SVGAnimatedNumber getSpecularExponent() =0;\r
3594 \r
3595 \r
3596     //##################\r
3597     //# Non-API methods\r
3598     //##################\r
3599 \r
3600     /**\r
3601      *\r
3602      */\r
3603     virtual ~SVGFESpecularLightingElement() {}\r
3604 \r
3605 };\r
3606 \r
3607 \r
3608 \r
3609 \r
3610 \r
3611 \r
3612 /*#########################################################################\r
3613 ## SVGFETileElement\r
3614 #########################################################################*/\r
3615 \r
3616 /**\r
3617  *\r
3618  */\r
3619 class SVGFETileElement :\r
3620                     virtual public SVGElement,\r
3621                     public SVGFilterPrimitiveStandardAttributes\r
3622 {\r
3623 public:\r
3624 \r
3625 \r
3626     /**\r
3627      *\r
3628      */\r
3629     virtual SVGAnimatedString getIn1() =0;\r
3630 \r
3631 \r
3632 \r
3633     //##################\r
3634     //# Non-API methods\r
3635     //##################\r
3636 \r
3637     /**\r
3638      *\r
3639      */\r
3640     virtual ~SVGFETileElement() {}\r
3641 \r
3642 };\r
3643 \r
3644 \r
3645 \r
3646 \r
3647 \r
3648 \r
3649 /*#########################################################################\r
3650 ## SVGFETurbulenceElement\r
3651 #########################################################################*/\r
3652 \r
3653 /**\r
3654  *\r
3655  */\r
3656 class SVGFETurbulenceElement :\r
3657                     virtual public SVGElement,\r
3658                     public SVGFilterPrimitiveStandardAttributes\r
3659 {\r
3660 public:\r
3661 \r
3662 \r
3663 \r
3664     /**\r
3665      *  Turbulence Types\r
3666      */\r
3667     typedef enum\r
3668         {\r
3669         SVG_TURBULENCE_TYPE_UNKNOWN      = 0,\r
3670         SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,\r
3671         SVG_TURBULENCE_TYPE_TURBULENCE   = 2\r
3672         } TurbulenceType;\r
3673 \r
3674     /**\r
3675      *  Stitch Options\r
3676      */\r
3677     typedef enum\r
3678         {\r
3679         SVG_STITCHTYPE_UNKNOWN  = 0,\r
3680         SVG_STITCHTYPE_STITCH   = 1,\r
3681         SVG_STITCHTYPE_NOSTITCH = 2\r
3682         } StitchOption;\r
3683 \r
3684 \r
3685 \r
3686     /**\r
3687      *\r
3688      */\r
3689     virtual SVGAnimatedNumber getBaseFrequencyX() =0;\r
3690 \r
3691     /**\r
3692      *\r
3693      */\r
3694     virtual SVGAnimatedNumber getBaseFrequencyY() =0;\r
3695 \r
3696     /**\r
3697      *\r
3698      */\r
3699     virtual SVGAnimatedInteger getNumOctaves() =0;\r
3700 \r
3701     /**\r
3702      *\r
3703      */\r
3704     virtual SVGAnimatedNumber getSeed() =0;\r
3705 \r
3706     /**\r
3707      *\r
3708      */\r
3709     virtual SVGAnimatedEnumeration getStitchTiles() =0;\r
3710 \r
3711     /**\r
3712      *\r
3713      */\r
3714     virtual SVGAnimatedEnumeration getType() =0;\r
3715 \r
3716 \r
3717 \r
3718     //##################\r
3719     //# Non-API methods\r
3720     //##################\r
3721 \r
3722     /**\r
3723      *\r
3724      */\r
3725     virtual ~SVGFETurbulenceElement() {}\r
3726 \r
3727 };\r
3728 \r
3729 \r
3730 \r
3731 \r
3732 \r
3733 \r
3734 /*#########################################################################\r
3735 ## SVGCursorElement\r
3736 #########################################################################*/\r
3737 \r
3738 /**\r
3739  *\r
3740  */\r
3741 class SVGCursorElement :\r
3742                     virtual public SVGElement,\r
3743                     public SVGURIReference,\r
3744                     public SVGTests,\r
3745                     public SVGExternalResourcesRequired\r
3746 {\r
3747 public:\r
3748     /**\r
3749      *\r
3750      */\r
3751     virtual SVGAnimatedLength getX() =0;\r
3752 \r
3753     /**\r
3754      *\r
3755      */\r
3756     virtual SVGAnimatedLength getY() =0;\r
3757 \r
3758     //##################\r
3759     //# Non-API methods\r
3760     //##################\r
3761 \r
3762     /**\r
3763      *\r
3764      */\r
3765     virtual ~SVGCursorElement() {}\r
3766 \r
3767 };\r
3768 \r
3769 \r
3770 \r
3771 \r
3772 \r
3773 \r
3774 /*#########################################################################\r
3775 ## SVGAElement\r
3776 #########################################################################*/\r
3777 \r
3778 /**\r
3779  *\r
3780  */\r
3781 class SVGAElement : virtual public SVGElement,\r
3782                     public SVGURIReference,\r
3783                     public SVGTests,\r
3784                     public SVGLangSpace,\r
3785                     public SVGExternalResourcesRequired,\r
3786                     public SVGStylable,\r
3787                     public SVGTransformable,\r
3788                     public events::EventTarget\r
3789 {\r
3790 public:\r
3791 \r
3792     /**\r
3793      *\r
3794      */\r
3795     virtual SVGAnimatedString getTarget() =0;\r
3796 \r
3797 \r
3798 \r
3799     //##################\r
3800     //# Non-API methods\r
3801     //##################\r
3802 \r
3803     /**\r
3804      *\r
3805      */\r
3806     virtual ~SVGAElement() {}\r
3807 \r
3808 };\r
3809 \r
3810 \r
3811 \r
3812 \r
3813 \r
3814 \r
3815 /*#########################################################################\r
3816 ## SVGViewElement\r
3817 #########################################################################*/\r
3818 \r
3819 /**\r
3820  *\r
3821  */\r
3822 class SVGViewElement : virtual public SVGElement,\r
3823                        public SVGExternalResourcesRequired,\r
3824                        public SVGFitToViewBox,\r
3825                        public SVGZoomAndPan\r
3826 {\r
3827 public:\r
3828 \r
3829     /**\r
3830      *\r
3831      */\r
3832     virtual SVGStringList getViewTarget() =0;\r
3833 \r
3834 \r
3835 \r
3836     //##################\r
3837     //# Non-API methods\r
3838     //##################\r
3839 \r
3840     /**\r
3841      *\r
3842      */\r
3843     virtual ~SVGViewElement() {}\r
3844 \r
3845 };\r
3846 \r
3847 \r
3848 \r
3849 \r
3850 \r
3851 \r
3852 /*#########################################################################\r
3853 ## SVGScriptElement\r
3854 #########################################################################*/\r
3855 \r
3856 /**\r
3857  *\r
3858  */\r
3859 class SVGScriptElement :\r
3860                     virtual public SVGElement,\r
3861                     public SVGURIReference,\r
3862                     public SVGExternalResourcesRequired\r
3863 {\r
3864 public:\r
3865 \r
3866     /**\r
3867      *\r
3868      */\r
3869     virtual DOMString getType() =0;\r
3870 \r
3871     /**\r
3872      *\r
3873      */\r
3874     virtual void setType(const DOMString &val)\r
3875                                throw (DOMException) =0;\r
3876 \r
3877 \r
3878     //##################\r
3879     //# Non-API methods\r
3880     //##################\r
3881 \r
3882     /**\r
3883      *\r
3884      */\r
3885     virtual ~SVGScriptElement() {}\r
3886 \r
3887 };\r
3888 \r
3889 \r
3890 \r
3891 \r
3892 \r
3893 /*#########################################################################\r
3894 ## SVGAnimationElement\r
3895 #########################################################################*/\r
3896 \r
3897 /**\r
3898  *\r
3899  */\r
3900 class SVGAnimationElement :\r
3901                     virtual public SVGElement,\r
3902                     public SVGTests,\r
3903                     public SVGExternalResourcesRequired,\r
3904                     public smil::ElementTimeControl,\r
3905                     public events::EventTarget\r
3906 {\r
3907 public:\r
3908 \r
3909 \r
3910     /**\r
3911      *\r
3912      */\r
3913     virtual SVGElement *getTargetElement() =0;\r
3914 \r
3915 \r
3916     /**\r
3917      *\r
3918      */\r
3919     virtual double getStartTime (  ) =0;\r
3920 \r
3921     /**\r
3922      *\r
3923      */\r
3924     virtual double getCurrentTime (  ) =0;\r
3925 \r
3926     /**\r
3927      *\r
3928      */\r
3929     virtual double getSimpleDuration (  )\r
3930                     throw( DOMException ) =0;\r
3931 ;\r
3932 \r
3933 \r
3934 \r
3935     //##################\r
3936     //# Non-API methods\r
3937     //##################\r
3938 \r
3939     /**\r
3940      *\r
3941      */\r
3942     virtual ~SVGAnimationElement() {}\r
3943 \r
3944 };\r
3945 \r
3946 \r
3947 \r
3948 \r
3949 \r
3950 \r
3951 /*#########################################################################\r
3952 ## SVGAnimateElement\r
3953 #########################################################################*/\r
3954 \r
3955 /**\r
3956  *\r
3957  */\r
3958 class SVGAnimateElement : virtual public SVGAnimationElement\r
3959 {\r
3960 public:\r
3961 \r
3962     //##################\r
3963     //# Non-API methods\r
3964     //##################\r
3965 \r
3966     /**\r
3967      *\r
3968      */\r
3969     virtual ~SVGAnimateElement() {}\r
3970 \r
3971 };\r
3972 \r
3973 \r
3974 \r
3975 \r
3976 /*#########################################################################\r
3977 ## SVGSetElement\r
3978 #########################################################################*/\r
3979 \r
3980 /**\r
3981  *\r
3982  */\r
3983 class SVGSetElement : virtual public SVGAnimationElement\r
3984 {\r
3985 public:\r
3986 \r
3987     //##################\r
3988     //# Non-API methods\r
3989     //##################\r
3990 \r
3991     /**\r
3992      *\r
3993      */\r
3994     virtual ~SVGSetElement() {}\r
3995 \r
3996 };\r
3997 \r
3998 \r
3999 \r
4000 \r
4001 /*#########################################################################\r
4002 ## SVGAnimateMotionElement\r
4003 #########################################################################*/\r
4004 \r
4005 /**\r
4006  *\r
4007  */\r
4008 class SVGAnimateMotionElement : virtual public SVGAnimationElement\r
4009 {\r
4010 public:\r
4011 \r
4012     //##################\r
4013     //# Non-API methods\r
4014     //##################\r
4015 \r
4016     /**\r
4017      *\r
4018      */\r
4019     virtual ~SVGAnimateMotionElement() {}\r
4020 \r
4021 };\r
4022 \r
4023 \r
4024 \r
4025 \r
4026 /*#########################################################################\r
4027 ## SVGMPathElement\r
4028 #########################################################################*/\r
4029 \r
4030 /**\r
4031  *\r
4032  */\r
4033 class SVGMPathElement :\r
4034                     virtual public SVGElement,\r
4035                     public SVGURIReference,\r
4036                     public SVGExternalResourcesRequired\r
4037 {\r
4038 public:\r
4039 \r
4040     //##################\r
4041     //# Non-API methods\r
4042     //##################\r
4043 \r
4044     /**\r
4045      *\r
4046      */\r
4047     virtual ~SVGMPathElement() {}\r
4048 \r
4049 };\r
4050 \r
4051 \r
4052 \r
4053 \r
4054 /*#########################################################################\r
4055 ## SVGAnimateColorElement\r
4056 #########################################################################*/\r
4057 \r
4058 /**\r
4059  *\r
4060  */\r
4061 class SVGAnimateColorElement : virtual public SVGAnimationElement\r
4062 {\r
4063 public:\r
4064 \r
4065     //##################\r
4066     //# Non-API methods\r
4067     //##################\r
4068 \r
4069     /**\r
4070      *\r
4071      */\r
4072     virtual ~SVGAnimateColorElement() {}\r
4073 \r
4074 };\r
4075 \r
4076 \r
4077 \r
4078 \r
4079 /*#########################################################################\r
4080 ## SVGAnimateTransformElement\r
4081 #########################################################################*/\r
4082 \r
4083 /**\r
4084  *\r
4085  */\r
4086 class SVGAnimateTransformElement : virtual public SVGAnimationElement\r
4087 {\r
4088 public:\r
4089 \r
4090     //##################\r
4091     //# Non-API methods\r
4092     //##################\r
4093 \r
4094     /**\r
4095      *\r
4096      */\r
4097     virtual ~SVGAnimateTransformElement() {}\r
4098 \r
4099 };\r
4100 \r
4101 \r
4102 \r
4103 \r
4104 /*#########################################################################\r
4105 ## SVGFontElement\r
4106 #########################################################################*/\r
4107 \r
4108 /**\r
4109  *\r
4110  */\r
4111 class SVGFontElement :  virtual public SVGElement,\r
4112                         public SVGExternalResourcesRequired,\r
4113                         public SVGStylable\r
4114 {\r
4115 public:\r
4116 \r
4117     //##################\r
4118     //# Non-API methods\r
4119     //##################\r
4120 \r
4121     /**\r
4122      *\r
4123      */\r
4124     virtual ~SVGFontElement() {}\r
4125 \r
4126 };\r
4127 \r
4128 \r
4129 \r
4130 \r
4131 /*#########################################################################\r
4132 ## SVGGlyphElement\r
4133 #########################################################################*/\r
4134 \r
4135 /**\r
4136  *\r
4137  */\r
4138 class SVGGlyphElement :  virtual public SVGElement,\r
4139                          public SVGStylable\r
4140 {\r
4141 public:\r
4142 \r
4143     //##################\r
4144     //# Non-API methods\r
4145     //##################\r
4146 \r
4147     /**\r
4148      *\r
4149      */\r
4150     virtual ~SVGGlyphElement() {}\r
4151 \r
4152 };\r
4153 \r
4154 \r
4155 \r
4156 \r
4157 /*#########################################################################\r
4158 ## SVGMissingGlyphElement\r
4159 #########################################################################*/\r
4160 \r
4161 /**\r
4162  *\r
4163  */\r
4164 class SVGMissingGlyphElement :\r
4165                     virtual public SVGElement,\r
4166                     public SVGStylable\r
4167 {\r
4168 public:\r
4169 \r
4170     //##################\r
4171     //# Non-API methods\r
4172     //##################\r
4173 \r
4174     /**\r
4175      *\r
4176      */\r
4177     virtual ~SVGMissingGlyphElement() {}\r
4178 \r
4179 };\r
4180 \r
4181 \r
4182 \r
4183 \r
4184 /*#########################################################################\r
4185 ## SVGHKernElement\r
4186 #########################################################################*/\r
4187 \r
4188 /**\r
4189  *\r
4190  */\r
4191 class SVGHKernElement : virtual public SVGElement\r
4192 {\r
4193 public:\r
4194 \r
4195     //##################\r
4196     //# Non-API methods\r
4197     //##################\r
4198 \r
4199     /**\r
4200      *\r
4201      */\r
4202     virtual ~SVGHKernElement() {}\r
4203 \r
4204 };\r
4205 \r
4206 \r
4207 \r
4208 \r
4209 /*#########################################################################\r
4210 ## SVGVKernElement\r
4211 #########################################################################*/\r
4212 \r
4213 /**\r
4214  *\r
4215  */\r
4216 class SVGVKernElement : public virtual SVGElement\r
4217 {\r
4218 public:\r
4219 \r
4220     //##################\r
4221     //# Non-API methods\r
4222     //##################\r
4223 \r
4224     /**\r
4225      *\r
4226      */\r
4227     virtual ~SVGVKernElement() {}\r
4228 \r
4229 };\r
4230 \r
4231 \r
4232 \r
4233 \r
4234 /*#########################################################################\r
4235 ## SVGFontFaceElement\r
4236 #########################################################################*/\r
4237 \r
4238 /**\r
4239  *\r
4240  */\r
4241 class SVGFontFaceElement : virtual public SVGElement\r
4242 {\r
4243 public:\r
4244 \r
4245     //##################\r
4246     //# Non-API methods\r
4247     //##################\r
4248 \r
4249     /**\r
4250      *\r
4251      */\r
4252     virtual ~SVGFontFaceElement() {}\r
4253 \r
4254 };\r
4255 \r
4256 \r
4257 \r
4258 \r
4259 /*#########################################################################\r
4260 ## SVGFontFaceSrcElement\r
4261 #########################################################################*/\r
4262 \r
4263 /**\r
4264  *\r
4265  */\r
4266 class SVGFontFaceSrcElement : virtual public SVGElement\r
4267 {\r
4268 public:\r
4269 \r
4270     //##################\r
4271     //# Non-API methods\r
4272     //##################\r
4273 \r
4274     /**\r
4275      *\r
4276      */\r
4277     virtual ~SVGFontFaceSrcElement() {}\r
4278 \r
4279 };\r
4280 \r
4281 \r
4282 \r
4283 \r
4284 /*#########################################################################\r
4285 ## SVGFontFaceUriElement\r
4286 #########################################################################*/\r
4287 \r
4288 /**\r
4289  *\r
4290  */\r
4291 class SVGFontFaceUriElement : virtual public SVGElement\r
4292 {\r
4293 public:\r
4294 \r
4295     //##################\r
4296     //# Non-API methods\r
4297     //##################\r
4298 \r
4299     /**\r
4300      *\r
4301      */\r
4302     virtual ~SVGFontFaceUriElement() {}\r
4303 \r
4304 };\r
4305 \r
4306 \r
4307 \r
4308 \r
4309 /*#########################################################################\r
4310 ## SVGFontFaceFormatElement\r
4311 #########################################################################*/\r
4312 \r
4313 /**\r
4314  *\r
4315  */\r
4316 class SVGFontFaceFormatElement : virtual public SVGElement\r
4317 {\r
4318 public:\r
4319 \r
4320     //##################\r
4321     //# Non-API methods\r
4322     //##################\r
4323 \r
4324     /**\r
4325      *\r
4326      */\r
4327     virtual ~SVGFontFaceFormatElement() {}\r
4328 \r
4329 };\r
4330 \r
4331 \r
4332 \r
4333 \r
4334 /*#########################################################################\r
4335 ## SVGFontFaceNameElement\r
4336 #########################################################################*/\r
4337 \r
4338 /**\r
4339  *\r
4340  */\r
4341 class SVGFontFaceNameElement : virtual public SVGElement\r
4342 {\r
4343 public:\r
4344 \r
4345     //##################\r
4346     //# Non-API methods\r
4347     //##################\r
4348 \r
4349     /**\r
4350      *\r
4351      */\r
4352     virtual ~SVGFontFaceNameElement() {}\r
4353 \r
4354 };\r
4355 \r
4356 \r
4357 \r
4358 \r
4359 /*#########################################################################\r
4360 ## SVGDefinitionSrcElement\r
4361 #########################################################################*/\r
4362 \r
4363 /**\r
4364  *\r
4365  */\r
4366 class SVGDefinitionSrcElement : virtual public SVGElement\r
4367 {\r
4368 public:\r
4369 \r
4370     //##################\r
4371     //# Non-API methods\r
4372     //##################\r
4373 \r
4374     /**\r
4375      *\r
4376      */\r
4377     virtual ~SVGDefinitionSrcElement() {}\r
4378 \r
4379 };\r
4380 \r
4381 \r
4382 \r
4383 \r
4384 /*#########################################################################\r
4385 ## SVGMetadataElement\r
4386 #########################################################################*/\r
4387 \r
4388 /**\r
4389  *\r
4390  */\r
4391 class SVGMetadataElement : virtual public SVGElement\r
4392 {\r
4393 public:\r
4394 \r
4395     //##################\r
4396     //# Non-API methods\r
4397     //##################\r
4398 \r
4399     /**\r
4400      *\r
4401      */\r
4402     virtual ~SVGMetadataElement() {}\r
4403 \r
4404 };\r
4405 \r
4406 \r
4407 \r
4408 /*#########################################################################\r
4409 ## SVGForeignObjectElement\r
4410 #########################################################################*/\r
4411 \r
4412 /**\r
4413  *\r
4414  */\r
4415 class SVGForeignObjectElement :\r
4416                     virtual public SVGElement,\r
4417                     public SVGTests,\r
4418                     public SVGLangSpace,\r
4419                     public SVGExternalResourcesRequired,\r
4420                     public SVGStylable,\r
4421                     public SVGTransformable,\r
4422                     public events::EventTarget\r
4423 {\r
4424 public:\r
4425 \r
4426 \r
4427     /**\r
4428      *\r
4429      */\r
4430     virtual SVGAnimatedLength getX() =0;\r
4431 \r
4432     /**\r
4433      *\r
4434      */\r
4435     virtual SVGAnimatedLength getY() =0;\r
4436 \r
4437     /**\r
4438      *\r
4439      */\r
4440     virtual SVGAnimatedLength getWidth() =0;\r
4441 \r
4442     /**\r
4443      *\r
4444      */\r
4445     virtual SVGAnimatedLength getHeight() =0;\r
4446 \r
4447 \r
4448 \r
4449     //##################\r
4450     //# Non-API methods\r
4451     //##################\r
4452 \r
4453 \r
4454     /**\r
4455      *\r
4456      */\r
4457     virtual ~SVGForeignObjectElement() {}\r
4458 \r
4459 };\r
4460 \r
4461 \r
4462 \r
4463 \r
4464 \r
4465 }  //namespace svg\r
4466 }  //namespace dom\r
4467 }  //namespace w3c\r
4468 }  //namespace org\r
4469 \r
4470 #endif // __SVG_H__\r
4471 /*#########################################################################\r
4472 ## E N D    O F    F I L E\r
4473 #########################################################################*/\r
4474 \r