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 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.h"
37 // For access to DOM2 events
38 #include "events.h"
40 // For access to those parts from DOM2 CSS OM used by SVG DOM.
41 #include "css.h"
43 // For access to those parts from DOM2 Views OM used by SVG DOM.
44 #include "views.h"
46 // For access to the SMIL OM used by SVG DOM.
47 #include "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::Document Document;
72 typedef dom::NodeList NodeList;
76 class SVGSVGElement;
80 /*#########################################################################
81 ## SVGElement
82 #########################################################################*/
84 /**
85 *
86 */
87 class SVGElement : virtual public Element
88 {
89 public:
91 /**
92 *
93 */
94 virtual DOMString getId() =0;
96 /**
97 *
98 */
99 virtual void setId(const DOMString &val)
100 throw (DOMException) =0;
102 /**
103 *
104 */
105 virtual DOMString getXmlBase() = 0;
107 /**
108 *
109 */
110 virtual void setXmlBase(const DOMString &val)
111 throw (DOMException) = 0;
113 /**
114 *
115 */
116 virtual SVGSVGElement *getOwnerSVGElement() = 0;
118 /**
119 *
120 */
121 virtual SVGElement *getViewportElement() = 0;
124 //##################
125 //# Non-API methods
126 //##################
129 /**
130 *
131 */
132 virtual ~SVGElement() {}
135 };
139 /*#########################################################################
140 ## SVGDocument
141 #########################################################################*/
143 /**
144 *
145 */
146 class SVGDocument : virtual public Document,
147 virtual public events::DocumentEvent
148 {
149 public:
152 /**
153 *
154 */
155 virtual DOMString getTitle() =0;
157 /**
158 *
159 */
160 virtual DOMString getReferrer() =0;
162 /**
163 *
164 */
165 virtual DOMString getDomain() =0;
167 /**
168 *
169 */
170 virtual DOMString getURL() =0;
172 /**
173 *
174 */
175 virtual SVGSVGElement *getRootElement() =0;
178 //##################
179 //# Non-API methods
180 //##################
182 /**
183 *
184 */
185 virtual ~SVGDocument() {}
187 };
191 /*#########################################################################
192 ## SVGSVGElement
193 #########################################################################*/
195 /**
196 *
197 */
198 class SVGSVGElement : virtual public SVGElement,
199 public SVGTests,
200 public SVGLangSpace,
201 public SVGExternalResourcesRequired,
202 public SVGStylable,
203 public SVGLocatable,
204 public SVGFitToViewBox,
205 public SVGZoomAndPan,
206 public events::EventTarget,
207 public events::DocumentEvent,
208 public css::ViewCSS,
209 public css::DocumentCSS
210 {
211 public:
213 /**
214 *
215 */
216 virtual SVGAnimatedLength getX() =0;
218 /**
219 *
220 */
221 virtual SVGAnimatedLength getY() =0;
223 /**
224 *
225 */
226 virtual SVGAnimatedLength getWidth() =0;
228 /**
229 *
230 */
231 virtual SVGAnimatedLength getHeight() =0;
233 /**
234 *
235 */
236 virtual DOMString getContentScriptType() =0;
238 /**
239 *
240 */
241 virtual void setContentScriptType(const DOMString &val)
242 throw (DOMException) =0;
245 /**
246 *
247 */
248 virtual DOMString getContentStyleType() =0;
250 /**
251 *
252 */
253 virtual void setContentStyleType(const DOMString &val)
254 throw (DOMException) =0;
256 /**
257 *
258 */
259 virtual SVGRect getViewport() =0;
261 /**
262 *
263 */
264 virtual double getPixelUnitToMillimeterX() =0;
266 /**
267 *
268 */
269 virtual double getPixelUnitToMillimeterY() =0;
271 /**
272 *
273 */
274 virtual double getScreenPixelToMillimeterX() =0;
276 /**
277 *
278 */
279 virtual double getScreenPixelToMillimeterY() =0;
282 /**
283 *
284 */
285 virtual bool getUseCurrentView() =0;
287 /**
288 *
289 */
290 virtual void setUseCurrentView(bool val) throw (DOMException) =0;
292 /**
293 *
294 */
295 virtual SVGViewSpec getCurrentView() =0;
298 /**
299 *
300 */
301 virtual double getCurrentScale() =0;
303 /**
304 *
305 */
306 virtual void setCurrentScale(double val)
307 throw (DOMException) =0;
310 /**
311 *
312 */
313 virtual SVGPoint getCurrentTranslate() =0;
316 /**
317 *
318 */
319 virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds ) =0;
321 /**
322 *
323 */
324 virtual void unsuspendRedraw (unsigned long suspend_handle_id )
325 throw( DOMException ) =0;
327 /**
328 *
329 */
330 virtual void unsuspendRedrawAll ( ) =0;
332 /**
333 *
334 */
335 virtual void forceRedraw ( ) =0;
337 /**
338 *
339 */
340 virtual void pauseAnimations ( ) =0;
342 /**
343 *
344 */
345 virtual void unpauseAnimations ( ) =0;
347 /**
348 *
349 */
350 virtual bool animationsPaused ( ) =0;
352 /**
353 *
354 */
355 virtual double getCurrentTime ( ) =0;
357 /**
358 *
359 */
360 virtual void setCurrentTime (double seconds ) =0;
362 /**
363 *
364 */
365 virtual NodeList getIntersectionList (const SVGRect &rect,
366 const SVGElement *referenceElement ) =0;
368 /**
369 *
370 */
371 virtual NodeList getEnclosureList (const SVGRect &rect,
372 const SVGElement *referenceElement ) =0;
374 /**
375 *
376 */
377 virtual bool checkIntersection (const SVGElement *element, const SVGRect &rect ) =0;
379 /**
380 *
381 */
382 virtual bool checkEnclosure (const SVGElement *element, const SVGRect &rect ) =0;
384 /**
385 *
386 */
387 virtual void deselectAll ( ) =0;
389 /**
390 *
391 */
392 virtual SVGNumber createSVGNumber ( ) =0;
394 /**
395 *
396 */
397 virtual SVGLength createSVGLength ( ) =0;
399 /**
400 *
401 */
402 virtual SVGAngle createSVGAngle ( ) =0;
404 /**
405 *
406 */
407 virtual SVGPoint createSVGPoint ( ) =0;
409 /**
410 *
411 */
412 virtual SVGMatrix createSVGMatrix ( ) =0;
414 /**
415 *
416 */
417 virtual SVGRect createSVGRect ( ) =0;
419 /**
420 *
421 */
422 virtual SVGTransform createSVGTransform ( ) =0;
424 /**
425 *
426 */
427 virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix ) =0;
429 /**
430 *
431 */
432 virtual Element *getElementById (const DOMString& elementId ) =0;
436 //##################
437 //# Non-API methods
438 //##################
440 /**
441 *
442 */
443 virtual ~SVGSVGElement() {}
445 };
449 /*#########################################################################
450 ## SVGGElement
451 #########################################################################*/
453 /**
454 *
455 */
456 class SVGGElement : virtual public SVGElement,
457 public SVGTests,
458 public SVGLangSpace,
459 public SVGExternalResourcesRequired,
460 public SVGStylable,
461 public SVGTransformable,
462 public events::EventTarget
463 {
464 public:
466 //##################
467 //# Non-API methods
468 //##################
470 /**
471 *
472 */
473 virtual ~SVGGElement() {}
475 };
480 /*#########################################################################
481 ## SVGDefsElement
482 #########################################################################*/
484 /**
485 *
486 */
487 class SVGDefsElement :
488 virtual public SVGElement,
489 public SVGTests,
490 public SVGLangSpace,
491 public SVGExternalResourcesRequired,
492 public SVGStylable,
493 public SVGTransformable,
494 public events::EventTarget
495 {
496 public:
498 //##################
499 //# Non-API methods
500 //##################
502 /**
503 *
504 */
505 virtual ~SVGDefsElement() {}
507 };
512 /*#########################################################################
513 ## SVGDescElement
514 #########################################################################*/
516 /**
517 *
518 */
519 class SVGDescElement :
520 virtual public SVGElement,
521 public SVGLangSpace,
522 public SVGStylable
523 {
524 public:
526 //##################
527 //# Non-API methods
528 //##################
530 /**
531 *
532 */
533 virtual ~SVGDescElement() {}
535 };
540 /*#########################################################################
541 ## SVGTitleElement
542 #########################################################################*/
544 /**
545 *
546 */
547 class SVGTitleElement :
548 virtual public SVGElement,
549 public SVGLangSpace,
550 public SVGStylable
551 {
552 public:
554 //##################
555 //# Non-API methods
556 //##################
558 /**
559 *
560 */
561 virtual ~SVGTitleElement() {}
563 };
568 /*#########################################################################
569 ## SVGSymbolElement
570 #########################################################################*/
572 /**
573 *
574 */
575 class SVGSymbolElement :
576 virtual public SVGElement,
577 public SVGLangSpace,
578 public SVGExternalResourcesRequired,
579 public SVGStylable,
580 public SVGFitToViewBox,
581 public events::EventTarget
582 {
583 public:
585 //##################
586 //# Non-API methods
587 //##################
589 /**
590 *
591 */
592 virtual ~SVGSymbolElement() {}
594 };
599 /*#########################################################################
600 ## SVGUseElement
601 #########################################################################*/
603 /**
604 *
605 */
606 class SVGUseElement :
607 virtual public SVGElement,
608 public SVGURIReference,
609 public SVGTests,
610 public SVGLangSpace,
611 public SVGExternalResourcesRequired,
612 public SVGStylable,
613 public SVGTransformable,
614 public events::EventTarget
615 {
616 public:
621 /**
622 *
623 */
624 virtual SVGAnimatedLength getX() =0;
626 /**
627 *
628 */
629 virtual SVGAnimatedLength getY() =0;
631 /**
632 *
633 */
634 virtual SVGAnimatedLength getWidth() =0;
636 /**
637 *
638 */
639 virtual SVGAnimatedLength getHeight() =0;
641 /**
642 *
643 */
644 virtual SVGElementInstance getInstanceRoot() =0;
646 /**
647 *
648 */
649 virtual SVGElementInstance getAnimatedInstanceRoot() =0;
653 //##################
654 //# Non-API methods
655 //##################
657 /**
658 *
659 */
660 virtual ~SVGUseElement() {}
662 };
670 /*#########################################################################
671 ## SVGImageElement
672 #########################################################################*/
674 /**
675 *
676 */
677 class SVGImageElement :
678 virtual public SVGElement,
679 public SVGURIReference,
680 public SVGTests,
681 public SVGLangSpace,
682 public SVGExternalResourcesRequired,
683 public SVGStylable,
684 public SVGTransformable,
685 public events::EventTarget
686 {
687 public:
690 /**
691 *
692 */
693 virtual SVGAnimatedLength getX() =0;
695 /**
696 *
697 */
698 virtual SVGAnimatedLength getY() =0;
700 /**
701 *
702 */
703 virtual SVGAnimatedLength getWidth() =0;
705 /**
706 *
707 */
708 virtual SVGAnimatedLength getHeight() =0;
711 /**
712 *
713 */
714 virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() =0;
718 //##################
719 //# Non-API methods
720 //##################
722 /**
723 *
724 */
725 virtual ~SVGImageElement() {}
727 };
734 /*#########################################################################
735 ## SVGSwitchElement
736 #########################################################################*/
738 /**
739 *
740 */
741 class SVGSwitchElement :
742 virtual public SVGElement,
743 public SVGTests,
744 public SVGLangSpace,
745 public SVGExternalResourcesRequired,
746 public SVGStylable,
747 public SVGTransformable,
748 public events::EventTarget
749 {
750 public:
752 //##################
753 //# Non-API methods
754 //##################
756 /**
757 *
758 */
759 virtual ~SVGSwitchElement() {}
761 };
766 /*#########################################################################
767 ## GetSVGDocument
768 #########################################################################*/
770 /**
771 *
772 */
773 class GetSVGDocument
774 {
775 public:
777 /**
778 *
779 */
780 virtual SVGDocument *getSVGDocument ( )
781 throw( DOMException ) =0;
783 //##################
784 //# Non-API methods
785 //##################
787 /**
788 *
789 */
790 virtual ~GetSVGDocument() {}
792 };
799 /*#########################################################################
800 ## SVGStyleElement
801 #########################################################################*/
803 /**
804 *
805 */
806 class SVGStyleElement : virtual public SVGElement
807 {
808 public:
810 /**
811 *
812 */
813 virtual DOMString getXmlspace() = 0;
815 /**
816 *
817 */
818 virtual void setXmlspace(const DOMString &val)
819 throw (DOMException) =0;
821 /**
822 *
823 */
824 virtual DOMString getType() = 0;
826 /**
827 *
828 */
829 virtual void setType(const DOMString &val)
830 throw (DOMException) =0;
832 /**
833 *
834 */
835 virtual DOMString getMedia() = 0;
837 /**
838 *
839 */
840 virtual void setMedia(const DOMString &val)
841 throw (DOMException) =0;
843 /**
844 *
845 */
846 virtual DOMString getTitle() = 0;
848 /**
849 *
850 */
851 virtual void setTitle(const DOMString &val)
852 throw (DOMException) =0;
856 //##################
857 //# Non-API methods
858 //##################
860 /**
861 *
862 */
863 virtual ~SVGStyleElement() {}
865 };
872 /*#########################################################################
873 ## SVGPathElement
874 #########################################################################*/
876 /**
877 *
878 */
879 class SVGPathElement :
880 virtual public SVGElement,
881 public SVGTests,
882 public SVGLangSpace,
883 public SVGExternalResourcesRequired,
884 public SVGStylable,
885 public SVGTransformable,
886 public events::EventTarget,
887 public SVGAnimatedPathData
888 {
889 public:
894 /**
895 *
896 */
897 virtual SVGAnimatedNumber getPathLength() =0;
899 /**
900 *
901 */
902 virtual double getTotalLength ( ) =0;
904 /**
905 *
906 */
907 virtual SVGPoint getPointAtLength (double distance ) =0;
909 /**
910 *
911 */
912 virtual unsigned long getPathSegAtLength (double distance ) =0;
914 /**
915 *
916 */
917 virtual SVGPathSegClosePath
918 createSVGPathSegClosePath ( ) =0;
920 /**
921 *
922 */
923 virtual SVGPathSegMovetoAbs
924 createSVGPathSegMovetoAbs (double x, double y ) =0;
926 /**
927 *
928 */
929 virtual SVGPathSegMovetoRel
930 createSVGPathSegMovetoRel (double x, double y ) =0;
932 /**
933 *
934 */
935 virtual SVGPathSegLinetoAbs
936 createSVGPathSegLinetoAbs (double x, double y ) =0;
938 /**
939 *
940 */
941 virtual SVGPathSegLinetoRel
942 createSVGPathSegLinetoRel (double x, double y ) =0;
944 /**
945 *
946 */
947 virtual SVGPathSegCurvetoCubicAbs
948 createSVGPathSegCurvetoCubicAbs (double x, double y,
949 double x1, double y1, double x2, double y2 ) =0;
951 /**
952 *
953 */
954 virtual SVGPathSegCurvetoCubicRel
955 createSVGPathSegCurvetoCubicRel (double x, double y,
956 double x1, double y1, double x2, double y2 ) =0;
958 /**
959 *
960 */
961 virtual SVGPathSegCurvetoQuadraticAbs
962 createSVGPathSegCurvetoQuadraticAbs (double x, double y,
963 double x1, double y1 ) =0;
965 /**
966 *
967 */
968 virtual SVGPathSegCurvetoQuadraticRel
969 createSVGPathSegCurvetoQuadraticRel (double x, double y,
970 double x1, double y1 ) =0;
972 /**
973 *
974 */
975 virtual SVGPathSegArcAbs
976 createSVGPathSegArcAbs (double x, double y,
977 double r1, double r2, double angle,
978 bool largeArcFlag, bool sweepFlag ) =0;
980 /**
981 *
982 */
983 virtual SVGPathSegArcRel
984 createSVGPathSegArcRel (double x, double y, double r1,
985 double r2, double angle, bool largeArcFlag,
986 bool sweepFlag ) =0;
988 /**
989 *
990 */
991 virtual SVGPathSegLinetoHorizontalAbs
992 createSVGPathSegLinetoHorizontalAbs (double x ) =0;
994 /**
995 *
996 */
997 virtual SVGPathSegLinetoHorizontalRel
998 createSVGPathSegLinetoHorizontalRel (double x ) =0;
1000 /**
1001 *
1002 */
1003 virtual SVGPathSegLinetoVerticalAbs
1004 createSVGPathSegLinetoVerticalAbs (double y ) =0;
1006 /**
1007 *
1008 */
1009 virtual SVGPathSegLinetoVerticalRel
1010 createSVGPathSegLinetoVerticalRel (double y ) =0;
1012 /**
1013 *
1014 */
1015 virtual SVGPathSegCurvetoCubicSmoothAbs
1016 createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
1017 double x2, double y2 ) =0;
1019 /**
1020 *
1021 */
1022 virtual SVGPathSegCurvetoCubicSmoothRel
1023 createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
1024 double x2, double y2 ) =0;
1026 /**
1027 *
1028 */
1029 virtual SVGPathSegCurvetoQuadraticSmoothAbs
1030 createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y ) =0;
1032 /**
1033 *
1034 */
1035 virtual SVGPathSegCurvetoQuadraticSmoothRel
1036 createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y ) =0;
1040 //##################
1041 //# Non-API methods
1042 //##################
1044 /**
1045 *
1046 */
1047 virtual ~SVGPathElement() {}
1049 };
1056 /*#########################################################################
1057 ## SVGRectElement
1058 #########################################################################*/
1060 /**
1061 *
1062 */
1063 class SVGRectElement :
1064 virtual public SVGElement,
1065 public SVGTests,
1066 public SVGLangSpace,
1067 public SVGExternalResourcesRequired,
1068 public SVGStylable,
1069 public SVGTransformable,
1070 public events::EventTarget
1071 {
1072 public:
1074 /**
1075 *
1076 */
1077 virtual SVGAnimatedLength getX() =0;
1079 /**
1080 *
1081 */
1082 virtual SVGAnimatedLength getY() =0;
1084 /**
1085 *
1086 */
1087 virtual SVGAnimatedLength getWidth() =0;
1089 /**
1090 *
1091 */
1092 virtual SVGAnimatedLength getHeight() =0;
1095 /**
1096 *
1097 */
1098 virtual SVGAnimatedLength getRx() =0;
1100 /**
1101 *
1102 */
1103 virtual SVGAnimatedLength getRy() =0;
1107 //##################
1108 //# Non-API methods
1109 //##################
1111 /**
1112 *
1113 */
1114 virtual ~SVGRectElement() {}
1116 };
1123 /*#########################################################################
1124 ## SVGCircleElement
1125 #########################################################################*/
1127 /**
1128 *
1129 */
1130 class SVGCircleElement :
1131 virtual public SVGElement,
1132 public SVGTests,
1133 public SVGLangSpace,
1134 public SVGExternalResourcesRequired,
1135 public SVGStylable,
1136 public SVGTransformable,
1137 public events::EventTarget
1138 {
1139 public:
1141 /**
1142 *
1143 */
1144 virtual SVGAnimatedLength getCx() =0;
1146 /**
1147 *
1148 */
1149 virtual SVGAnimatedLength getCy() =0;
1151 /**
1152 *
1153 */
1154 virtual SVGAnimatedLength getR() =0;
1158 //##################
1159 //# Non-API methods
1160 //##################
1162 /**
1163 *
1164 */
1165 virtual ~SVGCircleElement() {}
1167 };
1174 /*#########################################################################
1175 ## SVGEllipseElement
1176 #########################################################################*/
1178 /**
1179 *
1180 */
1181 class SVGEllipseElement :
1182 virtual public SVGElement,
1183 public SVGTests,
1184 public SVGLangSpace,
1185 public SVGExternalResourcesRequired,
1186 public SVGStylable,
1187 public SVGTransformable,
1188 public events::EventTarget
1189 {
1190 public:
1191 /**
1192 *
1193 */
1194 virtual SVGAnimatedLength getCx() =0;
1196 /**
1197 *
1198 */
1199 virtual SVGAnimatedLength getCy() =0;
1201 /**
1202 *
1203 */
1204 virtual SVGAnimatedLength getRx() =0;
1206 /**
1207 *
1208 */
1209 virtual SVGAnimatedLength getRy() =0;
1212 //##################
1213 //# Non-API methods
1214 //##################
1216 /**
1217 *
1218 */
1219 virtual ~SVGEllipseElement() {}
1221 };
1228 /*#########################################################################
1229 ## SVGLineElement
1230 #########################################################################*/
1232 /**
1233 *
1234 */
1235 class SVGLineElement :
1236 virtual public SVGElement,
1237 public SVGTests,
1238 public SVGLangSpace,
1239 public SVGExternalResourcesRequired,
1240 public SVGStylable,
1241 public SVGTransformable,
1242 public events::EventTarget
1243 {
1244 public:
1245 /**
1246 *
1247 */
1248 virtual SVGAnimatedLength getX1() =0;
1250 /**
1251 *
1252 */
1253 virtual SVGAnimatedLength getY1() =0;
1255 /**
1256 *
1257 */
1258 virtual SVGAnimatedLength getX2() =0;
1260 /**
1261 *
1262 */
1263 virtual SVGAnimatedLength getY2() =0;
1265 //##################
1266 //# Non-API methods
1267 //##################
1269 /**
1270 *
1271 */
1272 virtual ~SVGLineElement() {}
1274 };
1279 /*#########################################################################
1280 ## SVGPolylineElement
1281 #########################################################################*/
1283 /**
1284 *
1285 */
1286 class SVGPolylineElement :
1287 virtual public SVGElement,
1288 public SVGTests,
1289 public SVGLangSpace,
1290 public SVGExternalResourcesRequired,
1291 public SVGStylable,
1292 public SVGTransformable,
1293 public events::EventTarget,
1294 public SVGAnimatedPoints
1295 {
1296 public:
1298 //##################
1299 //# Non-API methods
1300 //##################
1302 /**
1303 *
1304 */
1305 virtual ~SVGPolylineElement() {}
1307 };
1312 /*#########################################################################
1313 ## SVGPolygonElement
1314 #########################################################################*/
1316 /**
1317 *
1318 */
1319 class SVGPolygonElement :
1320 virtual public SVGElement,
1321 public SVGTests,
1322 public SVGLangSpace,
1323 public SVGExternalResourcesRequired,
1324 public SVGStylable,
1325 public SVGTransformable,
1326 public events::EventTarget,
1327 public SVGAnimatedPoints
1328 {
1329 public:
1331 //##################
1332 //# Non-API methods
1333 //##################
1335 /**
1336 *
1337 */
1338 virtual ~SVGPolygonElement() {}
1340 };
1345 /*#########################################################################
1346 ## SVGTextContentElement
1347 #########################################################################*/
1349 /**
1350 *
1351 */
1352 class SVGTextContentElement :
1353 virtual public SVGElement,
1354 public SVGTests,
1355 public SVGLangSpace,
1356 public SVGExternalResourcesRequired,
1357 public SVGStylable,
1358 public events::EventTarget
1359 {
1360 public:
1364 /**
1365 * lengthAdjust Types
1366 */
1367 typedef enum
1368 {
1369 LENGTHADJUST_UNKNOWN = 0,
1370 LENGTHADJUST_SPACING = 1,
1371 LENGTHADJUST_SPACINGANDGLYPHS = 2
1372 } LengthAdjustType;
1375 /**
1376 *
1377 */
1378 virtual SVGAnimatedLength getTextLength() =0;
1381 /**
1382 *
1383 */
1384 virtual SVGAnimatedEnumeration getLengthAdjust() =0;
1387 /**
1388 *
1389 */
1390 virtual long getNumberOfChars ( ) =0;
1392 /**
1393 *
1394 */
1395 virtual double getComputedTextLength ( ) =0;
1397 /**
1398 *
1399 */
1400 virtual double getSubStringLength (unsigned long charnum, unsigned long nchars )
1401 throw( DOMException ) =0;
1403 /**
1404 *
1405 */
1406 virtual SVGPoint getStartPositionOfChar (unsigned long charnum )
1407 throw( DOMException ) =0;
1409 /**
1410 *
1411 */
1412 virtual SVGPoint getEndPositionOfChar (unsigned long charnum )
1413 throw( DOMException ) =0;
1415 /**
1416 *
1417 */
1418 virtual SVGRect getExtentOfChar (unsigned long charnum )
1419 throw( DOMException ) =0;
1421 /**
1422 *
1423 */
1424 virtual double getRotationOfChar (unsigned long charnum )
1425 throw( DOMException ) =0;
1427 /**
1428 *
1429 */
1430 virtual long getCharNumAtPosition (const SVGPoint &point ) =0;
1432 /**
1433 *
1434 */
1435 virtual void selectSubString (unsigned long charnum, unsigned long nchars )
1436 throw( DOMException ) =0;
1440 //##################
1441 //# Non-API methods
1442 //##################
1444 /**
1445 *
1446 */
1447 virtual ~SVGTextContentElement() {}
1449 };
1456 /*#########################################################################
1457 ## SVGTextPositioningElement
1458 #########################################################################*/
1460 /**
1461 *
1462 */
1463 class SVGTextPositioningElement : virtual public SVGTextContentElement
1464 {
1465 public:
1467 /**
1468 *
1469 */
1470 virtual SVGAnimatedLength getX() =0;
1472 /**
1473 *
1474 */
1475 virtual SVGAnimatedLength getY() =0;
1477 /**
1478 *
1479 */
1480 virtual SVGAnimatedLength getDx() =0;
1482 /**
1483 *
1484 */
1485 virtual SVGAnimatedLength getDy() =0;
1488 /**
1489 *
1490 */
1491 virtual SVGAnimatedNumberList getRotate() =0;
1495 //##################
1496 //# Non-API methods
1497 //##################
1499 /**
1500 *
1501 */
1502 virtual ~SVGTextPositioningElement() {}
1504 };
1511 /*#########################################################################
1512 ## SVGTextElement
1513 #########################################################################*/
1515 /**
1516 *
1517 */
1518 class SVGTextElement : virtual public SVGTextPositioningElement,
1519 public SVGTransformable
1520 {
1521 public:
1523 //##################
1524 //# Non-API methods
1525 //##################
1527 /**
1528 *
1529 */
1530 virtual ~SVGTextElement() {}
1532 };
1537 /*#########################################################################
1538 ## SVGTSpanElement
1539 #########################################################################*/
1541 /**
1542 *
1543 */
1544 class SVGTSpanElement : virtual public SVGTextPositioningElement
1545 {
1546 public:
1548 //##################
1549 //# Non-API methods
1550 //##################
1552 /**
1553 *
1554 */
1555 virtual ~SVGTSpanElement() {}
1557 };
1562 /*#########################################################################
1563 ## SVGTRefElement
1564 #########################################################################*/
1566 /**
1567 *
1568 */
1569 class SVGTRefElement :
1570 virtual public SVGTextPositioningElement,
1571 public SVGURIReference
1572 {
1573 public:
1575 //##################
1576 //# Non-API methods
1577 //##################
1579 /**
1580 *
1581 */
1582 virtual ~SVGTRefElement() {}
1584 };
1589 /*#########################################################################
1590 ## SVGTextPathElement
1591 #########################################################################*/
1593 /**
1594 *
1595 */
1596 class SVGTextPathElement :
1597 virtual public SVGTextContentElement,
1598 public SVGURIReference
1599 {
1600 public:
1604 /**
1605 * textPath Method Types
1606 */
1607 typedef enum
1608 {
1609 TEXTPATH_METHODTYPE_UNKNOWN = 0,
1610 TEXTPATH_METHODTYPE_ALIGN = 1,
1611 TEXTPATH_METHODTYPE_STRETCH = 2
1612 } TextPathMethodType;
1614 /**
1615 * textPath Spacing Types
1616 */
1617 typedef enum
1618 {
1619 TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
1620 TEXTPATH_SPACINGTYPE_AUTO = 1,
1621 TEXTPATH_SPACINGTYPE_EXACT = 2
1622 } TextPathSpacingType;
1625 /**
1626 *
1627 */
1628 virtual SVGAnimatedLength getStartOffset() =0;
1630 /**
1631 *
1632 */
1633 virtual SVGAnimatedEnumeration getMethod() =0;
1635 /**
1636 *
1637 */
1638 virtual SVGAnimatedEnumeration getSpacing() =0;
1642 //##################
1643 //# Non-API methods
1644 //##################
1646 /**
1647 *
1648 */
1649 virtual ~SVGTextPathElement() {}
1651 };
1658 /*#########################################################################
1659 ## SVGAltGlyphElement
1660 #########################################################################*/
1662 /**
1663 *
1664 */
1665 class SVGAltGlyphElement :
1666 virtual public SVGTextPositioningElement,
1667 public SVGURIReference
1668 {
1669 public:
1671 /**
1672 *
1673 */
1674 virtual DOMString getGlyphRef() =0;
1676 /**
1677 *
1678 */
1679 virtual void setGlyphRef(const DOMString &val)
1680 throw (DOMException) =0;
1682 /**
1683 *
1684 */
1685 virtual DOMString getFormat() =0;
1687 /**
1688 *
1689 */
1690 virtual void setFormat(const DOMString &val)
1691 throw (DOMException) =0;
1696 //##################
1697 //# Non-API methods
1698 //##################
1700 /**
1701 *
1702 */
1703 virtual ~SVGAltGlyphElement() {}
1705 };
1712 /*#########################################################################
1713 ## SVGAltGlyphDefElement
1714 #########################################################################*/
1716 /**
1717 *
1718 */
1719 class SVGAltGlyphDefElement : virtual public SVGElement
1720 {
1721 public:
1723 //##################
1724 //# Non-API methods
1725 //##################
1727 /**
1728 *
1729 */
1730 virtual ~SVGAltGlyphDefElement() {}
1732 };
1737 /*#########################################################################
1738 ## SVGAltGlyphItemElement
1739 #########################################################################*/
1741 /**
1742 *
1743 */
1744 class SVGAltGlyphItemElement : virtual public SVGElement
1745 {
1746 public:
1748 //##################
1749 //# Non-API methods
1750 //##################
1752 /**
1753 *
1754 */
1755 virtual ~SVGAltGlyphItemElement() {}
1757 };
1762 /*#########################################################################
1763 ## SVGGlyphRefElement
1764 #########################################################################*/
1766 /**
1767 *
1768 */
1769 class SVGGlyphRefElement : virtual public SVGElement,
1770 public SVGURIReference,
1771 public SVGStylable
1772 {
1773 public:
1774 /**
1775 *
1776 */
1777 virtual DOMString getGlyphRef() =0;
1779 /**
1780 *
1781 */
1782 virtual void setGlyphRef(const DOMString &val)
1783 throw (DOMException) =0;
1785 /**
1786 *
1787 */
1788 virtual DOMString getFormat() =0;
1790 /**
1791 *
1792 */
1793 virtual void setFormat(const DOMString &val)
1794 throw (DOMException) =0;
1796 /**
1797 *
1798 */
1799 virtual double getX() = 0;
1801 /**
1802 *
1803 */
1804 virtual void setX(double val) throw (DOMException) =0;
1806 /**
1807 *
1808 */
1809 virtual double getY() = 0;
1811 /**
1812 *
1813 */
1814 virtual void setY(double val) throw (DOMException) =0;
1816 /**
1817 *
1818 */
1819 virtual double getDx() = 0;
1821 /**
1822 *
1823 */
1824 virtual void setDx(double val) throw (DOMException) =0;
1826 /**
1827 *
1828 */
1829 virtual double getDy() = 0;
1831 /**
1832 *
1833 */
1834 virtual void setDy(double val) throw (DOMException) =0;
1839 //##################
1840 //# Non-API methods
1841 //##################
1843 /**
1844 *
1845 */
1846 virtual ~SVGGlyphRefElement() {}
1848 };
1854 /*#########################################################################
1855 ## SVGMarkerElement
1856 #########################################################################*/
1858 /**
1859 *
1860 */
1861 class SVGMarkerElement :
1862 virtual public SVGElement,
1863 public SVGLangSpace,
1864 public SVGExternalResourcesRequired,
1865 public SVGStylable,
1866 public SVGFitToViewBox
1867 {
1868 public:
1872 /**
1873 * Marker Unit Types
1874 */
1875 typedef enum
1876 {
1877 SVG_MARKERUNITS_UNKNOWN = 0,
1878 SVG_MARKERUNITS_USERSPACEONUSE = 1,
1879 SVG_MARKERUNITS_STROKEWIDTH = 2
1880 } MarkerUnitType;
1882 /**
1883 * Marker Orientation Types
1884 */
1885 typedef enum
1886 {
1887 SVG_MARKER_ORIENT_UNKNOWN = 0,
1888 SVG_MARKER_ORIENT_AUTO = 1,
1889 SVG_MARKER_ORIENT_ANGLE = 2
1890 } MarkerOrientationType;
1893 /**
1894 *
1895 */
1896 virtual SVGAnimatedLength getRefX() =0;
1898 /**
1899 *
1900 */
1901 virtual SVGAnimatedLength getRefY() =0;
1903 /**
1904 *
1905 */
1906 virtual SVGAnimatedEnumeration getMarkerUnits() =0;
1908 /**
1909 *
1910 */
1911 virtual SVGAnimatedLength getMarkerWidth() =0;
1913 /**
1914 *
1915 */
1916 virtual SVGAnimatedLength getMarkerHeight() =0;
1918 /**
1919 *
1920 */
1921 virtual SVGAnimatedEnumeration getOrientType() =0;
1923 /**
1924 *
1925 */
1926 virtual SVGAnimatedAngle getOrientAngle() =0;
1929 /**
1930 *
1931 */
1932 virtual void setOrientToAuto ( ) =0;
1934 /**
1935 *
1936 */
1937 virtual void setOrientToAngle (const SVGAngle &angle) =0;
1941 //##################
1942 //# Non-API methods
1943 //##################
1945 /**
1946 *
1947 */
1948 virtual ~SVGMarkerElement() {}
1950 };
1957 /*#########################################################################
1958 ## SVGColorProfileElement
1959 #########################################################################*/
1961 /**
1962 *
1963 */
1964 class SVGColorProfileElement :
1965 virtual public SVGElement,
1966 public SVGURIReference,
1967 public SVGRenderingIntent
1968 {
1969 public:
1970 /**
1971 *
1972 */
1973 virtual DOMString getLocal() =0;
1975 /**
1976 *
1977 */
1978 virtual void setLocal(const DOMString &val)
1979 throw (DOMException) =0;
1981 /**
1982 *
1983 */
1984 virtual DOMString getName() =0;
1986 /**
1987 *
1988 */
1989 virtual void setName(const DOMString &val)
1990 throw (DOMException) =0;
1992 /**
1993 *
1994 */
1995 virtual unsigned short getRenderingIntent() =0;
1997 /**
1998 *
1999 */
2000 virtual void setRenderingIntent(unsigned short val)
2001 throw (DOMException) =0;
2005 //##################
2006 //# Non-API methods
2007 //##################
2009 /**
2010 *
2011 */
2012 virtual ~SVGColorProfileElement() {}
2014 };
2019 /*#########################################################################
2020 ## SVGGradientElement
2021 #########################################################################*/
2023 /**
2024 *
2025 */
2026 class SVGGradientElement :
2027 virtual public SVGElement,
2028 public SVGURIReference,
2029 public SVGExternalResourcesRequired,
2030 public SVGStylable,
2031 public SVGUnitTypes
2032 {
2033 public:
2037 /**
2038 * Spread Method Types
2039 */
2040 typedef enum
2041 {
2042 SVG_SPREADMETHOD_UNKNOWN = 0,
2043 SVG_SPREADMETHOD_PAD = 1,
2044 SVG_SPREADMETHOD_REFLECT = 2,
2045 SVG_SPREADMETHOD_REPEAT = 3
2046 } SpreadMethodType;
2049 /**
2050 *
2051 */
2052 virtual SVGAnimatedEnumeration getGradientUnits() =0;
2054 /**
2055 *
2056 */
2057 virtual SVGAnimatedTransformList getGradientTransform() =0;
2059 /**
2060 *
2061 */
2062 virtual SVGAnimatedEnumeration getSpreadMethod() =0;
2066 //##################
2067 //# Non-API methods
2068 //##################
2070 /**
2071 *
2072 */
2073 virtual ~SVGGradientElement() {}
2075 };
2082 /*#########################################################################
2083 ## SVGLinearGradientElement
2084 #########################################################################*/
2086 /**
2087 *
2088 */
2089 class SVGLinearGradientElement : virtual public SVGGradientElement
2090 {
2091 public:
2094 /**
2095 *
2096 */
2097 virtual SVGAnimatedLength getX1() =0;
2099 /**
2100 *
2101 */
2102 virtual SVGAnimatedLength getY1() =0;
2104 /**
2105 *
2106 */
2107 virtual SVGAnimatedLength getX2() =0;
2109 /**
2110 *
2111 */
2112 virtual SVGAnimatedLength getY2() =0;
2115 //##################
2116 //# Non-API methods
2117 //##################
2119 /**
2120 *
2121 */
2122 virtual ~SVGLinearGradientElement() {}
2124 };
2131 /*#########################################################################
2132 ## SVGRadialGradientElement
2133 #########################################################################*/
2135 /**
2136 *
2137 */
2138 class SVGRadialGradientElement : virtual public SVGGradientElement
2139 {
2140 public:
2143 /**
2144 *
2145 */
2146 virtual SVGAnimatedLength getCx() =0;
2149 /**
2150 *
2151 */
2152 virtual SVGAnimatedLength getCy() =0;
2155 /**
2156 *
2157 */
2158 virtual SVGAnimatedLength getR() =0;
2161 /**
2162 *
2163 */
2164 virtual SVGAnimatedLength getFx() =0;
2167 /**
2168 *
2169 */
2170 virtual SVGAnimatedLength getFy() =0;
2175 //##################
2176 //# Non-API methods
2177 //##################
2179 /**
2180 *
2181 */
2182 virtual ~SVGRadialGradientElement() {}
2184 };
2191 /*#########################################################################
2192 ## SVGStopElement
2193 #########################################################################*/
2195 /**
2196 *
2197 */
2198 class SVGStopElement :
2199 virtual public SVGElement,
2200 public SVGStylable
2201 {
2202 public:
2204 /**
2205 *
2206 */
2207 virtual SVGAnimatedNumber getOffset() =0;
2211 //##################
2212 //# Non-API methods
2213 //##################
2215 /**
2216 *
2217 */
2218 virtual ~SVGStopElement() {}
2220 };
2227 /*#########################################################################
2228 ## SVGPatternElement
2229 #########################################################################*/
2231 /**
2232 *
2233 */
2234 class SVGPatternElement :
2235 virtual public SVGElement,
2236 public SVGURIReference,
2237 public SVGTests,
2238 public SVGLangSpace,
2239 public SVGExternalResourcesRequired,
2240 public SVGStylable,
2241 public SVGFitToViewBox,
2242 public SVGUnitTypes
2243 {
2244 public:
2249 /**
2250 *
2251 */
2252 virtual SVGAnimatedEnumeration getPatternUnits() =0;
2254 /**
2255 *
2256 */
2257 virtual SVGAnimatedEnumeration getPatternContentUnits() =0;
2259 /**
2260 *
2261 */
2262 virtual SVGAnimatedTransformList getPatternTransform() =0;
2264 /**
2265 *
2266 */
2267 virtual SVGAnimatedLength getX() =0;
2269 /**
2270 *
2271 */
2272 virtual SVGAnimatedLength getY() =0;
2274 /**
2275 *
2276 */
2277 virtual SVGAnimatedLength getWidth() =0;
2279 /**
2280 *
2281 */
2282 virtual SVGAnimatedLength getHeight() =0;
2286 //##################
2287 //# Non-API methods
2288 //##################
2290 /**
2291 *
2292 */
2293 virtual ~SVGPatternElement() {}
2295 };
2302 /*#########################################################################
2303 ## SVGClipPathElement
2304 #########################################################################*/
2306 /**
2307 *
2308 */
2309 class SVGClipPathElement :
2310 virtual public SVGElement,
2311 public SVGTests,
2312 public SVGLangSpace,
2313 public SVGExternalResourcesRequired,
2314 public SVGStylable,
2315 public SVGTransformable,
2316 public SVGUnitTypes
2317 {
2318 public:
2319 /**
2320 *
2321 */
2322 virtual SVGAnimatedEnumeration getClipPathUnits() =0;
2327 //##################
2328 //# Non-API methods
2329 //##################
2331 /**
2332 *
2333 */
2334 virtual ~SVGClipPathElement() {}
2336 };
2343 /*#########################################################################
2344 ## SVGMaskElement
2345 #########################################################################*/
2347 /**
2348 *
2349 */
2350 class SVGMaskElement :
2351 virtual public SVGElement,
2352 public SVGTests,
2353 public SVGLangSpace,
2354 public SVGExternalResourcesRequired,
2355 public SVGStylable,
2356 public SVGUnitTypes
2357 {
2358 public:
2362 /**
2363 *
2364 */
2365 virtual SVGAnimatedEnumeration getMaskUnits() =0;
2367 /**
2368 *
2369 */
2370 virtual SVGAnimatedEnumeration getMaskContentUnits() =0;
2372 /**
2373 *
2374 */
2375 virtual SVGAnimatedLength getX() =0;
2377 /**
2378 *
2379 */
2380 virtual SVGAnimatedLength getY() =0;
2382 /**
2383 *
2384 */
2385 virtual SVGAnimatedLength getWidth() =0;
2387 /**
2388 *
2389 */
2390 virtual SVGAnimatedLength getHeight() =0;
2392 //##################
2393 //# Non-API methods
2394 //##################
2396 /**
2397 *
2398 */
2399 virtual ~SVGMaskElement() {}
2401 };
2408 /*#########################################################################
2409 ## SVGFilterElement
2410 #########################################################################*/
2412 /**
2413 *
2414 */
2415 class SVGFilterElement :
2416 virtual public SVGElement,
2417 public SVGURIReference,
2418 public SVGLangSpace,
2419 public SVGExternalResourcesRequired,
2420 public SVGStylable,
2421 public SVGUnitTypes
2422 {
2423 public:
2427 /**
2428 *
2429 */
2430 virtual SVGAnimatedEnumeration getFilterUnits() =0;
2432 /**
2433 *
2434 */
2435 virtual SVGAnimatedEnumeration getPrimitiveUnits() =0;
2437 /**
2438 *
2439 */
2440 virtual SVGAnimatedLength getX() =0;
2442 /**
2443 *
2444 */
2445 virtual SVGAnimatedLength getY() =0;
2447 /**
2448 *
2449 */
2450 virtual SVGAnimatedLength getWidth() =0;
2452 /**
2453 *
2454 */
2455 virtual SVGAnimatedLength getHeight() =0;
2458 /**
2459 *
2460 */
2461 virtual SVGAnimatedInteger getFilterResX() =0;
2463 /**
2464 *
2465 */
2466 virtual SVGAnimatedInteger getFilterResY() =0;
2468 /**
2469 *
2470 */
2471 virtual void setFilterRes (unsigned long filterResX,
2472 unsigned long filterResY ) =0;
2476 //##################
2477 //# Non-API methods
2478 //##################
2480 /**
2481 *
2482 */
2483 virtual ~SVGFilterElement() {}
2485 };
2491 /*#########################################################################
2492 ## SVGFEBlendElement
2493 #########################################################################*/
2495 /**
2496 *
2497 */
2498 class SVGFEBlendElement :
2499 virtual public SVGElement,
2500 public SVGFilterPrimitiveStandardAttributes
2501 {
2502 public:
2505 /**
2506 * Blend Mode Types
2507 */
2508 typedef enum
2509 {
2510 SVG_FEBLEND_MODE_UNKNOWN = 0,
2511 SVG_FEBLEND_MODE_NORMAL = 1,
2512 SVG_FEBLEND_MODE_MULTIPLY = 2,
2513 SVG_FEBLEND_MODE_SCREEN = 3,
2514 SVG_FEBLEND_MODE_DARKEN = 4,
2515 SVG_FEBLEND_MODE_LIGHTEN = 5
2516 } BlendModeType;
2518 /**
2519 *
2520 */
2521 virtual SVGAnimatedString getIn1() =0;
2523 /**
2524 *
2525 */
2526 virtual SVGAnimatedString getIn2() =0;
2528 /**
2529 *
2530 */
2531 virtual SVGAnimatedEnumeration getMode() =0;
2534 //##################
2535 //# Non-API methods
2536 //##################
2538 /**
2539 *
2540 */
2541 virtual ~SVGFEBlendElement() {}
2543 };
2550 /*#########################################################################
2551 ## SVGFEColorMatrixElement
2552 #########################################################################*/
2554 /**
2555 *
2556 */
2557 class SVGFEColorMatrixElement :
2558 virtual public SVGElement,
2559 public SVGFilterPrimitiveStandardAttributes
2560 {
2561 public:
2565 /**
2566 * Color Matrix Types
2567 */
2568 typedef enum
2569 {
2570 SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,
2571 SVG_FECOLORMATRIX_TYPE_MATRIX = 1,
2572 SVG_FECOLORMATRIX_TYPE_SATURATE = 2,
2573 SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,
2574 SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4
2575 } ColorMatrixType;
2578 /**
2579 *
2580 */
2581 virtual SVGAnimatedString getIn1() =0;
2583 /**
2584 *
2585 */
2586 virtual SVGAnimatedEnumeration getType() =0;
2588 /**
2589 *
2590 */
2591 virtual SVGAnimatedNumberList getValues() =0;
2595 //##################
2596 //# Non-API methods
2597 //##################
2599 /**
2600 *
2601 */
2602 virtual ~SVGFEColorMatrixElement() {}
2604 };
2611 /*#########################################################################
2612 ## SVGFEComponentTransferElement
2613 #########################################################################*/
2615 /**
2616 *
2617 */
2618 class SVGFEComponentTransferElement :
2619 virtual public SVGElement,
2620 public SVGFilterPrimitiveStandardAttributes
2621 {
2622 public:
2623 /**
2624 *
2625 */
2626 virtual SVGAnimatedString getIn1() =0;
2628 //##################
2629 //# Non-API methods
2630 //##################
2632 /**
2633 *
2634 */
2635 virtual ~SVGFEComponentTransferElement() {}
2637 };
2644 /*#########################################################################
2645 ## SVGComponentTransferFunctionElement
2646 #########################################################################*/
2648 /**
2649 *
2650 */
2651 class SVGComponentTransferFunctionElement : virtual public SVGElement
2652 {
2653 public:
2656 /**
2657 * Component Transfer Types
2658 */
2659 typedef enum
2660 {
2661 SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,
2662 SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
2663 SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,
2664 SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
2665 SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,
2666 SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5
2667 } ComponentTransferType;
2670 /**
2671 *
2672 */
2673 virtual SVGAnimatedEnumeration getType() =0;
2675 /**
2676 *
2677 */
2678 virtual SVGAnimatedNumberList getTableValues() =0;
2680 /**
2681 *
2682 */
2683 virtual SVGAnimatedNumber getSlope() =0;
2685 /**
2686 *
2687 */
2688 virtual SVGAnimatedNumber getIntercept() =0;
2690 /**
2691 *
2692 */
2693 virtual SVGAnimatedNumber getAmplitude() =0;
2695 /**
2696 *
2697 */
2698 virtual SVGAnimatedNumber getExponent() =0;
2700 /**
2701 *
2702 */
2703 virtual SVGAnimatedNumber getOffset() =0;
2706 //##################
2707 //# Non-API methods
2708 //##################
2710 /**
2711 *
2712 */
2713 virtual ~SVGComponentTransferFunctionElement() {}
2715 };
2722 /*#########################################################################
2723 ## SVGFEFuncRElement
2724 #########################################################################*/
2726 /**
2727 *
2728 */
2729 class SVGFEFuncRElement : virtual public SVGComponentTransferFunctionElement
2730 {
2731 public:
2733 //##################
2734 //# Non-API methods
2735 //##################
2737 /**
2738 *
2739 */
2740 virtual ~SVGFEFuncRElement() {}
2742 };
2747 /*#########################################################################
2748 ## SVGFEFuncGElement
2749 #########################################################################*/
2751 /**
2752 *
2753 */
2754 class SVGFEFuncGElement : public virtual SVGComponentTransferFunctionElement
2755 {
2756 public:
2758 //##################
2759 //# Non-API methods
2760 //##################
2762 /**
2763 *
2764 */
2765 virtual ~SVGFEFuncGElement() {}
2767 };
2772 /*#########################################################################
2773 ## SVGFEFuncBElement
2774 #########################################################################*/
2776 /**
2777 *
2778 */
2779 class SVGFEFuncBElement : virtual public SVGComponentTransferFunctionElement
2780 {
2781 public:
2783 //##################
2784 //# Non-API methods
2785 //##################
2787 /**
2788 *
2789 */
2790 virtual ~SVGFEFuncBElement() {}
2792 };
2797 /*#########################################################################
2798 ## SVGFEFuncAElement
2799 #########################################################################*/
2801 /**
2802 *
2803 */
2804 class SVGFEFuncAElement : virtual public SVGComponentTransferFunctionElement
2805 {
2806 public:
2808 //##################
2809 //# Non-API methods
2810 //##################
2812 /**
2813 *
2814 */
2815 virtual ~SVGFEFuncAElement() {}
2817 };
2822 /*#########################################################################
2823 ## SVGFECompositeElement
2824 #########################################################################*/
2826 /**
2827 *
2828 */
2829 class SVGFECompositeElement :
2830 virtual public SVGElement,
2831 public SVGFilterPrimitiveStandardAttributes
2832 {
2833 public:
2837 /**
2838 * Composite Operators
2839 */
2840 typedef enum
2841 {
2842 SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0,
2843 SVG_FECOMPOSITE_OPERATOR_OVER = 1,
2844 SVG_FECOMPOSITE_OPERATOR_IN = 2,
2845 SVG_FECOMPOSITE_OPERATOR_OUT = 3,
2846 SVG_FECOMPOSITE_OPERATOR_ATOP = 4,
2847 SVG_FECOMPOSITE_OPERATOR_XOR = 5,
2848 SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6
2849 } CompositeOperatorType;
2851 /**
2852 *
2853 */
2854 virtual SVGAnimatedString getIn1() =0;
2856 /**
2857 *
2858 */
2859 virtual SVGAnimatedString getIn2() =0;
2861 /**
2862 *
2863 */
2864 virtual SVGAnimatedEnumeration getOperator() =0;
2866 /**
2867 *
2868 */
2869 virtual SVGAnimatedNumber getK1() =0;
2871 /**
2872 *
2873 */
2874 virtual SVGAnimatedNumber getK2() =0;
2876 /**
2877 *
2878 */
2879 virtual SVGAnimatedNumber getK3() =0;
2881 /**
2882 *
2883 */
2884 virtual SVGAnimatedNumber getK4() =0;
2888 //##################
2889 //# Non-API methods
2890 //##################
2892 /**
2893 *
2894 */
2895 virtual ~SVGFECompositeElement() {}
2897 };
2904 /*#########################################################################
2905 ## SVGFEConvolveMatrixElement
2906 #########################################################################*/
2908 /**
2909 *
2910 */
2911 class SVGFEConvolveMatrixElement :
2912 virtual public SVGElement,
2913 public SVGFilterPrimitiveStandardAttributes
2914 {
2915 public:
2919 /**
2920 * Edge Mode Values
2921 */
2922 typedef enum
2923 {
2924 SVG_EDGEMODE_UNKNOWN = 0,
2925 SVG_EDGEMODE_DUPLICATE = 1,
2926 SVG_EDGEMODE_WRAP = 2,
2927 SVG_EDGEMODE_NONE = 3
2928 } EdgeModeType;
2931 /**
2932 *
2933 */
2934 virtual SVGAnimatedInteger getOrderX() =0;
2936 /**
2937 *
2938 */
2939 virtual SVGAnimatedInteger getOrderY() =0;
2941 /**
2942 *
2943 */
2944 virtual SVGAnimatedNumberList getKernelMatrix() =0;
2946 /**
2947 *
2948 */
2949 virtual SVGAnimatedNumber getDivisor() =0;
2951 /**
2952 *
2953 */
2954 virtual SVGAnimatedNumber getBias() =0;
2956 /**
2957 *
2958 */
2959 virtual SVGAnimatedInteger getTargetX() =0;
2961 /**
2962 *
2963 */
2964 virtual SVGAnimatedInteger getTargetY() =0;
2966 /**
2967 *
2968 */
2969 virtual SVGAnimatedEnumeration getEdgeMode() =0;
2971 /**
2972 *
2973 */
2974 virtual SVGAnimatedLength getKernelUnitLengthX() =0;
2976 /**
2977 *
2978 */
2979 virtual SVGAnimatedLength getKernelUnitLengthY() =0;
2981 /**
2982 *
2983 */
2984 virtual SVGAnimatedBoolean getPreserveAlpha() =0;
2988 //##################
2989 //# Non-API methods
2990 //##################
2992 /**
2993 *
2994 */
2995 virtual ~SVGFEConvolveMatrixElement() {}
2997 };
3004 /*#########################################################################
3005 ## SVGFEDiffuseLightingElement
3006 #########################################################################*/
3008 /**
3009 *
3010 */
3011 class SVGFEDiffuseLightingElement :
3012 virtual public SVGElement,
3013 public SVGFilterPrimitiveStandardAttributes
3014 {
3015 public:
3017 /**
3018 *
3019 */
3020 virtual SVGAnimatedString getIn1() =0;
3022 /**
3023 *
3024 */
3025 virtual SVGAnimatedNumber getSurfaceScale() =0;
3027 /**
3028 *
3029 */
3030 virtual SVGAnimatedNumber getDiffuseConstant() =0;
3034 //##################
3035 //# Non-API methods
3036 //##################
3038 /**
3039 *
3040 */
3041 virtual ~SVGFEDiffuseLightingElement() {}
3043 };
3050 /*#########################################################################
3051 ## SVGFEDistantLightElement
3052 #########################################################################*/
3054 /**
3055 *
3056 */
3057 class SVGFEDistantLightElement : virtual public SVGElement
3058 {
3059 public:
3061 /**
3062 *
3063 */
3064 virtual SVGAnimatedNumber getAzimuth() =0;
3067 /**
3068 *
3069 */
3070 virtual SVGAnimatedNumber getElevation() =0;
3074 //##################
3075 //# Non-API methods
3076 //##################
3078 /**
3079 *
3080 */
3081 virtual ~SVGFEDistantLightElement() {}
3083 };
3090 /*#########################################################################
3091 ## SVGFEPointLightElement
3092 #########################################################################*/
3094 /**
3095 *
3096 */
3097 class SVGFEPointLightElement : virtual public SVGElement
3098 {
3099 public:
3100 /**
3101 *
3102 */
3103 virtual SVGAnimatedNumber getX() =0;
3106 /**
3107 *
3108 */
3109 virtual SVGAnimatedNumber getY() =0;
3111 /**
3112 *
3113 */
3114 virtual SVGAnimatedNumber getZ() =0;
3116 //##################
3117 //# Non-API methods
3118 //##################
3120 /**
3121 *
3122 */
3123 virtual ~SVGFEPointLightElement() {}
3125 };
3132 /*#########################################################################
3133 ## SVGFESpotLightElement
3134 #########################################################################*/
3136 /**
3137 *
3138 */
3139 class SVGFESpotLightElement : virtual public SVGElement
3140 {
3141 public:
3143 /**
3144 *
3145 */
3146 virtual SVGAnimatedNumber getX() =0;
3149 /**
3150 *
3151 */
3152 virtual SVGAnimatedNumber getY() =0;
3154 /**
3155 *
3156 */
3157 virtual SVGAnimatedNumber getZ() =0;
3159 /**
3160 *
3161 */
3162 virtual SVGAnimatedNumber getPointsAtX() =0;
3164 /**
3165 *
3166 */
3167 virtual SVGAnimatedNumber getPointsAtY() =0;
3169 /**
3170 *
3171 */
3172 virtual SVGAnimatedNumber getPointsAtZ() =0;
3174 /**
3175 *
3176 */
3177 virtual SVGAnimatedNumber getSpecularExponent() =0;
3179 /**
3180 *
3181 */
3182 virtual SVGAnimatedNumber getLimitingConeAngle() =0;
3186 //##################
3187 //# Non-API methods
3188 //##################
3190 /**
3191 *
3192 */
3193 virtual ~SVGFESpotLightElement() {}
3195 };
3202 /*#########################################################################
3203 ## SVGFEDisplacementMapElement
3204 #########################################################################*/
3206 /**
3207 *
3208 */
3209 class SVGFEDisplacementMapElement :
3210 virtual public SVGElement,
3211 public SVGFilterPrimitiveStandardAttributes
3212 {
3213 public:
3217 /**
3218 * Channel Selectors
3219 */
3220 typedef enum
3221 {
3222 SVG_CHANNEL_UNKNOWN = 0,
3223 SVG_CHANNEL_R = 1,
3224 SVG_CHANNEL_G = 2,
3225 SVG_CHANNEL_B = 3,
3226 SVG_CHANNEL_A = 4
3227 } ChannelSelector;
3229 /**
3230 *
3231 */
3232 virtual SVGAnimatedString getIn1() =0;
3234 /**
3235 *
3236 */
3237 virtual SVGAnimatedString getIn2() =0;
3240 /**
3241 *
3242 */
3243 virtual SVGAnimatedNumber getScale() =0;
3245 /**
3246 *
3247 */
3248 virtual SVGAnimatedEnumeration getXChannelSelector() =0;
3250 /**
3251 *
3252 */
3253 virtual SVGAnimatedEnumeration getYChannelSelector() =0;
3257 //##################
3258 //# Non-API methods
3259 //##################
3261 /**
3262 *
3263 */
3264 virtual ~SVGFEDisplacementMapElement() {}
3266 };
3273 /*#########################################################################
3274 ## SVGFEFloodElement
3275 #########################################################################*/
3277 /**
3278 *
3279 */
3280 class SVGFEFloodElement :
3281 virtual public SVGElement,
3282 public SVGFilterPrimitiveStandardAttributes
3283 {
3284 public:
3285 /**
3286 *
3287 */
3288 virtual SVGAnimatedString getIn1() =0;
3291 //##################
3292 //# Non-API methods
3293 //##################
3295 /**
3296 *
3297 */
3298 virtual ~SVGFEFloodElement() {}
3300 };
3307 /*#########################################################################
3308 ## SVGFEGaussianBlurElement
3309 #########################################################################*/
3311 /**
3312 *
3313 */
3314 class SVGFEGaussianBlurElement :
3315 virtual public SVGElement,
3316 public SVGFilterPrimitiveStandardAttributes
3317 {
3318 public:
3319 /**
3320 *
3321 */
3322 virtual SVGAnimatedString getIn1() =0;
3325 /**
3326 *
3327 */
3328 virtual SVGAnimatedNumber getStdDeviationX() =0;
3330 /**
3331 *
3332 */
3333 virtual SVGAnimatedNumber getStdDeviationY() =0;
3336 /**
3337 *
3338 */
3339 virtual void setStdDeviation (double stdDeviationX, double stdDeviationY ) =0;
3343 //##################
3344 //# Non-API methods
3345 //##################
3347 /**
3348 *
3349 */
3350 virtual ~SVGFEGaussianBlurElement() {}
3352 };
3359 /*#########################################################################
3360 ## SVGFEImageElement
3361 #########################################################################*/
3363 /**
3364 *
3365 */
3366 class SVGFEImageElement :
3367 virtual public SVGElement,
3368 public SVGURIReference,
3369 public SVGLangSpace,
3370 public SVGExternalResourcesRequired,
3371 public SVGFilterPrimitiveStandardAttributes
3372 {
3373 public:
3375 //##################
3376 //# Non-API methods
3377 //##################
3379 /**
3380 *
3381 */
3382 virtual ~SVGFEImageElement() {}
3384 };
3389 /*#########################################################################
3390 ## SVGFEMergeElement
3391 #########################################################################*/
3393 /**
3394 *
3395 */
3396 class SVGFEMergeElement :
3397 virtual public SVGElement,
3398 public SVGFilterPrimitiveStandardAttributes
3399 {
3400 public:
3402 //##################
3403 //# Non-API methods
3404 //##################
3406 /**
3407 *
3408 */
3409 virtual ~SVGFEMergeElement() {}
3411 };
3416 /*#########################################################################
3417 ## SVGFEMergeNodeElement
3418 #########################################################################*/
3420 /**
3421 *
3422 */
3423 class SVGFEMergeNodeElement : virtual public SVGElement
3424 {
3425 public:
3426 /**
3427 *
3428 */
3429 virtual SVGAnimatedString getIn1() =0;
3432 //##################
3433 //# Non-API methods
3434 //##################
3436 /**
3437 *
3438 */
3439 virtual ~SVGFEMergeNodeElement() {}
3441 };
3448 /*#########################################################################
3449 ## SVGFEMorphologyElement
3450 #########################################################################*/
3452 /**
3453 *
3454 */
3455 class SVGFEMorphologyElement :
3456 virtual public SVGElement,
3457 public SVGFilterPrimitiveStandardAttributes
3458 {
3459 public:
3463 /**
3464 * Morphology Operators
3465 */
3466 typedef enum
3467 {
3468 SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,
3469 SVG_MORPHOLOGY_OPERATOR_ERODE = 1,
3470 SVG_MORPHOLOGY_OPERATOR_DILATE = 2
3471 } MorphologyOperatorType;
3474 /**
3475 *
3476 */
3477 virtual SVGAnimatedString getIn1() =0;
3480 /**
3481 *
3482 */
3483 virtual SVGAnimatedEnumeration getOperator() =0;
3485 /**
3486 *
3487 */
3488 virtual SVGAnimatedLength getRadiusX() =0;
3490 /**
3491 *
3492 */
3493 virtual SVGAnimatedLength getRadiusY() =0;
3497 //##################
3498 //# Non-API methods
3499 //##################
3501 /**
3502 *
3503 */
3504 virtual ~SVGFEMorphologyElement() {}
3506 };
3513 /*#########################################################################
3514 ## SVGFEOffsetElement
3515 #########################################################################*/
3517 /**
3518 *
3519 */
3520 class SVGFEOffsetElement :
3521 virtual public SVGElement,
3522 public SVGFilterPrimitiveStandardAttributes
3523 {
3524 public:
3528 /**
3529 *
3530 */
3531 virtual SVGAnimatedString getIn1() =0;
3533 /**
3534 *
3535 */
3536 virtual SVGAnimatedLength getDx() =0;
3538 /**
3539 *
3540 */
3541 virtual SVGAnimatedLength getDy() =0;
3546 //##################
3547 //# Non-API methods
3548 //##################
3550 /**
3551 *
3552 */
3553 virtual ~SVGFEOffsetElement() {}
3555 };
3562 /*#########################################################################
3563 ## SVGFESpecularLightingElement
3564 #########################################################################*/
3566 /**
3567 *
3568 */
3569 class SVGFESpecularLightingElement :
3570 virtual public SVGElement,
3571 public SVGFilterPrimitiveStandardAttributes
3572 {
3573 public:
3575 /**
3576 *
3577 */
3578 virtual SVGAnimatedString getIn1() =0;
3580 /**
3581 *
3582 */
3583 virtual SVGAnimatedNumber getSurfaceScale() =0;
3585 /**
3586 *
3587 */
3588 virtual SVGAnimatedNumber getSpecularConstant() =0;
3590 /**
3591 *
3592 */
3593 virtual SVGAnimatedNumber getSpecularExponent() =0;
3596 //##################
3597 //# Non-API methods
3598 //##################
3600 /**
3601 *
3602 */
3603 virtual ~SVGFESpecularLightingElement() {}
3605 };
3612 /*#########################################################################
3613 ## SVGFETileElement
3614 #########################################################################*/
3616 /**
3617 *
3618 */
3619 class SVGFETileElement :
3620 virtual public SVGElement,
3621 public SVGFilterPrimitiveStandardAttributes
3622 {
3623 public:
3626 /**
3627 *
3628 */
3629 virtual SVGAnimatedString getIn1() =0;
3633 //##################
3634 //# Non-API methods
3635 //##################
3637 /**
3638 *
3639 */
3640 virtual ~SVGFETileElement() {}
3642 };
3649 /*#########################################################################
3650 ## SVGFETurbulenceElement
3651 #########################################################################*/
3653 /**
3654 *
3655 */
3656 class SVGFETurbulenceElement :
3657 virtual public SVGElement,
3658 public SVGFilterPrimitiveStandardAttributes
3659 {
3660 public:
3664 /**
3665 * Turbulence Types
3666 */
3667 typedef enum
3668 {
3669 SVG_TURBULENCE_TYPE_UNKNOWN = 0,
3670 SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,
3671 SVG_TURBULENCE_TYPE_TURBULENCE = 2
3672 } TurbulenceType;
3674 /**
3675 * Stitch Options
3676 */
3677 typedef enum
3678 {
3679 SVG_STITCHTYPE_UNKNOWN = 0,
3680 SVG_STITCHTYPE_STITCH = 1,
3681 SVG_STITCHTYPE_NOSTITCH = 2
3682 } StitchOption;
3686 /**
3687 *
3688 */
3689 virtual SVGAnimatedNumber getBaseFrequencyX() =0;
3691 /**
3692 *
3693 */
3694 virtual SVGAnimatedNumber getBaseFrequencyY() =0;
3696 /**
3697 *
3698 */
3699 virtual SVGAnimatedInteger getNumOctaves() =0;
3701 /**
3702 *
3703 */
3704 virtual SVGAnimatedNumber getSeed() =0;
3706 /**
3707 *
3708 */
3709 virtual SVGAnimatedEnumeration getStitchTiles() =0;
3711 /**
3712 *
3713 */
3714 virtual SVGAnimatedEnumeration getType() =0;
3718 //##################
3719 //# Non-API methods
3720 //##################
3722 /**
3723 *
3724 */
3725 virtual ~SVGFETurbulenceElement() {}
3727 };
3734 /*#########################################################################
3735 ## SVGCursorElement
3736 #########################################################################*/
3738 /**
3739 *
3740 */
3741 class SVGCursorElement :
3742 virtual public SVGElement,
3743 public SVGURIReference,
3744 public SVGTests,
3745 public SVGExternalResourcesRequired
3746 {
3747 public:
3748 /**
3749 *
3750 */
3751 virtual SVGAnimatedLength getX() =0;
3753 /**
3754 *
3755 */
3756 virtual SVGAnimatedLength getY() =0;
3758 //##################
3759 //# Non-API methods
3760 //##################
3762 /**
3763 *
3764 */
3765 virtual ~SVGCursorElement() {}
3767 };
3774 /*#########################################################################
3775 ## SVGAElement
3776 #########################################################################*/
3778 /**
3779 *
3780 */
3781 class SVGAElement : virtual public SVGElement,
3782 public SVGURIReference,
3783 public SVGTests,
3784 public SVGLangSpace,
3785 public SVGExternalResourcesRequired,
3786 public SVGStylable,
3787 public SVGTransformable,
3788 public events::EventTarget
3789 {
3790 public:
3792 /**
3793 *
3794 */
3795 virtual SVGAnimatedString getTarget() =0;
3799 //##################
3800 //# Non-API methods
3801 //##################
3803 /**
3804 *
3805 */
3806 virtual ~SVGAElement() {}
3808 };
3815 /*#########################################################################
3816 ## SVGViewElement
3817 #########################################################################*/
3819 /**
3820 *
3821 */
3822 class SVGViewElement : virtual public SVGElement,
3823 public SVGExternalResourcesRequired,
3824 public SVGFitToViewBox,
3825 public SVGZoomAndPan
3826 {
3827 public:
3829 /**
3830 *
3831 */
3832 virtual SVGStringList getViewTarget() =0;
3836 //##################
3837 //# Non-API methods
3838 //##################
3840 /**
3841 *
3842 */
3843 virtual ~SVGViewElement() {}
3845 };
3852 /*#########################################################################
3853 ## SVGScriptElement
3854 #########################################################################*/
3856 /**
3857 *
3858 */
3859 class SVGScriptElement :
3860 virtual public SVGElement,
3861 public SVGURIReference,
3862 public SVGExternalResourcesRequired
3863 {
3864 public:
3866 /**
3867 *
3868 */
3869 virtual DOMString getType() =0;
3871 /**
3872 *
3873 */
3874 virtual void setType(const DOMString &val)
3875 throw (DOMException) =0;
3878 //##################
3879 //# Non-API methods
3880 //##################
3882 /**
3883 *
3884 */
3885 virtual ~SVGScriptElement() {}
3887 };
3893 /*#########################################################################
3894 ## SVGAnimationElement
3895 #########################################################################*/
3897 /**
3898 *
3899 */
3900 class SVGAnimationElement :
3901 virtual public SVGElement,
3902 public SVGTests,
3903 public SVGExternalResourcesRequired,
3904 public smil::ElementTimeControl,
3905 public events::EventTarget
3906 {
3907 public:
3910 /**
3911 *
3912 */
3913 virtual SVGElement *getTargetElement() =0;
3916 /**
3917 *
3918 */
3919 virtual double getStartTime ( ) =0;
3921 /**
3922 *
3923 */
3924 virtual double getCurrentTime ( ) =0;
3926 /**
3927 *
3928 */
3929 virtual double getSimpleDuration ( )
3930 throw( DOMException ) =0;
3931 ;
3935 //##################
3936 //# Non-API methods
3937 //##################
3939 /**
3940 *
3941 */
3942 virtual ~SVGAnimationElement() {}
3944 };
3951 /*#########################################################################
3952 ## SVGAnimateElement
3953 #########################################################################*/
3955 /**
3956 *
3957 */
3958 class SVGAnimateElement : virtual public SVGAnimationElement
3959 {
3960 public:
3962 //##################
3963 //# Non-API methods
3964 //##################
3966 /**
3967 *
3968 */
3969 virtual ~SVGAnimateElement() {}
3971 };
3976 /*#########################################################################
3977 ## SVGSetElement
3978 #########################################################################*/
3980 /**
3981 *
3982 */
3983 class SVGSetElement : virtual public SVGAnimationElement
3984 {
3985 public:
3987 //##################
3988 //# Non-API methods
3989 //##################
3991 /**
3992 *
3993 */
3994 virtual ~SVGSetElement() {}
3996 };
4001 /*#########################################################################
4002 ## SVGAnimateMotionElement
4003 #########################################################################*/
4005 /**
4006 *
4007 */
4008 class SVGAnimateMotionElement : virtual public SVGAnimationElement
4009 {
4010 public:
4012 //##################
4013 //# Non-API methods
4014 //##################
4016 /**
4017 *
4018 */
4019 virtual ~SVGAnimateMotionElement() {}
4021 };
4026 /*#########################################################################
4027 ## SVGMPathElement
4028 #########################################################################*/
4030 /**
4031 *
4032 */
4033 class SVGMPathElement :
4034 virtual public SVGElement,
4035 public SVGURIReference,
4036 public SVGExternalResourcesRequired
4037 {
4038 public:
4040 //##################
4041 //# Non-API methods
4042 //##################
4044 /**
4045 *
4046 */
4047 virtual ~SVGMPathElement() {}
4049 };
4054 /*#########################################################################
4055 ## SVGAnimateColorElement
4056 #########################################################################*/
4058 /**
4059 *
4060 */
4061 class SVGAnimateColorElement : virtual public SVGAnimationElement
4062 {
4063 public:
4065 //##################
4066 //# Non-API methods
4067 //##################
4069 /**
4070 *
4071 */
4072 virtual ~SVGAnimateColorElement() {}
4074 };
4079 /*#########################################################################
4080 ## SVGAnimateTransformElement
4081 #########################################################################*/
4083 /**
4084 *
4085 */
4086 class SVGAnimateTransformElement : virtual public SVGAnimationElement
4087 {
4088 public:
4090 //##################
4091 //# Non-API methods
4092 //##################
4094 /**
4095 *
4096 */
4097 virtual ~SVGAnimateTransformElement() {}
4099 };
4104 /*#########################################################################
4105 ## SVGFontElement
4106 #########################################################################*/
4108 /**
4109 *
4110 */
4111 class SVGFontElement : virtual public SVGElement,
4112 public SVGExternalResourcesRequired,
4113 public SVGStylable
4114 {
4115 public:
4117 //##################
4118 //# Non-API methods
4119 //##################
4121 /**
4122 *
4123 */
4124 virtual ~SVGFontElement() {}
4126 };
4131 /*#########################################################################
4132 ## SVGGlyphElement
4133 #########################################################################*/
4135 /**
4136 *
4137 */
4138 class SVGGlyphElement : virtual public SVGElement,
4139 public SVGStylable
4140 {
4141 public:
4143 //##################
4144 //# Non-API methods
4145 //##################
4147 /**
4148 *
4149 */
4150 virtual ~SVGGlyphElement() {}
4152 };
4157 /*#########################################################################
4158 ## SVGMissingGlyphElement
4159 #########################################################################*/
4161 /**
4162 *
4163 */
4164 class SVGMissingGlyphElement :
4165 virtual public SVGElement,
4166 public SVGStylable
4167 {
4168 public:
4170 //##################
4171 //# Non-API methods
4172 //##################
4174 /**
4175 *
4176 */
4177 virtual ~SVGMissingGlyphElement() {}
4179 };
4184 /*#########################################################################
4185 ## SVGHKernElement
4186 #########################################################################*/
4188 /**
4189 *
4190 */
4191 class SVGHKernElement : virtual public SVGElement
4192 {
4193 public:
4195 //##################
4196 //# Non-API methods
4197 //##################
4199 /**
4200 *
4201 */
4202 virtual ~SVGHKernElement() {}
4204 };
4209 /*#########################################################################
4210 ## SVGVKernElement
4211 #########################################################################*/
4213 /**
4214 *
4215 */
4216 class SVGVKernElement : public virtual SVGElement
4217 {
4218 public:
4220 //##################
4221 //# Non-API methods
4222 //##################
4224 /**
4225 *
4226 */
4227 virtual ~SVGVKernElement() {}
4229 };
4234 /*#########################################################################
4235 ## SVGFontFaceElement
4236 #########################################################################*/
4238 /**
4239 *
4240 */
4241 class SVGFontFaceElement : virtual public SVGElement
4242 {
4243 public:
4245 //##################
4246 //# Non-API methods
4247 //##################
4249 /**
4250 *
4251 */
4252 virtual ~SVGFontFaceElement() {}
4254 };
4259 /*#########################################################################
4260 ## SVGFontFaceSrcElement
4261 #########################################################################*/
4263 /**
4264 *
4265 */
4266 class SVGFontFaceSrcElement : virtual public SVGElement
4267 {
4268 public:
4270 //##################
4271 //# Non-API methods
4272 //##################
4274 /**
4275 *
4276 */
4277 virtual ~SVGFontFaceSrcElement() {}
4279 };
4284 /*#########################################################################
4285 ## SVGFontFaceUriElement
4286 #########################################################################*/
4288 /**
4289 *
4290 */
4291 class SVGFontFaceUriElement : virtual public SVGElement
4292 {
4293 public:
4295 //##################
4296 //# Non-API methods
4297 //##################
4299 /**
4300 *
4301 */
4302 virtual ~SVGFontFaceUriElement() {}
4304 };
4309 /*#########################################################################
4310 ## SVGFontFaceFormatElement
4311 #########################################################################*/
4313 /**
4314 *
4315 */
4316 class SVGFontFaceFormatElement : virtual public SVGElement
4317 {
4318 public:
4320 //##################
4321 //# Non-API methods
4322 //##################
4324 /**
4325 *
4326 */
4327 virtual ~SVGFontFaceFormatElement() {}
4329 };
4334 /*#########################################################################
4335 ## SVGFontFaceNameElement
4336 #########################################################################*/
4338 /**
4339 *
4340 */
4341 class SVGFontFaceNameElement : virtual public SVGElement
4342 {
4343 public:
4345 //##################
4346 //# Non-API methods
4347 //##################
4349 /**
4350 *
4351 */
4352 virtual ~SVGFontFaceNameElement() {}
4354 };
4359 /*#########################################################################
4360 ## SVGDefinitionSrcElement
4361 #########################################################################*/
4363 /**
4364 *
4365 */
4366 class SVGDefinitionSrcElement : virtual public SVGElement
4367 {
4368 public:
4370 //##################
4371 //# Non-API methods
4372 //##################
4374 /**
4375 *
4376 */
4377 virtual ~SVGDefinitionSrcElement() {}
4379 };
4384 /*#########################################################################
4385 ## SVGMetadataElement
4386 #########################################################################*/
4388 /**
4389 *
4390 */
4391 class SVGMetadataElement : virtual public SVGElement
4392 {
4393 public:
4395 //##################
4396 //# Non-API methods
4397 //##################
4399 /**
4400 *
4401 */
4402 virtual ~SVGMetadataElement() {}
4404 };
4408 /*#########################################################################
4409 ## SVGForeignObjectElement
4410 #########################################################################*/
4412 /**
4413 *
4414 */
4415 class SVGForeignObjectElement :
4416 virtual public SVGElement,
4417 public SVGTests,
4418 public SVGLangSpace,
4419 public SVGExternalResourcesRequired,
4420 public SVGStylable,
4421 public SVGTransformable,
4422 public events::EventTarget
4423 {
4424 public:
4427 /**
4428 *
4429 */
4430 virtual SVGAnimatedLength getX() =0;
4432 /**
4433 *
4434 */
4435 virtual SVGAnimatedLength getY() =0;
4437 /**
4438 *
4439 */
4440 virtual SVGAnimatedLength getWidth() =0;
4442 /**
4443 *
4444 */
4445 virtual SVGAnimatedLength getHeight() =0;
4449 //##################
4450 //# Non-API methods
4451 //##################
4454 /**
4455 *
4456 */
4457 virtual ~SVGForeignObjectElement() {}
4459 };
4465 } //namespace svg
4466 } //namespace dom
4467 } //namespace w3c
4468 } //namespace org
4470 #endif // __SVG_H__
4471 /*#########################################################################
4472 ## E N D O F F I L E
4473 #########################################################################*/