1 #ifndef __SVG_H__
2 #define __SVG_H__
4 /**
5 * Phoebe DOM Implementation.
6 *
7 * This is a C++ approximation of the W3C DOM model, which follows
8 * fairly closely the specifications in the various .idl files, copies of
9 * which are provided for reference. Most important is this one:
10 *
11 * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
12 *
13 * Authors:
14 * Bob Jamison
15 *
16 * Copyright (C) 2005-2008 Bob Jamison
17 *
18 * This library is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU Lesser General Public
20 * License as published by the Free Software Foundation; either
21 * version 2.1 of the License, or (at your option) any later version.
22 *
23 * This library is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26 * Lesser General Public License for more details.
27 *
28 * You should have received a copy of the GNU Lesser General Public
29 * License along with this library; if not, write to the Free Software
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31 */
34 // For access to DOM2 core
35 #include "dom/dom.h"
37 // For access to DOM2 events
38 #include "dom/events.h"
40 // For access to those parts from DOM2 CSS OM used by SVG DOM.
41 #include "dom/css.h"
43 // For access to those parts from DOM2 Views OM used by SVG DOM.
44 #include "dom/views.h"
46 // For access to the SMIL OM used by SVG DOM.
47 #include "dom/smil.h"
51 #include "svgtypes.h"
53 #include <math.h>
57 namespace org
58 {
59 namespace w3c
60 {
61 namespace dom
62 {
63 namespace svg
64 {
67 //local definitions
68 typedef dom::DOMString DOMString;
69 typedef dom::DOMException DOMException;
70 typedef dom::Element Element;
71 typedef dom::ElementPtr ElementPtr;
72 typedef dom::Document Document;
73 typedef dom::DocumentPtr DocumentPtr;
74 typedef dom::NodeList NodeList;
79 class SVGElement;
80 typedef Ptr<SVGElement> SVGElementPtr;
81 class SVGSVGElement;
82 typedef Ptr<SVGSVGElement> SVGSVGElementPtr;
83 class SVGDocument;
84 typedef Ptr<SVGDocument> SVGDocumentPtr;
87 /*#########################################################################
88 ## SVGElement
89 #########################################################################*/
91 /**
92 *
93 */
94 class SVGElement : virtual public Element
95 {
96 public:
98 /**
99 *
100 */
101 virtual DOMString getId() =0;
103 /**
104 *
105 */
106 virtual void setId(const DOMString &val)
107 throw (DOMException) =0;
109 /**
110 *
111 */
112 virtual DOMString getXmlBase() = 0;
114 /**
115 *
116 */
117 virtual void setXmlBase(const DOMString &val)
118 throw (DOMException) = 0;
120 /**
121 *
122 */
123 virtual SVGSVGElementPtr getOwnerSVGElement() = 0;
125 /**
126 *
127 */
128 virtual SVGElementPtr getViewportElement() = 0;
131 //##################
132 //# Non-API methods
133 //##################
136 /**
137 *
138 */
139 virtual ~SVGElement() {}
142 };
146 /*#########################################################################
147 ## SVGDocument
148 #########################################################################*/
150 /**
151 *
152 */
153 class SVGDocument : virtual public Document,
154 virtual public events::DocumentEvent
155 {
156 public:
159 /**
160 *
161 */
162 virtual DOMString getTitle() =0;
164 /**
165 *
166 */
167 virtual DOMString getReferrer() =0;
169 /**
170 *
171 */
172 virtual DOMString getDomain() =0;
174 /**
175 *
176 */
177 virtual DOMString getURL() =0;
179 /**
180 *
181 */
182 virtual SVGSVGElementPtr getRootElement() =0;
185 //##################
186 //# Non-API methods
187 //##################
189 /**
190 *
191 */
192 virtual ~SVGDocument() {}
194 };
198 /*#########################################################################
199 ## SVGSVGElement
200 #########################################################################*/
202 /**
203 *
204 */
205 class SVGSVGElement : virtual public SVGElement,
206 public SVGTests,
207 public SVGLangSpace,
208 public SVGExternalResourcesRequired,
209 public SVGStylable,
210 public SVGLocatable,
211 public SVGFitToViewBox,
212 public SVGZoomAndPan,
213 public events::EventTarget,
214 public events::DocumentEvent,
215 public css::ViewCSS,
216 public css::DocumentCSS
217 {
218 public:
220 /**
221 *
222 */
223 virtual SVGAnimatedLength getX() =0;
225 /**
226 *
227 */
228 virtual SVGAnimatedLength getY() =0;
230 /**
231 *
232 */
233 virtual SVGAnimatedLength getWidth() =0;
235 /**
236 *
237 */
238 virtual SVGAnimatedLength getHeight() =0;
240 /**
241 *
242 */
243 virtual DOMString getContentScriptType() =0;
245 /**
246 *
247 */
248 virtual void setContentScriptType(const DOMString &val)
249 throw (DOMException) =0;
252 /**
253 *
254 */
255 virtual DOMString getContentStyleType() =0;
257 /**
258 *
259 */
260 virtual void setContentStyleType(const DOMString &val)
261 throw (DOMException) =0;
263 /**
264 *
265 */
266 virtual SVGRect getViewport() =0;
268 /**
269 *
270 */
271 virtual double getPixelUnitToMillimeterX() =0;
273 /**
274 *
275 */
276 virtual double getPixelUnitToMillimeterY() =0;
278 /**
279 *
280 */
281 virtual double getScreenPixelToMillimeterX() =0;
283 /**
284 *
285 */
286 virtual double getScreenPixelToMillimeterY() =0;
289 /**
290 *
291 */
292 virtual bool getUseCurrentView() =0;
294 /**
295 *
296 */
297 virtual void setUseCurrentView(bool val) throw (DOMException) =0;
299 /**
300 *
301 */
302 virtual SVGViewSpec getCurrentView() =0;
305 /**
306 *
307 */
308 virtual double getCurrentScale() =0;
310 /**
311 *
312 */
313 virtual void setCurrentScale(double val)
314 throw (DOMException) =0;
317 /**
318 *
319 */
320 virtual SVGPoint getCurrentTranslate() =0;
323 /**
324 *
325 */
326 virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds ) =0;
328 /**
329 *
330 */
331 virtual void unsuspendRedraw (unsigned long suspend_handle_id )
332 throw( DOMException ) =0;
334 /**
335 *
336 */
337 virtual void unsuspendRedrawAll ( ) =0;
339 /**
340 *
341 */
342 virtual void forceRedraw ( ) =0;
344 /**
345 *
346 */
347 virtual void pauseAnimations ( ) =0;
349 /**
350 *
351 */
352 virtual void unpauseAnimations ( ) =0;
354 /**
355 *
356 */
357 virtual bool animationsPaused ( ) =0;
359 /**
360 *
361 */
362 virtual double getCurrentTime ( ) =0;
364 /**
365 *
366 */
367 virtual void setCurrentTime (double seconds ) =0;
369 /**
370 *
371 */
372 virtual NodeList getIntersectionList(const SVGRect &rect,
373 const SVGElementPtr referenceElement ) =0;
375 /**
376 *
377 */
378 virtual NodeList getEnclosureList (const SVGRect &rect,
379 const SVGElementPtr referenceElement ) =0;
381 /**
382 *
383 */
384 virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect ) =0;
386 /**
387 *
388 */
389 virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect ) =0;
391 /**
392 *
393 */
394 virtual void deselectAll ( ) =0;
396 /**
397 *
398 */
399 virtual SVGNumber createSVGNumber ( ) =0;
401 /**
402 *
403 */
404 virtual SVGLength createSVGLength ( ) =0;
406 /**
407 *
408 */
409 virtual SVGAngle createSVGAngle ( ) =0;
411 /**
412 *
413 */
414 virtual SVGPoint createSVGPoint ( ) =0;
416 /**
417 *
418 */
419 virtual SVGMatrix createSVGMatrix ( ) =0;
421 /**
422 *
423 */
424 virtual SVGRect createSVGRect ( ) =0;
426 /**
427 *
428 */
429 virtual SVGTransform createSVGTransform ( ) =0;
431 /**
432 *
433 */
434 virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix ) =0;
436 /**
437 *
438 */
439 virtual ElementPtr getElementById (const DOMString& elementId ) =0;
443 //##################
444 //# Non-API methods
445 //##################
447 /**
448 *
449 */
450 virtual ~SVGSVGElement() {}
452 };
456 /*#########################################################################
457 ## SVGGElement
458 #########################################################################*/
460 /**
461 *
462 */
463 class SVGGElement : virtual public SVGElement,
464 public SVGTests,
465 public SVGLangSpace,
466 public SVGExternalResourcesRequired,
467 public SVGStylable,
468 public SVGTransformable,
469 public events::EventTarget
470 {
471 public:
473 //##################
474 //# Non-API methods
475 //##################
477 /**
478 *
479 */
480 virtual ~SVGGElement() {}
482 };
487 /*#########################################################################
488 ## SVGDefsElement
489 #########################################################################*/
491 /**
492 *
493 */
494 class SVGDefsElement :
495 virtual public SVGElement,
496 public SVGTests,
497 public SVGLangSpace,
498 public SVGExternalResourcesRequired,
499 public SVGStylable,
500 public SVGTransformable,
501 public events::EventTarget
502 {
503 public:
505 //##################
506 //# Non-API methods
507 //##################
509 /**
510 *
511 */
512 virtual ~SVGDefsElement() {}
514 };
519 /*#########################################################################
520 ## SVGDescElement
521 #########################################################################*/
523 /**
524 *
525 */
526 class SVGDescElement :
527 virtual public SVGElement,
528 public SVGLangSpace,
529 public SVGStylable
530 {
531 public:
533 //##################
534 //# Non-API methods
535 //##################
537 /**
538 *
539 */
540 virtual ~SVGDescElement() {}
542 };
547 /*#########################################################################
548 ## SVGTitleElement
549 #########################################################################*/
551 /**
552 *
553 */
554 class SVGTitleElement :
555 virtual public SVGElement,
556 public SVGLangSpace,
557 public SVGStylable
558 {
559 public:
561 //##################
562 //# Non-API methods
563 //##################
565 /**
566 *
567 */
568 virtual ~SVGTitleElement() {}
570 };
575 /*#########################################################################
576 ## SVGSymbolElement
577 #########################################################################*/
579 /**
580 *
581 */
582 class SVGSymbolElement :
583 virtual public SVGElement,
584 public SVGLangSpace,
585 public SVGExternalResourcesRequired,
586 public SVGStylable,
587 public SVGFitToViewBox,
588 public events::EventTarget
589 {
590 public:
592 //##################
593 //# Non-API methods
594 //##################
596 /**
597 *
598 */
599 virtual ~SVGSymbolElement() {}
601 };
606 /*#########################################################################
607 ## SVGUseElement
608 #########################################################################*/
610 /**
611 *
612 */
613 class SVGUseElement :
614 virtual public SVGElement,
615 public SVGURIReference,
616 public SVGTests,
617 public SVGLangSpace,
618 public SVGExternalResourcesRequired,
619 public SVGStylable,
620 public SVGTransformable,
621 public events::EventTarget
622 {
623 public:
628 /**
629 *
630 */
631 virtual SVGAnimatedLength getX() =0;
633 /**
634 *
635 */
636 virtual SVGAnimatedLength getY() =0;
638 /**
639 *
640 */
641 virtual SVGAnimatedLength getWidth() =0;
643 /**
644 *
645 */
646 virtual SVGAnimatedLength getHeight() =0;
648 /**
649 *
650 */
651 virtual SVGElementInstance getInstanceRoot() =0;
653 /**
654 *
655 */
656 virtual SVGElementInstance getAnimatedInstanceRoot() =0;
660 //##################
661 //# Non-API methods
662 //##################
664 /**
665 *
666 */
667 virtual ~SVGUseElement() {}
669 };
677 /*#########################################################################
678 ## SVGImageElement
679 #########################################################################*/
681 /**
682 *
683 */
684 class SVGImageElement :
685 virtual public SVGElement,
686 public SVGURIReference,
687 public SVGTests,
688 public SVGLangSpace,
689 public SVGExternalResourcesRequired,
690 public SVGStylable,
691 public SVGTransformable,
692 public events::EventTarget
693 {
694 public:
697 /**
698 *
699 */
700 virtual SVGAnimatedLength getX() =0;
702 /**
703 *
704 */
705 virtual SVGAnimatedLength getY() =0;
707 /**
708 *
709 */
710 virtual SVGAnimatedLength getWidth() =0;
712 /**
713 *
714 */
715 virtual SVGAnimatedLength getHeight() =0;
718 /**
719 *
720 */
721 virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() =0;
725 //##################
726 //# Non-API methods
727 //##################
729 /**
730 *
731 */
732 virtual ~SVGImageElement() {}
734 };
741 /*#########################################################################
742 ## SVGSwitchElement
743 #########################################################################*/
745 /**
746 *
747 */
748 class SVGSwitchElement :
749 virtual public SVGElement,
750 public SVGTests,
751 public SVGLangSpace,
752 public SVGExternalResourcesRequired,
753 public SVGStylable,
754 public SVGTransformable,
755 public events::EventTarget
756 {
757 public:
759 //##################
760 //# Non-API methods
761 //##################
763 /**
764 *
765 */
766 virtual ~SVGSwitchElement() {}
768 };
773 /*#########################################################################
774 ## GetSVGDocument
775 #########################################################################*/
777 /**
778 *
779 */
780 class GetSVGDocument
781 {
782 public:
784 /**
785 *
786 */
787 virtual SVGDocumentPtr getSVGDocument ( )
788 throw( DOMException ) =0;
790 //##################
791 //# Non-API methods
792 //##################
794 /**
795 *
796 */
797 virtual ~GetSVGDocument() {}
799 };
806 /*#########################################################################
807 ## SVGStyleElement
808 #########################################################################*/
810 /**
811 *
812 */
813 class SVGStyleElement : virtual public SVGElement
814 {
815 public:
817 /**
818 *
819 */
820 virtual DOMString getXmlspace() = 0;
822 /**
823 *
824 */
825 virtual void setXmlspace(const DOMString &val)
826 throw (DOMException) =0;
828 /**
829 *
830 */
831 virtual DOMString getType() = 0;
833 /**
834 *
835 */
836 virtual void setType(const DOMString &val)
837 throw (DOMException) =0;
839 /**
840 *
841 */
842 virtual DOMString getMedia() = 0;
844 /**
845 *
846 */
847 virtual void setMedia(const DOMString &val)
848 throw (DOMException) =0;
850 /**
851 *
852 */
853 virtual DOMString getTitle() = 0;
855 /**
856 *
857 */
858 virtual void setTitle(const DOMString &val)
859 throw (DOMException) =0;
863 //##################
864 //# Non-API methods
865 //##################
867 /**
868 *
869 */
870 virtual ~SVGStyleElement() {}
872 };
879 /*#########################################################################
880 ## SVGPathElement
881 #########################################################################*/
883 /**
884 *
885 */
886 class SVGPathElement :
887 virtual public SVGElement,
888 public SVGTests,
889 public SVGLangSpace,
890 public SVGExternalResourcesRequired,
891 public SVGStylable,
892 public SVGTransformable,
893 public events::EventTarget,
894 public SVGAnimatedPathData
895 {
896 public:
901 /**
902 *
903 */
904 virtual SVGAnimatedNumber getPathLength() =0;
906 /**
907 *
908 */
909 virtual double getTotalLength ( ) =0;
911 /**
912 *
913 */
914 virtual SVGPoint getPointAtLength (double distance ) =0;
916 /**
917 *
918 */
919 virtual unsigned long getPathSegAtLength (double distance ) =0;
921 /**
922 *
923 */
924 virtual SVGPathSegClosePath
925 createSVGPathSegClosePath ( ) =0;
927 /**
928 *
929 */
930 virtual SVGPathSegMovetoAbs
931 createSVGPathSegMovetoAbs (double x, double y ) =0;
933 /**
934 *
935 */
936 virtual SVGPathSegMovetoRel
937 createSVGPathSegMovetoRel (double x, double y ) =0;
939 /**
940 *
941 */
942 virtual SVGPathSegLinetoAbs
943 createSVGPathSegLinetoAbs (double x, double y ) =0;
945 /**
946 *
947 */
948 virtual SVGPathSegLinetoRel
949 createSVGPathSegLinetoRel (double x, double y ) =0;
951 /**
952 *
953 */
954 virtual SVGPathSegCurvetoCubicAbs
955 createSVGPathSegCurvetoCubicAbs (double x, double y,
956 double x1, double y1, double x2, double y2 ) =0;
958 /**
959 *
960 */
961 virtual SVGPathSegCurvetoCubicRel
962 createSVGPathSegCurvetoCubicRel (double x, double y,
963 double x1, double y1, double x2, double y2 ) =0;
965 /**
966 *
967 */
968 virtual SVGPathSegCurvetoQuadraticAbs
969 createSVGPathSegCurvetoQuadraticAbs (double x, double y,
970 double x1, double y1 ) =0;
972 /**
973 *
974 */
975 virtual SVGPathSegCurvetoQuadraticRel
976 createSVGPathSegCurvetoQuadraticRel (double x, double y,
977 double x1, double y1 ) =0;
979 /**
980 *
981 */
982 virtual SVGPathSegArcAbs
983 createSVGPathSegArcAbs (double x, double y,
984 double r1, double r2, double angle,
985 bool largeArcFlag, bool sweepFlag ) =0;
987 /**
988 *
989 */
990 virtual SVGPathSegArcRel
991 createSVGPathSegArcRel (double x, double y, double r1,
992 double r2, double angle, bool largeArcFlag,
993 bool sweepFlag ) =0;
995 /**
996 *
997 */
998 virtual SVGPathSegLinetoHorizontalAbs
999 createSVGPathSegLinetoHorizontalAbs (double x ) =0;
1001 /**
1002 *
1003 */
1004 virtual SVGPathSegLinetoHorizontalRel
1005 createSVGPathSegLinetoHorizontalRel (double x ) =0;
1007 /**
1008 *
1009 */
1010 virtual SVGPathSegLinetoVerticalAbs
1011 createSVGPathSegLinetoVerticalAbs (double y ) =0;
1013 /**
1014 *
1015 */
1016 virtual SVGPathSegLinetoVerticalRel
1017 createSVGPathSegLinetoVerticalRel (double y ) =0;
1019 /**
1020 *
1021 */
1022 virtual SVGPathSegCurvetoCubicSmoothAbs
1023 createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
1024 double x2, double y2 ) =0;
1026 /**
1027 *
1028 */
1029 virtual SVGPathSegCurvetoCubicSmoothRel
1030 createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
1031 double x2, double y2 ) =0;
1033 /**
1034 *
1035 */
1036 virtual SVGPathSegCurvetoQuadraticSmoothAbs
1037 createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y ) =0;
1039 /**
1040 *
1041 */
1042 virtual SVGPathSegCurvetoQuadraticSmoothRel
1043 createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y ) =0;
1047 //##################
1048 //# Non-API methods
1049 //##################
1051 /**
1052 *
1053 */
1054 virtual ~SVGPathElement() {}
1056 };
1063 /*#########################################################################
1064 ## SVGRectElement
1065 #########################################################################*/
1067 /**
1068 *
1069 */
1070 class SVGRectElement :
1071 virtual public SVGElement,
1072 public SVGTests,
1073 public SVGLangSpace,
1074 public SVGExternalResourcesRequired,
1075 public SVGStylable,
1076 public SVGTransformable,
1077 public events::EventTarget
1078 {
1079 public:
1081 /**
1082 *
1083 */
1084 virtual SVGAnimatedLength getX() =0;
1086 /**
1087 *
1088 */
1089 virtual SVGAnimatedLength getY() =0;
1091 /**
1092 *
1093 */
1094 virtual SVGAnimatedLength getWidth() =0;
1096 /**
1097 *
1098 */
1099 virtual SVGAnimatedLength getHeight() =0;
1102 /**
1103 *
1104 */
1105 virtual SVGAnimatedLength getRx() =0;
1107 /**
1108 *
1109 */
1110 virtual SVGAnimatedLength getRy() =0;
1114 //##################
1115 //# Non-API methods
1116 //##################
1118 /**
1119 *
1120 */
1121 virtual ~SVGRectElement() {}
1123 };
1130 /*#########################################################################
1131 ## SVGCircleElement
1132 #########################################################################*/
1134 /**
1135 *
1136 */
1137 class SVGCircleElement :
1138 virtual public SVGElement,
1139 public SVGTests,
1140 public SVGLangSpace,
1141 public SVGExternalResourcesRequired,
1142 public SVGStylable,
1143 public SVGTransformable,
1144 public events::EventTarget
1145 {
1146 public:
1148 /**
1149 *
1150 */
1151 virtual SVGAnimatedLength getCx() =0;
1153 /**
1154 *
1155 */
1156 virtual SVGAnimatedLength getCy() =0;
1158 /**
1159 *
1160 */
1161 virtual SVGAnimatedLength getR() =0;
1165 //##################
1166 //# Non-API methods
1167 //##################
1169 /**
1170 *
1171 */
1172 virtual ~SVGCircleElement() {}
1174 };
1181 /*#########################################################################
1182 ## SVGEllipseElement
1183 #########################################################################*/
1185 /**
1186 *
1187 */
1188 class SVGEllipseElement :
1189 virtual public SVGElement,
1190 public SVGTests,
1191 public SVGLangSpace,
1192 public SVGExternalResourcesRequired,
1193 public SVGStylable,
1194 public SVGTransformable,
1195 public events::EventTarget
1196 {
1197 public:
1198 /**
1199 *
1200 */
1201 virtual SVGAnimatedLength getCx() =0;
1203 /**
1204 *
1205 */
1206 virtual SVGAnimatedLength getCy() =0;
1208 /**
1209 *
1210 */
1211 virtual SVGAnimatedLength getRx() =0;
1213 /**
1214 *
1215 */
1216 virtual SVGAnimatedLength getRy() =0;
1219 //##################
1220 //# Non-API methods
1221 //##################
1223 /**
1224 *
1225 */
1226 virtual ~SVGEllipseElement() {}
1228 };
1235 /*#########################################################################
1236 ## SVGLineElement
1237 #########################################################################*/
1239 /**
1240 *
1241 */
1242 class SVGLineElement :
1243 virtual public SVGElement,
1244 public SVGTests,
1245 public SVGLangSpace,
1246 public SVGExternalResourcesRequired,
1247 public SVGStylable,
1248 public SVGTransformable,
1249 public events::EventTarget
1250 {
1251 public:
1252 /**
1253 *
1254 */
1255 virtual SVGAnimatedLength getX1() =0;
1257 /**
1258 *
1259 */
1260 virtual SVGAnimatedLength getY1() =0;
1262 /**
1263 *
1264 */
1265 virtual SVGAnimatedLength getX2() =0;
1267 /**
1268 *
1269 */
1270 virtual SVGAnimatedLength getY2() =0;
1272 //##################
1273 //# Non-API methods
1274 //##################
1276 /**
1277 *
1278 */
1279 virtual ~SVGLineElement() {}
1281 };
1286 /*#########################################################################
1287 ## SVGPolylineElement
1288 #########################################################################*/
1290 /**
1291 *
1292 */
1293 class SVGPolylineElement :
1294 virtual public SVGElement,
1295 public SVGTests,
1296 public SVGLangSpace,
1297 public SVGExternalResourcesRequired,
1298 public SVGStylable,
1299 public SVGTransformable,
1300 public events::EventTarget,
1301 public SVGAnimatedPoints
1302 {
1303 public:
1305 //##################
1306 //# Non-API methods
1307 //##################
1309 /**
1310 *
1311 */
1312 virtual ~SVGPolylineElement() {}
1314 };
1319 /*#########################################################################
1320 ## SVGPolygonElement
1321 #########################################################################*/
1323 /**
1324 *
1325 */
1326 class SVGPolygonElement :
1327 virtual public SVGElement,
1328 public SVGTests,
1329 public SVGLangSpace,
1330 public SVGExternalResourcesRequired,
1331 public SVGStylable,
1332 public SVGTransformable,
1333 public events::EventTarget,
1334 public SVGAnimatedPoints
1335 {
1336 public:
1338 //##################
1339 //# Non-API methods
1340 //##################
1342 /**
1343 *
1344 */
1345 virtual ~SVGPolygonElement() {}
1347 };
1352 /*#########################################################################
1353 ## SVGTextContentElement
1354 #########################################################################*/
1356 /**
1357 *
1358 */
1359 class SVGTextContentElement :
1360 virtual public SVGElement,
1361 public SVGTests,
1362 public SVGLangSpace,
1363 public SVGExternalResourcesRequired,
1364 public SVGStylable,
1365 public events::EventTarget
1366 {
1367 public:
1371 /**
1372 * lengthAdjust Types
1373 */
1374 typedef enum
1375 {
1376 LENGTHADJUST_UNKNOWN = 0,
1377 LENGTHADJUST_SPACING = 1,
1378 LENGTHADJUST_SPACINGANDGLYPHS = 2
1379 } LengthAdjustType;
1382 /**
1383 *
1384 */
1385 virtual SVGAnimatedLength getTextLength() =0;
1388 /**
1389 *
1390 */
1391 virtual SVGAnimatedEnumeration getLengthAdjust() =0;
1394 /**
1395 *
1396 */
1397 virtual long getNumberOfChars ( ) =0;
1399 /**
1400 *
1401 */
1402 virtual double getComputedTextLength ( ) =0;
1404 /**
1405 *
1406 */
1407 virtual double getSubStringLength (unsigned long charnum, unsigned long nchars )
1408 throw( DOMException ) =0;
1410 /**
1411 *
1412 */
1413 virtual SVGPoint getStartPositionOfChar (unsigned long charnum )
1414 throw( DOMException ) =0;
1416 /**
1417 *
1418 */
1419 virtual SVGPoint getEndPositionOfChar (unsigned long charnum )
1420 throw( DOMException ) =0;
1422 /**
1423 *
1424 */
1425 virtual SVGRect getExtentOfChar (unsigned long charnum )
1426 throw( DOMException ) =0;
1428 /**
1429 *
1430 */
1431 virtual double getRotationOfChar (unsigned long charnum )
1432 throw( DOMException ) =0;
1434 /**
1435 *
1436 */
1437 virtual long getCharNumAtPosition (const SVGPoint &point ) =0;
1439 /**
1440 *
1441 */
1442 virtual void selectSubString (unsigned long charnum, unsigned long nchars )
1443 throw( DOMException ) =0;
1447 //##################
1448 //# Non-API methods
1449 //##################
1451 /**
1452 *
1453 */
1454 virtual ~SVGTextContentElement() {}
1456 };
1463 /*#########################################################################
1464 ## SVGTextPositioningElement
1465 #########################################################################*/
1467 /**
1468 *
1469 */
1470 class SVGTextPositioningElement : virtual public SVGTextContentElement
1471 {
1472 public:
1474 /**
1475 *
1476 */
1477 virtual SVGAnimatedLength getX() =0;
1479 /**
1480 *
1481 */
1482 virtual SVGAnimatedLength getY() =0;
1484 /**
1485 *
1486 */
1487 virtual SVGAnimatedLength getDx() =0;
1489 /**
1490 *
1491 */
1492 virtual SVGAnimatedLength getDy() =0;
1495 /**
1496 *
1497 */
1498 virtual SVGAnimatedNumberList getRotate() =0;
1502 //##################
1503 //# Non-API methods
1504 //##################
1506 /**
1507 *
1508 */
1509 virtual ~SVGTextPositioningElement() {}
1511 };
1518 /*#########################################################################
1519 ## SVGTextElement
1520 #########################################################################*/
1522 /**
1523 *
1524 */
1525 class SVGTextElement : virtual public SVGTextPositioningElement,
1526 public SVGTransformable
1527 {
1528 public:
1530 //##################
1531 //# Non-API methods
1532 //##################
1534 /**
1535 *
1536 */
1537 virtual ~SVGTextElement() {}
1539 };
1544 /*#########################################################################
1545 ## SVGTSpanElement
1546 #########################################################################*/
1548 /**
1549 *
1550 */
1551 class SVGTSpanElement : virtual public SVGTextPositioningElement
1552 {
1553 public:
1555 //##################
1556 //# Non-API methods
1557 //##################
1559 /**
1560 *
1561 */
1562 virtual ~SVGTSpanElement() {}
1564 };
1569 /*#########################################################################
1570 ## SVGTRefElement
1571 #########################################################################*/
1573 /**
1574 *
1575 */
1576 class SVGTRefElement :
1577 virtual public SVGTextPositioningElement,
1578 public SVGURIReference
1579 {
1580 public:
1582 //##################
1583 //# Non-API methods
1584 //##################
1586 /**
1587 *
1588 */
1589 virtual ~SVGTRefElement() {}
1591 };
1596 /*#########################################################################
1597 ## SVGTextPathElement
1598 #########################################################################*/
1600 /**
1601 *
1602 */
1603 class SVGTextPathElement :
1604 virtual public SVGTextContentElement,
1605 public SVGURIReference
1606 {
1607 public:
1611 /**
1612 * textPath Method Types
1613 */
1614 typedef enum
1615 {
1616 TEXTPATH_METHODTYPE_UNKNOWN = 0,
1617 TEXTPATH_METHODTYPE_ALIGN = 1,
1618 TEXTPATH_METHODTYPE_STRETCH = 2
1619 } TextPathMethodType;
1621 /**
1622 * textPath Spacing Types
1623 */
1624 typedef enum
1625 {
1626 TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
1627 TEXTPATH_SPACINGTYPE_AUTO = 1,
1628 TEXTPATH_SPACINGTYPE_EXACT = 2
1629 } TextPathSpacingType;
1632 /**
1633 *
1634 */
1635 virtual SVGAnimatedLength getStartOffset() =0;
1637 /**
1638 *
1639 */
1640 virtual SVGAnimatedEnumeration getMethod() =0;
1642 /**
1643 *
1644 */
1645 virtual SVGAnimatedEnumeration getSpacing() =0;
1649 //##################
1650 //# Non-API methods
1651 //##################
1653 /**
1654 *
1655 */
1656 virtual ~SVGTextPathElement() {}
1658 };
1665 /*#########################################################################
1666 ## SVGAltGlyphElement
1667 #########################################################################*/
1669 /**
1670 *
1671 */
1672 class SVGAltGlyphElement :
1673 virtual public SVGTextPositioningElement,
1674 public SVGURIReference
1675 {
1676 public:
1678 /**
1679 *
1680 */
1681 virtual DOMString getGlyphRef() =0;
1683 /**
1684 *
1685 */
1686 virtual void setGlyphRef(const DOMString &val)
1687 throw (DOMException) =0;
1689 /**
1690 *
1691 */
1692 virtual DOMString getFormat() =0;
1694 /**
1695 *
1696 */
1697 virtual void setFormat(const DOMString &val)
1698 throw (DOMException) =0;
1703 //##################
1704 //# Non-API methods
1705 //##################
1707 /**
1708 *
1709 */
1710 virtual ~SVGAltGlyphElement() {}
1712 };
1719 /*#########################################################################
1720 ## SVGAltGlyphDefElement
1721 #########################################################################*/
1723 /**
1724 *
1725 */
1726 class SVGAltGlyphDefElement : virtual public SVGElement
1727 {
1728 public:
1730 //##################
1731 //# Non-API methods
1732 //##################
1734 /**
1735 *
1736 */
1737 virtual ~SVGAltGlyphDefElement() {}
1739 };
1744 /*#########################################################################
1745 ## SVGAltGlyphItemElement
1746 #########################################################################*/
1748 /**
1749 *
1750 */
1751 class SVGAltGlyphItemElement : virtual public SVGElement
1752 {
1753 public:
1755 //##################
1756 //# Non-API methods
1757 //##################
1759 /**
1760 *
1761 */
1762 virtual ~SVGAltGlyphItemElement() {}
1764 };
1769 /*#########################################################################
1770 ## SVGGlyphRefElement
1771 #########################################################################*/
1773 /**
1774 *
1775 */
1776 class SVGGlyphRefElement : virtual public SVGElement,
1777 public SVGURIReference,
1778 public SVGStylable
1779 {
1780 public:
1781 /**
1782 *
1783 */
1784 virtual DOMString getGlyphRef() =0;
1786 /**
1787 *
1788 */
1789 virtual void setGlyphRef(const DOMString &val)
1790 throw (DOMException) =0;
1792 /**
1793 *
1794 */
1795 virtual DOMString getFormat() =0;
1797 /**
1798 *
1799 */
1800 virtual void setFormat(const DOMString &val)
1801 throw (DOMException) =0;
1803 /**
1804 *
1805 */
1806 virtual double getX() = 0;
1808 /**
1809 *
1810 */
1811 virtual void setX(double val) throw (DOMException) =0;
1813 /**
1814 *
1815 */
1816 virtual double getY() = 0;
1818 /**
1819 *
1820 */
1821 virtual void setY(double val) throw (DOMException) =0;
1823 /**
1824 *
1825 */
1826 virtual double getDx() = 0;
1828 /**
1829 *
1830 */
1831 virtual void setDx(double val) throw (DOMException) =0;
1833 /**
1834 *
1835 */
1836 virtual double getDy() = 0;
1838 /**
1839 *
1840 */
1841 virtual void setDy(double val) throw (DOMException) =0;
1846 //##################
1847 //# Non-API methods
1848 //##################
1850 /**
1851 *
1852 */
1853 virtual ~SVGGlyphRefElement() {}
1855 };
1861 /*#########################################################################
1862 ## SVGMarkerElement
1863 #########################################################################*/
1865 /**
1866 *
1867 */
1868 class SVGMarkerElement :
1869 virtual public SVGElement,
1870 public SVGLangSpace,
1871 public SVGExternalResourcesRequired,
1872 public SVGStylable,
1873 public SVGFitToViewBox
1874 {
1875 public:
1879 /**
1880 * Marker Unit Types
1881 */
1882 typedef enum
1883 {
1884 SVG_MARKERUNITS_UNKNOWN = 0,
1885 SVG_MARKERUNITS_USERSPACEONUSE = 1,
1886 SVG_MARKERUNITS_STROKEWIDTH = 2
1887 } MarkerUnitType;
1889 /**
1890 * Marker Orientation Types
1891 */
1892 typedef enum
1893 {
1894 SVG_MARKER_ORIENT_UNKNOWN = 0,
1895 SVG_MARKER_ORIENT_AUTO = 1,
1896 SVG_MARKER_ORIENT_ANGLE = 2
1897 } MarkerOrientationType;
1900 /**
1901 *
1902 */
1903 virtual SVGAnimatedLength getRefX() =0;
1905 /**
1906 *
1907 */
1908 virtual SVGAnimatedLength getRefY() =0;
1910 /**
1911 *
1912 */
1913 virtual SVGAnimatedEnumeration getMarkerUnits() =0;
1915 /**
1916 *
1917 */
1918 virtual SVGAnimatedLength getMarkerWidth() =0;
1920 /**
1921 *
1922 */
1923 virtual SVGAnimatedLength getMarkerHeight() =0;
1925 /**
1926 *
1927 */
1928 virtual SVGAnimatedEnumeration getOrientType() =0;
1930 /**
1931 *
1932 */
1933 virtual SVGAnimatedAngle getOrientAngle() =0;
1936 /**
1937 *
1938 */
1939 virtual void setOrientToAuto ( ) =0;
1941 /**
1942 *
1943 */
1944 virtual void setOrientToAngle (const SVGAngle &angle) =0;
1948 //##################
1949 //# Non-API methods
1950 //##################
1952 /**
1953 *
1954 */
1955 virtual ~SVGMarkerElement() {}
1957 };
1964 /*#########################################################################
1965 ## SVGColorProfileElement
1966 #########################################################################*/
1968 /**
1969 *
1970 */
1971 class SVGColorProfileElement :
1972 virtual public SVGElement,
1973 public SVGURIReference,
1974 public SVGRenderingIntent
1975 {
1976 public:
1977 /**
1978 *
1979 */
1980 virtual DOMString getLocal() =0;
1982 /**
1983 *
1984 */
1985 virtual void setLocal(const DOMString &val)
1986 throw (DOMException) =0;
1988 /**
1989 *
1990 */
1991 virtual DOMString getName() =0;
1993 /**
1994 *
1995 */
1996 virtual void setName(const DOMString &val)
1997 throw (DOMException) =0;
1999 /**
2000 *
2001 */
2002 virtual unsigned short getRenderingIntent() =0;
2004 /**
2005 *
2006 */
2007 virtual void setRenderingIntent(unsigned short val)
2008 throw (DOMException) =0;
2012 //##################
2013 //# Non-API methods
2014 //##################
2016 /**
2017 *
2018 */
2019 virtual ~SVGColorProfileElement() {}
2021 };
2026 /*#########################################################################
2027 ## SVGGradientElement
2028 #########################################################################*/
2030 /**
2031 *
2032 */
2033 class SVGGradientElement :
2034 virtual public SVGElement,
2035 public SVGURIReference,
2036 public SVGExternalResourcesRequired,
2037 public SVGStylable,
2038 public SVGUnitTypes
2039 {
2040 public:
2044 /**
2045 * Spread Method Types
2046 */
2047 typedef enum
2048 {
2049 SVG_SPREADMETHOD_UNKNOWN = 0,
2050 SVG_SPREADMETHOD_PAD = 1,
2051 SVG_SPREADMETHOD_REFLECT = 2,
2052 SVG_SPREADMETHOD_REPEAT = 3
2053 } SpreadMethodType;
2056 /**
2057 *
2058 */
2059 virtual SVGAnimatedEnumeration getGradientUnits() =0;
2061 /**
2062 *
2063 */
2064 virtual SVGAnimatedTransformList getGradientTransform() =0;
2066 /**
2067 *
2068 */
2069 virtual SVGAnimatedEnumeration getSpreadMethod() =0;
2073 //##################
2074 //# Non-API methods
2075 //##################
2077 /**
2078 *
2079 */
2080 virtual ~SVGGradientElement() {}
2082 };
2089 /*#########################################################################
2090 ## SVGLinearGradientElement
2091 #########################################################################*/
2093 /**
2094 *
2095 */
2096 class SVGLinearGradientElement : virtual public SVGGradientElement
2097 {
2098 public:
2101 /**
2102 *
2103 */
2104 virtual SVGAnimatedLength getX1() =0;
2106 /**
2107 *
2108 */
2109 virtual SVGAnimatedLength getY1() =0;
2111 /**
2112 *
2113 */
2114 virtual SVGAnimatedLength getX2() =0;
2116 /**
2117 *
2118 */
2119 virtual SVGAnimatedLength getY2() =0;
2122 //##################
2123 //# Non-API methods
2124 //##################
2126 /**
2127 *
2128 */
2129 virtual ~SVGLinearGradientElement() {}
2131 };
2138 /*#########################################################################
2139 ## SVGRadialGradientElement
2140 #########################################################################*/
2142 /**
2143 *
2144 */
2145 class SVGRadialGradientElement : virtual public SVGGradientElement
2146 {
2147 public:
2150 /**
2151 *
2152 */
2153 virtual SVGAnimatedLength getCx() =0;
2156 /**
2157 *
2158 */
2159 virtual SVGAnimatedLength getCy() =0;
2162 /**
2163 *
2164 */
2165 virtual SVGAnimatedLength getR() =0;
2168 /**
2169 *
2170 */
2171 virtual SVGAnimatedLength getFx() =0;
2174 /**
2175 *
2176 */
2177 virtual SVGAnimatedLength getFy() =0;
2182 //##################
2183 //# Non-API methods
2184 //##################
2186 /**
2187 *
2188 */
2189 virtual ~SVGRadialGradientElement() {}
2191 };
2198 /*#########################################################################
2199 ## SVGStopElement
2200 #########################################################################*/
2202 /**
2203 *
2204 */
2205 class SVGStopElement :
2206 virtual public SVGElement,
2207 public SVGStylable
2208 {
2209 public:
2211 /**
2212 *
2213 */
2214 virtual SVGAnimatedNumber getOffset() =0;
2218 //##################
2219 //# Non-API methods
2220 //##################
2222 /**
2223 *
2224 */
2225 virtual ~SVGStopElement() {}
2227 };
2234 /*#########################################################################
2235 ## SVGPatternElement
2236 #########################################################################*/
2238 /**
2239 *
2240 */
2241 class SVGPatternElement :
2242 virtual public SVGElement,
2243 public SVGURIReference,
2244 public SVGTests,
2245 public SVGLangSpace,
2246 public SVGExternalResourcesRequired,
2247 public SVGStylable,
2248 public SVGFitToViewBox,
2249 public SVGUnitTypes
2250 {
2251 public:
2256 /**
2257 *
2258 */
2259 virtual SVGAnimatedEnumeration getPatternUnits() =0;
2261 /**
2262 *
2263 */
2264 virtual SVGAnimatedEnumeration getPatternContentUnits() =0;
2266 /**
2267 *
2268 */
2269 virtual SVGAnimatedTransformList getPatternTransform() =0;
2271 /**
2272 *
2273 */
2274 virtual SVGAnimatedLength getX() =0;
2276 /**
2277 *
2278 */
2279 virtual SVGAnimatedLength getY() =0;
2281 /**
2282 *
2283 */
2284 virtual SVGAnimatedLength getWidth() =0;
2286 /**
2287 *
2288 */
2289 virtual SVGAnimatedLength getHeight() =0;
2293 //##################
2294 //# Non-API methods
2295 //##################
2297 /**
2298 *
2299 */
2300 virtual ~SVGPatternElement() {}
2302 };
2309 /*#########################################################################
2310 ## SVGClipPathElement
2311 #########################################################################*/
2313 /**
2314 *
2315 */
2316 class SVGClipPathElement :
2317 virtual public SVGElement,
2318 public SVGTests,
2319 public SVGLangSpace,
2320 public SVGExternalResourcesRequired,
2321 public SVGStylable,
2322 public SVGTransformable,
2323 public SVGUnitTypes
2324 {
2325 public:
2326 /**
2327 *
2328 */
2329 virtual SVGAnimatedEnumeration getClipPathUnits() =0;
2334 //##################
2335 //# Non-API methods
2336 //##################
2338 /**
2339 *
2340 */
2341 virtual ~SVGClipPathElement() {}
2343 };
2350 /*#########################################################################
2351 ## SVGMaskElement
2352 #########################################################################*/
2354 /**
2355 *
2356 */
2357 class SVGMaskElement :
2358 virtual public SVGElement,
2359 public SVGTests,
2360 public SVGLangSpace,
2361 public SVGExternalResourcesRequired,
2362 public SVGStylable,
2363 public SVGUnitTypes
2364 {
2365 public:
2369 /**
2370 *
2371 */
2372 virtual SVGAnimatedEnumeration getMaskUnits() =0;
2374 /**
2375 *
2376 */
2377 virtual SVGAnimatedEnumeration getMaskContentUnits() =0;
2379 /**
2380 *
2381 */
2382 virtual SVGAnimatedLength getX() =0;
2384 /**
2385 *
2386 */
2387 virtual SVGAnimatedLength getY() =0;
2389 /**
2390 *
2391 */
2392 virtual SVGAnimatedLength getWidth() =0;
2394 /**
2395 *
2396 */
2397 virtual SVGAnimatedLength getHeight() =0;
2399 //##################
2400 //# Non-API methods
2401 //##################
2403 /**
2404 *
2405 */
2406 virtual ~SVGMaskElement() {}
2408 };
2415 /*#########################################################################
2416 ## SVGFilterElement
2417 #########################################################################*/
2419 /**
2420 *
2421 */
2422 class SVGFilterElement :
2423 virtual public SVGElement,
2424 public SVGURIReference,
2425 public SVGLangSpace,
2426 public SVGExternalResourcesRequired,
2427 public SVGStylable,
2428 public SVGUnitTypes
2429 {
2430 public:
2434 /**
2435 *
2436 */
2437 virtual SVGAnimatedEnumeration getFilterUnits() =0;
2439 /**
2440 *
2441 */
2442 virtual SVGAnimatedEnumeration getPrimitiveUnits() =0;
2444 /**
2445 *
2446 */
2447 virtual SVGAnimatedLength getX() =0;
2449 /**
2450 *
2451 */
2452 virtual SVGAnimatedLength getY() =0;
2454 /**
2455 *
2456 */
2457 virtual SVGAnimatedLength getWidth() =0;
2459 /**
2460 *
2461 */
2462 virtual SVGAnimatedLength getHeight() =0;
2465 /**
2466 *
2467 */
2468 virtual SVGAnimatedInteger getFilterResX() =0;
2470 /**
2471 *
2472 */
2473 virtual SVGAnimatedInteger getFilterResY() =0;
2475 /**
2476 *
2477 */
2478 virtual void setFilterRes (unsigned long filterResX,
2479 unsigned long filterResY ) =0;
2483 //##################
2484 //# Non-API methods
2485 //##################
2487 /**
2488 *
2489 */
2490 virtual ~SVGFilterElement() {}
2492 };
2498 /*#########################################################################
2499 ## SVGFEBlendElement
2500 #########################################################################*/
2502 /**
2503 *
2504 */
2505 class SVGFEBlendElement :
2506 virtual public SVGElement,
2507 public SVGFilterPrimitiveStandardAttributes
2508 {
2509 public:
2512 /**
2513 * Blend Mode Types
2514 */
2515 typedef enum
2516 {
2517 SVG_FEBLEND_MODE_UNKNOWN = 0,
2518 SVG_FEBLEND_MODE_NORMAL = 1,
2519 SVG_FEBLEND_MODE_MULTIPLY = 2,
2520 SVG_FEBLEND_MODE_SCREEN = 3,
2521 SVG_FEBLEND_MODE_DARKEN = 4,
2522 SVG_FEBLEND_MODE_LIGHTEN = 5
2523 } BlendModeType;
2525 /**
2526 *
2527 */
2528 virtual SVGAnimatedString getIn1() =0;
2530 /**
2531 *
2532 */
2533 virtual SVGAnimatedString getIn2() =0;
2535 /**
2536 *
2537 */
2538 virtual SVGAnimatedEnumeration getMode() =0;
2541 //##################
2542 //# Non-API methods
2543 //##################
2545 /**
2546 *
2547 */
2548 virtual ~SVGFEBlendElement() {}
2550 };
2557 /*#########################################################################
2558 ## SVGFEColorMatrixElement
2559 #########################################################################*/
2561 /**
2562 *
2563 */
2564 class SVGFEColorMatrixElement :
2565 virtual public SVGElement,
2566 public SVGFilterPrimitiveStandardAttributes
2567 {
2568 public:
2572 /**
2573 * Color Matrix Types
2574 */
2575 typedef enum
2576 {
2577 SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,
2578 SVG_FECOLORMATRIX_TYPE_MATRIX = 1,
2579 SVG_FECOLORMATRIX_TYPE_SATURATE = 2,
2580 SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,
2581 SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4
2582 } ColorMatrixType;
2585 /**
2586 *
2587 */
2588 virtual SVGAnimatedString getIn1() =0;
2590 /**
2591 *
2592 */
2593 virtual SVGAnimatedEnumeration getType() =0;
2595 /**
2596 *
2597 */
2598 virtual SVGAnimatedNumberList getValues() =0;
2602 //##################
2603 //# Non-API methods
2604 //##################
2606 /**
2607 *
2608 */
2609 virtual ~SVGFEColorMatrixElement() {}
2611 };
2618 /*#########################################################################
2619 ## SVGFEComponentTransferElement
2620 #########################################################################*/
2622 /**
2623 *
2624 */
2625 class SVGFEComponentTransferElement :
2626 virtual public SVGElement,
2627 public SVGFilterPrimitiveStandardAttributes
2628 {
2629 public:
2630 /**
2631 *
2632 */
2633 virtual SVGAnimatedString getIn1() =0;
2635 //##################
2636 //# Non-API methods
2637 //##################
2639 /**
2640 *
2641 */
2642 virtual ~SVGFEComponentTransferElement() {}
2644 };
2651 /*#########################################################################
2652 ## SVGComponentTransferFunctionElement
2653 #########################################################################*/
2655 /**
2656 *
2657 */
2658 class SVGComponentTransferFunctionElement : virtual public SVGElement
2659 {
2660 public:
2663 /**
2664 * Component Transfer Types
2665 */
2666 typedef enum
2667 {
2668 SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,
2669 SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
2670 SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,
2671 SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
2672 SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,
2673 SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5
2674 } ComponentTransferType;
2677 /**
2678 *
2679 */
2680 virtual SVGAnimatedEnumeration getType() =0;
2682 /**
2683 *
2684 */
2685 virtual SVGAnimatedNumberList getTableValues() =0;
2687 /**
2688 *
2689 */
2690 virtual SVGAnimatedNumber getSlope() =0;
2692 /**
2693 *
2694 */
2695 virtual SVGAnimatedNumber getIntercept() =0;
2697 /**
2698 *
2699 */
2700 virtual SVGAnimatedNumber getAmplitude() =0;
2702 /**
2703 *
2704 */
2705 virtual SVGAnimatedNumber getExponent() =0;
2707 /**
2708 *
2709 */
2710 virtual SVGAnimatedNumber getOffset() =0;
2713 //##################
2714 //# Non-API methods
2715 //##################
2717 /**
2718 *
2719 */
2720 virtual ~SVGComponentTransferFunctionElement() {}
2722 };
2729 /*#########################################################################
2730 ## SVGFEFuncRElement
2731 #########################################################################*/
2733 /**
2734 *
2735 */
2736 class SVGFEFuncRElement : virtual public SVGComponentTransferFunctionElement
2737 {
2738 public:
2740 //##################
2741 //# Non-API methods
2742 //##################
2744 /**
2745 *
2746 */
2747 virtual ~SVGFEFuncRElement() {}
2749 };
2754 /*#########################################################################
2755 ## SVGFEFuncGElement
2756 #########################################################################*/
2758 /**
2759 *
2760 */
2761 class SVGFEFuncGElement : public virtual SVGComponentTransferFunctionElement
2762 {
2763 public:
2765 //##################
2766 //# Non-API methods
2767 //##################
2769 /**
2770 *
2771 */
2772 virtual ~SVGFEFuncGElement() {}
2774 };
2779 /*#########################################################################
2780 ## SVGFEFuncBElement
2781 #########################################################################*/
2783 /**
2784 *
2785 */
2786 class SVGFEFuncBElement : virtual public SVGComponentTransferFunctionElement
2787 {
2788 public:
2790 //##################
2791 //# Non-API methods
2792 //##################
2794 /**
2795 *
2796 */
2797 virtual ~SVGFEFuncBElement() {}
2799 };
2804 /*#########################################################################
2805 ## SVGFEFuncAElement
2806 #########################################################################*/
2808 /**
2809 *
2810 */
2811 class SVGFEFuncAElement : virtual public SVGComponentTransferFunctionElement
2812 {
2813 public:
2815 //##################
2816 //# Non-API methods
2817 //##################
2819 /**
2820 *
2821 */
2822 virtual ~SVGFEFuncAElement() {}
2824 };
2829 /*#########################################################################
2830 ## SVGFECompositeElement
2831 #########################################################################*/
2833 /**
2834 *
2835 */
2836 class SVGFECompositeElement :
2837 virtual public SVGElement,
2838 public SVGFilterPrimitiveStandardAttributes
2839 {
2840 public:
2844 /**
2845 * Composite Operators
2846 */
2847 typedef enum
2848 {
2849 SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0,
2850 SVG_FECOMPOSITE_OPERATOR_OVER = 1,
2851 SVG_FECOMPOSITE_OPERATOR_IN = 2,
2852 SVG_FECOMPOSITE_OPERATOR_OUT = 3,
2853 SVG_FECOMPOSITE_OPERATOR_ATOP = 4,
2854 SVG_FECOMPOSITE_OPERATOR_XOR = 5,
2855 SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6
2856 } CompositeOperatorType;
2858 /**
2859 *
2860 */
2861 virtual SVGAnimatedString getIn1() =0;
2863 /**
2864 *
2865 */
2866 virtual SVGAnimatedString getIn2() =0;
2868 /**
2869 *
2870 */
2871 virtual SVGAnimatedEnumeration getOperator() =0;
2873 /**
2874 *
2875 */
2876 virtual SVGAnimatedNumber getK1() =0;
2878 /**
2879 *
2880 */
2881 virtual SVGAnimatedNumber getK2() =0;
2883 /**
2884 *
2885 */
2886 virtual SVGAnimatedNumber getK3() =0;
2888 /**
2889 *
2890 */
2891 virtual SVGAnimatedNumber getK4() =0;
2895 //##################
2896 //# Non-API methods
2897 //##################
2899 /**
2900 *
2901 */
2902 virtual ~SVGFECompositeElement() {}
2904 };
2911 /*#########################################################################
2912 ## SVGFEConvolveMatrixElement
2913 #########################################################################*/
2915 /**
2916 *
2917 */
2918 class SVGFEConvolveMatrixElement :
2919 virtual public SVGElement,
2920 public SVGFilterPrimitiveStandardAttributes
2921 {
2922 public:
2926 /**
2927 * Edge Mode Values
2928 */
2929 typedef enum
2930 {
2931 SVG_EDGEMODE_UNKNOWN = 0,
2932 SVG_EDGEMODE_DUPLICATE = 1,
2933 SVG_EDGEMODE_WRAP = 2,
2934 SVG_EDGEMODE_NONE = 3
2935 } EdgeModeType;
2938 /**
2939 *
2940 */
2941 virtual SVGAnimatedInteger getOrderX() =0;
2943 /**
2944 *
2945 */
2946 virtual SVGAnimatedInteger getOrderY() =0;
2948 /**
2949 *
2950 */
2951 virtual SVGAnimatedNumberList getKernelMatrix() =0;
2953 /**
2954 *
2955 */
2956 virtual SVGAnimatedNumber getDivisor() =0;
2958 /**
2959 *
2960 */
2961 virtual SVGAnimatedNumber getBias() =0;
2963 /**
2964 *
2965 */
2966 virtual SVGAnimatedInteger getTargetX() =0;
2968 /**
2969 *
2970 */
2971 virtual SVGAnimatedInteger getTargetY() =0;
2973 /**
2974 *
2975 */
2976 virtual SVGAnimatedEnumeration getEdgeMode() =0;
2978 /**
2979 *
2980 */
2981 virtual SVGAnimatedLength getKernelUnitLengthX() =0;
2983 /**
2984 *
2985 */
2986 virtual SVGAnimatedLength getKernelUnitLengthY() =0;
2988 /**
2989 *
2990 */
2991 virtual SVGAnimatedBoolean getPreserveAlpha() =0;
2995 //##################
2996 //# Non-API methods
2997 //##################
2999 /**
3000 *
3001 */
3002 virtual ~SVGFEConvolveMatrixElement() {}
3004 };
3011 /*#########################################################################
3012 ## SVGFEDiffuseLightingElement
3013 #########################################################################*/
3015 /**
3016 *
3017 */
3018 class SVGFEDiffuseLightingElement :
3019 virtual public SVGElement,
3020 public SVGFilterPrimitiveStandardAttributes
3021 {
3022 public:
3024 /**
3025 *
3026 */
3027 virtual SVGAnimatedString getIn1() =0;
3029 /**
3030 *
3031 */
3032 virtual SVGAnimatedNumber getSurfaceScale() =0;
3034 /**
3035 *
3036 */
3037 virtual SVGAnimatedNumber getDiffuseConstant() =0;
3041 //##################
3042 //# Non-API methods
3043 //##################
3045 /**
3046 *
3047 */
3048 virtual ~SVGFEDiffuseLightingElement() {}
3050 };
3057 /*#########################################################################
3058 ## SVGFEDistantLightElement
3059 #########################################################################*/
3061 /**
3062 *
3063 */
3064 class SVGFEDistantLightElement : virtual public SVGElement
3065 {
3066 public:
3068 /**
3069 *
3070 */
3071 virtual SVGAnimatedNumber getAzimuth() =0;
3074 /**
3075 *
3076 */
3077 virtual SVGAnimatedNumber getElevation() =0;
3081 //##################
3082 //# Non-API methods
3083 //##################
3085 /**
3086 *
3087 */
3088 virtual ~SVGFEDistantLightElement() {}
3090 };
3097 /*#########################################################################
3098 ## SVGFEPointLightElement
3099 #########################################################################*/
3101 /**
3102 *
3103 */
3104 class SVGFEPointLightElement : virtual public SVGElement
3105 {
3106 public:
3107 /**
3108 *
3109 */
3110 virtual SVGAnimatedNumber getX() =0;
3113 /**
3114 *
3115 */
3116 virtual SVGAnimatedNumber getY() =0;
3118 /**
3119 *
3120 */
3121 virtual SVGAnimatedNumber getZ() =0;
3123 //##################
3124 //# Non-API methods
3125 //##################
3127 /**
3128 *
3129 */
3130 virtual ~SVGFEPointLightElement() {}
3132 };
3139 /*#########################################################################
3140 ## SVGFESpotLightElement
3141 #########################################################################*/
3143 /**
3144 *
3145 */
3146 class SVGFESpotLightElement : virtual public SVGElement
3147 {
3148 public:
3150 /**
3151 *
3152 */
3153 virtual SVGAnimatedNumber getX() =0;
3156 /**
3157 *
3158 */
3159 virtual SVGAnimatedNumber getY() =0;
3161 /**
3162 *
3163 */
3164 virtual SVGAnimatedNumber getZ() =0;
3166 /**
3167 *
3168 */
3169 virtual SVGAnimatedNumber getPointsAtX() =0;
3171 /**
3172 *
3173 */
3174 virtual SVGAnimatedNumber getPointsAtY() =0;
3176 /**
3177 *
3178 */
3179 virtual SVGAnimatedNumber getPointsAtZ() =0;
3181 /**
3182 *
3183 */
3184 virtual SVGAnimatedNumber getSpecularExponent() =0;
3186 /**
3187 *
3188 */
3189 virtual SVGAnimatedNumber getLimitingConeAngle() =0;
3193 //##################
3194 //# Non-API methods
3195 //##################
3197 /**
3198 *
3199 */
3200 virtual ~SVGFESpotLightElement() {}
3202 };
3209 /*#########################################################################
3210 ## SVGFEDisplacementMapElement
3211 #########################################################################*/
3213 /**
3214 *
3215 */
3216 class SVGFEDisplacementMapElement :
3217 virtual public SVGElement,
3218 public SVGFilterPrimitiveStandardAttributes
3219 {
3220 public:
3224 /**
3225 * Channel Selectors
3226 */
3227 typedef enum
3228 {
3229 SVG_CHANNEL_UNKNOWN = 0,
3230 SVG_CHANNEL_R = 1,
3231 SVG_CHANNEL_G = 2,
3232 SVG_CHANNEL_B = 3,
3233 SVG_CHANNEL_A = 4
3234 } ChannelSelector;
3236 /**
3237 *
3238 */
3239 virtual SVGAnimatedString getIn1() =0;
3241 /**
3242 *
3243 */
3244 virtual SVGAnimatedString getIn2() =0;
3247 /**
3248 *
3249 */
3250 virtual SVGAnimatedNumber getScale() =0;
3252 /**
3253 *
3254 */
3255 virtual SVGAnimatedEnumeration getXChannelSelector() =0;
3257 /**
3258 *
3259 */
3260 virtual SVGAnimatedEnumeration getYChannelSelector() =0;
3264 //##################
3265 //# Non-API methods
3266 //##################
3268 /**
3269 *
3270 */
3271 virtual ~SVGFEDisplacementMapElement() {}
3273 };
3280 /*#########################################################################
3281 ## SVGFEFloodElement
3282 #########################################################################*/
3284 /**
3285 *
3286 */
3287 class SVGFEFloodElement :
3288 virtual public SVGElement,
3289 public SVGFilterPrimitiveStandardAttributes
3290 {
3291 public:
3292 /**
3293 *
3294 */
3295 virtual SVGAnimatedString getIn1() =0;
3298 //##################
3299 //# Non-API methods
3300 //##################
3302 /**
3303 *
3304 */
3305 virtual ~SVGFEFloodElement() {}
3307 };
3314 /*#########################################################################
3315 ## SVGFEGaussianBlurElement
3316 #########################################################################*/
3318 /**
3319 *
3320 */
3321 class SVGFEGaussianBlurElement :
3322 virtual public SVGElement,
3323 public SVGFilterPrimitiveStandardAttributes
3324 {
3325 public:
3326 /**
3327 *
3328 */
3329 virtual SVGAnimatedString getIn1() =0;
3332 /**
3333 *
3334 */
3335 virtual SVGAnimatedNumber getStdDeviationX() =0;
3337 /**
3338 *
3339 */
3340 virtual SVGAnimatedNumber getStdDeviationY() =0;
3343 /**
3344 *
3345 */
3346 virtual void setStdDeviation (double stdDeviationX, double stdDeviationY ) =0;
3350 //##################
3351 //# Non-API methods
3352 //##################
3354 /**
3355 *
3356 */
3357 virtual ~SVGFEGaussianBlurElement() {}
3359 };
3366 /*#########################################################################
3367 ## SVGFEImageElement
3368 #########################################################################*/
3370 /**
3371 *
3372 */
3373 class SVGFEImageElement :
3374 virtual public SVGElement,
3375 public SVGURIReference,
3376 public SVGLangSpace,
3377 public SVGExternalResourcesRequired,
3378 public SVGFilterPrimitiveStandardAttributes
3379 {
3380 public:
3382 //##################
3383 //# Non-API methods
3384 //##################
3386 /**
3387 *
3388 */
3389 virtual ~SVGFEImageElement() {}
3391 };
3396 /*#########################################################################
3397 ## SVGFEMergeElement
3398 #########################################################################*/
3400 /**
3401 *
3402 */
3403 class SVGFEMergeElement :
3404 virtual public SVGElement,
3405 public SVGFilterPrimitiveStandardAttributes
3406 {
3407 public:
3409 //##################
3410 //# Non-API methods
3411 //##################
3413 /**
3414 *
3415 */
3416 virtual ~SVGFEMergeElement() {}
3418 };
3423 /*#########################################################################
3424 ## SVGFEMergeNodeElement
3425 #########################################################################*/
3427 /**
3428 *
3429 */
3430 class SVGFEMergeNodeElement : virtual public SVGElement
3431 {
3432 public:
3433 /**
3434 *
3435 */
3436 virtual SVGAnimatedString getIn1() =0;
3439 //##################
3440 //# Non-API methods
3441 //##################
3443 /**
3444 *
3445 */
3446 virtual ~SVGFEMergeNodeElement() {}
3448 };
3455 /*#########################################################################
3456 ## SVGFEMorphologyElement
3457 #########################################################################*/
3459 /**
3460 *
3461 */
3462 class SVGFEMorphologyElement :
3463 virtual public SVGElement,
3464 public SVGFilterPrimitiveStandardAttributes
3465 {
3466 public:
3470 /**
3471 * Morphology Operators
3472 */
3473 typedef enum
3474 {
3475 SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,
3476 SVG_MORPHOLOGY_OPERATOR_ERODE = 1,
3477 SVG_MORPHOLOGY_OPERATOR_DILATE = 2
3478 } MorphologyOperatorType;
3481 /**
3482 *
3483 */
3484 virtual SVGAnimatedString getIn1() =0;
3487 /**
3488 *
3489 */
3490 virtual SVGAnimatedEnumeration getOperator() =0;
3492 /**
3493 *
3494 */
3495 virtual SVGAnimatedLength getRadiusX() =0;
3497 /**
3498 *
3499 */
3500 virtual SVGAnimatedLength getRadiusY() =0;
3504 //##################
3505 //# Non-API methods
3506 //##################
3508 /**
3509 *
3510 */
3511 virtual ~SVGFEMorphologyElement() {}
3513 };
3520 /*#########################################################################
3521 ## SVGFEOffsetElement
3522 #########################################################################*/
3524 /**
3525 *
3526 */
3527 class SVGFEOffsetElement :
3528 virtual public SVGElement,
3529 public SVGFilterPrimitiveStandardAttributes
3530 {
3531 public:
3535 /**
3536 *
3537 */
3538 virtual SVGAnimatedString getIn1() =0;
3540 /**
3541 *
3542 */
3543 virtual SVGAnimatedLength getDx() =0;
3545 /**
3546 *
3547 */
3548 virtual SVGAnimatedLength getDy() =0;
3553 //##################
3554 //# Non-API methods
3555 //##################
3557 /**
3558 *
3559 */
3560 virtual ~SVGFEOffsetElement() {}
3562 };
3569 /*#########################################################################
3570 ## SVGFESpecularLightingElement
3571 #########################################################################*/
3573 /**
3574 *
3575 */
3576 class SVGFESpecularLightingElement :
3577 virtual public SVGElement,
3578 public SVGFilterPrimitiveStandardAttributes
3579 {
3580 public:
3582 /**
3583 *
3584 */
3585 virtual SVGAnimatedString getIn1() =0;
3587 /**
3588 *
3589 */
3590 virtual SVGAnimatedNumber getSurfaceScale() =0;
3592 /**
3593 *
3594 */
3595 virtual SVGAnimatedNumber getSpecularConstant() =0;
3597 /**
3598 *
3599 */
3600 virtual SVGAnimatedNumber getSpecularExponent() =0;
3603 //##################
3604 //# Non-API methods
3605 //##################
3607 /**
3608 *
3609 */
3610 virtual ~SVGFESpecularLightingElement() {}
3612 };
3619 /*#########################################################################
3620 ## SVGFETileElement
3621 #########################################################################*/
3623 /**
3624 *
3625 */
3626 class SVGFETileElement :
3627 virtual public SVGElement,
3628 public SVGFilterPrimitiveStandardAttributes
3629 {
3630 public:
3633 /**
3634 *
3635 */
3636 virtual SVGAnimatedString getIn1() =0;
3640 //##################
3641 //# Non-API methods
3642 //##################
3644 /**
3645 *
3646 */
3647 virtual ~SVGFETileElement() {}
3649 };
3656 /*#########################################################################
3657 ## SVGFETurbulenceElement
3658 #########################################################################*/
3660 /**
3661 *
3662 */
3663 class SVGFETurbulenceElement :
3664 virtual public SVGElement,
3665 public SVGFilterPrimitiveStandardAttributes
3666 {
3667 public:
3671 /**
3672 * Turbulence Types
3673 */
3674 typedef enum
3675 {
3676 SVG_TURBULENCE_TYPE_UNKNOWN = 0,
3677 SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,
3678 SVG_TURBULENCE_TYPE_TURBULENCE = 2
3679 } TurbulenceType;
3681 /**
3682 * Stitch Options
3683 */
3684 typedef enum
3685 {
3686 SVG_STITCHTYPE_UNKNOWN = 0,
3687 SVG_STITCHTYPE_STITCH = 1,
3688 SVG_STITCHTYPE_NOSTITCH = 2
3689 } StitchOption;
3693 /**
3694 *
3695 */
3696 virtual SVGAnimatedNumber getBaseFrequencyX() =0;
3698 /**
3699 *
3700 */
3701 virtual SVGAnimatedNumber getBaseFrequencyY() =0;
3703 /**
3704 *
3705 */
3706 virtual SVGAnimatedInteger getNumOctaves() =0;
3708 /**
3709 *
3710 */
3711 virtual SVGAnimatedNumber getSeed() =0;
3713 /**
3714 *
3715 */
3716 virtual SVGAnimatedEnumeration getStitchTiles() =0;
3718 /**
3719 *
3720 */
3721 virtual SVGAnimatedEnumeration getType() =0;
3725 //##################
3726 //# Non-API methods
3727 //##################
3729 /**
3730 *
3731 */
3732 virtual ~SVGFETurbulenceElement() {}
3734 };
3741 /*#########################################################################
3742 ## SVGCursorElement
3743 #########################################################################*/
3745 /**
3746 *
3747 */
3748 class SVGCursorElement :
3749 virtual public SVGElement,
3750 public SVGURIReference,
3751 public SVGTests,
3752 public SVGExternalResourcesRequired
3753 {
3754 public:
3755 /**
3756 *
3757 */
3758 virtual SVGAnimatedLength getX() =0;
3760 /**
3761 *
3762 */
3763 virtual SVGAnimatedLength getY() =0;
3765 //##################
3766 //# Non-API methods
3767 //##################
3769 /**
3770 *
3771 */
3772 virtual ~SVGCursorElement() {}
3774 };
3781 /*#########################################################################
3782 ## SVGAElement
3783 #########################################################################*/
3785 /**
3786 *
3787 */
3788 class SVGAElement : virtual public SVGElement,
3789 public SVGURIReference,
3790 public SVGTests,
3791 public SVGLangSpace,
3792 public SVGExternalResourcesRequired,
3793 public SVGStylable,
3794 public SVGTransformable,
3795 public events::EventTarget
3796 {
3797 public:
3799 /**
3800 *
3801 */
3802 virtual SVGAnimatedString getTarget() =0;
3806 //##################
3807 //# Non-API methods
3808 //##################
3810 /**
3811 *
3812 */
3813 virtual ~SVGAElement() {}
3815 };
3822 /*#########################################################################
3823 ## SVGViewElement
3824 #########################################################################*/
3826 /**
3827 *
3828 */
3829 class SVGViewElement : virtual public SVGElement,
3830 public SVGExternalResourcesRequired,
3831 public SVGFitToViewBox,
3832 public SVGZoomAndPan
3833 {
3834 public:
3836 /**
3837 *
3838 */
3839 virtual SVGStringList getViewTarget() =0;
3843 //##################
3844 //# Non-API methods
3845 //##################
3847 /**
3848 *
3849 */
3850 virtual ~SVGViewElement() {}
3852 };
3859 /*#########################################################################
3860 ## SVGScriptElement
3861 #########################################################################*/
3863 /**
3864 *
3865 */
3866 class SVGScriptElement :
3867 virtual public SVGElement,
3868 public SVGURIReference,
3869 public SVGExternalResourcesRequired
3870 {
3871 public:
3873 /**
3874 *
3875 */
3876 virtual DOMString getType() =0;
3878 /**
3879 *
3880 */
3881 virtual void setType(const DOMString &val)
3882 throw (DOMException) =0;
3885 //##################
3886 //# Non-API methods
3887 //##################
3889 /**
3890 *
3891 */
3892 virtual ~SVGScriptElement() {}
3894 };
3900 /*#########################################################################
3901 ## SVGAnimationElement
3902 #########################################################################*/
3904 /**
3905 *
3906 */
3907 class SVGAnimationElement :
3908 virtual public SVGElement,
3909 public SVGTests,
3910 public SVGExternalResourcesRequired,
3911 public smil::ElementTimeControl,
3912 public events::EventTarget
3913 {
3914 public:
3917 /**
3918 *
3919 */
3920 virtual SVGElementPtr getTargetElement() =0;
3923 /**
3924 *
3925 */
3926 virtual double getStartTime ( ) =0;
3928 /**
3929 *
3930 */
3931 virtual double getCurrentTime ( ) =0;
3933 /**
3934 *
3935 */
3936 virtual double getSimpleDuration ( )
3937 throw( DOMException ) =0;
3938 ;
3942 //##################
3943 //# Non-API methods
3944 //##################
3946 /**
3947 *
3948 */
3949 virtual ~SVGAnimationElement() {}
3951 };
3958 /*#########################################################################
3959 ## SVGAnimateElement
3960 #########################################################################*/
3962 /**
3963 *
3964 */
3965 class SVGAnimateElement : virtual public SVGAnimationElement
3966 {
3967 public:
3969 //##################
3970 //# Non-API methods
3971 //##################
3973 /**
3974 *
3975 */
3976 virtual ~SVGAnimateElement() {}
3978 };
3983 /*#########################################################################
3984 ## SVGSetElement
3985 #########################################################################*/
3987 /**
3988 *
3989 */
3990 class SVGSetElement : virtual public SVGAnimationElement
3991 {
3992 public:
3994 //##################
3995 //# Non-API methods
3996 //##################
3998 /**
3999 *
4000 */
4001 virtual ~SVGSetElement() {}
4003 };
4008 /*#########################################################################
4009 ## SVGAnimateMotionElement
4010 #########################################################################*/
4012 /**
4013 *
4014 */
4015 class SVGAnimateMotionElement : virtual public SVGAnimationElement
4016 {
4017 public:
4019 //##################
4020 //# Non-API methods
4021 //##################
4023 /**
4024 *
4025 */
4026 virtual ~SVGAnimateMotionElement() {}
4028 };
4033 /*#########################################################################
4034 ## SVGMPathElement
4035 #########################################################################*/
4037 /**
4038 *
4039 */
4040 class SVGMPathElement :
4041 virtual public SVGElement,
4042 public SVGURIReference,
4043 public SVGExternalResourcesRequired
4044 {
4045 public:
4047 //##################
4048 //# Non-API methods
4049 //##################
4051 /**
4052 *
4053 */
4054 virtual ~SVGMPathElement() {}
4056 };
4061 /*#########################################################################
4062 ## SVGAnimateColorElement
4063 #########################################################################*/
4065 /**
4066 *
4067 */
4068 class SVGAnimateColorElement : virtual public SVGAnimationElement
4069 {
4070 public:
4072 //##################
4073 //# Non-API methods
4074 //##################
4076 /**
4077 *
4078 */
4079 virtual ~SVGAnimateColorElement() {}
4081 };
4086 /*#########################################################################
4087 ## SVGAnimateTransformElement
4088 #########################################################################*/
4090 /**
4091 *
4092 */
4093 class SVGAnimateTransformElement : virtual public SVGAnimationElement
4094 {
4095 public:
4097 //##################
4098 //# Non-API methods
4099 //##################
4101 /**
4102 *
4103 */
4104 virtual ~SVGAnimateTransformElement() {}
4106 };
4111 /*#########################################################################
4112 ## SVGFontElement
4113 #########################################################################*/
4115 /**
4116 *
4117 */
4118 class SVGFontElement : virtual public SVGElement,
4119 public SVGExternalResourcesRequired,
4120 public SVGStylable
4121 {
4122 public:
4124 //##################
4125 //# Non-API methods
4126 //##################
4128 /**
4129 *
4130 */
4131 virtual ~SVGFontElement() {}
4133 };
4138 /*#########################################################################
4139 ## SVGGlyphElement
4140 #########################################################################*/
4142 /**
4143 *
4144 */
4145 class SVGGlyphElement : virtual public SVGElement,
4146 public SVGStylable
4147 {
4148 public:
4150 //##################
4151 //# Non-API methods
4152 //##################
4154 /**
4155 *
4156 */
4157 virtual ~SVGGlyphElement() {}
4159 };
4164 /*#########################################################################
4165 ## SVGMissingGlyphElement
4166 #########################################################################*/
4168 /**
4169 *
4170 */
4171 class SVGMissingGlyphElement :
4172 virtual public SVGElement,
4173 public SVGStylable
4174 {
4175 public:
4177 //##################
4178 //# Non-API methods
4179 //##################
4181 /**
4182 *
4183 */
4184 virtual ~SVGMissingGlyphElement() {}
4186 };
4191 /*#########################################################################
4192 ## SVGHKernElement
4193 #########################################################################*/
4195 /**
4196 *
4197 */
4198 class SVGHKernElement : virtual public SVGElement
4199 {
4200 public:
4202 //##################
4203 //# Non-API methods
4204 //##################
4206 /**
4207 *
4208 */
4209 virtual ~SVGHKernElement() {}
4211 };
4216 /*#########################################################################
4217 ## SVGVKernElement
4218 #########################################################################*/
4220 /**
4221 *
4222 */
4223 class SVGVKernElement : public virtual SVGElement
4224 {
4225 public:
4227 //##################
4228 //# Non-API methods
4229 //##################
4231 /**
4232 *
4233 */
4234 virtual ~SVGVKernElement() {}
4236 };
4241 /*#########################################################################
4242 ## SVGFontFaceElement
4243 #########################################################################*/
4245 /**
4246 *
4247 */
4248 class SVGFontFaceElement : virtual public SVGElement
4249 {
4250 public:
4252 //##################
4253 //# Non-API methods
4254 //##################
4256 /**
4257 *
4258 */
4259 virtual ~SVGFontFaceElement() {}
4261 };
4266 /*#########################################################################
4267 ## SVGFontFaceSrcElement
4268 #########################################################################*/
4270 /**
4271 *
4272 */
4273 class SVGFontFaceSrcElement : virtual public SVGElement
4274 {
4275 public:
4277 //##################
4278 //# Non-API methods
4279 //##################
4281 /**
4282 *
4283 */
4284 virtual ~SVGFontFaceSrcElement() {}
4286 };
4291 /*#########################################################################
4292 ## SVGFontFaceUriElement
4293 #########################################################################*/
4295 /**
4296 *
4297 */
4298 class SVGFontFaceUriElement : virtual public SVGElement
4299 {
4300 public:
4302 //##################
4303 //# Non-API methods
4304 //##################
4306 /**
4307 *
4308 */
4309 virtual ~SVGFontFaceUriElement() {}
4311 };
4316 /*#########################################################################
4317 ## SVGFontFaceFormatElement
4318 #########################################################################*/
4320 /**
4321 *
4322 */
4323 class SVGFontFaceFormatElement : virtual public SVGElement
4324 {
4325 public:
4327 //##################
4328 //# Non-API methods
4329 //##################
4331 /**
4332 *
4333 */
4334 virtual ~SVGFontFaceFormatElement() {}
4336 };
4341 /*#########################################################################
4342 ## SVGFontFaceNameElement
4343 #########################################################################*/
4345 /**
4346 *
4347 */
4348 class SVGFontFaceNameElement : virtual public SVGElement
4349 {
4350 public:
4352 //##################
4353 //# Non-API methods
4354 //##################
4356 /**
4357 *
4358 */
4359 virtual ~SVGFontFaceNameElement() {}
4361 };
4366 /*#########################################################################
4367 ## SVGDefinitionSrcElement
4368 #########################################################################*/
4370 /**
4371 *
4372 */
4373 class SVGDefinitionSrcElement : virtual public SVGElement
4374 {
4375 public:
4377 //##################
4378 //# Non-API methods
4379 //##################
4381 /**
4382 *
4383 */
4384 virtual ~SVGDefinitionSrcElement() {}
4386 };
4391 /*#########################################################################
4392 ## SVGMetadataElement
4393 #########################################################################*/
4395 /**
4396 *
4397 */
4398 class SVGMetadataElement : virtual public SVGElement
4399 {
4400 public:
4402 //##################
4403 //# Non-API methods
4404 //##################
4406 /**
4407 *
4408 */
4409 virtual ~SVGMetadataElement() {}
4411 };
4415 /*#########################################################################
4416 ## SVGForeignObjectElement
4417 #########################################################################*/
4419 /**
4420 *
4421 */
4422 class SVGForeignObjectElement :
4423 virtual public SVGElement,
4424 public SVGTests,
4425 public SVGLangSpace,
4426 public SVGExternalResourcesRequired,
4427 public SVGStylable,
4428 public SVGTransformable,
4429 public events::EventTarget
4430 {
4431 public:
4434 /**
4435 *
4436 */
4437 virtual SVGAnimatedLength getX() =0;
4439 /**
4440 *
4441 */
4442 virtual SVGAnimatedLength getY() =0;
4444 /**
4445 *
4446 */
4447 virtual SVGAnimatedLength getWidth() =0;
4449 /**
4450 *
4451 */
4452 virtual SVGAnimatedLength getHeight() =0;
4456 //##################
4457 //# Non-API methods
4458 //##################
4461 /**
4462 *
4463 */
4464 virtual ~SVGForeignObjectElement() {}
4466 };
4472 } //namespace svg
4473 } //namespace dom
4474 } //namespace w3c
4475 } //namespace org
4477 #endif // __SVG_H__
4478 /*#########################################################################
4479 ## E N D O F F I L E
4480 #########################################################################*/