1 #ifndef __SVGIMPL_H__
2 #define __SVGIMPL_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) 2006 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 #include "svg.h"
35 #include "dom/domimpl.h"
36 #include "dom/smilimpl.h"
38 #include <math.h>
42 namespace org
43 {
44 namespace w3c
45 {
46 namespace dom
47 {
48 namespace svg
49 {
52 //local definitions
53 typedef dom::DOMString DOMString;
54 typedef dom::DOMException DOMException;
55 typedef dom::Element Element;
56 typedef dom::Document Document;
57 typedef dom::NodeList NodeList;
61 class SVGSVGElementImpl;
62 typedef Ptr<SVGSVGElementImpl> SVGSVGElementImplPtr;
63 class SVGElementImpl;
64 typedef Ptr<SVGElementImpl> SVGElementImplPtr;
65 class SVGDocumentImpl;
66 typedef Ptr<SVGDocumentImpl> SVGDocumentImplPtr;
68 /*#########################################################################
69 ## SVGDocumentImpl
70 #########################################################################*/
72 /**
73 *
74 */
75 class SVGDocumentImpl : virtual public SVGDocument, public DocumentImpl
76 {
77 public:
80 /**
81 *
82 */
83 virtual DOMString getTitle()
84 { return title; }
86 /**
87 *
88 */
89 virtual DOMString getReferrer()
90 { return referrer; }
92 /**
93 *
94 */
95 virtual DOMString getDomain()
96 { return domain; }
98 /**
99 *
100 */
101 virtual DOMString getURL()
102 { return url; }
104 /**
105 *
106 */
107 virtual SVGSVGElementPtr getRootElement()
108 { return rootElement; }
111 //####################################################
112 //# Overload some createXXX() methods from DocumentImpl,
113 //# To create our SVG-DOM types (in .cpp)
114 //####################################################
116 /**
117 *
118 */
119 virtual ElementPtr createElement(const DOMString& tagName)
120 throw(DOMException);
123 /**
124 *
125 */
126 virtual ElementPtr createElementNS(const DOMString& namespaceURI,
127 const DOMString& qualifiedName)
128 throw(DOMException);
130 //##################
131 //# Non-API methods
132 //##################
134 SVGDocumentImpl(const DOMImplementation *domImpl,
135 const DOMString &namespaceURI,
136 const DOMString &qualifiedName,
137 const DocumentTypePtr doctype)
138 : DocumentImpl(domImpl, namespaceURI,
139 qualifiedName, doctype)
140 {
141 init();
142 }
145 /**
146 *
147 */
148 virtual ~SVGDocumentImpl()
149 {
150 }
152 protected:
154 friend class SvgParser;
156 void init()
157 {
158 title = "";
159 referrer = "";
160 domain = "";
161 rootElement = NULL;
162 }
164 DOMString title;
165 DOMString referrer;
166 DOMString domain;
167 DOMString url;
168 SVGSVGElementPtr rootElement;
169 };
173 /*#########################################################################
174 ## SVGElementImpl
175 #########################################################################*/
177 /**
178 *
179 */
180 class SVGElementImpl : virtual public SVGElement,
181 public ElementImpl
182 {
183 public:
185 /**
186 *
187 */
188 virtual DOMString getId()
189 { return id; }
191 /**
192 *
193 */
194 virtual void setId(const DOMString &val)
195 throw (DOMException)
196 { id = val; }
198 /**
199 *
200 */
201 virtual DOMString getXmlBase()
202 { return xmlBase; }
204 /**
205 *
206 */
207 virtual void setXmlBase(const DOMString &val)
208 throw (DOMException)
209 { xmlBase = val; }
211 /**
212 *
213 */
214 virtual SVGSVGElementPtr getOwnerSVGElement()
215 { return ownerSvgElement; }
217 /**
218 *
219 */
220 virtual SVGElementPtr getViewportElement()
221 { return viewportElement; }
224 //##################
225 //# Non-API methods
226 //##################
229 /**
230 *
231 */
232 SVGElementImpl()
233 {}
235 /**
236 *
237 */
238 SVGElementImpl(SVGDocumentImplPtr owner, const DOMString &tagName)
239 : ElementImpl(owner, tagName)
240 { init(); }
242 /**
243 *
244 */
245 SVGElementImpl(SVGDocumentImplPtr owner,
246 const DOMString &namespaceURI,
247 const DOMString &tagName)
248 : ElementImpl(owner, namespaceURI, tagName)
249 { init(); }
252 /**
253 *
254 */
255 virtual ~SVGElementImpl()
256 {}
258 protected:
260 void init()
261 {
262 id = "";
263 xmlBase = "";
264 ownerSvgElement = NULL;
265 viewportElement = NULL;
266 }
268 DOMString id;
269 DOMString xmlBase;
270 SVGSVGElementPtr ownerSvgElement;
271 SVGElementPtr viewportElement;
273 };
277 /*#########################################################################
278 ## SVGSVGElementImpl
279 #########################################################################*/
281 /**
282 *
283 */
284 class SVGSVGElementImpl : virtual public SVGSVGElement,
285 public SVGElementImpl
286 {
287 public:
289 /**
290 *
291 */
292 virtual SVGAnimatedLength getX()
293 { return x; }
295 /**
296 *
297 */
298 virtual SVGAnimatedLength getY()
299 { return y; }
301 /**
302 *
303 */
304 virtual SVGAnimatedLength getWidth()
305 { return width; }
307 /**
308 *
309 */
310 virtual SVGAnimatedLength getHeight()
311 { return height; }
313 /**
314 *
315 */
316 virtual DOMString getContentScriptType()
317 { return contentScriptType; }
319 /**
320 *
321 */
322 virtual void setContentScriptType(const DOMString &val)
323 throw (DOMException)
324 { contentScriptType = val; }
327 /**
328 *
329 */
330 virtual DOMString getContentStyleType()
331 { return contentStyleType; }
333 /**
334 *
335 */
336 virtual void setContentStyleType(const DOMString &val)
337 throw (DOMException)
338 { contentStyleType = val; }
340 /**
341 *
342 */
343 virtual SVGRect getViewport()
344 { return viewport; }
346 /**
347 *
348 */
349 virtual double getPixelUnitToMillimeterX()
350 { return pixelUnitToMillimeterX; }
352 /**
353 *
354 */
355 virtual double getPixelUnitToMillimeterY()
356 { return pixelUnitToMillimeterY; }
358 /**
359 *
360 */
361 virtual double getScreenPixelToMillimeterX()
362 { return screenPixelToMillimeterX; }
364 /**
365 *
366 */
367 virtual double getScreenPixelToMillimeterY()
368 { return screenPixelToMillimeterY; }
371 /**
372 *
373 */
374 virtual bool getUseCurrentView()
375 { return useCurrentView; }
377 /**
378 *
379 */
380 virtual void setUseCurrentView(bool val) throw (DOMException)
381 { useCurrentView = val; }
383 /**
384 *
385 */
386 virtual SVGViewSpec getCurrentView()
387 { return currentView; }
390 /**
391 *
392 */
393 virtual double getCurrentScale()
394 { return currentScale; }
396 /**
397 *
398 */
399 virtual void setCurrentScale(double val) throw (DOMException)
400 { currentScale = val; }
403 /**
404 *
405 */
406 virtual SVGPoint getCurrentTranslate()
407 { return currentTranslate; }
410 /**
411 *
412 */
413 virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds );
415 /**
416 *
417 */
418 virtual void unsuspendRedraw (unsigned long suspend_handle_id )
419 throw( DOMException );
421 /**
422 *
423 */
424 virtual void unsuspendRedrawAll ( );
426 /**
427 *
428 */
429 virtual void forceRedraw ( );
431 /**
432 *
433 */
434 virtual void pauseAnimations ( );
436 /**
437 *
438 */
439 virtual void unpauseAnimations ( );
441 /**
442 *
443 */
444 virtual bool animationsPaused ( );
446 /**
447 *
448 */
449 virtual double getCurrentTime ( )
450 { return currentTime; }
452 /**
453 *
454 */
455 virtual void setCurrentTime (double seconds )
456 { currentTime = seconds; }
458 /**
459 *
460 */
461 virtual NodeList getIntersectionList (const SVGRect &rect,
462 const SVGElementPtr referenceElement );
464 /**
465 *
466 */
467 virtual NodeList getEnclosureList (const SVGRect &rect,
468 const SVGElementPtr referenceElement );
470 /**
471 *
472 */
473 virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect );
475 /**
476 *
477 */
478 virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect );
480 /**
481 *
482 */
483 virtual void deselectAll ( );
485 /**
486 *
487 */
488 virtual SVGNumber createSVGNumber ( )
489 {
490 SVGNumber ret;
491 return ret;
492 }
494 /**
495 *
496 */
497 virtual SVGLength createSVGLength ( )
498 {
499 SVGLength ret;
500 return ret;
501 }
503 /**
504 *
505 */
506 virtual SVGAngle createSVGAngle ( )
507 {
508 SVGAngle ret;
509 return ret;
510 }
512 /**
513 *
514 */
515 virtual SVGPoint createSVGPoint ( )
516 {
517 SVGPoint ret;
518 return ret;
519 }
521 /**
522 *
523 */
524 virtual SVGMatrix createSVGMatrix ( )
525 {
526 SVGMatrix ret;
527 return ret;
528 }
530 /**
531 *
532 */
533 virtual SVGRect createSVGRect ( )
534 {
535 SVGRect ret;
536 return ret;
537 }
539 /**
540 *
541 */
542 virtual SVGTransform createSVGTransform ( )
543 {
544 SVGTransform ret;
545 return ret;
546 }
548 /**
549 *
550 */
551 virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix )
552 {
553 SVGTransform ret;
554 ret.setMatrix(matrix);
555 return ret;
556 }
559 /**
560 *
561 */
562 virtual ElementPtr getElementById (const DOMString& elementId );
566 //##################
567 //# Non-API methods
568 //##################
570 /**
571 *
572 */
573 SVGSVGElementImpl() : SVGElementImpl()
574 {}
578 /**
579 *
580 */
581 virtual ~SVGSVGElementImpl() {}
583 protected:
585 SVGAnimatedLength x;
586 SVGAnimatedLength y;
587 SVGAnimatedLength width;
588 SVGAnimatedLength height;
589 DOMString contentScriptType;
590 DOMString contentStyleType;
591 SVGRect viewport;
592 double pixelUnitToMillimeterX;
593 double pixelUnitToMillimeterY;
594 double screenPixelToMillimeterX;
595 double screenPixelToMillimeterY;
596 bool useCurrentView;
597 SVGViewSpec currentView;
598 double currentScale;
599 SVGPoint currentTranslate;
601 double currentTime;
603 };
607 /*#########################################################################
608 ## SVGGElementImpl
609 #########################################################################*/
611 /**
612 *
613 */
614 class SVGGElementImpl : virtual public SVGGElement, public SVGElementImpl
615 {
616 public:
618 //##################
619 //# Non-API methods
620 //##################
622 /**
623 *
624 */
625 SVGGElementImpl() {}
627 /**
628 *
629 */
630 virtual ~SVGGElementImpl() {}
632 protected:
635 };
640 /*#########################################################################
641 ## SVGDefsElementImpl
642 #########################################################################*/
644 /**
645 *
646 */
647 class SVGDefsElementImpl : virtual public SVGDefsElement,
648 public SVGElementImpl
649 {
650 public:
652 //##################
653 //# Non-API methods
654 //##################
656 /**
657 *
658 */
659 SVGDefsElementImpl() {}
661 /**
662 *
663 */
664 virtual ~SVGDefsElementImpl() {}
666 protected:
669 };
675 /*#########################################################################
676 ## SVGDescElementImpl
677 #########################################################################*/
679 /**
680 *
681 */
682 class SVGDescElementImpl : virtual public SVGDescElement,
683 public SVGElementImpl
684 {
685 public:
687 //##################
688 //# Non-API methods
689 //##################
691 /**
692 *
693 */
694 SVGDescElementImpl() {}
696 /**
697 *
698 */
699 virtual ~SVGDescElementImpl() {}
701 protected:
704 };
710 /*#########################################################################
711 ## SVGTitleElementImpl
712 #########################################################################*/
714 /**
715 *
716 */
717 class SVGTitleElementImpl : virtual public SVGTitleElement,
718 public SVGElementImpl
719 {
720 public:
722 //##################
723 //# Non-API methods
724 //##################
726 /**
727 *
728 */
729 SVGTitleElementImpl() {}
731 /**
732 *
733 */
734 virtual ~SVGTitleElementImpl() {}
736 protected:
739 };
745 /*#########################################################################
746 ## SVGSymbolElementImpl
747 #########################################################################*/
749 /**
750 *
751 */
752 class SVGSymbolElementImpl : virtual public SVGSymbolElement,
753 public SVGElementImpl
754 {
755 public:
757 //##################
758 //# Non-API methods
759 //##################
761 /**
762 *
763 */
764 SVGSymbolElementImpl() {}
766 /**
767 *
768 */
769 virtual ~SVGSymbolElementImpl() {}
771 protected:
774 };
780 /*#########################################################################
781 ## SVGUseElementImpl
782 #########################################################################*/
784 /**
785 *
786 */
787 class SVGUseElementImpl : public SVGElementImpl
788 {
789 public:
792 /**
793 *
794 */
795 virtual SVGAnimatedLength getX()
796 { return x; }
798 /**
799 *
800 */
801 virtual SVGAnimatedLength getY()
802 { return y; }
804 /**
805 *
806 */
807 virtual SVGAnimatedLength getWidth()
808 { return width; }
810 /**
811 *
812 */
813 virtual SVGAnimatedLength getHeight()
814 { return height; }
816 /**
817 *
818 */
819 virtual SVGElementInstance getInstanceRoot()
820 { return instanceRoot; }
822 /**
823 *
824 */
825 virtual SVGElementInstance getAnimatedInstanceRoot()
826 { return animatedInstanceRoot; }
830 //##################
831 //# Non-API methods
832 //##################
834 /**
835 *
836 */
837 SVGUseElementImpl() {}
839 /**
840 *
841 */
842 virtual ~SVGUseElementImpl() {}
844 protected:
846 SVGAnimatedLength x;
847 SVGAnimatedLength y;
848 SVGAnimatedLength width;
849 SVGAnimatedLength height;
850 SVGElementInstance instanceRoot;
851 SVGElementInstance animatedInstanceRoot;
852 };
860 /*#########################################################################
861 ## SVGImageElementImpl
862 #########################################################################*/
864 /**
865 *
866 */
867 class SVGImageElementImpl : virtual public SVGImageElement,
868 public SVGElementImpl
869 {
870 public:
873 /**
874 *
875 */
876 virtual SVGAnimatedLength getX()
877 { return x; }
879 /**
880 *
881 */
882 virtual SVGAnimatedLength getY()
883 { return y; }
885 /**
886 *
887 */
888 virtual SVGAnimatedLength getWidth()
889 { return width; }
891 /**
892 *
893 */
894 virtual SVGAnimatedLength getHeight()
895 { return height; }
898 /**
899 *
900 */
901 virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
902 { return preserveAspectRatio; }
906 //##################
907 //# Non-API methods
908 //##################
910 /**
911 *
912 */
913 SVGImageElementImpl() {}
915 /**
916 *
917 */
918 virtual ~SVGImageElementImpl() {}
920 protected:
922 SVGAnimatedLength x;
923 SVGAnimatedLength y;
924 SVGAnimatedLength width;
925 SVGAnimatedLength height;
926 SVGAnimatedPreserveAspectRatio preserveAspectRatio;
927 };
934 /*#########################################################################
935 ## SVGSwitchElementImpl
936 #########################################################################*/
938 /**
939 *
940 */
941 class SVGSwitchElementImpl : virtual public SVGSwitchElement,
942 public SVGElementImpl
943 {
944 public:
946 //##################
947 //# Non-API methods
948 //##################
950 /**
951 *
952 */
953 SVGSwitchElementImpl() {}
955 /**
956 *
957 */
958 virtual ~SVGSwitchElementImpl() {}
960 protected:
963 };
969 /*#########################################################################
970 ## GetSVGDocumentImpl
971 #########################################################################*/
973 /**
974 *
975 */
976 class GetSVGDocumentImpl : public virtual GetSVGDocument
977 {
978 public:
980 /**
981 *
982 */
983 virtual SVGDocumentPtr getSVGDocument ( )
984 throw( DOMException );
986 //##################
987 //# Non-API methods
988 //##################
990 /**
991 *
992 */
993 GetSVGDocumentImpl() {}
995 /**
996 *
997 */
998 virtual ~GetSVGDocumentImpl() {}
1000 protected:
1003 };
1011 /*#########################################################################
1012 ## SVGStyleElementImpl
1013 #########################################################################*/
1015 /**
1016 *
1017 */
1018 class SVGStyleElementImpl : virtual public SVGStyleElement,
1019 public SVGElementImpl
1020 {
1021 public:
1023 /**
1024 *
1025 */
1026 virtual DOMString getXmlspace()
1027 { return xmlSpace; }
1029 /**
1030 *
1031 */
1032 virtual void setXmlspace(const DOMString &val)
1033 throw (DOMException)
1034 { xmlSpace = val; }
1036 /**
1037 *
1038 */
1039 virtual DOMString getType()
1040 { return type; }
1042 /**
1043 *
1044 */
1045 virtual void setType(const DOMString &val)
1046 throw (DOMException)
1047 { type = val; }
1049 /**
1050 *
1051 */
1052 virtual DOMString getMedia()
1053 { return media; }
1055 /**
1056 *
1057 */
1058 virtual void setMedia(const DOMString &val)
1059 throw (DOMException)
1060 { media = val; }
1062 /**
1063 *
1064 */
1065 virtual DOMString getTitle()
1066 { return title; }
1068 /**
1069 *
1070 */
1071 virtual void setTitle(const DOMString &val)
1072 throw (DOMException)
1073 { title = val; }
1077 //##################
1078 //# Non-API methods
1079 //##################
1081 /**
1082 *
1083 */
1084 SVGStyleElementImpl() {}
1086 /**
1087 *
1088 */
1089 virtual ~SVGStyleElementImpl() {}
1091 protected:
1093 DOMString xmlSpace;
1094 DOMString type;
1095 DOMString media;
1096 DOMString title;
1098 };
1105 /*#########################################################################
1106 ## SVGPathElementImpl
1107 #########################################################################*/
1109 /**
1110 *
1111 */
1112 class SVGPathElementImpl : virtual public SVGPathElement,
1113 public SVGElementImpl
1114 {
1115 public:
1117 /**
1118 *
1119 */
1120 virtual SVGAnimatedNumber getPathLength();
1122 /**
1123 *
1124 */
1125 virtual double getTotalLength ( );
1127 /**
1128 *
1129 */
1130 virtual SVGPoint getPointAtLength (double distance );
1132 /**
1133 *
1134 */
1135 virtual unsigned long getPathSegAtLength (double distance );
1137 /**
1138 *
1139 */
1140 virtual SVGPathSegClosePath
1141 createSVGPathSegClosePath ( )
1142 {
1143 SVGPathSegClosePath ret;
1144 return ret;
1145 }
1147 /**
1148 *
1149 */
1150 virtual SVGPathSegMovetoAbs
1151 createSVGPathSegMovetoAbs (double x, double y )
1152 {
1153 SVGPathSegMovetoAbs ret(x, y);
1154 return ret;
1155 }
1157 /**
1158 *
1159 */
1160 virtual SVGPathSegMovetoRel
1161 createSVGPathSegMovetoRel (double x, double y )
1162 {
1163 SVGPathSegMovetoRel ret(x, y);
1164 return ret;
1165 }
1167 /**
1168 *
1169 */
1170 virtual SVGPathSegLinetoAbs
1171 createSVGPathSegLinetoAbs (double x, double y )
1172 {
1173 SVGPathSegLinetoAbs ret(x, y);
1174 return ret;
1175 }
1177 /**
1178 *
1179 */
1180 virtual SVGPathSegLinetoRel
1181 createSVGPathSegLinetoRel (double x, double y )
1182 {
1183 SVGPathSegLinetoRel ret(x, y);
1184 return ret;
1185 }
1187 /**
1188 *
1189 */
1190 virtual SVGPathSegCurvetoCubicAbs
1191 createSVGPathSegCurvetoCubicAbs (double x, double y,
1192 double x1, double y1, double x2, double y2 )
1193 {
1194 SVGPathSegCurvetoCubicAbs ret(x, y, x1, y1, x2, y2);
1195 return ret;
1196 }
1198 /**
1199 *
1200 */
1201 virtual SVGPathSegCurvetoCubicRel
1202 createSVGPathSegCurvetoCubicRel (double x, double y,
1203 double x1, double y1, double x2, double y2 )
1204 {
1205 SVGPathSegCurvetoCubicRel ret(x, y, x1, y1, x2, y2);
1206 return ret;
1207 }
1209 /**
1210 *
1211 */
1212 virtual SVGPathSegCurvetoQuadraticAbs
1213 createSVGPathSegCurvetoQuadraticAbs (double x, double y,
1214 double x1, double y1 )
1215 {
1216 SVGPathSegCurvetoQuadraticAbs ret(x, y, x1, y1);
1217 return ret;
1218 }
1220 /**
1221 *
1222 */
1223 virtual SVGPathSegCurvetoQuadraticRel
1224 createSVGPathSegCurvetoQuadraticRel (double x, double y,
1225 double x1, double y1 )
1226 {
1227 SVGPathSegCurvetoQuadraticRel ret(x, y, x1, y1);
1228 return ret;
1229 }
1231 /**
1232 *
1233 */
1234 virtual SVGPathSegArcAbs
1235 createSVGPathSegArcAbs (double x, double y,
1236 double r1, double r2, double angle,
1237 bool largeArcFlag, bool sweepFlag )
1238 {
1239 SVGPathSegArcAbs ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1240 return ret;
1241 }
1243 /**
1244 *
1245 */
1246 virtual SVGPathSegArcRel
1247 createSVGPathSegArcRel (double x, double y, double r1,
1248 double r2, double angle, bool largeArcFlag,
1249 bool sweepFlag )
1250 {
1251 SVGPathSegArcRel ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1252 return ret;
1253 }
1255 /**
1256 *
1257 */
1258 virtual SVGPathSegLinetoHorizontalAbs
1259 createSVGPathSegLinetoHorizontalAbs (double x )
1260 {
1261 SVGPathSegLinetoHorizontalAbs ret(x);
1262 return ret;
1263 }
1265 /**
1266 *
1267 */
1268 virtual SVGPathSegLinetoHorizontalRel
1269 createSVGPathSegLinetoHorizontalRel (double x )
1270 {
1271 SVGPathSegLinetoHorizontalRel ret(x);
1272 return ret;
1273 }
1275 /**
1276 *
1277 */
1278 virtual SVGPathSegLinetoVerticalAbs
1279 createSVGPathSegLinetoVerticalAbs (double y )
1280 {
1281 SVGPathSegLinetoVerticalAbs ret(y);
1282 return ret;
1283 }
1285 /**
1286 *
1287 */
1288 virtual SVGPathSegLinetoVerticalRel
1289 createSVGPathSegLinetoVerticalRel (double y )
1290 {
1291 SVGPathSegLinetoVerticalRel ret(y);
1292 return ret;
1293 }
1295 /**
1296 *
1297 */
1298 virtual SVGPathSegCurvetoCubicSmoothAbs
1299 createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
1300 double x2, double y2 )
1301 {
1302 SVGPathSegCurvetoCubicSmoothAbs ret(x, y, x2, y2);
1303 return ret;
1304 }
1306 /**
1307 *
1308 */
1309 virtual SVGPathSegCurvetoCubicSmoothRel
1310 createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
1311 double x2, double y2 )
1312 {
1313 SVGPathSegCurvetoCubicSmoothRel ret(x, y, x2, y2);
1314 return ret;
1315 }
1317 /**
1318 *
1319 */
1320 virtual SVGPathSegCurvetoQuadraticSmoothAbs
1321 createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y )
1322 {
1323 SVGPathSegCurvetoQuadraticSmoothAbs ret(x, y);
1324 return ret;
1325 }
1327 /**
1328 *
1329 */
1330 virtual SVGPathSegCurvetoQuadraticSmoothRel
1331 createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y )
1332 {
1333 SVGPathSegCurvetoQuadraticSmoothRel ret(x, y);
1334 return ret;
1335 }
1339 //##################
1340 //# Non-API methods
1341 //##################
1343 /**
1344 *
1345 */
1346 SVGPathElementImpl() {}
1349 /**
1350 *
1351 */
1352 virtual ~SVGPathElementImpl() {}
1354 protected:
1357 };
1365 /*#########################################################################
1366 ## SVGRectElementImpl
1367 #########################################################################*/
1369 /**
1370 *
1371 */
1372 class SVGRectElementImpl : virtual public SVGRectElement,
1373 public SVGElementImpl
1374 {
1375 public:
1377 /**
1378 *
1379 */
1380 virtual SVGAnimatedLength getX()
1381 { return x; }
1383 /**
1384 *
1385 */
1386 virtual SVGAnimatedLength getY()
1387 { return y; }
1389 /**
1390 *
1391 */
1392 virtual SVGAnimatedLength getWidth()
1393 { return width; }
1395 /**
1396 *
1397 */
1398 virtual SVGAnimatedLength getHeight()
1399 { return height; }
1402 /**
1403 *
1404 */
1405 virtual SVGAnimatedLength getRx()
1406 { return rx; }
1408 /**
1409 *
1410 */
1411 virtual SVGAnimatedLength getRy()
1412 { return ry; }
1416 //##################
1417 //# Non-API methods
1418 //##################
1420 /**
1421 *
1422 */
1423 SVGRectElementImpl() {}
1425 /**
1426 *
1427 */
1428 virtual ~SVGRectElementImpl() {}
1430 protected:
1432 SVGAnimatedLength x;
1433 SVGAnimatedLength y;
1434 SVGAnimatedLength width;
1435 SVGAnimatedLength height;
1436 SVGAnimatedLength rx;
1437 SVGAnimatedLength ry;
1439 };
1446 /*#########################################################################
1447 ## SVGCircleElementImpl
1448 #########################################################################*/
1450 /**
1451 *
1452 */
1453 class SVGCircleElementImpl : virtual public SVGCircleElement,
1454 public SVGElementImpl
1455 {
1456 public:
1458 /**
1459 *
1460 */
1461 virtual SVGAnimatedLength getCx()
1462 { return cx; }
1464 /**
1465 *
1466 */
1467 virtual SVGAnimatedLength getCy()
1468 { return cy; }
1470 /**
1471 *
1472 */
1473 virtual SVGAnimatedLength getR()
1474 { return r; }
1478 //##################
1479 //# Non-API methods
1480 //##################
1482 /**
1483 *
1484 */
1485 SVGCircleElementImpl() {}
1487 /**
1488 *
1489 */
1490 virtual ~SVGCircleElementImpl() {}
1492 protected:
1494 SVGAnimatedLength cx;
1495 SVGAnimatedLength cy;
1496 SVGAnimatedLength r;
1497 };
1504 /*#########################################################################
1505 ## SVGEllipseElementImpl
1506 #########################################################################*/
1508 /**
1509 *
1510 */
1511 class SVGEllipseElementImpl : virtual public SVGEllipseElement,
1512 public SVGElementImpl
1513 {
1514 public:
1516 /**
1517 *
1518 */
1519 virtual SVGAnimatedLength getCx()
1520 { return cx; }
1522 /**
1523 *
1524 */
1525 virtual SVGAnimatedLength getCy()
1526 { return cy; }
1528 /**
1529 *
1530 */
1531 virtual SVGAnimatedLength getRx()
1532 { return rx; }
1534 /**
1535 *
1536 */
1537 virtual SVGAnimatedLength getRy()
1538 { return ry; }
1541 //##################
1542 //# Non-API methods
1543 //##################
1545 /**
1546 *
1547 */
1548 SVGEllipseElementImpl() {}
1550 /**
1551 *
1552 */
1553 virtual ~SVGEllipseElementImpl() {}
1555 protected:
1557 SVGAnimatedLength cx;
1558 SVGAnimatedLength cy;
1559 SVGAnimatedLength rx;
1560 SVGAnimatedLength ry;
1561 };
1568 /*#########################################################################
1569 ## SVGLineElement
1570 #########################################################################*/
1572 /**
1573 *
1574 */
1575 class SVGLineElementImpl : virtual public SVGLineElement,
1576 public SVGElementImpl
1577 {
1578 public:
1580 /**
1581 *
1582 */
1583 virtual SVGAnimatedLength getX1()
1584 { return x1; }
1586 /**
1587 *
1588 */
1589 virtual SVGAnimatedLength getY1()
1590 { return y1; }
1592 /**
1593 *
1594 */
1595 virtual SVGAnimatedLength getX2()
1596 { return x2; }
1598 /**
1599 *
1600 */
1601 virtual SVGAnimatedLength getY2()
1602 { return y2; }
1604 //##################
1605 //# Non-API methods
1606 //##################
1608 /**
1609 *
1610 */
1611 virtual ~SVGLineElementImpl() {}
1613 protected:
1615 SVGAnimatedLength x1;
1616 SVGAnimatedLength x2;
1617 SVGAnimatedLength y1;
1618 SVGAnimatedLength y2;
1619 };
1624 /*#########################################################################
1625 ## SVGPolylineElement
1626 #########################################################################*/
1628 /**
1629 *
1630 */
1631 class SVGPolylineElementImpl : virtual public SVGPolylineElement,
1632 public SVGElementImpl
1633 {
1634 public:
1636 //##################
1637 //# Non-API methods
1638 //##################
1640 /**
1641 *
1642 */
1643 virtual ~SVGPolylineElementImpl() {}
1645 protected:
1648 };
1654 /*#########################################################################
1655 ## SVGPolygonElementImpl
1656 #########################################################################*/
1658 /**
1659 *
1660 */
1661 class SVGPolygonElementImpl : virtual public SVGPolygonElement,
1662 public SVGElementImpl
1663 {
1664 public:
1666 //##################
1667 //# Non-API methods
1668 //##################
1670 /**
1671 *
1672 */
1673 virtual ~SVGPolygonElementImpl() {}
1675 protected:
1678 };
1684 /*#########################################################################
1685 ## SVGTextContentElement
1686 #########################################################################*/
1688 /**
1689 *
1690 */
1691 class SVGTextContentElementImpl : virtual public SVGTextContentElement,
1692 public SVGElementImpl
1693 {
1694 public:
1696 /**
1697 *
1698 */
1699 virtual SVGAnimatedLength getTextLength();
1702 /**
1703 *
1704 */
1705 virtual SVGAnimatedEnumeration getLengthAdjust();
1708 /**
1709 *
1710 */
1711 virtual long getNumberOfChars( );
1713 /**
1714 *
1715 */
1716 virtual double getComputedTextLength( );
1718 /**
1719 *
1720 */
1721 virtual double getSubStringLength(unsigned long charnum,
1722 unsigned long nchars )
1723 throw( DOMException );
1725 /**
1726 *
1727 */
1728 virtual SVGPoint getStartPositionOfChar(unsigned long charnum )
1729 throw( DOMException );
1731 /**
1732 *
1733 */
1734 virtual SVGPoint getEndPositionOfChar(unsigned long charnum )
1735 throw( DOMException );
1737 /**
1738 *
1739 */
1740 virtual SVGRect getExtentOfChar(unsigned long charnum )
1741 throw( DOMException );
1743 /**
1744 *
1745 */
1746 virtual double getRotationOfChar(unsigned long charnum )
1747 throw( DOMException );
1749 /**
1750 *
1751 */
1752 virtual long getCharNumAtPosition(const SVGPoint &point );
1754 /**
1755 *
1756 */
1757 virtual void selectSubString(unsigned long charnum, unsigned long nchars )
1758 throw( DOMException );
1762 //##################
1763 //# Non-API methods
1764 //##################
1766 /**
1767 *
1768 */
1769 virtual ~SVGTextContentElementImpl() {}
1771 protected:
1774 };
1781 /*#########################################################################
1782 ## SVGTextPositioningElementImpl
1783 #########################################################################*/
1785 /**
1786 *
1787 */
1788 class SVGTextPositioningElementImpl : virtual public SVGTextPositioningElement,
1789 public SVGTextContentElementImpl
1790 {
1791 public:
1795 /**
1796 *
1797 */
1798 virtual SVGAnimatedLength getX()
1799 { return x; }
1801 /**
1802 *
1803 */
1804 virtual SVGAnimatedLength getY()
1805 { return y; }
1807 /**
1808 *
1809 */
1810 virtual SVGAnimatedLength getDx()
1811 { return dx; }
1813 /**
1814 *
1815 */
1816 virtual SVGAnimatedLength getDy()
1817 { return dy; }
1820 /**
1821 *
1822 */
1823 virtual SVGAnimatedNumberList getRotate()
1824 { return rotate; }
1828 //##################
1829 //# Non-API methods
1830 //##################
1832 /**
1833 *
1834 */
1835 virtual ~SVGTextPositioningElementImpl() {}
1837 protected:
1839 SVGAnimatedLength x;
1840 SVGAnimatedLength y;
1841 SVGAnimatedLength dx;
1842 SVGAnimatedLength dy;
1843 SVGAnimatedNumberList rotate;
1845 };
1853 /*#########################################################################
1854 ## SVGTextElement
1855 #########################################################################*/
1857 /**
1858 *
1859 */
1860 class SVGTextElementImpl : virtual public SVGTextElement,
1861 public SVGTextPositioningElementImpl
1862 {
1863 public:
1865 //##################
1866 //# Non-API methods
1867 //##################
1869 /**
1870 *
1871 */
1872 virtual ~SVGTextElementImpl() {}
1874 protected:
1877 };
1883 /*#########################################################################
1884 ## SVGTSpanElement
1885 #########################################################################*/
1887 /**
1888 *
1889 */
1890 class SVGTSpanElementImpl : virtual public SVGTSpanElement,
1891 public SVGTextPositioningElementImpl
1892 {
1893 public:
1895 //##################
1896 //# Non-API methods
1897 //##################
1899 /**
1900 *
1901 */
1902 virtual ~SVGTSpanElementImpl() {}
1904 protected:
1907 };
1913 /*#########################################################################
1914 ## SVGTRefElement
1915 #########################################################################*/
1917 /**
1918 *
1919 */
1920 class SVGTRefElementImpl : virtual public SVGTRefElement,
1921 public SVGTextPositioningElementImpl
1922 {
1923 public:
1925 //##################
1926 //# Non-API methods
1927 //##################
1929 /**
1930 *
1931 */
1932 virtual ~SVGTRefElementImpl() {}
1934 protected:
1937 };
1943 /*#########################################################################
1944 ## SVGTextPathElement
1945 #########################################################################*/
1947 /**
1948 *
1949 */
1950 class SVGTextPathElementImpl : virtual public SVGTextPathElement,
1951 public SVGTextContentElementImpl
1952 {
1953 public:
1955 /**
1956 *
1957 */
1958 virtual SVGAnimatedLength getStartOffset()
1959 { return startOffset; }
1961 /**
1962 *
1963 */
1964 virtual SVGAnimatedEnumeration getMethod()
1965 { return method; }
1967 /**
1968 *
1969 */
1970 virtual SVGAnimatedEnumeration getSpacing()
1971 { return spacing; }
1975 //##################
1976 //# Non-API methods
1977 //##################
1979 /**
1980 *
1981 */
1982 virtual ~SVGTextPathElementImpl() {}
1984 protected:
1986 SVGAnimatedLength startOffset;
1987 SVGAnimatedEnumeration method;
1988 SVGAnimatedEnumeration spacing;
1989 };
1997 /*#########################################################################
1998 ## SVGAltGlyphElement
1999 #########################################################################*/
2001 /**
2002 *
2003 */
2004 class SVGAltGlyphElementImpl : virtual public SVGAltGlyphElement,
2005 public SVGTextPositioningElementImpl
2006 {
2007 public:
2009 /**
2010 *
2011 */
2012 virtual DOMString getGlyphRef()
2013 { return glyphRef; }
2015 /**
2016 *
2017 */
2018 virtual void setGlyphRef(const DOMString &val)
2019 throw (DOMException)
2020 { glyphRef = val; }
2022 /**
2023 *
2024 */
2025 virtual DOMString getFormat()
2026 { return format; }
2028 /**
2029 *
2030 */
2031 virtual void setFormat(const DOMString &val)
2032 throw (DOMException)
2033 { format = val; }
2038 //##################
2039 //# Non-API methods
2040 //##################
2042 /**
2043 *
2044 */
2045 virtual ~SVGAltGlyphElementImpl() {}
2047 protected:
2049 DOMString glyphRef;
2050 DOMString format;
2052 };
2060 /*#########################################################################
2061 ## SVGAltGlyphDefElementImpl
2062 #########################################################################*/
2064 /**
2065 *
2066 */
2067 class SVGAltGlyphDefElementImpl : virtual public SVGAltGlyphDefElement,
2068 public SVGElementImpl
2069 {
2070 public:
2072 //##################
2073 //# Non-API methods
2074 //##################
2076 /**
2077 *
2078 */
2079 virtual ~SVGAltGlyphDefElementImpl() {}
2081 protected:
2084 };
2090 /*#########################################################################
2091 ## SVGAltGlyphItemElementImpl
2092 #########################################################################*/
2094 /**
2095 *
2096 */
2097 class SVGAltGlyphItemElementImpl : virtual public SVGAltGlyphItemElement,
2098 public SVGElementImpl
2099 {
2100 public:
2102 //##################
2103 //# Non-API methods
2104 //##################
2106 /**
2107 *
2108 */
2109 virtual ~SVGAltGlyphItemElementImpl() {}
2111 protected:
2114 };
2120 /*#########################################################################
2121 ## SVGGlyphRefElementImpl
2122 #########################################################################*/
2124 /**
2125 *
2126 */
2127 class SVGGlyphRefElementImpl : virtual public SVGGlyphRefElement,
2128 public SVGElementImpl
2129 {
2130 public:
2131 /**
2132 *
2133 */
2134 virtual DOMString getGlyphRef()
2135 { return glyphRef; }
2137 /**
2138 *
2139 */
2140 virtual void setGlyphRef(const DOMString &val) throw (DOMException)
2141 { glyphRef = val; }
2143 /**
2144 *
2145 */
2146 virtual DOMString getFormat()
2147 { return format; }
2149 /**
2150 *
2151 */
2152 virtual void setFormat(const DOMString &val) throw (DOMException)
2153 { format = val; }
2155 /**
2156 *
2157 */
2158 virtual double getX()
2159 { return x; }
2161 /**
2162 *
2163 */
2164 virtual void setX(double val) throw (DOMException)
2165 { x = val; }
2167 /**
2168 *
2169 */
2170 virtual double getY()
2171 { return y; }
2173 /**
2174 *
2175 */
2176 virtual void setY(double val) throw (DOMException)
2177 { y = val; }
2179 /**
2180 *
2181 */
2182 virtual double getDx()
2183 { return dx; }
2185 /**
2186 *
2187 */
2188 virtual void setDx(double val) throw (DOMException)
2189 { dx = val; }
2191 /**
2192 *
2193 */
2194 virtual double getDy()
2195 { return dy; }
2197 /**
2198 *
2199 */
2200 virtual void setDy(double val) throw (DOMException)
2201 { dy = val; }
2206 //##################
2207 //# Non-API methods
2208 //##################
2210 /**
2211 *
2212 */
2213 virtual ~SVGGlyphRefElementImpl() {}
2215 protected:
2217 DOMString glyphRef;
2218 DOMString format;
2219 double x, y, dx, dy;
2221 };
2228 /*#########################################################################
2229 ## SVGMarkerElementImpl
2230 #########################################################################*/
2232 /**
2233 *
2234 */
2235 class SVGMarkerElementImpl : virtual public SVGMarkerElement,
2236 public SVGElementImpl
2237 {
2238 public:
2240 /**
2241 *
2242 */
2243 virtual SVGAnimatedLength getRefX()
2244 { return refX; }
2246 /**
2247 *
2248 */
2249 virtual SVGAnimatedLength getRefY()
2250 { return refY; }
2252 /**
2253 *
2254 */
2255 virtual SVGAnimatedEnumeration getMarkerUnits()
2256 { return markerUnits; }
2258 /**
2259 *
2260 */
2261 virtual SVGAnimatedLength getMarkerWidth()
2262 { return markerWidth; }
2264 /**
2265 *
2266 */
2267 virtual SVGAnimatedLength getMarkerHeight()
2268 { return markerHeight; }
2270 /**
2271 *
2272 */
2273 virtual SVGAnimatedEnumeration getOrientType()
2274 { return orientType; }
2276 /**
2277 *
2278 */
2279 virtual SVGAnimatedAngle getOrientAngle()
2280 { return orientAngle; }
2283 /**
2284 *
2285 */
2286 virtual void setOrientToAuto ( )
2287 { orientAuto = true; }
2289 /**
2290 *
2291 */
2292 virtual void setOrientToAngle (const SVGAngle &angle)
2293 {
2294 orientAuto = false;
2295 orientAngle = SVGAnimatedAngle(angle);
2296 }
2300 //##################
2301 //# Non-API methods
2302 //##################
2304 /**
2305 *
2306 */
2307 virtual ~SVGMarkerElementImpl() {}
2309 protected:
2311 SVGAnimatedLength refX;
2312 SVGAnimatedLength refY;
2313 SVGAnimatedEnumeration markerUnits;
2314 SVGAnimatedLength markerWidth;
2315 SVGAnimatedLength markerHeight;
2316 SVGAnimatedEnumeration orientType;
2317 SVGAnimatedAngle orientAngle;
2318 bool orientAuto;
2321 };
2329 /*#########################################################################
2330 ## SVGColorProfileElementImpl
2331 #########################################################################*/
2333 /**
2334 *
2335 */
2336 class SVGColorProfileElementImpl : virtual public SVGColorProfileElement,
2337 public SVGElementImpl
2338 {
2339 public:
2340 /**
2341 *
2342 */
2343 virtual DOMString getLocal()
2344 { return local; }
2346 /**
2347 *
2348 */
2349 virtual void setLocal(const DOMString &val) throw (DOMException)
2350 { local = val; }
2352 /**
2353 *
2354 */
2355 virtual DOMString getName()
2356 { return name; }
2358 /**
2359 *
2360 */
2361 virtual void setName(const DOMString &val) throw (DOMException)
2362 { name = val; }
2364 /**
2365 *
2366 */
2367 virtual unsigned short getRenderingIntent()
2368 { return renderingIntent; }
2370 /**
2371 *
2372 */
2373 virtual void setRenderingIntent(unsigned short val) throw (DOMException)
2374 { renderingIntent = val; }
2378 //##################
2379 //# Non-API methods
2380 //##################
2382 /**
2383 *
2384 */
2385 virtual ~SVGColorProfileElementImpl() {}
2387 protected:
2389 DOMString local;
2390 DOMString name;
2391 unsigned short renderingIntent;
2393 };
2399 /*#########################################################################
2400 ## SVGGradientElementImpl
2401 #########################################################################*/
2403 /**
2404 *
2405 */
2406 class SVGGradientElementImpl : virtual public SVGGradientElement,
2407 public SVGElementImpl
2408 {
2409 public:
2411 /**
2412 *
2413 */
2414 virtual SVGAnimatedEnumeration getGradientUnits()
2415 { return gradientUnits; }
2417 /**
2418 *
2419 */
2420 virtual SVGAnimatedTransformList getGradientTransform()
2421 { return gradientTransform; }
2423 /**
2424 *
2425 */
2426 virtual SVGAnimatedEnumeration getSpreadMethod()
2427 { return spreadMethod; }
2431 //##################
2432 //# Non-API methods
2433 //##################
2435 /**
2436 *
2437 */
2438 virtual ~SVGGradientElementImpl() {}
2440 protected:
2443 SVGAnimatedEnumeration gradientUnits;
2444 SVGAnimatedTransformList gradientTransform;
2445 SVGAnimatedEnumeration spreadMethod;
2446 };
2454 /*#########################################################################
2455 ## SVGLinearGradientElementImpl
2456 #########################################################################*/
2458 /**
2459 *
2460 */
2461 class SVGLinearGradientElementImpl : virtual public SVGLinearGradientElement,
2462 public SVGGradientElementImpl
2463 {
2464 public:
2467 /**
2468 *
2469 */
2470 virtual SVGAnimatedLength getX1()
2471 { return x1; }
2473 /**
2474 *
2475 */
2476 virtual SVGAnimatedLength getY1()
2477 { return y1; }
2479 /**
2480 *
2481 */
2482 virtual SVGAnimatedLength getX2()
2483 { return x2; }
2485 /**
2486 *
2487 */
2488 virtual SVGAnimatedLength getY2()
2489 { return y2; }
2492 //##################
2493 //# Non-API methods
2494 //##################
2496 /**
2497 *
2498 */
2499 virtual ~SVGLinearGradientElementImpl() {}
2501 protected:
2503 SVGAnimatedLength x1, x2, y1, y2;
2505 };
2513 /*#########################################################################
2514 ## SVGRadialGradientElementImpl
2515 #########################################################################*/
2517 /**
2518 *
2519 */
2520 class SVGRadialGradientElementImpl : virtual public SVGRadialGradientElement,
2521 public SVGGradientElementImpl
2522 {
2523 public:
2526 /**
2527 *
2528 */
2529 virtual SVGAnimatedLength getCx()
2530 { return cx; }
2533 /**
2534 *
2535 */
2536 virtual SVGAnimatedLength getCy()
2537 { return cy; }
2540 /**
2541 *
2542 */
2543 virtual SVGAnimatedLength getR()
2544 { return r; }
2547 /**
2548 *
2549 */
2550 virtual SVGAnimatedLength getFx()
2551 { return fx; }
2554 /**
2555 *
2556 */
2557 virtual SVGAnimatedLength getFy()
2558 { return fy; }
2563 //##################
2564 //# Non-API methods
2565 //##################
2567 /**
2568 *
2569 */
2570 virtual ~SVGRadialGradientElementImpl() {}
2572 protected:
2574 SVGAnimatedLength cx, cy, r, fx, fy;
2576 };
2584 /*#########################################################################
2585 ## SVGStopElementImpl
2586 #########################################################################*/
2588 /**
2589 *
2590 */
2591 class SVGStopElementImpl : virtual public SVGStopElement,
2592 public SVGElementImpl
2593 {
2594 public:
2596 /**
2597 *
2598 */
2599 virtual SVGAnimatedNumber getOffset()
2600 { return offset; }
2604 //##################
2605 //# Non-API methods
2606 //##################
2608 /**
2609 *
2610 */
2611 virtual ~SVGStopElementImpl() {}
2613 protected:
2615 SVGAnimatedNumber offset;
2617 };
2625 /*#########################################################################
2626 ## SVGPatternElementImpl
2627 #########################################################################*/
2629 /**
2630 *
2631 */
2632 class SVGPatternElementImpl : virtual public SVGPatternElement,
2633 public SVGElementImpl
2634 {
2635 public:
2637 /**
2638 *
2639 */
2640 virtual SVGAnimatedEnumeration getPatternUnits()
2641 { return patternUnits; }
2643 /**
2644 *
2645 */
2646 virtual SVGAnimatedEnumeration getPatternContentUnits()
2647 { return patternContentUnits; }
2649 /**
2650 *
2651 */
2652 virtual SVGAnimatedTransformList getPatternTransform()
2653 { return patternTransform; }
2655 /**
2656 *
2657 */
2658 virtual SVGAnimatedLength getX()
2659 { return x; }
2661 /**
2662 *
2663 */
2664 virtual SVGAnimatedLength getY()
2665 { return y; }
2667 /**
2668 *
2669 */
2670 virtual SVGAnimatedLength getWidth()
2671 { return width; }
2673 /**
2674 *
2675 */
2676 virtual SVGAnimatedLength getHeight()
2677 { return height; }
2681 //##################
2682 //# Non-API methods
2683 //##################
2685 /**
2686 *
2687 */
2688 virtual ~SVGPatternElementImpl() {}
2690 protected:
2693 SVGAnimatedEnumeration patternUnits;
2694 SVGAnimatedEnumeration patternContentUnits;
2695 SVGAnimatedTransformList patternTransform;
2696 SVGAnimatedLength x;
2697 SVGAnimatedLength y;
2698 SVGAnimatedLength width;
2699 SVGAnimatedLength height;
2700 };
2708 /*#########################################################################
2709 ## SVGClipPathElementImpl
2710 #########################################################################*/
2712 /**
2713 *
2714 */
2715 class SVGClipPathElementImpl : virtual public SVGClipPathElement,
2716 public SVGElementImpl
2717 {
2718 public:
2720 /**
2721 *
2722 */
2723 virtual SVGAnimatedEnumeration getClipPathUnits()
2724 { return clipPathUnits; }
2726 //##################
2727 //# Non-API methods
2728 //##################
2730 /**
2731 *
2732 */
2733 virtual ~SVGClipPathElementImpl() {}
2735 protected:
2737 SVGAnimatedEnumeration clipPathUnits;
2739 };
2747 /*#########################################################################
2748 ## SVGMaskElementImpl
2749 #########################################################################*/
2751 /**
2752 *
2753 */
2754 class SVGMaskElementImpl : virtual public SVGMaskElement,
2755 public SVGElementImpl
2756 {
2757 public:
2759 /**
2760 *
2761 */
2762 virtual SVGAnimatedEnumeration getMaskUnits()
2763 { return maskUnits; }
2765 /**
2766 *
2767 */
2768 virtual SVGAnimatedEnumeration getMaskContentUnits()
2769 { return maskContentUnits; }
2771 /**
2772 *
2773 */
2774 virtual SVGAnimatedLength getX()
2775 { return x; }
2777 /**
2778 *
2779 */
2780 virtual SVGAnimatedLength getY()
2781 { return y; }
2783 /**
2784 *
2785 */
2786 virtual SVGAnimatedLength getWidth()
2787 { return width; }
2789 /**
2790 *
2791 */
2792 virtual SVGAnimatedLength getHeight()
2793 { return height; }
2795 //##################
2796 //# Non-API methods
2797 //##################
2799 /**
2800 *
2801 */
2802 virtual ~SVGMaskElementImpl() {}
2804 protected:
2807 SVGAnimatedEnumeration maskUnits;
2808 SVGAnimatedEnumeration maskContentUnits;
2809 SVGAnimatedLength x;
2810 SVGAnimatedLength y;
2811 SVGAnimatedLength width;
2812 SVGAnimatedLength height;
2813 };
2821 /*#########################################################################
2822 ## SVGFilterElementImpl
2823 #########################################################################*/
2825 /**
2826 *
2827 */
2828 class SVGFilterElementImpl : virtual public SVGFilterElement,
2829 public SVGElementImpl
2830 {
2831 public:
2833 /**
2834 *
2835 */
2836 virtual SVGAnimatedEnumeration getFilterUnits()
2837 { return filterUnits; }
2839 /**
2840 *
2841 */
2842 virtual SVGAnimatedEnumeration getPrimitiveUnits()
2843 { return filterUnits; }
2845 /**
2846 *
2847 */
2848 virtual SVGAnimatedLength getX()
2849 { return x; }
2851 /**
2852 *
2853 */
2854 virtual SVGAnimatedLength getY()
2855 { return y; }
2857 /**
2858 *
2859 */
2860 virtual SVGAnimatedLength getWidth()
2861 { return width; }
2863 /**
2864 *
2865 */
2866 virtual SVGAnimatedLength getHeight()
2867 { return height; }
2869 /**
2870 *
2871 */
2872 virtual SVGAnimatedInteger getFilterResX()
2873 { return filterResX; }
2875 /**
2876 *
2877 */
2878 virtual SVGAnimatedInteger getFilterResY()
2879 { return filterResY; }
2881 /**
2882 *
2883 */
2884 virtual void setFilterRes (unsigned long filterResXArg,
2885 unsigned long filterResYArg )
2886 {
2887 filterResX = filterResXArg;
2888 filterResY = filterResYArg;
2889 }
2893 //##################
2894 //# Non-API methods
2895 //##################
2897 /**
2898 *
2899 */
2900 virtual ~SVGFilterElementImpl() {}
2902 protected:
2904 SVGAnimatedEnumeration filterUnits;
2905 SVGAnimatedEnumeration primitiveUnits;
2906 SVGAnimatedLength x;
2907 SVGAnimatedLength y;
2908 SVGAnimatedLength width;
2909 SVGAnimatedLength height;
2910 SVGAnimatedInteger filterResX;
2911 SVGAnimatedInteger filterResY;
2913 };
2920 /*#########################################################################
2921 ## SVGFEBlendElementImpl
2922 #########################################################################*/
2924 /**
2925 *
2926 */
2927 class SVGFEBlendElementImpl : virtual public SVGFEBlendElement,
2928 public SVGElementImpl
2929 {
2930 public:
2932 /**
2933 *
2934 */
2935 virtual SVGAnimatedString getIn1()
2936 { return in1; }
2938 /**
2939 *
2940 */
2941 virtual SVGAnimatedString getIn2()
2942 { return in2; }
2944 /**
2945 *
2946 */
2947 virtual SVGAnimatedEnumeration getMode()
2948 { return mode; }
2951 //##################
2952 //# Non-API methods
2953 //##################
2955 /**
2956 *
2957 */
2958 virtual ~SVGFEBlendElementImpl() {}
2960 protected:
2962 SVGAnimatedString in1, in2;
2963 SVGAnimatedEnumeration mode;
2964 };
2972 /*#########################################################################
2973 ## SVGFEColorMatrixElementImpl
2974 #########################################################################*/
2976 /**
2977 *
2978 */
2979 class SVGFEColorMatrixElementImpl : virtual public SVGFEColorMatrixElement,
2980 public SVGElementImpl
2981 {
2982 public:
2984 /**
2985 *
2986 */
2987 virtual SVGAnimatedString getIn1()
2988 { return in1; }
2990 /**
2991 *
2992 */
2993 virtual SVGAnimatedEnumeration getType()
2994 { return type; }
2996 /**
2997 *
2998 */
2999 virtual SVGAnimatedNumberList getValues()
3000 { return values; }
3004 //##################
3005 //# Non-API methods
3006 //##################
3008 /**
3009 *
3010 */
3011 virtual ~SVGFEColorMatrixElementImpl() {}
3013 protected:
3015 SVGAnimatedString in1;
3016 SVGAnimatedEnumeration type;
3017 SVGAnimatedNumberList values;
3019 };
3027 /*#########################################################################
3028 ## SVGFEComponentTransferElementImpl
3029 #########################################################################*/
3031 /**
3032 *
3033 */
3034 class SVGFEComponentTransferElementImpl :
3035 virtual public SVGFEComponentTransferElement,
3036 public SVGElementImpl
3037 {
3038 public:
3039 /**
3040 *
3041 */
3042 virtual SVGAnimatedString getIn1()
3043 { return in1; }
3045 //##################
3046 //# Non-API methods
3047 //##################
3049 /**
3050 *
3051 */
3052 virtual ~SVGFEComponentTransferElementImpl() {}
3054 protected:
3056 SVGAnimatedString in1;
3058 };
3066 /*#########################################################################
3067 ## SVGComponentTransferFunctionElementImpl
3068 #########################################################################*/
3070 /**
3071 *
3072 */
3073 class SVGComponentTransferFunctionElementImpl :
3074 virtual public SVGComponentTransferFunctionElement,
3075 public SVGElementImpl
3076 {
3077 public:
3079 /**
3080 *
3081 */
3082 virtual SVGAnimatedEnumeration getType()
3083 { return type; }
3085 /**
3086 *
3087 */
3088 virtual SVGAnimatedNumberList getTableValues()
3089 { return tableValues; }
3091 /**
3092 *
3093 */
3094 virtual SVGAnimatedNumber getSlope()
3095 { return slope; }
3097 /**
3098 *
3099 */
3100 virtual SVGAnimatedNumber getIntercept()
3101 { return intercept; }
3103 /**
3104 *
3105 */
3106 virtual SVGAnimatedNumber getAmplitude()
3107 { return amplitude; }
3109 /**
3110 *
3111 */
3112 virtual SVGAnimatedNumber getExponent()
3113 { return exponent; }
3115 /**
3116 *
3117 */
3118 virtual SVGAnimatedNumber getOffset()
3119 { return offset; }
3122 //##################
3123 //# Non-API methods
3124 //##################
3126 /**
3127 *
3128 */
3129 virtual ~SVGComponentTransferFunctionElementImpl() {}
3131 protected:
3133 SVGAnimatedEnumeration type;
3134 SVGAnimatedNumberList tableValues;
3135 SVGAnimatedNumber slope;
3136 SVGAnimatedNumber intercept;
3137 SVGAnimatedNumber amplitude;
3138 SVGAnimatedNumber exponent;
3139 SVGAnimatedNumber offset;
3141 };
3149 /*#########################################################################
3150 ## SVGFEFuncRElementImpl
3151 #########################################################################*/
3153 /**
3154 *
3155 */
3156 class SVGFEFuncRElementImpl :
3157 virtual public SVGFEFuncRElement,
3158 public SVGComponentTransferFunctionElementImpl
3159 {
3160 public:
3162 //##################
3163 //# Non-API methods
3164 //##################
3166 /**
3167 *
3168 */
3169 virtual ~SVGFEFuncRElementImpl() {}
3171 protected:
3174 };
3180 /*#########################################################################
3181 ## SVGFEFuncGElementImpl
3182 #########################################################################*/
3184 /**
3185 *
3186 */
3187 class SVGFEFuncGElementImpl : virtual public SVGFEFuncGElement,
3188 public SVGComponentTransferFunctionElementImpl
3189 {
3190 public:
3192 //##################
3193 //# Non-API methods
3194 //##################
3196 /**
3197 *
3198 */
3199 virtual ~SVGFEFuncGElementImpl() {}
3201 protected:
3204 };
3210 /*#########################################################################
3211 ## SVGFEFuncBElementImpl
3212 #########################################################################*/
3214 /**
3215 *
3216 */
3217 class SVGFEFuncBElementImpl : virtual public SVGFEFuncBElement,
3218 public SVGComponentTransferFunctionElementImpl
3219 {
3220 public:
3222 //##################
3223 //# Non-API methods
3224 //##################
3226 /**
3227 *
3228 */
3229 virtual ~SVGFEFuncBElementImpl() {}
3231 protected:
3234 };
3240 /*#########################################################################
3241 ## SVGFEFuncAElementImpl
3242 #########################################################################*/
3244 /**
3245 *
3246 */
3247 class SVGFEFuncAElementImpl : virtual public SVGFEFuncAElement,
3248 public SVGComponentTransferFunctionElementImpl
3249 {
3250 public:
3252 //##################
3253 //# Non-API methods
3254 //##################
3256 /**
3257 *
3258 */
3259 virtual ~SVGFEFuncAElementImpl() {}
3261 protected:
3264 };
3270 /*#########################################################################
3271 ## SVGFECompositeElementImpl
3272 #########################################################################*/
3274 /**
3275 *
3276 */
3277 class SVGFECompositeElementImpl : virtual public SVGFECompositeElement,
3278 public SVGElementImpl
3279 {
3280 public:
3283 /**
3284 *
3285 */
3286 virtual SVGAnimatedString getIn1()
3287 { return in1; }
3289 /**
3290 *
3291 */
3292 virtual SVGAnimatedString getIn2()
3293 { return in2; }
3295 /**
3296 *
3297 */
3298 virtual SVGAnimatedEnumeration getOperator()
3299 { return ae_operator; }
3301 /**
3302 *
3303 */
3304 virtual SVGAnimatedNumber getK1()
3305 { return k1; }
3307 /**
3308 *
3309 */
3310 virtual SVGAnimatedNumber getK2()
3311 { return k2; }
3313 /**
3314 *
3315 */
3316 virtual SVGAnimatedNumber getK3()
3317 { return k3; }
3319 /**
3320 *
3321 */
3322 virtual SVGAnimatedNumber getK4()
3323 { return k4; }
3327 //##################
3328 //# Non-API methods
3329 //##################
3331 /**
3332 *
3333 */
3334 virtual ~SVGFECompositeElementImpl() {}
3336 protected:
3339 SVGAnimatedString in1;
3340 SVGAnimatedString in2;
3341 SVGAnimatedEnumeration ae_operator;
3342 SVGAnimatedNumber k1;
3343 SVGAnimatedNumber k2;
3344 SVGAnimatedNumber k3;
3345 SVGAnimatedNumber k4;
3347 };
3355 /*#########################################################################
3356 ## SVGFEConvolveMatrixElementImpl
3357 #########################################################################*/
3359 /**
3360 *
3361 */
3362 class SVGFEConvolveMatrixElementImpl : virtual public SVGFEConvolveMatrixElement,
3363 public SVGElementImpl
3364 {
3365 public:
3367 /**
3368 *
3369 */
3370 virtual SVGAnimatedInteger getOrderX()
3371 { return orderX; }
3373 /**
3374 *
3375 */
3376 virtual SVGAnimatedInteger getOrderY()
3377 { return orderY; }
3379 /**
3380 *
3381 */
3382 virtual SVGAnimatedNumberList getKernelMatrix()
3383 { return kernelMatrix; }
3385 /**
3386 *
3387 */
3388 virtual SVGAnimatedNumber getDivisor()
3389 { return divisor; }
3391 /**
3392 *
3393 */
3394 virtual SVGAnimatedNumber getBias()
3395 { return bias; }
3397 /**
3398 *
3399 */
3400 virtual SVGAnimatedInteger getTargetX()
3401 { return targetX; }
3403 /**
3404 *
3405 */
3406 virtual SVGAnimatedInteger getTargetY()
3407 { return targetY; }
3409 /**
3410 *
3411 */
3412 virtual SVGAnimatedEnumeration getEdgeMode()
3413 { return edgeMode; }
3415 /**
3416 *
3417 */
3418 virtual SVGAnimatedLength getKernelUnitLengthX()
3419 { return kernelUnitLengthX; }
3421 /**
3422 *
3423 */
3424 virtual SVGAnimatedLength getKernelUnitLengthY()
3425 { return kernelUnitLengthY; }
3427 /**
3428 *
3429 */
3430 virtual SVGAnimatedBoolean getPreserveAlpha()
3431 { return preserveAlpha; }
3435 //##################
3436 //# Non-API methods
3437 //##################
3439 /**
3440 *
3441 */
3442 virtual ~SVGFEConvolveMatrixElementImpl() {}
3444 protected:
3446 SVGAnimatedInteger orderX;
3447 SVGAnimatedInteger orderY;
3448 SVGAnimatedNumberList kernelMatrix;
3449 SVGAnimatedNumber divisor;
3450 SVGAnimatedNumber bias;
3451 SVGAnimatedInteger targetX;
3452 SVGAnimatedInteger targetY;
3453 SVGAnimatedEnumeration edgeMode;
3454 SVGAnimatedLength kernelUnitLengthX;
3455 SVGAnimatedLength kernelUnitLengthY;
3456 SVGAnimatedBoolean preserveAlpha;
3458 };
3466 /*#########################################################################
3467 ## SVGFEDiffuseLightingElementImpl
3468 #########################################################################*/
3470 /**
3471 *
3472 */
3473 class SVGFEDiffuseLightingElementImpl : virtual public SVGFEDiffuseLightingElement,
3474 public SVGElementImpl
3475 {
3476 public:
3478 /**
3479 *
3480 */
3481 virtual SVGAnimatedString getIn1()
3482 { return in1; }
3484 /**
3485 *
3486 */
3487 virtual SVGAnimatedNumber getSurfaceScale()
3488 { return surfaceScale; }
3490 /**
3491 *
3492 */
3493 virtual SVGAnimatedNumber getDiffuseConstant()
3494 { return diffuseConstant; }
3498 //##################
3499 //# Non-API methods
3500 //##################
3502 /**
3503 *
3504 */
3505 virtual ~SVGFEDiffuseLightingElementImpl() {}
3507 protected:
3509 SVGAnimatedString in1;
3510 SVGAnimatedNumber surfaceScale;
3511 SVGAnimatedNumber diffuseConstant;
3513 };
3521 /*#########################################################################
3522 ## SVGFEDistantLightElementImpl
3523 #########################################################################*/
3525 /**
3526 *
3527 */
3528 class SVGFEDistantLightElementImpl : virtual public SVGFEDistantLightElement,
3529 public SVGElementImpl
3530 {
3531 public:
3533 /**
3534 *
3535 */
3536 virtual SVGAnimatedNumber getAzimuth()
3537 { return azimuth; }
3540 /**
3541 *
3542 */
3543 virtual SVGAnimatedNumber getElevation()
3544 { return elevation; }
3548 //##################
3549 //# Non-API methods
3550 //##################
3552 /**
3553 *
3554 */
3555 virtual ~SVGFEDistantLightElementImpl() {}
3557 protected:
3559 SVGAnimatedNumber azimuth;
3560 SVGAnimatedNumber elevation;
3562 };
3570 /*#########################################################################
3571 ## SVGFEPointLightElementImpl
3572 #########################################################################*/
3574 /**
3575 *
3576 */
3577 class SVGFEPointLightElementImpl : public virtual SVGFEPointLightElement,
3578 public SVGElementImpl
3579 {
3580 public:
3582 /**
3583 *
3584 */
3585 virtual SVGAnimatedNumber getX()
3586 { return x; }
3589 /**
3590 *
3591 */
3592 virtual SVGAnimatedNumber getY()
3593 { return y; }
3595 /**
3596 *
3597 */
3598 virtual SVGAnimatedNumber getZ()
3599 { return z; }
3601 //##################
3602 //# Non-API methods
3603 //##################
3605 /**
3606 *
3607 */
3608 virtual ~SVGFEPointLightElementImpl() {}
3610 protected:
3612 SVGAnimatedNumber x, y, z;
3614 };
3622 /*#########################################################################
3623 ## SVGFESpotLightElementImpl
3624 #########################################################################*/
3626 /**
3627 *
3628 */
3629 class SVGFESpotLightElementImpl : virtual public SVGFESpotLightElement,
3630 public SVGElementImpl
3631 {
3632 public:
3634 /**
3635 *
3636 */
3637 virtual SVGAnimatedNumber getX()
3638 { return x; }
3641 /**
3642 *
3643 */
3644 virtual SVGAnimatedNumber getY()
3645 { return y; }
3647 /**
3648 *
3649 */
3650 virtual SVGAnimatedNumber getZ()
3651 { return z; }
3653 /**
3654 *
3655 */
3656 virtual SVGAnimatedNumber getPointsAtX()
3657 { return pointsAtX; }
3659 /**
3660 *
3661 */
3662 virtual SVGAnimatedNumber getPointsAtY()
3663 { return pointsAtY; }
3665 /**
3666 *
3667 */
3668 virtual SVGAnimatedNumber getPointsAtZ()
3669 { return pointsAtZ; }
3671 /**
3672 *
3673 */
3674 virtual SVGAnimatedNumber getSpecularExponent()
3675 { return specularExponent; }
3677 /**
3678 *
3679 */
3680 virtual SVGAnimatedNumber getLimitingConeAngle()
3681 { return limitingConeAngle; }
3685 //##################
3686 //# Non-API methods
3687 //##################
3689 /**
3690 *
3691 */
3692 virtual ~SVGFESpotLightElementImpl() {}
3694 protected:
3696 SVGAnimatedNumber x, y, z;
3697 SVGAnimatedNumber pointsAtX, pointsAtY, pointsAtZ;
3698 SVGAnimatedNumber specularExponent;
3699 SVGAnimatedNumber limitingConeAngle;
3700 };
3708 /*#########################################################################
3709 ## SVGFEDisplacementMapElementImpl
3710 #########################################################################*/
3712 /**
3713 *
3714 */
3715 class SVGFEDisplacementMapElementImpl : virtual public SVGFEDisplacementMapElement,
3716 public SVGElementImpl
3717 {
3718 public:
3720 /**
3721 *
3722 */
3723 virtual SVGAnimatedString getIn1()
3724 { return in1; }
3726 /**
3727 *
3728 */
3729 virtual SVGAnimatedString getIn2()
3730 { return in2; }
3733 /**
3734 *
3735 */
3736 virtual SVGAnimatedNumber getScale()
3737 { return scale; }
3739 /**
3740 *
3741 */
3742 virtual SVGAnimatedEnumeration getXChannelSelector()
3743 { return xChannelSelector; }
3745 /**
3746 *
3747 */
3748 virtual SVGAnimatedEnumeration getYChannelSelector()
3749 { return yChannelSelector; }
3753 //##################
3754 //# Non-API methods
3755 //##################
3757 /**
3758 *
3759 */
3760 virtual ~SVGFEDisplacementMapElementImpl() {}
3762 protected:
3764 SVGAnimatedString in1;
3765 SVGAnimatedString in2;
3766 SVGAnimatedNumber scale;
3767 SVGAnimatedEnumeration xChannelSelector;
3768 SVGAnimatedEnumeration yChannelSelector;
3770 };
3778 /*#########################################################################
3779 ## SVGFEFloodElementImpl
3780 #########################################################################*/
3782 /**
3783 *
3784 */
3785 class SVGFEFloodElementImpl : virtual public SVGFEFloodElement,
3786 public SVGElementImpl
3787 {
3788 public:
3789 /**
3790 *
3791 */
3792 virtual SVGAnimatedString getIn1()
3793 { return in1; }
3796 //##################
3797 //# Non-API methods
3798 //##################
3800 /**
3801 *
3802 */
3803 virtual ~SVGFEFloodElementImpl() {}
3805 protected:
3807 SVGAnimatedString in1;
3809 };
3817 /*#########################################################################
3818 ## SVGFEGaussianBlurElementImpl
3819 #########################################################################*/
3821 /**
3822 *
3823 */
3824 class SVGFEGaussianBlurElementImpl : virtual public SVGFEGaussianBlurElement,
3825 public SVGElementImpl
3826 {
3827 public:
3828 /**
3829 *
3830 */
3831 virtual SVGAnimatedString getIn1()
3832 { return in1; }
3835 /**
3836 *
3837 */
3838 virtual SVGAnimatedNumber getStdDeviationX()
3839 { return stdDeviationX; }
3841 /**
3842 *
3843 */
3844 virtual SVGAnimatedNumber getStdDeviationY()
3845 { return stdDeviationY; }
3848 /**
3849 *
3850 */
3851 virtual void setStdDeviation (double stdDeviationXArg, double stdDeviationYArg )
3852 {
3853 stdDeviationX = stdDeviationXArg;
3854 stdDeviationY = stdDeviationYArg;
3855 }
3859 //##################
3860 //# Non-API methods
3861 //##################
3863 /**
3864 *
3865 */
3866 virtual ~SVGFEGaussianBlurElementImpl() {}
3868 protected:
3870 SVGAnimatedString in1;
3871 SVGAnimatedNumber stdDeviationX, stdDeviationY;
3873 };
3881 /*#########################################################################
3882 ## SVGFEImageElementImpl
3883 #########################################################################*/
3885 /**
3886 *
3887 */
3888 class SVGFEImageElementImpl : virtual public SVGFEImageElement,
3889 public SVGElementImpl
3890 {
3891 public:
3893 //##################
3894 //# Non-API methods
3895 //##################
3897 /**
3898 *
3899 */
3900 virtual ~SVGFEImageElementImpl() {}
3902 protected:
3905 };
3911 /*#########################################################################
3912 ## SVGFEMergeElementImpl
3913 #########################################################################*/
3915 /**
3916 *
3917 */
3918 class SVGFEMergeElementImpl : virtual public SVGFEMergeElement,
3919 public SVGElementImpl
3920 {
3921 public:
3923 //##################
3924 //# Non-API methods
3925 //##################
3927 /**
3928 *
3929 */
3930 virtual ~SVGFEMergeElementImpl() {}
3932 protected:
3935 };
3941 /*#########################################################################
3942 ## SVGFEMergeNodeElementImpl
3943 #########################################################################*/
3945 /**
3946 *
3947 */
3948 class SVGFEMergeNodeElementImpl : virtual public SVGFEMergeNodeElement,
3949 public SVGElementImpl
3950 {
3951 public:
3952 /**
3953 *
3954 */
3955 virtual SVGAnimatedString getIn1()
3956 { return in1; }
3959 //##################
3960 //# Non-API methods
3961 //##################
3963 /**
3964 *
3965 */
3966 virtual ~SVGFEMergeNodeElementImpl() {}
3968 protected:
3970 SVGAnimatedString in1;
3972 };
3980 /*#########################################################################
3981 ## SVGFEMorphologyElementImpl
3982 #########################################################################*/
3984 /**
3985 *
3986 */
3987 class SVGFEMorphologyElementImpl : virtual public SVGFEMorphologyElement,
3988 public SVGElementImpl
3989 {
3990 public:
3992 /**
3993 *
3994 */
3995 virtual SVGAnimatedString getIn1()
3996 { return in1; }
3999 /**
4000 *
4001 */
4002 virtual SVGAnimatedEnumeration getOperator()
4003 { return me_operator; }
4005 /**
4006 *
4007 */
4008 virtual SVGAnimatedLength getRadiusX()
4009 { return radiusX; }
4011 /**
4012 *
4013 */
4014 virtual SVGAnimatedLength getRadiusY()
4015 { return radiusY; }
4019 //##################
4020 //# Non-API methods
4021 //##################
4023 /**
4024 *
4025 */
4026 virtual ~SVGFEMorphologyElementImpl() {}
4028 protected:
4030 SVGAnimatedString in1;
4031 SVGAnimatedEnumeration me_operator;
4032 SVGAnimatedLength radiusX;
4033 SVGAnimatedLength radiusY;
4035 };
4043 /*#########################################################################
4044 ## SVGFEOffsetElementImpl
4045 #########################################################################*/
4047 /**
4048 *
4049 */
4050 class SVGFEOffsetElementImpl : virtual public SVGFEOffsetElement,
4051 public SVGElementImpl
4052 {
4053 public:
4057 /**
4058 *
4059 */
4060 virtual SVGAnimatedString getIn1()
4061 { return in1; }
4063 /**
4064 *
4065 */
4066 virtual SVGAnimatedLength getDx()
4067 { return dx; }
4069 /**
4070 *
4071 */
4072 virtual SVGAnimatedLength getDy()
4073 { return dy; }
4075 //##################
4076 //# Non-API methods
4077 //##################
4079 /**
4080 *
4081 */
4082 virtual ~SVGFEOffsetElementImpl() {}
4084 protected:
4086 SVGAnimatedString in1;
4087 SVGAnimatedLength dx, dy;
4089 };
4097 /*#########################################################################
4098 ## SVGFESpecularLightingElementImpl
4099 #########################################################################*/
4101 /**
4102 *
4103 */
4104 class SVGFESpecularLightingElementImpl :
4105 virtual public SVGFESpecularLightingElement,
4106 public SVGElementImpl
4107 {
4108 public:
4110 /**
4111 *
4112 */
4113 virtual SVGAnimatedString getIn1()
4114 { return in1; }
4116 /**
4117 *
4118 */
4119 virtual SVGAnimatedNumber getSurfaceScale()
4120 { return surfaceScale; }
4122 /**
4123 *
4124 */
4125 virtual SVGAnimatedNumber getSpecularConstant()
4126 { return specularConstant; }
4128 /**
4129 *
4130 */
4131 virtual SVGAnimatedNumber getSpecularExponent()
4132 { return specularExponent; }
4135 //##################
4136 //# Non-API methods
4137 //##################
4139 /**
4140 *
4141 */
4142 virtual ~SVGFESpecularLightingElementImpl() {}
4144 protected:
4146 SVGAnimatedString in1;
4147 SVGAnimatedNumber surfaceScale;
4148 SVGAnimatedNumber specularConstant;
4149 SVGAnimatedNumber specularExponent;
4150 };
4158 /*#########################################################################
4159 ## SVGFETileElementImpl
4160 #########################################################################*/
4162 /**
4163 *
4164 */
4165 class SVGFETileElementImpl : virtual public SVGFETileElement,
4166 public SVGElementImpl
4167 {
4168 public:
4171 /**
4172 *
4173 */
4174 virtual SVGAnimatedString getIn1()
4175 { return in1; }
4179 //##################
4180 //# Non-API methods
4181 //##################
4183 /**
4184 *
4185 */
4186 virtual ~SVGFETileElementImpl() {}
4188 protected:
4190 SVGAnimatedString in1;
4192 };
4200 /*#########################################################################
4201 ## SVGFETurbulenceElementImpl
4202 #########################################################################*/
4204 /**
4205 *
4206 */
4207 class SVGFETurbulenceElementImpl : virtual public SVGFETurbulenceElement,
4208 public SVGElementImpl
4209 {
4210 public:
4212 /**
4213 *
4214 */
4215 virtual SVGAnimatedNumber getBaseFrequencyX()
4216 { return baseFrequencyX; }
4218 /**
4219 *
4220 */
4221 virtual SVGAnimatedNumber getBaseFrequencyY()
4222 { return baseFrequencyY; }
4224 /**
4225 *
4226 */
4227 virtual SVGAnimatedInteger getNumOctaves()
4228 { return numOctaves; }
4230 /**
4231 *
4232 */
4233 virtual SVGAnimatedNumber getSeed()
4234 { return seed; }
4236 /**
4237 *
4238 */
4239 virtual SVGAnimatedEnumeration getStitchTiles()
4240 { return stitchTiles; }
4242 /**
4243 *
4244 */
4245 virtual SVGAnimatedEnumeration getType()
4246 { return type; }
4250 //##################
4251 //# Non-API methods
4252 //##################
4254 /**
4255 *
4256 */
4257 virtual ~SVGFETurbulenceElementImpl() {}
4259 protected:
4261 SVGAnimatedNumber baseFrequencyX;
4262 SVGAnimatedNumber baseFrequencyY;
4263 SVGAnimatedInteger numOctaves;
4264 SVGAnimatedNumber seed;
4265 SVGAnimatedEnumeration stitchTiles;
4266 SVGAnimatedEnumeration type;
4268 };
4276 /*#########################################################################
4277 ## SVGCursorElementImpl
4278 #########################################################################*/
4280 /**
4281 *
4282 */
4283 class SVGCursorElementImpl : virtual public SVGCursorElement,
4284 public SVGElementImpl
4285 {
4286 public:
4288 /**
4289 *
4290 */
4291 virtual SVGAnimatedLength getX()
4292 { return x; }
4294 /**
4295 *
4296 */
4297 virtual SVGAnimatedLength getY()
4298 { return x; }
4300 //##################
4301 //# Non-API methods
4302 //##################
4304 /**
4305 *
4306 */
4307 virtual ~SVGCursorElementImpl() {}
4309 protected:
4311 SVGAnimatedLength x, y;
4312 };
4320 /*#########################################################################
4321 ## SVGAElementImpl
4322 #########################################################################*/
4324 /**
4325 *
4326 */
4327 class SVGAElementImpl : virtual public SVGAElement,
4328 public SVGElementImpl
4329 {
4330 public:
4332 /**
4333 *
4334 */
4335 virtual SVGAnimatedString getTarget()
4336 { return target; }
4340 //##################
4341 //# Non-API methods
4342 //##################
4344 /**
4345 *
4346 */
4347 virtual ~SVGAElementImpl() {}
4349 protected:
4351 SVGAnimatedString target;
4352 };
4360 /*#########################################################################
4361 ## SVGViewElementImpl
4362 #########################################################################*/
4364 /**
4365 *
4366 */
4367 class SVGViewElementImpl : virtual public SVGViewElement,
4368 public SVGElementImpl
4369 {
4370 public:
4372 /**
4373 *
4374 */
4375 virtual SVGStringList getViewTarget()
4376 { return viewTarget; }
4380 //##################
4381 //# Non-API methods
4382 //##################
4384 /**
4385 *
4386 */
4387 virtual ~SVGViewElementImpl() {}
4389 protected:
4391 SVGStringList viewTarget;
4392 };
4400 /*#########################################################################
4401 ## SVGScriptElementImpl
4402 #########################################################################*/
4404 /**
4405 *
4406 */
4407 class SVGScriptElementImpl : virtual public SVGScriptElement,
4408 public SVGElementImpl
4409 {
4410 public:
4412 /**
4413 *
4414 */
4415 virtual DOMString getType()
4416 { return type; }
4418 /**
4419 *
4420 */
4421 virtual void setType(const DOMString &val) throw (DOMException)
4422 { type = val; }
4425 //##################
4426 //# Non-API methods
4427 //##################
4429 /**
4430 *
4431 */
4432 virtual ~SVGScriptElementImpl() {}
4434 protected:
4436 DOMString type;
4437 };
4444 /*#########################################################################
4445 ## SVGAnimationElementImpl
4446 #########################################################################*/
4448 /**
4449 *
4450 */
4451 class SVGAnimationElementImpl : virtual public SVGAnimationElement,
4452 public SVGElementImpl
4453 {
4454 public:
4457 /**
4458 *
4459 */
4460 virtual SVGElementPtr getTargetElement()
4461 { return targetElement; }
4464 /**
4465 *
4466 */
4467 virtual double getStartTime ( )
4468 { return startTime; }
4470 /**
4471 *
4472 */
4473 virtual double getCurrentTime ( )
4474 { return currentTime; }
4476 /**
4477 *
4478 */
4479 virtual double getSimpleDuration ( ) throw( DOMException )
4480 { return simpleDuration; }
4484 //##################
4485 //# Non-API methods
4486 //##################
4488 /**
4489 *
4490 */
4491 virtual ~SVGAnimationElementImpl() {}
4493 protected:
4495 SVGElementPtr targetElement;
4496 double startTime, currentTime, simpleDuration;
4497 };
4505 /*#########################################################################
4506 ## SVGAnimateElementImpl
4507 #########################################################################*/
4509 /**
4510 *
4511 */
4512 class SVGAnimateElementImpl : virtual public SVGAnimateElement,
4513 public SVGAnimationElementImpl
4514 {
4515 public:
4517 //##################
4518 //# Non-API methods
4519 //##################
4521 /**
4522 *
4523 */
4524 virtual ~SVGAnimateElementImpl() {}
4526 protected:
4529 };
4535 /*#########################################################################
4536 ## SVGSetElementImpl
4537 #########################################################################*/
4539 /**
4540 *
4541 */
4542 class SVGSetElementImpl : virtual public SVGSetElement,
4543 public SVGAnimationElementImpl
4544 {
4545 public:
4547 //##################
4548 //# Non-API methods
4549 //##################
4551 /**
4552 *
4553 */
4554 virtual ~SVGSetElementImpl() {}
4556 protected:
4559 };
4565 /*#########################################################################
4566 ## SVGAnimateMotionElementImpl
4567 #########################################################################*/
4569 /**
4570 *
4571 */
4572 class SVGAnimateMotionElementImpl : virtual public SVGAnimateMotionElement,
4573 public SVGAnimationElementImpl
4574 {
4575 public:
4577 //##################
4578 //# Non-API methods
4579 //##################
4581 /**
4582 *
4583 */
4584 virtual ~SVGAnimateMotionElementImpl() {}
4586 protected:
4589 };
4595 /*#########################################################################
4596 ## SVGMPathElementImpl
4597 #########################################################################*/
4599 /**
4600 *
4601 */
4602 class SVGMPathElementImpl : virtual public SVGMPathElement,
4603 public SVGElementImpl
4604 {
4605 public:
4607 //##################
4608 //# Non-API methods
4609 //##################
4611 /**
4612 *
4613 */
4614 virtual ~SVGMPathElementImpl() {}
4616 protected:
4619 };
4625 /*#########################################################################
4626 ## SVGAnimateColorElementImpl
4627 #########################################################################*/
4629 /**
4630 *
4631 */
4632 class SVGAnimateColorElementImpl : virtual public SVGAnimateColorElement,
4633 public SVGAnimationElementImpl
4634 {
4635 public:
4637 //##################
4638 //# Non-API methods
4639 //##################
4641 /**
4642 *
4643 */
4644 virtual ~SVGAnimateColorElementImpl() {}
4646 protected:
4649 };
4655 /*#########################################################################
4656 ## SVGAnimateTransformElementImpl
4657 #########################################################################*/
4659 /**
4660 *
4661 */
4662 class SVGAnimateTransformElementImpl : virtual public SVGAnimateTransformElement,
4663 public SVGAnimationElementImpl
4664 {
4665 public:
4667 //##################
4668 //# Non-API methods
4669 //##################
4671 /**
4672 *
4673 */
4674 virtual ~SVGAnimateTransformElementImpl() {}
4676 protected:
4679 };
4685 /*#########################################################################
4686 ## SVGFontElementImpl
4687 #########################################################################*/
4689 /**
4690 *
4691 */
4692 class SVGFontElementImpl : virtual public SVGFontElement,
4693 public SVGElementImpl
4694 {
4695 public:
4697 //##################
4698 //# Non-API methods
4699 //##################
4701 /**
4702 *
4703 */
4704 virtual ~SVGFontElementImpl() {}
4706 protected:
4709 };
4715 /*#########################################################################
4716 ## SVGGlyphElementImpl
4717 #########################################################################*/
4719 /**
4720 *
4721 */
4722 class SVGGlyphElementImpl : virtual public SVGGlyphElement,
4723 public SVGElementImpl
4724 {
4725 public:
4727 //##################
4728 //# Non-API methods
4729 //##################
4731 /**
4732 *
4733 */
4734 virtual ~SVGGlyphElementImpl() {}
4736 protected:
4739 };
4745 /*#########################################################################
4746 ## SVGMissingGlyphElementImpl
4747 #########################################################################*/
4749 /**
4750 *
4751 */
4752 class SVGMissingGlyphElementImpl : virtual public SVGMissingGlyphElement,
4753 public SVGElementImpl
4754 {
4755 public:
4757 //##################
4758 //# Non-API methods
4759 //##################
4761 /**
4762 *
4763 */
4764 virtual ~SVGMissingGlyphElementImpl() {}
4766 protected:
4769 };
4775 /*#########################################################################
4776 ## SVGHKernElementImpl
4777 #########################################################################*/
4779 /**
4780 *
4781 */
4782 class SVGHKernElementImpl : virtual public SVGHKernElement,
4783 public SVGElementImpl
4784 {
4785 public:
4787 //##################
4788 //# Non-API methods
4789 //##################
4791 /**
4792 *
4793 */
4794 virtual ~SVGHKernElementImpl() {}
4796 protected:
4799 };
4805 /*#########################################################################
4806 ## SVGVKernElementImpl
4807 #########################################################################*/
4809 /**
4810 *
4811 */
4812 class SVGVKernElementImpl : virtual public SVGVKernElement,
4813 public SVGElementImpl
4814 {
4815 public:
4817 //##################
4818 //# Non-API methods
4819 //##################
4821 /**
4822 *
4823 */
4824 virtual ~SVGVKernElementImpl() {}
4826 protected:
4829 };
4835 /*#########################################################################
4836 ## SVGFontFaceElementImpl
4837 #########################################################################*/
4839 /**
4840 *
4841 */
4842 class SVGFontFaceElementImpl : virtual public SVGFontFaceElement,
4843 public SVGElementImpl
4844 {
4845 public:
4847 //##################
4848 //# Non-API methods
4849 //##################
4851 /**
4852 *
4853 */
4854 virtual ~SVGFontFaceElementImpl() {}
4856 protected:
4859 };
4865 /*#########################################################################
4866 ## SVGFontFaceSrcElementImpl
4867 #########################################################################*/
4869 /**
4870 *
4871 */
4872 class SVGFontFaceSrcElementImpl : virtual public SVGFontFaceSrcElement,
4873 public SVGElementImpl
4874 {
4875 public:
4877 //##################
4878 //# Non-API methods
4879 //##################
4881 /**
4882 *
4883 */
4884 virtual ~SVGFontFaceSrcElementImpl() {}
4886 protected:
4889 };
4895 /*#########################################################################
4896 ## SVGFontFaceUriElementImpl
4897 #########################################################################*/
4899 /**
4900 *
4901 */
4902 class SVGFontFaceUriElementImpl : virtual public SVGFontFaceUriElement,
4903 public SVGElementImpl
4904 {
4905 public:
4907 //##################
4908 //# Non-API methods
4909 //##################
4911 /**
4912 *
4913 */
4914 virtual ~SVGFontFaceUriElementImpl() {}
4916 protected:
4919 };
4925 /*#########################################################################
4926 ## SVGFontFaceFormatElementImpl
4927 #########################################################################*/
4929 /**
4930 *
4931 */
4932 class SVGFontFaceFormatElementImpl : virtual public SVGFontFaceFormatElement,
4933 public SVGElementImpl
4934 {
4935 public:
4937 //##################
4938 //# Non-API methods
4939 //##################
4941 /**
4942 *
4943 */
4944 virtual ~SVGFontFaceFormatElementImpl() {}
4946 protected:
4949 };
4955 /*#########################################################################
4956 ## SVGFontFaceNameElementImpl
4957 #########################################################################*/
4959 /**
4960 *
4961 */
4962 class SVGFontFaceNameElementImpl : virtual public SVGFontFaceNameElement,
4963 public SVGElementImpl
4964 {
4965 public:
4967 //##################
4968 //# Non-API methods
4969 //##################
4971 /**
4972 *
4973 */
4974 virtual ~SVGFontFaceNameElementImpl() {}
4976 protected:
4979 };
4985 /*#########################################################################
4986 ## SVGDefinitionSrcElementImpl
4987 #########################################################################*/
4989 /**
4990 *
4991 */
4992 class SVGDefinitionSrcElementImpl : virtual public SVGDefinitionSrcElement,
4993 public SVGElementImpl
4994 {
4995 public:
4997 //##################
4998 //# Non-API methods
4999 //##################
5001 /**
5002 *
5003 */
5004 virtual ~SVGDefinitionSrcElementImpl() {}
5006 protected:
5009 };
5015 /*#########################################################################
5016 ## SVGMetadataElementImpl
5017 #########################################################################*/
5019 /**
5020 *
5021 */
5022 class SVGMetadataElementImpl : virtual public SVGMetadataElement,
5023 public SVGElementImpl
5024 {
5025 public:
5027 //##################
5028 //# Non-API methods
5029 //##################
5031 /**
5032 *
5033 */
5034 virtual ~SVGMetadataElementImpl() {}
5036 protected:
5039 };
5044 /*#########################################################################
5045 ## SVGForeignObjectElementImpl
5046 #########################################################################*/
5048 /**
5049 *
5050 */
5051 class SVGForeignObjectElementImpl : virtual public SVGForeignObjectElement,
5052 public SVGElementImpl
5053 {
5054 public:
5057 /**
5058 *
5059 */
5060 virtual SVGAnimatedLength getX()
5061 { return x; }
5063 /**
5064 *
5065 */
5066 virtual SVGAnimatedLength getY()
5067 { return y; }
5069 /**
5070 *
5071 */
5072 virtual SVGAnimatedLength getWidth()
5073 { return width; }
5075 /**
5076 *
5077 */
5078 virtual SVGAnimatedLength getHeight()
5079 { return height; }
5083 //##################
5084 //# Non-API methods
5085 //##################
5088 /**
5089 *
5090 */
5091 virtual ~SVGForeignObjectElementImpl() {}
5093 protected:
5095 SVGAnimatedLength x, y, width, height;
5096 };
5103 } //namespace svg
5104 } //namespace dom
5105 } //namespace w3c
5106 } //namespace org
5108 #endif // __SVG_H__
5109 /*#########################################################################
5110 ## E N D O F F I L E
5111 #########################################################################*/