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) 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 #include "svg.h"
35 #include "domimpl.h"
36 #include "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;
63 /*#########################################################################
64 ## SVGDocumentImpl
65 #########################################################################*/
67 /**
68 *
69 */
70 class SVGDocumentImpl : virtual public SVGDocument, public DocumentImpl
71 {
72 public:
75 /**
76 *
77 */
78 virtual DOMString getTitle()
79 { return title; }
81 /**
82 *
83 */
84 virtual DOMString getReferrer()
85 { return referrer; }
87 /**
88 *
89 */
90 virtual DOMString getDomain()
91 { return domain; }
93 /**
94 *
95 */
96 virtual DOMString getURL()
97 { return url; }
99 /**
100 *
101 */
102 virtual SVGSVGElement *getRootElement()
103 { return rootElement; }
106 //####################################################
107 //# Overload some createXXX() methods from DocumentImpl,
108 //# To create our SVG-DOM types (in .cpp)
109 //####################################################
111 /**
112 *
113 */
114 virtual Element *createElement(const DOMString& tagName)
115 throw(DOMException);
118 /**
119 *
120 */
121 virtual Element *createElementNS(const DOMString& namespaceURI,
122 const DOMString& qualifiedName)
123 throw(DOMException);
125 //##################
126 //# Non-API methods
127 //##################
129 SVGDocumentImpl(const DOMImplementation *domImpl,
130 const DOMString &namespaceURI,
131 const DOMString &qualifiedName,
132 const DocumentType *doctype)
133 : DocumentImpl(domImpl, namespaceURI,
134 qualifiedName, doctype)
135 {
136 init();
137 }
140 /**
141 *
142 */
143 virtual ~SVGDocumentImpl()
144 {
145 if (rootElement)
146 delete rootElement;
147 }
149 protected:
151 friend class SvgParser;
153 void init()
154 {
155 title = "";
156 referrer = "";
157 domain = "";
158 rootElement = NULL;
159 }
161 DOMString title;
162 DOMString referrer;
163 DOMString domain;
164 DOMString url;
165 SVGSVGElement *rootElement;
166 };
170 /*#########################################################################
171 ## SVGElementImpl
172 #########################################################################*/
174 /**
175 *
176 */
177 class SVGElementImpl : virtual public SVGElement,
178 public ElementImpl
179 {
180 public:
182 /**
183 *
184 */
185 virtual DOMString getId()
186 { return id; }
188 /**
189 *
190 */
191 virtual void setId(const DOMString &val)
192 throw (DOMException)
193 { id = val; }
195 /**
196 *
197 */
198 virtual DOMString getXmlBase()
199 { return xmlBase; }
201 /**
202 *
203 */
204 virtual void setXmlBase(const DOMString &val)
205 throw (DOMException)
206 { xmlBase = val; }
208 /**
209 *
210 */
211 virtual SVGSVGElement *getOwnerSVGElement()
212 { return ownerSvgElement; }
214 /**
215 *
216 */
217 virtual SVGElement *getViewportElement()
218 { return viewportElement; }
221 //##################
222 //# Non-API methods
223 //##################
226 /**
227 *
228 */
229 SVGElementImpl()
230 {}
232 /**
233 *
234 */
235 SVGElementImpl(SVGDocumentImpl *owner, const DOMString &tagName)
236 : ElementImpl(owner, tagName)
237 { init(); }
239 /**
240 *
241 */
242 SVGElementImpl(SVGDocumentImpl *owner,
243 const DOMString &namespaceURI,
244 const DOMString &tagName)
245 : ElementImpl(owner, namespaceURI, tagName)
246 { init(); }
249 /**
250 *
251 */
252 virtual ~SVGElementImpl()
253 {}
255 protected:
257 void init()
258 {
259 id = "";
260 xmlBase = "";
261 ownerSvgElement = NULL;
262 viewportElement = NULL;
263 }
265 DOMString id;
266 DOMString xmlBase;
267 SVGSVGElement *ownerSvgElement;
268 SVGElement *viewportElement;
270 };
274 /*#########################################################################
275 ## SVGSVGElementImpl
276 #########################################################################*/
278 /**
279 *
280 */
281 class SVGSVGElementImpl : virtual public SVGSVGElement,
282 public SVGElementImpl
283 {
284 public:
286 /**
287 *
288 */
289 virtual SVGAnimatedLength getX()
290 { return x; }
292 /**
293 *
294 */
295 virtual SVGAnimatedLength getY()
296 { return y; }
298 /**
299 *
300 */
301 virtual SVGAnimatedLength getWidth()
302 { return width; }
304 /**
305 *
306 */
307 virtual SVGAnimatedLength getHeight()
308 { return height; }
310 /**
311 *
312 */
313 virtual DOMString getContentScriptType()
314 { return contentScriptType; }
316 /**
317 *
318 */
319 virtual void setContentScriptType(const DOMString &val)
320 throw (DOMException)
321 { contentScriptType = val; }
324 /**
325 *
326 */
327 virtual DOMString getContentStyleType()
328 { return contentStyleType; }
330 /**
331 *
332 */
333 virtual void setContentStyleType(const DOMString &val)
334 throw (DOMException)
335 { contentStyleType = val; }
337 /**
338 *
339 */
340 virtual SVGRect getViewport()
341 { return viewport; }
343 /**
344 *
345 */
346 virtual double getPixelUnitToMillimeterX()
347 { return pixelUnitToMillimeterX; }
349 /**
350 *
351 */
352 virtual double getPixelUnitToMillimeterY()
353 { return pixelUnitToMillimeterY; }
355 /**
356 *
357 */
358 virtual double getScreenPixelToMillimeterX()
359 { return screenPixelToMillimeterX; }
361 /**
362 *
363 */
364 virtual double getScreenPixelToMillimeterY()
365 { return screenPixelToMillimeterY; }
368 /**
369 *
370 */
371 virtual bool getUseCurrentView()
372 { return useCurrentView; }
374 /**
375 *
376 */
377 virtual void setUseCurrentView(bool val) throw (DOMException)
378 { useCurrentView = val; }
380 /**
381 *
382 */
383 virtual SVGViewSpec getCurrentView()
384 { return currentView; }
387 /**
388 *
389 */
390 virtual double getCurrentScale()
391 { return currentScale; }
393 /**
394 *
395 */
396 virtual void setCurrentScale(double val) throw (DOMException)
397 { currentScale = val; }
400 /**
401 *
402 */
403 virtual SVGPoint getCurrentTranslate()
404 { return currentTranslate; }
407 /**
408 *
409 */
410 virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds );
412 /**
413 *
414 */
415 virtual void unsuspendRedraw (unsigned long suspend_handle_id )
416 throw( DOMException );
418 /**
419 *
420 */
421 virtual void unsuspendRedrawAll ( );
423 /**
424 *
425 */
426 virtual void forceRedraw ( );
428 /**
429 *
430 */
431 virtual void pauseAnimations ( );
433 /**
434 *
435 */
436 virtual void unpauseAnimations ( );
438 /**
439 *
440 */
441 virtual bool animationsPaused ( );
443 /**
444 *
445 */
446 virtual double getCurrentTime ( )
447 { return currentTime; }
449 /**
450 *
451 */
452 virtual void setCurrentTime (double seconds )
453 { currentTime = seconds; }
455 /**
456 *
457 */
458 virtual NodeList getIntersectionList (const SVGRect &rect,
459 const SVGElement *referenceElement );
461 /**
462 *
463 */
464 virtual NodeList getEnclosureList (const SVGRect &rect,
465 const SVGElement *referenceElement );
467 /**
468 *
469 */
470 virtual bool checkIntersection (const SVGElement *element, const SVGRect &rect );
472 /**
473 *
474 */
475 virtual bool checkEnclosure (const SVGElement *element, const SVGRect &rect );
477 /**
478 *
479 */
480 virtual void deselectAll ( );
482 /**
483 *
484 */
485 virtual SVGNumber createSVGNumber ( )
486 {
487 SVGNumber ret;
488 return ret;
489 }
491 /**
492 *
493 */
494 virtual SVGLength createSVGLength ( )
495 {
496 SVGLength ret;
497 return ret;
498 }
500 /**
501 *
502 */
503 virtual SVGAngle createSVGAngle ( )
504 {
505 SVGAngle ret;
506 return ret;
507 }
509 /**
510 *
511 */
512 virtual SVGPoint createSVGPoint ( )
513 {
514 SVGPoint ret;
515 return ret;
516 }
518 /**
519 *
520 */
521 virtual SVGMatrix createSVGMatrix ( )
522 {
523 SVGMatrix ret;
524 return ret;
525 }
527 /**
528 *
529 */
530 virtual SVGRect createSVGRect ( )
531 {
532 SVGRect ret;
533 return ret;
534 }
536 /**
537 *
538 */
539 virtual SVGTransform createSVGTransform ( )
540 {
541 SVGTransform ret;
542 return ret;
543 }
545 /**
546 *
547 */
548 virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix )
549 {
550 SVGTransform ret;
551 ret.setMatrix(matrix);
552 return ret;
553 }
556 /**
557 *
558 */
559 virtual Element *getElementById (const DOMString& elementId );
563 //##################
564 //# Non-API methods
565 //##################
567 /**
568 *
569 */
570 SVGSVGElementImpl() : SVGElementImpl()
571 {}
575 /**
576 *
577 */
578 virtual ~SVGSVGElementImpl() {}
580 protected:
582 SVGAnimatedLength x;
583 SVGAnimatedLength y;
584 SVGAnimatedLength width;
585 SVGAnimatedLength height;
586 DOMString contentScriptType;
587 DOMString contentStyleType;
588 SVGRect viewport;
589 double pixelUnitToMillimeterX;
590 double pixelUnitToMillimeterY;
591 double screenPixelToMillimeterX;
592 double screenPixelToMillimeterY;
593 bool useCurrentView;
594 SVGViewSpec currentView;
595 double currentScale;
596 SVGPoint currentTranslate;
598 double currentTime;
600 };
604 /*#########################################################################
605 ## SVGGElementImpl
606 #########################################################################*/
608 /**
609 *
610 */
611 class SVGGElementImpl : virtual public SVGGElement, public SVGElementImpl
612 {
613 public:
615 //##################
616 //# Non-API methods
617 //##################
619 /**
620 *
621 */
622 SVGGElementImpl() {}
624 /**
625 *
626 */
627 virtual ~SVGGElementImpl() {}
629 protected:
632 };
637 /*#########################################################################
638 ## SVGDefsElementImpl
639 #########################################################################*/
641 /**
642 *
643 */
644 class SVGDefsElementImpl : virtual public SVGDefsElement,
645 public SVGElementImpl
646 {
647 public:
649 //##################
650 //# Non-API methods
651 //##################
653 /**
654 *
655 */
656 SVGDefsElementImpl() {}
658 /**
659 *
660 */
661 virtual ~SVGDefsElementImpl() {}
663 protected:
666 };
672 /*#########################################################################
673 ## SVGDescElementImpl
674 #########################################################################*/
676 /**
677 *
678 */
679 class SVGDescElementImpl : virtual public SVGDescElement,
680 public SVGElementImpl
681 {
682 public:
684 //##################
685 //# Non-API methods
686 //##################
688 /**
689 *
690 */
691 SVGDescElementImpl() {}
693 /**
694 *
695 */
696 virtual ~SVGDescElementImpl() {}
698 protected:
701 };
707 /*#########################################################################
708 ## SVGTitleElementImpl
709 #########################################################################*/
711 /**
712 *
713 */
714 class SVGTitleElementImpl : virtual public SVGTitleElement,
715 public SVGElementImpl
716 {
717 public:
719 //##################
720 //# Non-API methods
721 //##################
723 /**
724 *
725 */
726 SVGTitleElementImpl() {}
728 /**
729 *
730 */
731 virtual ~SVGTitleElementImpl() {}
733 protected:
736 };
742 /*#########################################################################
743 ## SVGSymbolElementImpl
744 #########################################################################*/
746 /**
747 *
748 */
749 class SVGSymbolElementImpl : virtual public SVGSymbolElement,
750 public SVGElementImpl
751 {
752 public:
754 //##################
755 //# Non-API methods
756 //##################
758 /**
759 *
760 */
761 SVGSymbolElementImpl() {}
763 /**
764 *
765 */
766 virtual ~SVGSymbolElementImpl() {}
768 protected:
771 };
777 /*#########################################################################
778 ## SVGUseElementImpl
779 #########################################################################*/
781 /**
782 *
783 */
784 class SVGUseElementImpl : public SVGElementImpl
785 {
786 public:
789 /**
790 *
791 */
792 virtual SVGAnimatedLength getX()
793 { return x; }
795 /**
796 *
797 */
798 virtual SVGAnimatedLength getY()
799 { return y; }
801 /**
802 *
803 */
804 virtual SVGAnimatedLength getWidth()
805 { return width; }
807 /**
808 *
809 */
810 virtual SVGAnimatedLength getHeight()
811 { return height; }
813 /**
814 *
815 */
816 virtual SVGElementInstance getInstanceRoot()
817 { return instanceRoot; }
819 /**
820 *
821 */
822 virtual SVGElementInstance getAnimatedInstanceRoot()
823 { return animatedInstanceRoot; }
827 //##################
828 //# Non-API methods
829 //##################
831 /**
832 *
833 */
834 SVGUseElementImpl() {}
836 /**
837 *
838 */
839 virtual ~SVGUseElementImpl() {}
841 protected:
843 SVGAnimatedLength x;
844 SVGAnimatedLength y;
845 SVGAnimatedLength width;
846 SVGAnimatedLength height;
847 SVGElementInstance instanceRoot;
848 SVGElementInstance animatedInstanceRoot;
849 };
857 /*#########################################################################
858 ## SVGImageElementImpl
859 #########################################################################*/
861 /**
862 *
863 */
864 class SVGImageElementImpl : virtual public SVGImageElement,
865 public SVGElementImpl
866 {
867 public:
870 /**
871 *
872 */
873 virtual SVGAnimatedLength getX()
874 { return x; }
876 /**
877 *
878 */
879 virtual SVGAnimatedLength getY()
880 { return y; }
882 /**
883 *
884 */
885 virtual SVGAnimatedLength getWidth()
886 { return width; }
888 /**
889 *
890 */
891 virtual SVGAnimatedLength getHeight()
892 { return height; }
895 /**
896 *
897 */
898 virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
899 { return preserveAspectRatio; }
903 //##################
904 //# Non-API methods
905 //##################
907 /**
908 *
909 */
910 SVGImageElementImpl() {}
912 /**
913 *
914 */
915 virtual ~SVGImageElementImpl() {}
917 protected:
919 SVGAnimatedLength x;
920 SVGAnimatedLength y;
921 SVGAnimatedLength width;
922 SVGAnimatedLength height;
923 SVGAnimatedPreserveAspectRatio preserveAspectRatio;
924 };
931 /*#########################################################################
932 ## SVGSwitchElementImpl
933 #########################################################################*/
935 /**
936 *
937 */
938 class SVGSwitchElementImpl : virtual public SVGSwitchElement,
939 public SVGElementImpl
940 {
941 public:
943 //##################
944 //# Non-API methods
945 //##################
947 /**
948 *
949 */
950 SVGSwitchElementImpl() {}
952 /**
953 *
954 */
955 virtual ~SVGSwitchElementImpl() {}
957 protected:
960 };
966 /*#########################################################################
967 ## GetSVGDocumentImpl
968 #########################################################################*/
970 /**
971 *
972 */
973 class GetSVGDocumentImpl : public virtual GetSVGDocument
974 {
975 public:
977 /**
978 *
979 */
980 virtual SVGDocument *getSVGDocument ( )
981 throw( DOMException );
983 //##################
984 //# Non-API methods
985 //##################
987 /**
988 *
989 */
990 GetSVGDocumentImpl() {}
992 /**
993 *
994 */
995 virtual ~GetSVGDocumentImpl() {}
997 protected:
1000 };
1008 /*#########################################################################
1009 ## SVGStyleElementImpl
1010 #########################################################################*/
1012 /**
1013 *
1014 */
1015 class SVGStyleElementImpl : virtual public SVGStyleElement,
1016 public SVGElementImpl
1017 {
1018 public:
1020 /**
1021 *
1022 */
1023 virtual DOMString getXmlspace()
1024 { return xmlSpace; }
1026 /**
1027 *
1028 */
1029 virtual void setXmlspace(const DOMString &val)
1030 throw (DOMException)
1031 { xmlSpace = val; }
1033 /**
1034 *
1035 */
1036 virtual DOMString getType()
1037 { return type; }
1039 /**
1040 *
1041 */
1042 virtual void setType(const DOMString &val)
1043 throw (DOMException)
1044 { type = val; }
1046 /**
1047 *
1048 */
1049 virtual DOMString getMedia()
1050 { return media; }
1052 /**
1053 *
1054 */
1055 virtual void setMedia(const DOMString &val)
1056 throw (DOMException)
1057 { media = val; }
1059 /**
1060 *
1061 */
1062 virtual DOMString getTitle()
1063 { return title; }
1065 /**
1066 *
1067 */
1068 virtual void setTitle(const DOMString &val)
1069 throw (DOMException)
1070 { title = val; }
1074 //##################
1075 //# Non-API methods
1076 //##################
1078 /**
1079 *
1080 */
1081 SVGStyleElementImpl() {}
1083 /**
1084 *
1085 */
1086 virtual ~SVGStyleElementImpl() {}
1088 protected:
1090 DOMString xmlSpace;
1091 DOMString type;
1092 DOMString media;
1093 DOMString title;
1095 };
1102 /*#########################################################################
1103 ## SVGPathElementImpl
1104 #########################################################################*/
1106 /**
1107 *
1108 */
1109 class SVGPathElementImpl : virtual public SVGPathElement,
1110 public SVGElementImpl
1111 {
1112 public:
1114 /**
1115 *
1116 */
1117 virtual SVGAnimatedNumber getPathLength();
1119 /**
1120 *
1121 */
1122 virtual double getTotalLength ( );
1124 /**
1125 *
1126 */
1127 virtual SVGPoint getPointAtLength (double distance );
1129 /**
1130 *
1131 */
1132 virtual unsigned long getPathSegAtLength (double distance );
1134 /**
1135 *
1136 */
1137 virtual SVGPathSegClosePath
1138 createSVGPathSegClosePath ( )
1139 {
1140 SVGPathSegClosePath ret;
1141 return ret;
1142 }
1144 /**
1145 *
1146 */
1147 virtual SVGPathSegMovetoAbs
1148 createSVGPathSegMovetoAbs (double x, double y )
1149 {
1150 SVGPathSegMovetoAbs ret(x, y);
1151 return ret;
1152 }
1154 /**
1155 *
1156 */
1157 virtual SVGPathSegMovetoRel
1158 createSVGPathSegMovetoRel (double x, double y )
1159 {
1160 SVGPathSegMovetoRel ret(x, y);
1161 return ret;
1162 }
1164 /**
1165 *
1166 */
1167 virtual SVGPathSegLinetoAbs
1168 createSVGPathSegLinetoAbs (double x, double y )
1169 {
1170 SVGPathSegLinetoAbs ret(x, y);
1171 return ret;
1172 }
1174 /**
1175 *
1176 */
1177 virtual SVGPathSegLinetoRel
1178 createSVGPathSegLinetoRel (double x, double y )
1179 {
1180 SVGPathSegLinetoRel ret(x, y);
1181 return ret;
1182 }
1184 /**
1185 *
1186 */
1187 virtual SVGPathSegCurvetoCubicAbs
1188 createSVGPathSegCurvetoCubicAbs (double x, double y,
1189 double x1, double y1, double x2, double y2 )
1190 {
1191 SVGPathSegCurvetoCubicAbs ret(x, y, x1, y1, x2, y2);
1192 return ret;
1193 }
1195 /**
1196 *
1197 */
1198 virtual SVGPathSegCurvetoCubicRel
1199 createSVGPathSegCurvetoCubicRel (double x, double y,
1200 double x1, double y1, double x2, double y2 )
1201 {
1202 SVGPathSegCurvetoCubicRel ret(x, y, x1, y1, x2, y2);
1203 return ret;
1204 }
1206 /**
1207 *
1208 */
1209 virtual SVGPathSegCurvetoQuadraticAbs
1210 createSVGPathSegCurvetoQuadraticAbs (double x, double y,
1211 double x1, double y1 )
1212 {
1213 SVGPathSegCurvetoQuadraticAbs ret(x, y, x1, y1);
1214 return ret;
1215 }
1217 /**
1218 *
1219 */
1220 virtual SVGPathSegCurvetoQuadraticRel
1221 createSVGPathSegCurvetoQuadraticRel (double x, double y,
1222 double x1, double y1 )
1223 {
1224 SVGPathSegCurvetoQuadraticRel ret(x, y, x1, y1);
1225 return ret;
1226 }
1228 /**
1229 *
1230 */
1231 virtual SVGPathSegArcAbs
1232 createSVGPathSegArcAbs (double x, double y,
1233 double r1, double r2, double angle,
1234 bool largeArcFlag, bool sweepFlag )
1235 {
1236 SVGPathSegArcAbs ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1237 return ret;
1238 }
1240 /**
1241 *
1242 */
1243 virtual SVGPathSegArcRel
1244 createSVGPathSegArcRel (double x, double y, double r1,
1245 double r2, double angle, bool largeArcFlag,
1246 bool sweepFlag )
1247 {
1248 SVGPathSegArcRel ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1249 return ret;
1250 }
1252 /**
1253 *
1254 */
1255 virtual SVGPathSegLinetoHorizontalAbs
1256 createSVGPathSegLinetoHorizontalAbs (double x )
1257 {
1258 SVGPathSegLinetoHorizontalAbs ret(x);
1259 return ret;
1260 }
1262 /**
1263 *
1264 */
1265 virtual SVGPathSegLinetoHorizontalRel
1266 createSVGPathSegLinetoHorizontalRel (double x )
1267 {
1268 SVGPathSegLinetoHorizontalRel ret(x);
1269 return ret;
1270 }
1272 /**
1273 *
1274 */
1275 virtual SVGPathSegLinetoVerticalAbs
1276 createSVGPathSegLinetoVerticalAbs (double y )
1277 {
1278 SVGPathSegLinetoVerticalAbs ret(y);
1279 return ret;
1280 }
1282 /**
1283 *
1284 */
1285 virtual SVGPathSegLinetoVerticalRel
1286 createSVGPathSegLinetoVerticalRel (double y )
1287 {
1288 SVGPathSegLinetoVerticalRel ret(y);
1289 return ret;
1290 }
1292 /**
1293 *
1294 */
1295 virtual SVGPathSegCurvetoCubicSmoothAbs
1296 createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
1297 double x2, double y2 )
1298 {
1299 SVGPathSegCurvetoCubicSmoothAbs ret(x, y, x2, y2);
1300 return ret;
1301 }
1303 /**
1304 *
1305 */
1306 virtual SVGPathSegCurvetoCubicSmoothRel
1307 createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
1308 double x2, double y2 )
1309 {
1310 SVGPathSegCurvetoCubicSmoothRel ret(x, y, x2, y2);
1311 return ret;
1312 }
1314 /**
1315 *
1316 */
1317 virtual SVGPathSegCurvetoQuadraticSmoothAbs
1318 createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y )
1319 {
1320 SVGPathSegCurvetoQuadraticSmoothAbs ret(x, y);
1321 return ret;
1322 }
1324 /**
1325 *
1326 */
1327 virtual SVGPathSegCurvetoQuadraticSmoothRel
1328 createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y )
1329 {
1330 SVGPathSegCurvetoQuadraticSmoothRel ret(x, y);
1331 return ret;
1332 }
1336 //##################
1337 //# Non-API methods
1338 //##################
1340 /**
1341 *
1342 */
1343 SVGPathElementImpl() {}
1346 /**
1347 *
1348 */
1349 virtual ~SVGPathElementImpl() {}
1351 protected:
1354 };
1362 /*#########################################################################
1363 ## SVGRectElementImpl
1364 #########################################################################*/
1366 /**
1367 *
1368 */
1369 class SVGRectElementImpl : virtual public SVGRectElement,
1370 public SVGElementImpl
1371 {
1372 public:
1374 /**
1375 *
1376 */
1377 virtual SVGAnimatedLength getX()
1378 { return x; }
1380 /**
1381 *
1382 */
1383 virtual SVGAnimatedLength getY()
1384 { return y; }
1386 /**
1387 *
1388 */
1389 virtual SVGAnimatedLength getWidth()
1390 { return width; }
1392 /**
1393 *
1394 */
1395 virtual SVGAnimatedLength getHeight()
1396 { return height; }
1399 /**
1400 *
1401 */
1402 virtual SVGAnimatedLength getRx()
1403 { return rx; }
1405 /**
1406 *
1407 */
1408 virtual SVGAnimatedLength getRy()
1409 { return ry; }
1413 //##################
1414 //# Non-API methods
1415 //##################
1417 /**
1418 *
1419 */
1420 SVGRectElementImpl() {}
1422 /**
1423 *
1424 */
1425 virtual ~SVGRectElementImpl() {}
1427 protected:
1429 SVGAnimatedLength x;
1430 SVGAnimatedLength y;
1431 SVGAnimatedLength width;
1432 SVGAnimatedLength height;
1433 SVGAnimatedLength rx;
1434 SVGAnimatedLength ry;
1436 };
1443 /*#########################################################################
1444 ## SVGCircleElementImpl
1445 #########################################################################*/
1447 /**
1448 *
1449 */
1450 class SVGCircleElementImpl : virtual public SVGCircleElement,
1451 public SVGElementImpl
1452 {
1453 public:
1455 /**
1456 *
1457 */
1458 virtual SVGAnimatedLength getCx()
1459 { return cx; }
1461 /**
1462 *
1463 */
1464 virtual SVGAnimatedLength getCy()
1465 { return cy; }
1467 /**
1468 *
1469 */
1470 virtual SVGAnimatedLength getR()
1471 { return r; }
1475 //##################
1476 //# Non-API methods
1477 //##################
1479 /**
1480 *
1481 */
1482 SVGCircleElementImpl() {}
1484 /**
1485 *
1486 */
1487 virtual ~SVGCircleElementImpl() {}
1489 protected:
1491 SVGAnimatedLength cx;
1492 SVGAnimatedLength cy;
1493 SVGAnimatedLength r;
1494 };
1501 /*#########################################################################
1502 ## SVGEllipseElementImpl
1503 #########################################################################*/
1505 /**
1506 *
1507 */
1508 class SVGEllipseElementImpl : virtual public SVGEllipseElement,
1509 public SVGElementImpl
1510 {
1511 public:
1513 /**
1514 *
1515 */
1516 virtual SVGAnimatedLength getCx()
1517 { return cx; }
1519 /**
1520 *
1521 */
1522 virtual SVGAnimatedLength getCy()
1523 { return cy; }
1525 /**
1526 *
1527 */
1528 virtual SVGAnimatedLength getRx()
1529 { return rx; }
1531 /**
1532 *
1533 */
1534 virtual SVGAnimatedLength getRy()
1535 { return ry; }
1538 //##################
1539 //# Non-API methods
1540 //##################
1542 /**
1543 *
1544 */
1545 SVGEllipseElementImpl() {}
1547 /**
1548 *
1549 */
1550 virtual ~SVGEllipseElementImpl() {}
1552 protected:
1554 SVGAnimatedLength cx;
1555 SVGAnimatedLength cy;
1556 SVGAnimatedLength rx;
1557 SVGAnimatedLength ry;
1558 };
1565 /*#########################################################################
1566 ## SVGLineElement
1567 #########################################################################*/
1569 /**
1570 *
1571 */
1572 class SVGLineElementImpl : virtual public SVGLineElement,
1573 public SVGElementImpl
1574 {
1575 public:
1577 /**
1578 *
1579 */
1580 virtual SVGAnimatedLength getX1()
1581 { return x1; }
1583 /**
1584 *
1585 */
1586 virtual SVGAnimatedLength getY1()
1587 { return y1; }
1589 /**
1590 *
1591 */
1592 virtual SVGAnimatedLength getX2()
1593 { return x2; }
1595 /**
1596 *
1597 */
1598 virtual SVGAnimatedLength getY2()
1599 { return y2; }
1601 //##################
1602 //# Non-API methods
1603 //##################
1605 /**
1606 *
1607 */
1608 virtual ~SVGLineElementImpl() {}
1610 protected:
1612 SVGAnimatedLength x1;
1613 SVGAnimatedLength x2;
1614 SVGAnimatedLength y1;
1615 SVGAnimatedLength y2;
1616 };
1621 /*#########################################################################
1622 ## SVGPolylineElement
1623 #########################################################################*/
1625 /**
1626 *
1627 */
1628 class SVGPolylineElementImpl : virtual public SVGPolylineElement,
1629 public SVGElementImpl
1630 {
1631 public:
1633 //##################
1634 //# Non-API methods
1635 //##################
1637 /**
1638 *
1639 */
1640 virtual ~SVGPolylineElementImpl() {}
1642 protected:
1645 };
1651 /*#########################################################################
1652 ## SVGPolygonElementImpl
1653 #########################################################################*/
1655 /**
1656 *
1657 */
1658 class SVGPolygonElementImpl : virtual public SVGPolygonElement,
1659 public SVGElementImpl
1660 {
1661 public:
1663 //##################
1664 //# Non-API methods
1665 //##################
1667 /**
1668 *
1669 */
1670 virtual ~SVGPolygonElementImpl() {}
1672 protected:
1675 };
1681 /*#########################################################################
1682 ## SVGTextContentElement
1683 #########################################################################*/
1685 /**
1686 *
1687 */
1688 class SVGTextContentElementImpl : virtual public SVGTextContentElement,
1689 public SVGElementImpl
1690 {
1691 public:
1693 /**
1694 *
1695 */
1696 virtual SVGAnimatedLength getTextLength();
1699 /**
1700 *
1701 */
1702 virtual SVGAnimatedEnumeration getLengthAdjust();
1705 /**
1706 *
1707 */
1708 virtual long getNumberOfChars ( );
1710 /**
1711 *
1712 */
1713 virtual double getComputedTextLength ( );
1715 /**
1716 *
1717 */
1718 virtual double getSubStringLength (unsigned long charnum, unsigned long nchars )
1719 throw( DOMException );
1721 /**
1722 *
1723 */
1724 virtual SVGPoint getStartPositionOfChar (unsigned long charnum )
1725 throw( DOMException );
1727 /**
1728 *
1729 */
1730 virtual SVGPoint getEndPositionOfChar (unsigned long charnum )
1731 throw( DOMException );
1733 /**
1734 *
1735 */
1736 virtual SVGRect getExtentOfChar (unsigned long charnum )
1737 throw( DOMException );
1739 /**
1740 *
1741 */
1742 virtual double getRotationOfChar (unsigned long charnum )
1743 throw( DOMException );
1745 /**
1746 *
1747 */
1748 virtual long getCharNumAtPosition (const SVGPoint &point );
1750 /**
1751 *
1752 */
1753 virtual void selectSubString (unsigned long charnum, unsigned long nchars )
1754 throw( DOMException );
1758 //##################
1759 //# Non-API methods
1760 //##################
1762 /**
1763 *
1764 */
1765 virtual ~SVGTextContentElementImpl() {}
1767 protected:
1770 };
1777 /*#########################################################################
1778 ## SVGTextPositioningElementImpl
1779 #########################################################################*/
1781 /**
1782 *
1783 */
1784 class SVGTextPositioningElementImpl : virtual public SVGTextPositioningElement,
1785 public SVGTextContentElementImpl
1786 {
1787 public:
1791 /**
1792 *
1793 */
1794 virtual SVGAnimatedLength getX()
1795 { return x; }
1797 /**
1798 *
1799 */
1800 virtual SVGAnimatedLength getY()
1801 { return y; }
1803 /**
1804 *
1805 */
1806 virtual SVGAnimatedLength getDx()
1807 { return dx; }
1809 /**
1810 *
1811 */
1812 virtual SVGAnimatedLength getDy()
1813 { return dy; }
1816 /**
1817 *
1818 */
1819 virtual SVGAnimatedNumberList getRotate()
1820 { return rotate; }
1824 //##################
1825 //# Non-API methods
1826 //##################
1828 /**
1829 *
1830 */
1831 virtual ~SVGTextPositioningElementImpl() {}
1833 protected:
1835 SVGAnimatedLength x;
1836 SVGAnimatedLength y;
1837 SVGAnimatedLength dx;
1838 SVGAnimatedLength dy;
1839 SVGAnimatedNumberList rotate;
1841 };
1849 /*#########################################################################
1850 ## SVGTextElement
1851 #########################################################################*/
1853 /**
1854 *
1855 */
1856 class SVGTextElementImpl : virtual public SVGTextElement,
1857 public SVGTextPositioningElementImpl
1858 {
1859 public:
1861 //##################
1862 //# Non-API methods
1863 //##################
1865 /**
1866 *
1867 */
1868 virtual ~SVGTextElementImpl() {}
1870 protected:
1873 };
1879 /*#########################################################################
1880 ## SVGTSpanElement
1881 #########################################################################*/
1883 /**
1884 *
1885 */
1886 class SVGTSpanElementImpl : virtual public SVGTSpanElement,
1887 public SVGTextPositioningElementImpl
1888 {
1889 public:
1891 //##################
1892 //# Non-API methods
1893 //##################
1895 /**
1896 *
1897 */
1898 virtual ~SVGTSpanElementImpl() {}
1900 protected:
1903 };
1909 /*#########################################################################
1910 ## SVGTRefElement
1911 #########################################################################*/
1913 /**
1914 *
1915 */
1916 class SVGTRefElementImpl : virtual public SVGTRefElement,
1917 public SVGTextPositioningElementImpl
1918 {
1919 public:
1921 //##################
1922 //# Non-API methods
1923 //##################
1925 /**
1926 *
1927 */
1928 virtual ~SVGTRefElementImpl() {}
1930 protected:
1933 };
1939 /*#########################################################################
1940 ## SVGTextPathElement
1941 #########################################################################*/
1943 /**
1944 *
1945 */
1946 class SVGTextPathElementImpl : virtual public SVGTextPathElement,
1947 public SVGTextContentElementImpl
1948 {
1949 public:
1951 /**
1952 *
1953 */
1954 virtual SVGAnimatedLength getStartOffset()
1955 { return startOffset; }
1957 /**
1958 *
1959 */
1960 virtual SVGAnimatedEnumeration getMethod()
1961 { return method; }
1963 /**
1964 *
1965 */
1966 virtual SVGAnimatedEnumeration getSpacing()
1967 { return spacing; }
1971 //##################
1972 //# Non-API methods
1973 //##################
1975 /**
1976 *
1977 */
1978 virtual ~SVGTextPathElementImpl() {}
1980 protected:
1982 SVGAnimatedLength startOffset;
1983 SVGAnimatedEnumeration method;
1984 SVGAnimatedEnumeration spacing;
1985 };
1993 /*#########################################################################
1994 ## SVGAltGlyphElement
1995 #########################################################################*/
1997 /**
1998 *
1999 */
2000 class SVGAltGlyphElementImpl : virtual public SVGAltGlyphElement,
2001 public SVGTextPositioningElementImpl
2002 {
2003 public:
2005 /**
2006 *
2007 */
2008 virtual DOMString getGlyphRef()
2009 { return glyphRef; }
2011 /**
2012 *
2013 */
2014 virtual void setGlyphRef(const DOMString &val)
2015 throw (DOMException)
2016 { glyphRef = val; }
2018 /**
2019 *
2020 */
2021 virtual DOMString getFormat()
2022 { return format; }
2024 /**
2025 *
2026 */
2027 virtual void setFormat(const DOMString &val)
2028 throw (DOMException)
2029 { format = val; }
2034 //##################
2035 //# Non-API methods
2036 //##################
2038 /**
2039 *
2040 */
2041 virtual ~SVGAltGlyphElementImpl() {}
2043 protected:
2045 DOMString glyphRef;
2046 DOMString format;
2048 };
2056 /*#########################################################################
2057 ## SVGAltGlyphDefElementImpl
2058 #########################################################################*/
2060 /**
2061 *
2062 */
2063 class SVGAltGlyphDefElementImpl : virtual public SVGAltGlyphDefElement,
2064 public SVGElementImpl
2065 {
2066 public:
2068 //##################
2069 //# Non-API methods
2070 //##################
2072 /**
2073 *
2074 */
2075 virtual ~SVGAltGlyphDefElementImpl() {}
2077 protected:
2080 };
2086 /*#########################################################################
2087 ## SVGAltGlyphItemElementImpl
2088 #########################################################################*/
2090 /**
2091 *
2092 */
2093 class SVGAltGlyphItemElementImpl : virtual public SVGAltGlyphItemElement,
2094 public SVGElementImpl
2095 {
2096 public:
2098 //##################
2099 //# Non-API methods
2100 //##################
2102 /**
2103 *
2104 */
2105 virtual ~SVGAltGlyphItemElementImpl() {}
2107 protected:
2110 };
2116 /*#########################################################################
2117 ## SVGGlyphRefElementImpl
2118 #########################################################################*/
2120 /**
2121 *
2122 */
2123 class SVGGlyphRefElementImpl : virtual public SVGGlyphRefElement,
2124 public SVGElementImpl
2125 {
2126 public:
2127 /**
2128 *
2129 */
2130 virtual DOMString getGlyphRef()
2131 { return glyphRef; }
2133 /**
2134 *
2135 */
2136 virtual void setGlyphRef(const DOMString &val) throw (DOMException)
2137 { glyphRef = val; }
2139 /**
2140 *
2141 */
2142 virtual DOMString getFormat()
2143 { return format; }
2145 /**
2146 *
2147 */
2148 virtual void setFormat(const DOMString &val) throw (DOMException)
2149 { format = val; }
2151 /**
2152 *
2153 */
2154 virtual double getX()
2155 { return x; }
2157 /**
2158 *
2159 */
2160 virtual void setX(double val) throw (DOMException)
2161 { x = val; }
2163 /**
2164 *
2165 */
2166 virtual double getY()
2167 { return y; }
2169 /**
2170 *
2171 */
2172 virtual void setY(double val) throw (DOMException)
2173 { y = val; }
2175 /**
2176 *
2177 */
2178 virtual double getDx()
2179 { return dx; }
2181 /**
2182 *
2183 */
2184 virtual void setDx(double val) throw (DOMException)
2185 { dx = val; }
2187 /**
2188 *
2189 */
2190 virtual double getDy()
2191 { return dy; }
2193 /**
2194 *
2195 */
2196 virtual void setDy(double val) throw (DOMException)
2197 { dy = val; }
2202 //##################
2203 //# Non-API methods
2204 //##################
2206 /**
2207 *
2208 */
2209 virtual ~SVGGlyphRefElementImpl() {}
2211 protected:
2213 DOMString glyphRef;
2214 DOMString format;
2215 double x, y, dx, dy;
2217 };
2224 /*#########################################################################
2225 ## SVGMarkerElementImpl
2226 #########################################################################*/
2228 /**
2229 *
2230 */
2231 class SVGMarkerElementImpl : virtual public SVGMarkerElement,
2232 public SVGElementImpl
2233 {
2234 public:
2236 /**
2237 *
2238 */
2239 virtual SVGAnimatedLength getRefX()
2240 { return refX; }
2242 /**
2243 *
2244 */
2245 virtual SVGAnimatedLength getRefY()
2246 { return refY; }
2248 /**
2249 *
2250 */
2251 virtual SVGAnimatedEnumeration getMarkerUnits()
2252 { return markerUnits; }
2254 /**
2255 *
2256 */
2257 virtual SVGAnimatedLength getMarkerWidth()
2258 { return markerWidth; }
2260 /**
2261 *
2262 */
2263 virtual SVGAnimatedLength getMarkerHeight()
2264 { return markerHeight; }
2266 /**
2267 *
2268 */
2269 virtual SVGAnimatedEnumeration getOrientType()
2270 { return orientType; }
2272 /**
2273 *
2274 */
2275 virtual SVGAnimatedAngle getOrientAngle()
2276 { return orientAngle; }
2279 /**
2280 *
2281 */
2282 virtual void setOrientToAuto ( )
2283 { orientAuto = true; }
2285 /**
2286 *
2287 */
2288 virtual void setOrientToAngle (const SVGAngle &angle)
2289 {
2290 orientAuto = false;
2291 orientAngle = SVGAnimatedAngle(angle);
2292 }
2296 //##################
2297 //# Non-API methods
2298 //##################
2300 /**
2301 *
2302 */
2303 virtual ~SVGMarkerElementImpl() {}
2305 protected:
2307 SVGAnimatedLength refX;
2308 SVGAnimatedLength refY;
2309 SVGAnimatedEnumeration markerUnits;
2310 SVGAnimatedLength markerWidth;
2311 SVGAnimatedLength markerHeight;
2312 SVGAnimatedEnumeration orientType;
2313 SVGAnimatedAngle orientAngle;
2314 bool orientAuto;
2317 };
2325 /*#########################################################################
2326 ## SVGColorProfileElementImpl
2327 #########################################################################*/
2329 /**
2330 *
2331 */
2332 class SVGColorProfileElementImpl : virtual public SVGColorProfileElement,
2333 public SVGElementImpl
2334 {
2335 public:
2336 /**
2337 *
2338 */
2339 virtual DOMString getLocal()
2340 { return local; }
2342 /**
2343 *
2344 */
2345 virtual void setLocal(const DOMString &val) throw (DOMException)
2346 { local = val; }
2348 /**
2349 *
2350 */
2351 virtual DOMString getName()
2352 { return name; }
2354 /**
2355 *
2356 */
2357 virtual void setName(const DOMString &val) throw (DOMException)
2358 { name = val; }
2360 /**
2361 *
2362 */
2363 virtual unsigned short getRenderingIntent()
2364 { return renderingIntent; }
2366 /**
2367 *
2368 */
2369 virtual void setRenderingIntent(unsigned short val) throw (DOMException)
2370 { renderingIntent = val; }
2374 //##################
2375 //# Non-API methods
2376 //##################
2378 /**
2379 *
2380 */
2381 virtual ~SVGColorProfileElementImpl() {}
2383 protected:
2385 DOMString local;
2386 DOMString name;
2387 unsigned short renderingIntent;
2389 };
2395 /*#########################################################################
2396 ## SVGGradientElementImpl
2397 #########################################################################*/
2399 /**
2400 *
2401 */
2402 class SVGGradientElementImpl : virtual public SVGGradientElement,
2403 public SVGElementImpl
2404 {
2405 public:
2407 /**
2408 *
2409 */
2410 virtual SVGAnimatedEnumeration getGradientUnits()
2411 { return gradientUnits; }
2413 /**
2414 *
2415 */
2416 virtual SVGAnimatedTransformList getGradientTransform()
2417 { return gradientTransform; }
2419 /**
2420 *
2421 */
2422 virtual SVGAnimatedEnumeration getSpreadMethod()
2423 { return spreadMethod; }
2427 //##################
2428 //# Non-API methods
2429 //##################
2431 /**
2432 *
2433 */
2434 virtual ~SVGGradientElementImpl() {}
2436 protected:
2439 SVGAnimatedEnumeration gradientUnits;
2440 SVGAnimatedTransformList gradientTransform;
2441 SVGAnimatedEnumeration spreadMethod;
2442 };
2450 /*#########################################################################
2451 ## SVGLinearGradientElementImpl
2452 #########################################################################*/
2454 /**
2455 *
2456 */
2457 class SVGLinearGradientElementImpl : virtual public SVGLinearGradientElement,
2458 public SVGGradientElementImpl
2459 {
2460 public:
2463 /**
2464 *
2465 */
2466 virtual SVGAnimatedLength getX1()
2467 { return x1; }
2469 /**
2470 *
2471 */
2472 virtual SVGAnimatedLength getY1()
2473 { return y1; }
2475 /**
2476 *
2477 */
2478 virtual SVGAnimatedLength getX2()
2479 { return x2; }
2481 /**
2482 *
2483 */
2484 virtual SVGAnimatedLength getY2()
2485 { return y2; }
2488 //##################
2489 //# Non-API methods
2490 //##################
2492 /**
2493 *
2494 */
2495 virtual ~SVGLinearGradientElementImpl() {}
2497 protected:
2499 SVGAnimatedLength x1, x2, y1, y2;
2501 };
2509 /*#########################################################################
2510 ## SVGRadialGradientElementImpl
2511 #########################################################################*/
2513 /**
2514 *
2515 */
2516 class SVGRadialGradientElementImpl : virtual public SVGRadialGradientElement,
2517 public SVGGradientElementImpl
2518 {
2519 public:
2522 /**
2523 *
2524 */
2525 virtual SVGAnimatedLength getCx()
2526 { return cx; }
2529 /**
2530 *
2531 */
2532 virtual SVGAnimatedLength getCy()
2533 { return cy; }
2536 /**
2537 *
2538 */
2539 virtual SVGAnimatedLength getR()
2540 { return r; }
2543 /**
2544 *
2545 */
2546 virtual SVGAnimatedLength getFx()
2547 { return fx; }
2550 /**
2551 *
2552 */
2553 virtual SVGAnimatedLength getFy()
2554 { return fy; }
2559 //##################
2560 //# Non-API methods
2561 //##################
2563 /**
2564 *
2565 */
2566 virtual ~SVGRadialGradientElementImpl() {}
2568 protected:
2570 SVGAnimatedLength cx, cy, r, fx, fy;
2572 };
2580 /*#########################################################################
2581 ## SVGStopElementImpl
2582 #########################################################################*/
2584 /**
2585 *
2586 */
2587 class SVGStopElementImpl : virtual public SVGStopElement,
2588 public SVGElementImpl
2589 {
2590 public:
2592 /**
2593 *
2594 */
2595 virtual SVGAnimatedNumber getOffset()
2596 { return offset; }
2600 //##################
2601 //# Non-API methods
2602 //##################
2604 /**
2605 *
2606 */
2607 virtual ~SVGStopElementImpl() {}
2609 protected:
2611 SVGAnimatedNumber offset;
2613 };
2621 /*#########################################################################
2622 ## SVGPatternElementImpl
2623 #########################################################################*/
2625 /**
2626 *
2627 */
2628 class SVGPatternElementImpl : virtual public SVGPatternElement,
2629 public SVGElementImpl
2630 {
2631 public:
2633 /**
2634 *
2635 */
2636 virtual SVGAnimatedEnumeration getPatternUnits()
2637 { return patternUnits; }
2639 /**
2640 *
2641 */
2642 virtual SVGAnimatedEnumeration getPatternContentUnits()
2643 { return patternContentUnits; }
2645 /**
2646 *
2647 */
2648 virtual SVGAnimatedTransformList getPatternTransform()
2649 { return patternTransform; }
2651 /**
2652 *
2653 */
2654 virtual SVGAnimatedLength getX()
2655 { return x; }
2657 /**
2658 *
2659 */
2660 virtual SVGAnimatedLength getY()
2661 { return y; }
2663 /**
2664 *
2665 */
2666 virtual SVGAnimatedLength getWidth()
2667 { return width; }
2669 /**
2670 *
2671 */
2672 virtual SVGAnimatedLength getHeight()
2673 { return height; }
2677 //##################
2678 //# Non-API methods
2679 //##################
2681 /**
2682 *
2683 */
2684 virtual ~SVGPatternElementImpl() {}
2686 protected:
2689 SVGAnimatedEnumeration patternUnits;
2690 SVGAnimatedEnumeration patternContentUnits;
2691 SVGAnimatedTransformList patternTransform;
2692 SVGAnimatedLength x;
2693 SVGAnimatedLength y;
2694 SVGAnimatedLength width;
2695 SVGAnimatedLength height;
2696 };
2704 /*#########################################################################
2705 ## SVGClipPathElementImpl
2706 #########################################################################*/
2708 /**
2709 *
2710 */
2711 class SVGClipPathElementImpl : virtual public SVGClipPathElement,
2712 public SVGElementImpl
2713 {
2714 public:
2716 /**
2717 *
2718 */
2719 virtual SVGAnimatedEnumeration getClipPathUnits()
2720 { return clipPathUnits; }
2722 //##################
2723 //# Non-API methods
2724 //##################
2726 /**
2727 *
2728 */
2729 virtual ~SVGClipPathElementImpl() {}
2731 protected:
2733 SVGAnimatedEnumeration clipPathUnits;
2735 };
2743 /*#########################################################################
2744 ## SVGMaskElementImpl
2745 #########################################################################*/
2747 /**
2748 *
2749 */
2750 class SVGMaskElementImpl : virtual public SVGMaskElement,
2751 public SVGElementImpl
2752 {
2753 public:
2755 /**
2756 *
2757 */
2758 virtual SVGAnimatedEnumeration getMaskUnits()
2759 { return maskUnits; }
2761 /**
2762 *
2763 */
2764 virtual SVGAnimatedEnumeration getMaskContentUnits()
2765 { return maskContentUnits; }
2767 /**
2768 *
2769 */
2770 virtual SVGAnimatedLength getX()
2771 { return x; }
2773 /**
2774 *
2775 */
2776 virtual SVGAnimatedLength getY()
2777 { return y; }
2779 /**
2780 *
2781 */
2782 virtual SVGAnimatedLength getWidth()
2783 { return width; }
2785 /**
2786 *
2787 */
2788 virtual SVGAnimatedLength getHeight()
2789 { return height; }
2791 //##################
2792 //# Non-API methods
2793 //##################
2795 /**
2796 *
2797 */
2798 virtual ~SVGMaskElementImpl() {}
2800 protected:
2803 SVGAnimatedEnumeration maskUnits;
2804 SVGAnimatedEnumeration maskContentUnits;
2805 SVGAnimatedLength x;
2806 SVGAnimatedLength y;
2807 SVGAnimatedLength width;
2808 SVGAnimatedLength height;
2809 };
2817 /*#########################################################################
2818 ## SVGFilterElementImpl
2819 #########################################################################*/
2821 /**
2822 *
2823 */
2824 class SVGFilterElementImpl : virtual public SVGFilterElement,
2825 public SVGElementImpl
2826 {
2827 public:
2829 /**
2830 *
2831 */
2832 virtual SVGAnimatedEnumeration getFilterUnits()
2833 { return filterUnits; }
2835 /**
2836 *
2837 */
2838 virtual SVGAnimatedEnumeration getPrimitiveUnits()
2839 { return filterUnits; }
2841 /**
2842 *
2843 */
2844 virtual SVGAnimatedLength getX()
2845 { return x; }
2847 /**
2848 *
2849 */
2850 virtual SVGAnimatedLength getY()
2851 { return y; }
2853 /**
2854 *
2855 */
2856 virtual SVGAnimatedLength getWidth()
2857 { return width; }
2859 /**
2860 *
2861 */
2862 virtual SVGAnimatedLength getHeight()
2863 { return height; }
2865 /**
2866 *
2867 */
2868 virtual SVGAnimatedInteger getFilterResX()
2869 { return filterResX; }
2871 /**
2872 *
2873 */
2874 virtual SVGAnimatedInteger getFilterResY()
2875 { return filterResY; }
2877 /**
2878 *
2879 */
2880 virtual void setFilterRes (unsigned long filterResXArg,
2881 unsigned long filterResYArg )
2882 {
2883 filterResX = filterResXArg;
2884 filterResY = filterResYArg;
2885 }
2889 //##################
2890 //# Non-API methods
2891 //##################
2893 /**
2894 *
2895 */
2896 virtual ~SVGFilterElementImpl() {}
2898 protected:
2900 SVGAnimatedEnumeration filterUnits;
2901 SVGAnimatedEnumeration primitiveUnits;
2902 SVGAnimatedLength x;
2903 SVGAnimatedLength y;
2904 SVGAnimatedLength width;
2905 SVGAnimatedLength height;
2906 SVGAnimatedInteger filterResX;
2907 SVGAnimatedInteger filterResY;
2909 };
2916 /*#########################################################################
2917 ## SVGFEBlendElementImpl
2918 #########################################################################*/
2920 /**
2921 *
2922 */
2923 class SVGFEBlendElementImpl : virtual public SVGFEBlendElement,
2924 public SVGElementImpl
2925 {
2926 public:
2928 /**
2929 *
2930 */
2931 virtual SVGAnimatedString getIn1()
2932 { return in1; }
2934 /**
2935 *
2936 */
2937 virtual SVGAnimatedString getIn2()
2938 { return in2; }
2940 /**
2941 *
2942 */
2943 virtual SVGAnimatedEnumeration getMode()
2944 { return mode; }
2947 //##################
2948 //# Non-API methods
2949 //##################
2951 /**
2952 *
2953 */
2954 virtual ~SVGFEBlendElementImpl() {}
2956 protected:
2958 SVGAnimatedString in1, in2;
2959 SVGAnimatedEnumeration mode;
2960 };
2968 /*#########################################################################
2969 ## SVGFEColorMatrixElementImpl
2970 #########################################################################*/
2972 /**
2973 *
2974 */
2975 class SVGFEColorMatrixElementImpl : virtual public SVGFEColorMatrixElement,
2976 public SVGElementImpl
2977 {
2978 public:
2980 /**
2981 *
2982 */
2983 virtual SVGAnimatedString getIn1()
2984 { return in1; }
2986 /**
2987 *
2988 */
2989 virtual SVGAnimatedEnumeration getType()
2990 { return type; }
2992 /**
2993 *
2994 */
2995 virtual SVGAnimatedNumberList getValues()
2996 { return values; }
3000 //##################
3001 //# Non-API methods
3002 //##################
3004 /**
3005 *
3006 */
3007 virtual ~SVGFEColorMatrixElementImpl() {}
3009 protected:
3011 SVGAnimatedString in1;
3012 SVGAnimatedEnumeration type;
3013 SVGAnimatedNumberList values;
3015 };
3023 /*#########################################################################
3024 ## SVGFEComponentTransferElementImpl
3025 #########################################################################*/
3027 /**
3028 *
3029 */
3030 class SVGFEComponentTransferElementImpl :
3031 virtual public SVGFEComponentTransferElement,
3032 public SVGElementImpl
3033 {
3034 public:
3035 /**
3036 *
3037 */
3038 virtual SVGAnimatedString getIn1()
3039 { return in1; }
3041 //##################
3042 //# Non-API methods
3043 //##################
3045 /**
3046 *
3047 */
3048 virtual ~SVGFEComponentTransferElementImpl() {}
3050 protected:
3052 SVGAnimatedString in1;
3054 };
3062 /*#########################################################################
3063 ## SVGComponentTransferFunctionElementImpl
3064 #########################################################################*/
3066 /**
3067 *
3068 */
3069 class SVGComponentTransferFunctionElementImpl :
3070 virtual public SVGComponentTransferFunctionElement,
3071 public SVGElementImpl
3072 {
3073 public:
3075 /**
3076 *
3077 */
3078 virtual SVGAnimatedEnumeration getType()
3079 { return type; }
3081 /**
3082 *
3083 */
3084 virtual SVGAnimatedNumberList getTableValues()
3085 { return tableValues; }
3087 /**
3088 *
3089 */
3090 virtual SVGAnimatedNumber getSlope()
3091 { return slope; }
3093 /**
3094 *
3095 */
3096 virtual SVGAnimatedNumber getIntercept()
3097 { return intercept; }
3099 /**
3100 *
3101 */
3102 virtual SVGAnimatedNumber getAmplitude()
3103 { return amplitude; }
3105 /**
3106 *
3107 */
3108 virtual SVGAnimatedNumber getExponent()
3109 { return exponent; }
3111 /**
3112 *
3113 */
3114 virtual SVGAnimatedNumber getOffset()
3115 { return offset; }
3118 //##################
3119 //# Non-API methods
3120 //##################
3122 /**
3123 *
3124 */
3125 virtual ~SVGComponentTransferFunctionElementImpl() {}
3127 protected:
3129 SVGAnimatedEnumeration type;
3130 SVGAnimatedNumberList tableValues;
3131 SVGAnimatedNumber slope;
3132 SVGAnimatedNumber intercept;
3133 SVGAnimatedNumber amplitude;
3134 SVGAnimatedNumber exponent;
3135 SVGAnimatedNumber offset;
3137 };
3145 /*#########################################################################
3146 ## SVGFEFuncRElementImpl
3147 #########################################################################*/
3149 /**
3150 *
3151 */
3152 class SVGFEFuncRElementImpl :
3153 virtual public SVGFEFuncRElement,
3154 public SVGComponentTransferFunctionElementImpl
3155 {
3156 public:
3158 //##################
3159 //# Non-API methods
3160 //##################
3162 /**
3163 *
3164 */
3165 virtual ~SVGFEFuncRElementImpl() {}
3167 protected:
3170 };
3176 /*#########################################################################
3177 ## SVGFEFuncGElementImpl
3178 #########################################################################*/
3180 /**
3181 *
3182 */
3183 class SVGFEFuncGElementImpl : virtual public SVGFEFuncGElement,
3184 public SVGComponentTransferFunctionElementImpl
3185 {
3186 public:
3188 //##################
3189 //# Non-API methods
3190 //##################
3192 /**
3193 *
3194 */
3195 virtual ~SVGFEFuncGElementImpl() {}
3197 protected:
3200 };
3206 /*#########################################################################
3207 ## SVGFEFuncBElementImpl
3208 #########################################################################*/
3210 /**
3211 *
3212 */
3213 class SVGFEFuncBElementImpl : virtual public SVGFEFuncBElement,
3214 public SVGComponentTransferFunctionElementImpl
3215 {
3216 public:
3218 //##################
3219 //# Non-API methods
3220 //##################
3222 /**
3223 *
3224 */
3225 virtual ~SVGFEFuncBElementImpl() {}
3227 protected:
3230 };
3236 /*#########################################################################
3237 ## SVGFEFuncAElementImpl
3238 #########################################################################*/
3240 /**
3241 *
3242 */
3243 class SVGFEFuncAElementImpl : virtual public SVGFEFuncAElement,
3244 public SVGComponentTransferFunctionElementImpl
3245 {
3246 public:
3248 //##################
3249 //# Non-API methods
3250 //##################
3252 /**
3253 *
3254 */
3255 virtual ~SVGFEFuncAElementImpl() {}
3257 protected:
3260 };
3266 /*#########################################################################
3267 ## SVGFECompositeElementImpl
3268 #########################################################################*/
3270 /**
3271 *
3272 */
3273 class SVGFECompositeElementImpl : virtual public SVGFECompositeElement,
3274 public SVGElementImpl
3275 {
3276 public:
3279 /**
3280 *
3281 */
3282 virtual SVGAnimatedString getIn1()
3283 { return in1; }
3285 /**
3286 *
3287 */
3288 virtual SVGAnimatedString getIn2()
3289 { return in2; }
3291 /**
3292 *
3293 */
3294 virtual SVGAnimatedEnumeration getOperator()
3295 { return ae_operator; }
3297 /**
3298 *
3299 */
3300 virtual SVGAnimatedNumber getK1()
3301 { return k1; }
3303 /**
3304 *
3305 */
3306 virtual SVGAnimatedNumber getK2()
3307 { return k2; }
3309 /**
3310 *
3311 */
3312 virtual SVGAnimatedNumber getK3()
3313 { return k3; }
3315 /**
3316 *
3317 */
3318 virtual SVGAnimatedNumber getK4()
3319 { return k4; }
3323 //##################
3324 //# Non-API methods
3325 //##################
3327 /**
3328 *
3329 */
3330 virtual ~SVGFECompositeElementImpl() {}
3332 protected:
3335 SVGAnimatedString in1;
3336 SVGAnimatedString in2;
3337 SVGAnimatedEnumeration ae_operator;
3338 SVGAnimatedNumber k1;
3339 SVGAnimatedNumber k2;
3340 SVGAnimatedNumber k3;
3341 SVGAnimatedNumber k4;
3343 };
3351 /*#########################################################################
3352 ## SVGFEConvolveMatrixElementImpl
3353 #########################################################################*/
3355 /**
3356 *
3357 */
3358 class SVGFEConvolveMatrixElementImpl : virtual public SVGFEConvolveMatrixElement,
3359 public SVGElementImpl
3360 {
3361 public:
3363 /**
3364 *
3365 */
3366 virtual SVGAnimatedInteger getOrderX()
3367 { return orderX; }
3369 /**
3370 *
3371 */
3372 virtual SVGAnimatedInteger getOrderY()
3373 { return orderY; }
3375 /**
3376 *
3377 */
3378 virtual SVGAnimatedNumberList getKernelMatrix()
3379 { return kernelMatrix; }
3381 /**
3382 *
3383 */
3384 virtual SVGAnimatedNumber getDivisor()
3385 { return divisor; }
3387 /**
3388 *
3389 */
3390 virtual SVGAnimatedNumber getBias()
3391 { return bias; }
3393 /**
3394 *
3395 */
3396 virtual SVGAnimatedInteger getTargetX()
3397 { return targetX; }
3399 /**
3400 *
3401 */
3402 virtual SVGAnimatedInteger getTargetY()
3403 { return targetY; }
3405 /**
3406 *
3407 */
3408 virtual SVGAnimatedEnumeration getEdgeMode()
3409 { return edgeMode; }
3411 /**
3412 *
3413 */
3414 virtual SVGAnimatedLength getKernelUnitLengthX()
3415 { return kernelUnitLengthX; }
3417 /**
3418 *
3419 */
3420 virtual SVGAnimatedLength getKernelUnitLengthY()
3421 { return kernelUnitLengthY; }
3423 /**
3424 *
3425 */
3426 virtual SVGAnimatedBoolean getPreserveAlpha()
3427 { return preserveAlpha; }
3431 //##################
3432 //# Non-API methods
3433 //##################
3435 /**
3436 *
3437 */
3438 virtual ~SVGFEConvolveMatrixElementImpl() {}
3440 protected:
3442 SVGAnimatedInteger orderX;
3443 SVGAnimatedInteger orderY;
3444 SVGAnimatedNumberList kernelMatrix;
3445 SVGAnimatedNumber divisor;
3446 SVGAnimatedNumber bias;
3447 SVGAnimatedInteger targetX;
3448 SVGAnimatedInteger targetY;
3449 SVGAnimatedEnumeration edgeMode;
3450 SVGAnimatedLength kernelUnitLengthX;
3451 SVGAnimatedLength kernelUnitLengthY;
3452 SVGAnimatedBoolean preserveAlpha;
3454 };
3462 /*#########################################################################
3463 ## SVGFEDiffuseLightingElementImpl
3464 #########################################################################*/
3466 /**
3467 *
3468 */
3469 class SVGFEDiffuseLightingElementImpl : virtual public SVGFEDiffuseLightingElement,
3470 public SVGElementImpl
3471 {
3472 public:
3474 /**
3475 *
3476 */
3477 virtual SVGAnimatedString getIn1()
3478 { return in1; }
3480 /**
3481 *
3482 */
3483 virtual SVGAnimatedNumber getSurfaceScale()
3484 { return surfaceScale; }
3486 /**
3487 *
3488 */
3489 virtual SVGAnimatedNumber getDiffuseConstant()
3490 { return diffuseConstant; }
3494 //##################
3495 //# Non-API methods
3496 //##################
3498 /**
3499 *
3500 */
3501 virtual ~SVGFEDiffuseLightingElementImpl() {}
3503 protected:
3505 SVGAnimatedString in1;
3506 SVGAnimatedNumber surfaceScale;
3507 SVGAnimatedNumber diffuseConstant;
3509 };
3517 /*#########################################################################
3518 ## SVGFEDistantLightElementImpl
3519 #########################################################################*/
3521 /**
3522 *
3523 */
3524 class SVGFEDistantLightElementImpl : virtual public SVGFEDistantLightElement,
3525 public SVGElementImpl
3526 {
3527 public:
3529 /**
3530 *
3531 */
3532 virtual SVGAnimatedNumber getAzimuth()
3533 { return azimuth; }
3536 /**
3537 *
3538 */
3539 virtual SVGAnimatedNumber getElevation()
3540 { return elevation; }
3544 //##################
3545 //# Non-API methods
3546 //##################
3548 /**
3549 *
3550 */
3551 virtual ~SVGFEDistantLightElementImpl() {}
3553 protected:
3555 SVGAnimatedNumber azimuth;
3556 SVGAnimatedNumber elevation;
3558 };
3566 /*#########################################################################
3567 ## SVGFEPointLightElementImpl
3568 #########################################################################*/
3570 /**
3571 *
3572 */
3573 class SVGFEPointLightElementImpl : public virtual SVGFEPointLightElement,
3574 public SVGElementImpl
3575 {
3576 public:
3578 /**
3579 *
3580 */
3581 virtual SVGAnimatedNumber getX()
3582 { return x; }
3585 /**
3586 *
3587 */
3588 virtual SVGAnimatedNumber getY()
3589 { return y; }
3591 /**
3592 *
3593 */
3594 virtual SVGAnimatedNumber getZ()
3595 { return z; }
3597 //##################
3598 //# Non-API methods
3599 //##################
3601 /**
3602 *
3603 */
3604 virtual ~SVGFEPointLightElementImpl() {}
3606 protected:
3608 SVGAnimatedNumber x, y, z;
3610 };
3618 /*#########################################################################
3619 ## SVGFESpotLightElementImpl
3620 #########################################################################*/
3622 /**
3623 *
3624 */
3625 class SVGFESpotLightElementImpl : virtual public SVGFESpotLightElement,
3626 public SVGElementImpl
3627 {
3628 public:
3630 /**
3631 *
3632 */
3633 virtual SVGAnimatedNumber getX()
3634 { return x; }
3637 /**
3638 *
3639 */
3640 virtual SVGAnimatedNumber getY()
3641 { return y; }
3643 /**
3644 *
3645 */
3646 virtual SVGAnimatedNumber getZ()
3647 { return z; }
3649 /**
3650 *
3651 */
3652 virtual SVGAnimatedNumber getPointsAtX()
3653 { return pointsAtX; }
3655 /**
3656 *
3657 */
3658 virtual SVGAnimatedNumber getPointsAtY()
3659 { return pointsAtY; }
3661 /**
3662 *
3663 */
3664 virtual SVGAnimatedNumber getPointsAtZ()
3665 { return pointsAtZ; }
3667 /**
3668 *
3669 */
3670 virtual SVGAnimatedNumber getSpecularExponent()
3671 { return specularExponent; }
3673 /**
3674 *
3675 */
3676 virtual SVGAnimatedNumber getLimitingConeAngle()
3677 { return limitingConeAngle; }
3681 //##################
3682 //# Non-API methods
3683 //##################
3685 /**
3686 *
3687 */
3688 virtual ~SVGFESpotLightElementImpl() {}
3690 protected:
3692 SVGAnimatedNumber x, y, z;
3693 SVGAnimatedNumber pointsAtX, pointsAtY, pointsAtZ;
3694 SVGAnimatedNumber specularExponent;
3695 SVGAnimatedNumber limitingConeAngle;
3696 };
3704 /*#########################################################################
3705 ## SVGFEDisplacementMapElementImpl
3706 #########################################################################*/
3708 /**
3709 *
3710 */
3711 class SVGFEDisplacementMapElementImpl : virtual public SVGFEDisplacementMapElement,
3712 public SVGElementImpl
3713 {
3714 public:
3716 /**
3717 *
3718 */
3719 virtual SVGAnimatedString getIn1()
3720 { return in1; }
3722 /**
3723 *
3724 */
3725 virtual SVGAnimatedString getIn2()
3726 { return in2; }
3729 /**
3730 *
3731 */
3732 virtual SVGAnimatedNumber getScale()
3733 { return scale; }
3735 /**
3736 *
3737 */
3738 virtual SVGAnimatedEnumeration getXChannelSelector()
3739 { return xChannelSelector; }
3741 /**
3742 *
3743 */
3744 virtual SVGAnimatedEnumeration getYChannelSelector()
3745 { return yChannelSelector; }
3749 //##################
3750 //# Non-API methods
3751 //##################
3753 /**
3754 *
3755 */
3756 virtual ~SVGFEDisplacementMapElementImpl() {}
3758 protected:
3760 SVGAnimatedString in1;
3761 SVGAnimatedString in2;
3762 SVGAnimatedNumber scale;
3763 SVGAnimatedEnumeration xChannelSelector;
3764 SVGAnimatedEnumeration yChannelSelector;
3766 };
3774 /*#########################################################################
3775 ## SVGFEFloodElementImpl
3776 #########################################################################*/
3778 /**
3779 *
3780 */
3781 class SVGFEFloodElementImpl : virtual public SVGFEFloodElement,
3782 public SVGElementImpl
3783 {
3784 public:
3785 /**
3786 *
3787 */
3788 virtual SVGAnimatedString getIn1()
3789 { return in1; }
3792 //##################
3793 //# Non-API methods
3794 //##################
3796 /**
3797 *
3798 */
3799 virtual ~SVGFEFloodElementImpl() {}
3801 protected:
3803 SVGAnimatedString in1;
3805 };
3813 /*#########################################################################
3814 ## SVGFEGaussianBlurElementImpl
3815 #########################################################################*/
3817 /**
3818 *
3819 */
3820 class SVGFEGaussianBlurElementImpl : virtual public SVGFEGaussianBlurElement,
3821 public SVGElementImpl
3822 {
3823 public:
3824 /**
3825 *
3826 */
3827 virtual SVGAnimatedString getIn1()
3828 { return in1; }
3831 /**
3832 *
3833 */
3834 virtual SVGAnimatedNumber getStdDeviationX()
3835 { return stdDeviationX; }
3837 /**
3838 *
3839 */
3840 virtual SVGAnimatedNumber getStdDeviationY()
3841 { return stdDeviationY; }
3844 /**
3845 *
3846 */
3847 virtual void setStdDeviation (double stdDeviationXArg, double stdDeviationYArg )
3848 {
3849 stdDeviationX = stdDeviationXArg;
3850 stdDeviationY = stdDeviationYArg;
3851 }
3855 //##################
3856 //# Non-API methods
3857 //##################
3859 /**
3860 *
3861 */
3862 virtual ~SVGFEGaussianBlurElementImpl() {}
3864 protected:
3866 SVGAnimatedString in1;
3867 SVGAnimatedNumber stdDeviationX, stdDeviationY;
3869 };
3877 /*#########################################################################
3878 ## SVGFEImageElementImpl
3879 #########################################################################*/
3881 /**
3882 *
3883 */
3884 class SVGFEImageElementImpl : virtual public SVGFEImageElement,
3885 public SVGElementImpl
3886 {
3887 public:
3889 //##################
3890 //# Non-API methods
3891 //##################
3893 /**
3894 *
3895 */
3896 virtual ~SVGFEImageElementImpl() {}
3898 protected:
3901 };
3907 /*#########################################################################
3908 ## SVGFEMergeElementImpl
3909 #########################################################################*/
3911 /**
3912 *
3913 */
3914 class SVGFEMergeElementImpl : virtual public SVGFEMergeElement,
3915 public SVGElementImpl
3916 {
3917 public:
3919 //##################
3920 //# Non-API methods
3921 //##################
3923 /**
3924 *
3925 */
3926 virtual ~SVGFEMergeElementImpl() {}
3928 protected:
3931 };
3937 /*#########################################################################
3938 ## SVGFEMergeNodeElementImpl
3939 #########################################################################*/
3941 /**
3942 *
3943 */
3944 class SVGFEMergeNodeElementImpl : virtual public SVGFEMergeNodeElement,
3945 public SVGElementImpl
3946 {
3947 public:
3948 /**
3949 *
3950 */
3951 virtual SVGAnimatedString getIn1()
3952 { return in1; }
3955 //##################
3956 //# Non-API methods
3957 //##################
3959 /**
3960 *
3961 */
3962 virtual ~SVGFEMergeNodeElementImpl() {}
3964 protected:
3966 SVGAnimatedString in1;
3968 };
3976 /*#########################################################################
3977 ## SVGFEMorphologyElementImpl
3978 #########################################################################*/
3980 /**
3981 *
3982 */
3983 class SVGFEMorphologyElementImpl : virtual public SVGFEMorphologyElement,
3984 public SVGElementImpl
3985 {
3986 public:
3988 /**
3989 *
3990 */
3991 virtual SVGAnimatedString getIn1()
3992 { return in1; }
3995 /**
3996 *
3997 */
3998 virtual SVGAnimatedEnumeration getOperator()
3999 { return me_operator; }
4001 /**
4002 *
4003 */
4004 virtual SVGAnimatedLength getRadiusX()
4005 { return radiusX; }
4007 /**
4008 *
4009 */
4010 virtual SVGAnimatedLength getRadiusY()
4011 { return radiusY; }
4015 //##################
4016 //# Non-API methods
4017 //##################
4019 /**
4020 *
4021 */
4022 virtual ~SVGFEMorphologyElementImpl() {}
4024 protected:
4026 SVGAnimatedString in1;
4027 SVGAnimatedEnumeration me_operator;
4028 SVGAnimatedLength radiusX;
4029 SVGAnimatedLength radiusY;
4031 };
4039 /*#########################################################################
4040 ## SVGFEOffsetElementImpl
4041 #########################################################################*/
4043 /**
4044 *
4045 */
4046 class SVGFEOffsetElementImpl : virtual public SVGFEOffsetElement,
4047 public SVGElementImpl
4048 {
4049 public:
4053 /**
4054 *
4055 */
4056 virtual SVGAnimatedString getIn1()
4057 { return in1; }
4059 /**
4060 *
4061 */
4062 virtual SVGAnimatedLength getDx()
4063 { return dx; }
4065 /**
4066 *
4067 */
4068 virtual SVGAnimatedLength getDy()
4069 { return dy; }
4071 //##################
4072 //# Non-API methods
4073 //##################
4075 /**
4076 *
4077 */
4078 virtual ~SVGFEOffsetElementImpl() {}
4080 protected:
4082 SVGAnimatedString in1;
4083 SVGAnimatedLength dx, dy;
4085 };
4093 /*#########################################################################
4094 ## SVGFESpecularLightingElementImpl
4095 #########################################################################*/
4097 /**
4098 *
4099 */
4100 class SVGFESpecularLightingElementImpl :
4101 virtual public SVGFESpecularLightingElement,
4102 public SVGElementImpl
4103 {
4104 public:
4106 /**
4107 *
4108 */
4109 virtual SVGAnimatedString getIn1()
4110 { return in1; }
4112 /**
4113 *
4114 */
4115 virtual SVGAnimatedNumber getSurfaceScale()
4116 { return surfaceScale; }
4118 /**
4119 *
4120 */
4121 virtual SVGAnimatedNumber getSpecularConstant()
4122 { return specularConstant; }
4124 /**
4125 *
4126 */
4127 virtual SVGAnimatedNumber getSpecularExponent()
4128 { return specularExponent; }
4131 //##################
4132 //# Non-API methods
4133 //##################
4135 /**
4136 *
4137 */
4138 virtual ~SVGFESpecularLightingElementImpl() {}
4140 protected:
4142 SVGAnimatedString in1;
4143 SVGAnimatedNumber surfaceScale;
4144 SVGAnimatedNumber specularConstant;
4145 SVGAnimatedNumber specularExponent;
4146 };
4154 /*#########################################################################
4155 ## SVGFETileElementImpl
4156 #########################################################################*/
4158 /**
4159 *
4160 */
4161 class SVGFETileElementImpl : virtual public SVGFETileElement,
4162 public SVGElementImpl
4163 {
4164 public:
4167 /**
4168 *
4169 */
4170 virtual SVGAnimatedString getIn1()
4171 { return in1; }
4175 //##################
4176 //# Non-API methods
4177 //##################
4179 /**
4180 *
4181 */
4182 virtual ~SVGFETileElementImpl() {}
4184 protected:
4186 SVGAnimatedString in1;
4188 };
4196 /*#########################################################################
4197 ## SVGFETurbulenceElementImpl
4198 #########################################################################*/
4200 /**
4201 *
4202 */
4203 class SVGFETurbulenceElementImpl : virtual public SVGFETurbulenceElement,
4204 public SVGElementImpl
4205 {
4206 public:
4208 /**
4209 *
4210 */
4211 virtual SVGAnimatedNumber getBaseFrequencyX()
4212 { return baseFrequencyX; }
4214 /**
4215 *
4216 */
4217 virtual SVGAnimatedNumber getBaseFrequencyY()
4218 { return baseFrequencyY; }
4220 /**
4221 *
4222 */
4223 virtual SVGAnimatedInteger getNumOctaves()
4224 { return numOctaves; }
4226 /**
4227 *
4228 */
4229 virtual SVGAnimatedNumber getSeed()
4230 { return seed; }
4232 /**
4233 *
4234 */
4235 virtual SVGAnimatedEnumeration getStitchTiles()
4236 { return stitchTiles; }
4238 /**
4239 *
4240 */
4241 virtual SVGAnimatedEnumeration getType()
4242 { return type; }
4246 //##################
4247 //# Non-API methods
4248 //##################
4250 /**
4251 *
4252 */
4253 virtual ~SVGFETurbulenceElementImpl() {}
4255 protected:
4257 SVGAnimatedNumber baseFrequencyX;
4258 SVGAnimatedNumber baseFrequencyY;
4259 SVGAnimatedInteger numOctaves;
4260 SVGAnimatedNumber seed;
4261 SVGAnimatedEnumeration stitchTiles;
4262 SVGAnimatedEnumeration type;
4264 };
4272 /*#########################################################################
4273 ## SVGCursorElementImpl
4274 #########################################################################*/
4276 /**
4277 *
4278 */
4279 class SVGCursorElementImpl : virtual public SVGCursorElement,
4280 public SVGElementImpl
4281 {
4282 public:
4284 /**
4285 *
4286 */
4287 virtual SVGAnimatedLength getX()
4288 { return x; }
4290 /**
4291 *
4292 */
4293 virtual SVGAnimatedLength getY()
4294 { return x; }
4296 //##################
4297 //# Non-API methods
4298 //##################
4300 /**
4301 *
4302 */
4303 virtual ~SVGCursorElementImpl() {}
4305 protected:
4307 SVGAnimatedLength x, y;
4308 };
4316 /*#########################################################################
4317 ## SVGAElementImpl
4318 #########################################################################*/
4320 /**
4321 *
4322 */
4323 class SVGAElementImpl : virtual public SVGAElement,
4324 public SVGElementImpl
4325 {
4326 public:
4328 /**
4329 *
4330 */
4331 virtual SVGAnimatedString getTarget()
4332 { return target; }
4336 //##################
4337 //# Non-API methods
4338 //##################
4340 /**
4341 *
4342 */
4343 virtual ~SVGAElementImpl() {}
4345 protected:
4347 SVGAnimatedString target;
4348 };
4356 /*#########################################################################
4357 ## SVGViewElementImpl
4358 #########################################################################*/
4360 /**
4361 *
4362 */
4363 class SVGViewElementImpl : virtual public SVGViewElement,
4364 public SVGElementImpl
4365 {
4366 public:
4368 /**
4369 *
4370 */
4371 virtual SVGStringList getViewTarget()
4372 { return viewTarget; }
4376 //##################
4377 //# Non-API methods
4378 //##################
4380 /**
4381 *
4382 */
4383 virtual ~SVGViewElementImpl() {}
4385 protected:
4387 SVGStringList viewTarget;
4388 };
4396 /*#########################################################################
4397 ## SVGScriptElementImpl
4398 #########################################################################*/
4400 /**
4401 *
4402 */
4403 class SVGScriptElementImpl : virtual public SVGScriptElement,
4404 public SVGElementImpl
4405 {
4406 public:
4408 /**
4409 *
4410 */
4411 virtual DOMString getType()
4412 { return type; }
4414 /**
4415 *
4416 */
4417 virtual void setType(const DOMString &val) throw (DOMException)
4418 { type = val; }
4421 //##################
4422 //# Non-API methods
4423 //##################
4425 /**
4426 *
4427 */
4428 virtual ~SVGScriptElementImpl() {}
4430 protected:
4432 DOMString type;
4433 };
4440 /*#########################################################################
4441 ## SVGAnimationElementImpl
4442 #########################################################################*/
4444 /**
4445 *
4446 */
4447 class SVGAnimationElementImpl : virtual public SVGAnimationElement,
4448 public SVGElementImpl
4449 {
4450 public:
4453 /**
4454 *
4455 */
4456 virtual SVGElement *getTargetElement()
4457 { return targetElement; }
4460 /**
4461 *
4462 */
4463 virtual double getStartTime ( )
4464 { return startTime; }
4466 /**
4467 *
4468 */
4469 virtual double getCurrentTime ( )
4470 { return currentTime; }
4472 /**
4473 *
4474 */
4475 virtual double getSimpleDuration ( ) throw( DOMException )
4476 { return simpleDuration; }
4480 //##################
4481 //# Non-API methods
4482 //##################
4484 /**
4485 *
4486 */
4487 virtual ~SVGAnimationElementImpl() {}
4489 protected:
4491 SVGElement *targetElement;
4492 double startTime, currentTime, simpleDuration;
4493 };
4501 /*#########################################################################
4502 ## SVGAnimateElementImpl
4503 #########################################################################*/
4505 /**
4506 *
4507 */
4508 class SVGAnimateElementImpl : virtual public SVGAnimateElement,
4509 public SVGAnimationElementImpl
4510 {
4511 public:
4513 //##################
4514 //# Non-API methods
4515 //##################
4517 /**
4518 *
4519 */
4520 virtual ~SVGAnimateElementImpl() {}
4522 protected:
4525 };
4531 /*#########################################################################
4532 ## SVGSetElementImpl
4533 #########################################################################*/
4535 /**
4536 *
4537 */
4538 class SVGSetElementImpl : virtual public SVGSetElement,
4539 public SVGAnimationElementImpl
4540 {
4541 public:
4543 //##################
4544 //# Non-API methods
4545 //##################
4547 /**
4548 *
4549 */
4550 virtual ~SVGSetElementImpl() {}
4552 protected:
4555 };
4561 /*#########################################################################
4562 ## SVGAnimateMotionElementImpl
4563 #########################################################################*/
4565 /**
4566 *
4567 */
4568 class SVGAnimateMotionElementImpl : virtual public SVGAnimateMotionElement,
4569 public SVGAnimationElementImpl
4570 {
4571 public:
4573 //##################
4574 //# Non-API methods
4575 //##################
4577 /**
4578 *
4579 */
4580 virtual ~SVGAnimateMotionElementImpl() {}
4582 protected:
4585 };
4591 /*#########################################################################
4592 ## SVGMPathElementImpl
4593 #########################################################################*/
4595 /**
4596 *
4597 */
4598 class SVGMPathElementImpl : virtual public SVGMPathElement,
4599 public SVGElementImpl
4600 {
4601 public:
4603 //##################
4604 //# Non-API methods
4605 //##################
4607 /**
4608 *
4609 */
4610 virtual ~SVGMPathElementImpl() {}
4612 protected:
4615 };
4621 /*#########################################################################
4622 ## SVGAnimateColorElementImpl
4623 #########################################################################*/
4625 /**
4626 *
4627 */
4628 class SVGAnimateColorElementImpl : virtual public SVGAnimateColorElement,
4629 public SVGAnimationElementImpl
4630 {
4631 public:
4633 //##################
4634 //# Non-API methods
4635 //##################
4637 /**
4638 *
4639 */
4640 virtual ~SVGAnimateColorElementImpl() {}
4642 protected:
4645 };
4651 /*#########################################################################
4652 ## SVGAnimateTransformElementImpl
4653 #########################################################################*/
4655 /**
4656 *
4657 */
4658 class SVGAnimateTransformElementImpl : virtual public SVGAnimateTransformElement,
4659 public SVGAnimationElementImpl
4660 {
4661 public:
4663 //##################
4664 //# Non-API methods
4665 //##################
4667 /**
4668 *
4669 */
4670 virtual ~SVGAnimateTransformElementImpl() {}
4672 protected:
4675 };
4681 /*#########################################################################
4682 ## SVGFontElementImpl
4683 #########################################################################*/
4685 /**
4686 *
4687 */
4688 class SVGFontElementImpl : virtual public SVGFontElement,
4689 public SVGElementImpl
4690 {
4691 public:
4693 //##################
4694 //# Non-API methods
4695 //##################
4697 /**
4698 *
4699 */
4700 virtual ~SVGFontElementImpl() {}
4702 protected:
4705 };
4711 /*#########################################################################
4712 ## SVGGlyphElementImpl
4713 #########################################################################*/
4715 /**
4716 *
4717 */
4718 class SVGGlyphElementImpl : virtual public SVGGlyphElement,
4719 public SVGElementImpl
4720 {
4721 public:
4723 //##################
4724 //# Non-API methods
4725 //##################
4727 /**
4728 *
4729 */
4730 virtual ~SVGGlyphElementImpl() {}
4732 protected:
4735 };
4741 /*#########################################################################
4742 ## SVGMissingGlyphElementImpl
4743 #########################################################################*/
4745 /**
4746 *
4747 */
4748 class SVGMissingGlyphElementImpl : virtual public SVGMissingGlyphElement,
4749 public SVGElementImpl
4750 {
4751 public:
4753 //##################
4754 //# Non-API methods
4755 //##################
4757 /**
4758 *
4759 */
4760 virtual ~SVGMissingGlyphElementImpl() {}
4762 protected:
4765 };
4771 /*#########################################################################
4772 ## SVGHKernElementImpl
4773 #########################################################################*/
4775 /**
4776 *
4777 */
4778 class SVGHKernElementImpl : virtual public SVGHKernElement,
4779 public SVGElementImpl
4780 {
4781 public:
4783 //##################
4784 //# Non-API methods
4785 //##################
4787 /**
4788 *
4789 */
4790 virtual ~SVGHKernElementImpl() {}
4792 protected:
4795 };
4801 /*#########################################################################
4802 ## SVGVKernElementImpl
4803 #########################################################################*/
4805 /**
4806 *
4807 */
4808 class SVGVKernElementImpl : virtual public SVGVKernElement,
4809 public SVGElementImpl
4810 {
4811 public:
4813 //##################
4814 //# Non-API methods
4815 //##################
4817 /**
4818 *
4819 */
4820 virtual ~SVGVKernElementImpl() {}
4822 protected:
4825 };
4831 /*#########################################################################
4832 ## SVGFontFaceElementImpl
4833 #########################################################################*/
4835 /**
4836 *
4837 */
4838 class SVGFontFaceElementImpl : virtual public SVGFontFaceElement,
4839 public SVGElementImpl
4840 {
4841 public:
4843 //##################
4844 //# Non-API methods
4845 //##################
4847 /**
4848 *
4849 */
4850 virtual ~SVGFontFaceElementImpl() {}
4852 protected:
4855 };
4861 /*#########################################################################
4862 ## SVGFontFaceSrcElementImpl
4863 #########################################################################*/
4865 /**
4866 *
4867 */
4868 class SVGFontFaceSrcElementImpl : virtual public SVGFontFaceSrcElement,
4869 public SVGElementImpl
4870 {
4871 public:
4873 //##################
4874 //# Non-API methods
4875 //##################
4877 /**
4878 *
4879 */
4880 virtual ~SVGFontFaceSrcElementImpl() {}
4882 protected:
4885 };
4891 /*#########################################################################
4892 ## SVGFontFaceUriElementImpl
4893 #########################################################################*/
4895 /**
4896 *
4897 */
4898 class SVGFontFaceUriElementImpl : virtual public SVGFontFaceUriElement,
4899 public SVGElementImpl
4900 {
4901 public:
4903 //##################
4904 //# Non-API methods
4905 //##################
4907 /**
4908 *
4909 */
4910 virtual ~SVGFontFaceUriElementImpl() {}
4912 protected:
4915 };
4921 /*#########################################################################
4922 ## SVGFontFaceFormatElementImpl
4923 #########################################################################*/
4925 /**
4926 *
4927 */
4928 class SVGFontFaceFormatElementImpl : virtual public SVGFontFaceFormatElement,
4929 public SVGElementImpl
4930 {
4931 public:
4933 //##################
4934 //# Non-API methods
4935 //##################
4937 /**
4938 *
4939 */
4940 virtual ~SVGFontFaceFormatElementImpl() {}
4942 protected:
4945 };
4951 /*#########################################################################
4952 ## SVGFontFaceNameElementImpl
4953 #########################################################################*/
4955 /**
4956 *
4957 */
4958 class SVGFontFaceNameElementImpl : virtual public SVGFontFaceNameElement,
4959 public SVGElementImpl
4960 {
4961 public:
4963 //##################
4964 //# Non-API methods
4965 //##################
4967 /**
4968 *
4969 */
4970 virtual ~SVGFontFaceNameElementImpl() {}
4972 protected:
4975 };
4981 /*#########################################################################
4982 ## SVGDefinitionSrcElementImpl
4983 #########################################################################*/
4985 /**
4986 *
4987 */
4988 class SVGDefinitionSrcElementImpl : virtual public SVGDefinitionSrcElement,
4989 public SVGElementImpl
4990 {
4991 public:
4993 //##################
4994 //# Non-API methods
4995 //##################
4997 /**
4998 *
4999 */
5000 virtual ~SVGDefinitionSrcElementImpl() {}
5002 protected:
5005 };
5011 /*#########################################################################
5012 ## SVGMetadataElementImpl
5013 #########################################################################*/
5015 /**
5016 *
5017 */
5018 class SVGMetadataElementImpl : virtual public SVGMetadataElement,
5019 public SVGElementImpl
5020 {
5021 public:
5023 //##################
5024 //# Non-API methods
5025 //##################
5027 /**
5028 *
5029 */
5030 virtual ~SVGMetadataElementImpl() {}
5032 protected:
5035 };
5040 /*#########################################################################
5041 ## SVGForeignObjectElementImpl
5042 #########################################################################*/
5044 /**
5045 *
5046 */
5047 class SVGForeignObjectElementImpl : virtual public SVGForeignObjectElement,
5048 public SVGElementImpl
5049 {
5050 public:
5053 /**
5054 *
5055 */
5056 virtual SVGAnimatedLength getX()
5057 { return x; }
5059 /**
5060 *
5061 */
5062 virtual SVGAnimatedLength getY()
5063 { return y; }
5065 /**
5066 *
5067 */
5068 virtual SVGAnimatedLength getWidth()
5069 { return width; }
5071 /**
5072 *
5073 */
5074 virtual SVGAnimatedLength getHeight()
5075 { return height; }
5079 //##################
5080 //# Non-API methods
5081 //##################
5084 /**
5085 *
5086 */
5087 virtual ~SVGForeignObjectElementImpl() {}
5089 protected:
5091 SVGAnimatedLength x, y, width, height;
5092 };
5099 } //namespace svg
5100 } //namespace dom
5101 } //namespace w3c
5102 } //namespace org
5104 #endif // __SVG_H__
5105 /*#########################################################################
5106 ## E N D O F F I L E
5107 #########################################################################*/