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-2008 Bob Jamison
17 *
18 * This library is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU Lesser General Public
20 * License as published by the Free Software Foundation; either
21 * version 2.1 of the License, or (at your option) any later version.
22 *
23 * This library is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26 * Lesser General Public License for more details.
27 *
28 * You should have received a copy of the GNU Lesser General Public
29 * License along with this library; if not, write to the Free Software
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31 */
34 #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();
158 DOMString title;
159 DOMString referrer;
160 DOMString domain;
161 DOMString url;
162 SVGSVGElementImplPtr rootElement;
163 };
167 /*#########################################################################
168 ## SVGElementImpl
169 #########################################################################*/
171 /**
172 *
173 */
174 class SVGElementImpl : virtual public SVGElement,
175 public ElementImpl
176 {
177 public:
179 /**
180 *
181 */
182 virtual DOMString getId()
183 { return id; }
185 /**
186 *
187 */
188 virtual void setId(const DOMString &val)
189 throw (DOMException)
190 { id = val; }
192 /**
193 *
194 */
195 virtual DOMString getXmlBase()
196 { return xmlBase; }
198 /**
199 *
200 */
201 virtual void setXmlBase(const DOMString &val)
202 throw (DOMException)
203 { xmlBase = val; }
205 /**
206 *
207 */
208 virtual SVGSVGElementPtr getOwnerSVGElement()
209 { return ownerSvgElement; }
211 /**
212 *
213 */
214 virtual SVGElementPtr getViewportElement()
215 { return viewportElement; }
218 //##################
219 //# Non-API methods
220 //##################
223 /**
224 *
225 */
226 SVGElementImpl()
227 {}
229 /**
230 *
231 */
232 SVGElementImpl(SVGDocumentImplPtr owner, const DOMString &tagName)
233 : ElementImpl(owner, tagName)
234 { init(); }
236 /**
237 *
238 */
239 SVGElementImpl(SVGDocumentImplPtr owner,
240 const DOMString &namespaceURI,
241 const DOMString &tagName)
242 : ElementImpl(owner, namespaceURI, tagName)
243 { init(); }
246 /**
247 *
248 */
249 virtual ~SVGElementImpl()
250 {}
252 protected:
254 void init()
255 {
256 id = "";
257 xmlBase = "";
258 ownerSvgElement = NULL;
259 viewportElement = NULL;
260 }
262 DOMString id;
263 DOMString xmlBase;
264 SVGSVGElementPtr ownerSvgElement;
265 SVGElementPtr viewportElement;
267 };
271 /*#########################################################################
272 ## SVGSVGElementImpl
273 #########################################################################*/
275 /**
276 *
277 */
278 class SVGSVGElementImpl : virtual public SVGSVGElement,
279 public SVGElementImpl
280 {
281 public:
283 /**
284 *
285 */
286 virtual SVGAnimatedLength getX()
287 { return x; }
289 /**
290 *
291 */
292 virtual SVGAnimatedLength getY()
293 { return y; }
295 /**
296 *
297 */
298 virtual SVGAnimatedLength getWidth()
299 { return width; }
301 /**
302 *
303 */
304 virtual SVGAnimatedLength getHeight()
305 { return height; }
307 /**
308 *
309 */
310 virtual DOMString getContentScriptType()
311 { return contentScriptType; }
313 /**
314 *
315 */
316 virtual void setContentScriptType(const DOMString &val)
317 throw (DOMException)
318 { contentScriptType = val; }
321 /**
322 *
323 */
324 virtual DOMString getContentStyleType()
325 { return contentStyleType; }
327 /**
328 *
329 */
330 virtual void setContentStyleType(const DOMString &val)
331 throw (DOMException)
332 { contentStyleType = val; }
334 /**
335 *
336 */
337 virtual SVGRect getViewport()
338 { return viewport; }
340 /**
341 *
342 */
343 virtual double getPixelUnitToMillimeterX()
344 { return pixelUnitToMillimeterX; }
346 /**
347 *
348 */
349 virtual double getPixelUnitToMillimeterY()
350 { return pixelUnitToMillimeterY; }
352 /**
353 *
354 */
355 virtual double getScreenPixelToMillimeterX()
356 { return screenPixelToMillimeterX; }
358 /**
359 *
360 */
361 virtual double getScreenPixelToMillimeterY()
362 { return screenPixelToMillimeterY; }
365 /**
366 *
367 */
368 virtual bool getUseCurrentView()
369 { return useCurrentView; }
371 /**
372 *
373 */
374 virtual void setUseCurrentView(bool val) throw (DOMException)
375 { useCurrentView = val; }
377 /**
378 *
379 */
380 virtual SVGViewSpec getCurrentView()
381 { return currentView; }
384 /**
385 *
386 */
387 virtual double getCurrentScale()
388 { return currentScale; }
390 /**
391 *
392 */
393 virtual void setCurrentScale(double val) throw (DOMException)
394 { currentScale = val; }
397 /**
398 *
399 */
400 virtual SVGPoint getCurrentTranslate()
401 { return currentTranslate; }
404 /**
405 *
406 */
407 virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds );
409 /**
410 *
411 */
412 virtual void unsuspendRedraw (unsigned long suspend_handle_id )
413 throw( DOMException );
415 /**
416 *
417 */
418 virtual void unsuspendRedrawAll ( );
420 /**
421 *
422 */
423 virtual void forceRedraw ( );
425 /**
426 *
427 */
428 virtual void pauseAnimations ( );
430 /**
431 *
432 */
433 virtual void unpauseAnimations ( );
435 /**
436 *
437 */
438 virtual bool animationsPaused ( );
440 /**
441 *
442 */
443 virtual double getCurrentTime ( )
444 { return currentTime; }
446 /**
447 *
448 */
449 virtual void setCurrentTime (double seconds )
450 { currentTime = seconds; }
452 /**
453 *
454 */
455 virtual NodeList getIntersectionList (const SVGRect &rect,
456 const SVGElementPtr referenceElement );
458 /**
459 *
460 */
461 virtual NodeList getEnclosureList (const SVGRect &rect,
462 const SVGElementPtr referenceElement );
464 /**
465 *
466 */
467 virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect );
469 /**
470 *
471 */
472 virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect );
474 /**
475 *
476 */
477 virtual void deselectAll ( );
479 /**
480 *
481 */
482 virtual SVGNumber createSVGNumber ( )
483 {
484 SVGNumber ret;
485 return ret;
486 }
488 /**
489 *
490 */
491 virtual SVGLength createSVGLength ( )
492 {
493 SVGLength ret;
494 return ret;
495 }
497 /**
498 *
499 */
500 virtual SVGAngle createSVGAngle ( )
501 {
502 SVGAngle ret;
503 return ret;
504 }
506 /**
507 *
508 */
509 virtual SVGPoint createSVGPoint ( )
510 {
511 SVGPoint ret;
512 return ret;
513 }
515 /**
516 *
517 */
518 virtual SVGMatrix createSVGMatrix ( )
519 {
520 SVGMatrix ret;
521 return ret;
522 }
524 /**
525 *
526 */
527 virtual SVGRect createSVGRect ( )
528 {
529 SVGRect ret;
530 return ret;
531 }
533 /**
534 *
535 */
536 virtual SVGTransform createSVGTransform ( )
537 {
538 SVGTransform ret;
539 return ret;
540 }
542 /**
543 *
544 */
545 virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix )
546 {
547 SVGTransform ret;
548 ret.setMatrix(matrix);
549 return ret;
550 }
553 /**
554 *
555 */
556 virtual ElementPtr getElementById (const DOMString& elementId );
560 //##################
561 //# Non-API methods
562 //##################
564 /**
565 *
566 */
567 SVGSVGElementImpl() : SVGElementImpl()
568 {}
572 /**
573 *
574 */
575 virtual ~SVGSVGElementImpl() {}
577 protected:
579 SVGAnimatedLength x;
580 SVGAnimatedLength y;
581 SVGAnimatedLength width;
582 SVGAnimatedLength height;
583 DOMString contentScriptType;
584 DOMString contentStyleType;
585 SVGRect viewport;
586 double pixelUnitToMillimeterX;
587 double pixelUnitToMillimeterY;
588 double screenPixelToMillimeterX;
589 double screenPixelToMillimeterY;
590 bool useCurrentView;
591 SVGViewSpec currentView;
592 double currentScale;
593 SVGPoint currentTranslate;
595 double currentTime;
597 };
601 /*#########################################################################
602 ## SVGGElementImpl
603 #########################################################################*/
605 /**
606 *
607 */
608 class SVGGElementImpl : virtual public SVGGElement, public SVGElementImpl
609 {
610 public:
612 //##################
613 //# Non-API methods
614 //##################
616 /**
617 *
618 */
619 SVGGElementImpl() {}
621 /**
622 *
623 */
624 virtual ~SVGGElementImpl() {}
626 protected:
629 };
634 /*#########################################################################
635 ## SVGDefsElementImpl
636 #########################################################################*/
638 /**
639 *
640 */
641 class SVGDefsElementImpl : virtual public SVGDefsElement,
642 public SVGElementImpl
643 {
644 public:
646 //##################
647 //# Non-API methods
648 //##################
650 /**
651 *
652 */
653 SVGDefsElementImpl() {}
655 /**
656 *
657 */
658 virtual ~SVGDefsElementImpl() {}
660 protected:
663 };
669 /*#########################################################################
670 ## SVGDescElementImpl
671 #########################################################################*/
673 /**
674 *
675 */
676 class SVGDescElementImpl : virtual public SVGDescElement,
677 public SVGElementImpl
678 {
679 public:
681 //##################
682 //# Non-API methods
683 //##################
685 /**
686 *
687 */
688 SVGDescElementImpl() {}
690 /**
691 *
692 */
693 virtual ~SVGDescElementImpl() {}
695 protected:
698 };
704 /*#########################################################################
705 ## SVGTitleElementImpl
706 #########################################################################*/
708 /**
709 *
710 */
711 class SVGTitleElementImpl : virtual public SVGTitleElement,
712 public SVGElementImpl
713 {
714 public:
716 //##################
717 //# Non-API methods
718 //##################
720 /**
721 *
722 */
723 SVGTitleElementImpl() {}
725 /**
726 *
727 */
728 virtual ~SVGTitleElementImpl() {}
730 protected:
733 };
739 /*#########################################################################
740 ## SVGSymbolElementImpl
741 #########################################################################*/
743 /**
744 *
745 */
746 class SVGSymbolElementImpl : virtual public SVGSymbolElement,
747 public SVGElementImpl
748 {
749 public:
751 //##################
752 //# Non-API methods
753 //##################
755 /**
756 *
757 */
758 SVGSymbolElementImpl() {}
760 /**
761 *
762 */
763 virtual ~SVGSymbolElementImpl() {}
765 protected:
768 };
774 /*#########################################################################
775 ## SVGUseElementImpl
776 #########################################################################*/
778 /**
779 *
780 */
781 class SVGUseElementImpl : public SVGElementImpl
782 {
783 public:
786 /**
787 *
788 */
789 virtual SVGAnimatedLength getX()
790 { return x; }
792 /**
793 *
794 */
795 virtual SVGAnimatedLength getY()
796 { return y; }
798 /**
799 *
800 */
801 virtual SVGAnimatedLength getWidth()
802 { return width; }
804 /**
805 *
806 */
807 virtual SVGAnimatedLength getHeight()
808 { return height; }
810 /**
811 *
812 */
813 virtual SVGElementInstance getInstanceRoot()
814 { return instanceRoot; }
816 /**
817 *
818 */
819 virtual SVGElementInstance getAnimatedInstanceRoot()
820 { return animatedInstanceRoot; }
824 //##################
825 //# Non-API methods
826 //##################
828 /**
829 *
830 */
831 SVGUseElementImpl() {}
833 /**
834 *
835 */
836 virtual ~SVGUseElementImpl() {}
838 protected:
840 SVGAnimatedLength x;
841 SVGAnimatedLength y;
842 SVGAnimatedLength width;
843 SVGAnimatedLength height;
844 SVGElementInstance instanceRoot;
845 SVGElementInstance animatedInstanceRoot;
846 };
854 /*#########################################################################
855 ## SVGImageElementImpl
856 #########################################################################*/
858 /**
859 *
860 */
861 class SVGImageElementImpl : virtual public SVGImageElement,
862 public SVGElementImpl
863 {
864 public:
867 /**
868 *
869 */
870 virtual SVGAnimatedLength getX()
871 { return x; }
873 /**
874 *
875 */
876 virtual SVGAnimatedLength getY()
877 { return y; }
879 /**
880 *
881 */
882 virtual SVGAnimatedLength getWidth()
883 { return width; }
885 /**
886 *
887 */
888 virtual SVGAnimatedLength getHeight()
889 { return height; }
892 /**
893 *
894 */
895 virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
896 { return preserveAspectRatio; }
900 //##################
901 //# Non-API methods
902 //##################
904 /**
905 *
906 */
907 SVGImageElementImpl() {}
909 /**
910 *
911 */
912 virtual ~SVGImageElementImpl() {}
914 protected:
916 SVGAnimatedLength x;
917 SVGAnimatedLength y;
918 SVGAnimatedLength width;
919 SVGAnimatedLength height;
920 SVGAnimatedPreserveAspectRatio preserveAspectRatio;
921 };
928 /*#########################################################################
929 ## SVGSwitchElementImpl
930 #########################################################################*/
932 /**
933 *
934 */
935 class SVGSwitchElementImpl : virtual public SVGSwitchElement,
936 public SVGElementImpl
937 {
938 public:
940 //##################
941 //# Non-API methods
942 //##################
944 /**
945 *
946 */
947 SVGSwitchElementImpl() {}
949 /**
950 *
951 */
952 virtual ~SVGSwitchElementImpl() {}
954 protected:
957 };
963 /*#########################################################################
964 ## GetSVGDocumentImpl
965 #########################################################################*/
967 /**
968 *
969 */
970 class GetSVGDocumentImpl : public virtual GetSVGDocument
971 {
972 public:
974 /**
975 *
976 */
977 virtual SVGDocumentPtr getSVGDocument ( )
978 throw( DOMException );
980 //##################
981 //# Non-API methods
982 //##################
984 /**
985 *
986 */
987 GetSVGDocumentImpl() {}
989 /**
990 *
991 */
992 virtual ~GetSVGDocumentImpl() {}
994 protected:
997 };
1005 /*#########################################################################
1006 ## SVGStyleElementImpl
1007 #########################################################################*/
1009 /**
1010 *
1011 */
1012 class SVGStyleElementImpl : virtual public SVGStyleElement,
1013 public SVGElementImpl
1014 {
1015 public:
1017 /**
1018 *
1019 */
1020 virtual DOMString getXmlspace()
1021 { return xmlSpace; }
1023 /**
1024 *
1025 */
1026 virtual void setXmlspace(const DOMString &val)
1027 throw (DOMException)
1028 { xmlSpace = val; }
1030 /**
1031 *
1032 */
1033 virtual DOMString getType()
1034 { return type; }
1036 /**
1037 *
1038 */
1039 virtual void setType(const DOMString &val)
1040 throw (DOMException)
1041 { type = val; }
1043 /**
1044 *
1045 */
1046 virtual DOMString getMedia()
1047 { return media; }
1049 /**
1050 *
1051 */
1052 virtual void setMedia(const DOMString &val)
1053 throw (DOMException)
1054 { media = val; }
1056 /**
1057 *
1058 */
1059 virtual DOMString getTitle()
1060 { return title; }
1062 /**
1063 *
1064 */
1065 virtual void setTitle(const DOMString &val)
1066 throw (DOMException)
1067 { title = val; }
1071 //##################
1072 //# Non-API methods
1073 //##################
1075 /**
1076 *
1077 */
1078 SVGStyleElementImpl() {}
1080 /**
1081 *
1082 */
1083 virtual ~SVGStyleElementImpl() {}
1085 protected:
1087 DOMString xmlSpace;
1088 DOMString type;
1089 DOMString media;
1090 DOMString title;
1092 };
1099 /*#########################################################################
1100 ## SVGPathElementImpl
1101 #########################################################################*/
1103 /**
1104 *
1105 */
1106 class SVGPathElementImpl : virtual public SVGPathElement,
1107 public SVGElementImpl
1108 {
1109 public:
1111 /**
1112 *
1113 */
1114 virtual SVGAnimatedNumber getPathLength();
1116 /**
1117 *
1118 */
1119 virtual double getTotalLength ( );
1121 /**
1122 *
1123 */
1124 virtual SVGPoint getPointAtLength (double distance );
1126 /**
1127 *
1128 */
1129 virtual unsigned long getPathSegAtLength (double distance );
1131 /**
1132 *
1133 */
1134 virtual SVGPathSegClosePath
1135 createSVGPathSegClosePath ( )
1136 {
1137 SVGPathSegClosePath ret;
1138 return ret;
1139 }
1141 /**
1142 *
1143 */
1144 virtual SVGPathSegMovetoAbs
1145 createSVGPathSegMovetoAbs (double x, double y )
1146 {
1147 SVGPathSegMovetoAbs ret(x, y);
1148 return ret;
1149 }
1151 /**
1152 *
1153 */
1154 virtual SVGPathSegMovetoRel
1155 createSVGPathSegMovetoRel (double x, double y )
1156 {
1157 SVGPathSegMovetoRel ret(x, y);
1158 return ret;
1159 }
1161 /**
1162 *
1163 */
1164 virtual SVGPathSegLinetoAbs
1165 createSVGPathSegLinetoAbs (double x, double y )
1166 {
1167 SVGPathSegLinetoAbs ret(x, y);
1168 return ret;
1169 }
1171 /**
1172 *
1173 */
1174 virtual SVGPathSegLinetoRel
1175 createSVGPathSegLinetoRel (double x, double y )
1176 {
1177 SVGPathSegLinetoRel ret(x, y);
1178 return ret;
1179 }
1181 /**
1182 *
1183 */
1184 virtual SVGPathSegCurvetoCubicAbs
1185 createSVGPathSegCurvetoCubicAbs (double x, double y,
1186 double x1, double y1, double x2, double y2 )
1187 {
1188 SVGPathSegCurvetoCubicAbs ret(x, y, x1, y1, x2, y2);
1189 return ret;
1190 }
1192 /**
1193 *
1194 */
1195 virtual SVGPathSegCurvetoCubicRel
1196 createSVGPathSegCurvetoCubicRel (double x, double y,
1197 double x1, double y1, double x2, double y2 )
1198 {
1199 SVGPathSegCurvetoCubicRel ret(x, y, x1, y1, x2, y2);
1200 return ret;
1201 }
1203 /**
1204 *
1205 */
1206 virtual SVGPathSegCurvetoQuadraticAbs
1207 createSVGPathSegCurvetoQuadraticAbs (double x, double y,
1208 double x1, double y1 )
1209 {
1210 SVGPathSegCurvetoQuadraticAbs ret(x, y, x1, y1);
1211 return ret;
1212 }
1214 /**
1215 *
1216 */
1217 virtual SVGPathSegCurvetoQuadraticRel
1218 createSVGPathSegCurvetoQuadraticRel (double x, double y,
1219 double x1, double y1 )
1220 {
1221 SVGPathSegCurvetoQuadraticRel ret(x, y, x1, y1);
1222 return ret;
1223 }
1225 /**
1226 *
1227 */
1228 virtual SVGPathSegArcAbs
1229 createSVGPathSegArcAbs (double x, double y,
1230 double r1, double r2, double angle,
1231 bool largeArcFlag, bool sweepFlag )
1232 {
1233 SVGPathSegArcAbs ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1234 return ret;
1235 }
1237 /**
1238 *
1239 */
1240 virtual SVGPathSegArcRel
1241 createSVGPathSegArcRel (double x, double y, double r1,
1242 double r2, double angle, bool largeArcFlag,
1243 bool sweepFlag )
1244 {
1245 SVGPathSegArcRel ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1246 return ret;
1247 }
1249 /**
1250 *
1251 */
1252 virtual SVGPathSegLinetoHorizontalAbs
1253 createSVGPathSegLinetoHorizontalAbs (double x )
1254 {
1255 SVGPathSegLinetoHorizontalAbs ret(x);
1256 return ret;
1257 }
1259 /**
1260 *
1261 */
1262 virtual SVGPathSegLinetoHorizontalRel
1263 createSVGPathSegLinetoHorizontalRel (double x )
1264 {
1265 SVGPathSegLinetoHorizontalRel ret(x);
1266 return ret;
1267 }
1269 /**
1270 *
1271 */
1272 virtual SVGPathSegLinetoVerticalAbs
1273 createSVGPathSegLinetoVerticalAbs (double y )
1274 {
1275 SVGPathSegLinetoVerticalAbs ret(y);
1276 return ret;
1277 }
1279 /**
1280 *
1281 */
1282 virtual SVGPathSegLinetoVerticalRel
1283 createSVGPathSegLinetoVerticalRel (double y )
1284 {
1285 SVGPathSegLinetoVerticalRel ret(y);
1286 return ret;
1287 }
1289 /**
1290 *
1291 */
1292 virtual SVGPathSegCurvetoCubicSmoothAbs
1293 createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
1294 double x2, double y2 )
1295 {
1296 SVGPathSegCurvetoCubicSmoothAbs ret(x, y, x2, y2);
1297 return ret;
1298 }
1300 /**
1301 *
1302 */
1303 virtual SVGPathSegCurvetoCubicSmoothRel
1304 createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
1305 double x2, double y2 )
1306 {
1307 SVGPathSegCurvetoCubicSmoothRel ret(x, y, x2, y2);
1308 return ret;
1309 }
1311 /**
1312 *
1313 */
1314 virtual SVGPathSegCurvetoQuadraticSmoothAbs
1315 createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y )
1316 {
1317 SVGPathSegCurvetoQuadraticSmoothAbs ret(x, y);
1318 return ret;
1319 }
1321 /**
1322 *
1323 */
1324 virtual SVGPathSegCurvetoQuadraticSmoothRel
1325 createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y )
1326 {
1327 SVGPathSegCurvetoQuadraticSmoothRel ret(x, y);
1328 return ret;
1329 }
1333 //##################
1334 //# Non-API methods
1335 //##################
1337 /**
1338 *
1339 */
1340 SVGPathElementImpl() {}
1343 /**
1344 *
1345 */
1346 virtual ~SVGPathElementImpl() {}
1348 protected:
1351 };
1359 /*#########################################################################
1360 ## SVGRectElementImpl
1361 #########################################################################*/
1363 /**
1364 *
1365 */
1366 class SVGRectElementImpl : virtual public SVGRectElement,
1367 public SVGElementImpl
1368 {
1369 public:
1371 /**
1372 *
1373 */
1374 virtual SVGAnimatedLength getX()
1375 { return x; }
1377 /**
1378 *
1379 */
1380 virtual SVGAnimatedLength getY()
1381 { return y; }
1383 /**
1384 *
1385 */
1386 virtual SVGAnimatedLength getWidth()
1387 { return width; }
1389 /**
1390 *
1391 */
1392 virtual SVGAnimatedLength getHeight()
1393 { return height; }
1396 /**
1397 *
1398 */
1399 virtual SVGAnimatedLength getRx()
1400 { return rx; }
1402 /**
1403 *
1404 */
1405 virtual SVGAnimatedLength getRy()
1406 { return ry; }
1410 //##################
1411 //# Non-API methods
1412 //##################
1414 /**
1415 *
1416 */
1417 SVGRectElementImpl() {}
1419 /**
1420 *
1421 */
1422 virtual ~SVGRectElementImpl() {}
1424 protected:
1426 SVGAnimatedLength x;
1427 SVGAnimatedLength y;
1428 SVGAnimatedLength width;
1429 SVGAnimatedLength height;
1430 SVGAnimatedLength rx;
1431 SVGAnimatedLength ry;
1433 };
1440 /*#########################################################################
1441 ## SVGCircleElementImpl
1442 #########################################################################*/
1444 /**
1445 *
1446 */
1447 class SVGCircleElementImpl : virtual public SVGCircleElement,
1448 public SVGElementImpl
1449 {
1450 public:
1452 /**
1453 *
1454 */
1455 virtual SVGAnimatedLength getCx()
1456 { return cx; }
1458 /**
1459 *
1460 */
1461 virtual SVGAnimatedLength getCy()
1462 { return cy; }
1464 /**
1465 *
1466 */
1467 virtual SVGAnimatedLength getR()
1468 { return r; }
1472 //##################
1473 //# Non-API methods
1474 //##################
1476 /**
1477 *
1478 */
1479 SVGCircleElementImpl() {}
1481 /**
1482 *
1483 */
1484 virtual ~SVGCircleElementImpl() {}
1486 protected:
1488 SVGAnimatedLength cx;
1489 SVGAnimatedLength cy;
1490 SVGAnimatedLength r;
1491 };
1498 /*#########################################################################
1499 ## SVGEllipseElementImpl
1500 #########################################################################*/
1502 /**
1503 *
1504 */
1505 class SVGEllipseElementImpl : virtual public SVGEllipseElement,
1506 public SVGElementImpl
1507 {
1508 public:
1510 /**
1511 *
1512 */
1513 virtual SVGAnimatedLength getCx()
1514 { return cx; }
1516 /**
1517 *
1518 */
1519 virtual SVGAnimatedLength getCy()
1520 { return cy; }
1522 /**
1523 *
1524 */
1525 virtual SVGAnimatedLength getRx()
1526 { return rx; }
1528 /**
1529 *
1530 */
1531 virtual SVGAnimatedLength getRy()
1532 { return ry; }
1535 //##################
1536 //# Non-API methods
1537 //##################
1539 /**
1540 *
1541 */
1542 SVGEllipseElementImpl() {}
1544 /**
1545 *
1546 */
1547 virtual ~SVGEllipseElementImpl() {}
1549 protected:
1551 SVGAnimatedLength cx;
1552 SVGAnimatedLength cy;
1553 SVGAnimatedLength rx;
1554 SVGAnimatedLength ry;
1555 };
1562 /*#########################################################################
1563 ## SVGLineElement
1564 #########################################################################*/
1566 /**
1567 *
1568 */
1569 class SVGLineElementImpl : virtual public SVGLineElement,
1570 public SVGElementImpl
1571 {
1572 public:
1574 /**
1575 *
1576 */
1577 virtual SVGAnimatedLength getX1()
1578 { return x1; }
1580 /**
1581 *
1582 */
1583 virtual SVGAnimatedLength getY1()
1584 { return y1; }
1586 /**
1587 *
1588 */
1589 virtual SVGAnimatedLength getX2()
1590 { return x2; }
1592 /**
1593 *
1594 */
1595 virtual SVGAnimatedLength getY2()
1596 { return y2; }
1598 //##################
1599 //# Non-API methods
1600 //##################
1602 /**
1603 *
1604 */
1605 virtual ~SVGLineElementImpl() {}
1607 protected:
1609 SVGAnimatedLength x1;
1610 SVGAnimatedLength x2;
1611 SVGAnimatedLength y1;
1612 SVGAnimatedLength y2;
1613 };
1618 /*#########################################################################
1619 ## SVGPolylineElement
1620 #########################################################################*/
1622 /**
1623 *
1624 */
1625 class SVGPolylineElementImpl : virtual public SVGPolylineElement,
1626 public SVGElementImpl
1627 {
1628 public:
1630 //##################
1631 //# Non-API methods
1632 //##################
1634 /**
1635 *
1636 */
1637 virtual ~SVGPolylineElementImpl() {}
1639 protected:
1642 };
1648 /*#########################################################################
1649 ## SVGPolygonElementImpl
1650 #########################################################################*/
1652 /**
1653 *
1654 */
1655 class SVGPolygonElementImpl : virtual public SVGPolygonElement,
1656 public SVGElementImpl
1657 {
1658 public:
1660 //##################
1661 //# Non-API methods
1662 //##################
1664 /**
1665 *
1666 */
1667 virtual ~SVGPolygonElementImpl() {}
1669 protected:
1672 };
1678 /*#########################################################################
1679 ## SVGTextContentElement
1680 #########################################################################*/
1682 /**
1683 *
1684 */
1685 class SVGTextContentElementImpl : virtual public SVGTextContentElement,
1686 public SVGElementImpl
1687 {
1688 public:
1690 /**
1691 *
1692 */
1693 virtual SVGAnimatedLength getTextLength();
1696 /**
1697 *
1698 */
1699 virtual SVGAnimatedEnumeration getLengthAdjust();
1702 /**
1703 *
1704 */
1705 virtual long getNumberOfChars( );
1707 /**
1708 *
1709 */
1710 virtual double getComputedTextLength( );
1712 /**
1713 *
1714 */
1715 virtual double getSubStringLength(unsigned long charnum,
1716 unsigned long nchars )
1717 throw( DOMException );
1719 /**
1720 *
1721 */
1722 virtual SVGPoint getStartPositionOfChar(unsigned long charnum )
1723 throw( DOMException );
1725 /**
1726 *
1727 */
1728 virtual SVGPoint getEndPositionOfChar(unsigned long charnum )
1729 throw( DOMException );
1731 /**
1732 *
1733 */
1734 virtual SVGRect getExtentOfChar(unsigned long charnum )
1735 throw( DOMException );
1737 /**
1738 *
1739 */
1740 virtual double getRotationOfChar(unsigned long charnum )
1741 throw( DOMException );
1743 /**
1744 *
1745 */
1746 virtual long getCharNumAtPosition(const SVGPoint &point );
1748 /**
1749 *
1750 */
1751 virtual void selectSubString(unsigned long charnum, unsigned long nchars )
1752 throw( DOMException );
1756 //##################
1757 //# Non-API methods
1758 //##################
1760 /**
1761 *
1762 */
1763 virtual ~SVGTextContentElementImpl() {}
1765 protected:
1768 };
1775 /*#########################################################################
1776 ## SVGTextPositioningElementImpl
1777 #########################################################################*/
1779 /**
1780 *
1781 */
1782 class SVGTextPositioningElementImpl : virtual public SVGTextPositioningElement,
1783 public SVGTextContentElementImpl
1784 {
1785 public:
1789 /**
1790 *
1791 */
1792 virtual SVGAnimatedLength getX()
1793 { return x; }
1795 /**
1796 *
1797 */
1798 virtual SVGAnimatedLength getY()
1799 { return y; }
1801 /**
1802 *
1803 */
1804 virtual SVGAnimatedLength getDx()
1805 { return dx; }
1807 /**
1808 *
1809 */
1810 virtual SVGAnimatedLength getDy()
1811 { return dy; }
1814 /**
1815 *
1816 */
1817 virtual SVGAnimatedNumberList getRotate()
1818 { return rotate; }
1822 //##################
1823 //# Non-API methods
1824 //##################
1826 /**
1827 *
1828 */
1829 virtual ~SVGTextPositioningElementImpl() {}
1831 protected:
1833 SVGAnimatedLength x;
1834 SVGAnimatedLength y;
1835 SVGAnimatedLength dx;
1836 SVGAnimatedLength dy;
1837 SVGAnimatedNumberList rotate;
1839 };
1847 /*#########################################################################
1848 ## SVGTextElement
1849 #########################################################################*/
1851 /**
1852 *
1853 */
1854 class SVGTextElementImpl : virtual public SVGTextElement,
1855 public SVGTextPositioningElementImpl
1856 {
1857 public:
1859 //##################
1860 //# Non-API methods
1861 //##################
1863 /**
1864 *
1865 */
1866 virtual ~SVGTextElementImpl() {}
1868 protected:
1871 };
1877 /*#########################################################################
1878 ## SVGTSpanElement
1879 #########################################################################*/
1881 /**
1882 *
1883 */
1884 class SVGTSpanElementImpl : virtual public SVGTSpanElement,
1885 public SVGTextPositioningElementImpl
1886 {
1887 public:
1889 //##################
1890 //# Non-API methods
1891 //##################
1893 /**
1894 *
1895 */
1896 virtual ~SVGTSpanElementImpl() {}
1898 protected:
1901 };
1907 /*#########################################################################
1908 ## SVGTRefElement
1909 #########################################################################*/
1911 /**
1912 *
1913 */
1914 class SVGTRefElementImpl : virtual public SVGTRefElement,
1915 public SVGTextPositioningElementImpl
1916 {
1917 public:
1919 //##################
1920 //# Non-API methods
1921 //##################
1923 /**
1924 *
1925 */
1926 virtual ~SVGTRefElementImpl() {}
1928 protected:
1931 };
1937 /*#########################################################################
1938 ## SVGTextPathElement
1939 #########################################################################*/
1941 /**
1942 *
1943 */
1944 class SVGTextPathElementImpl : virtual public SVGTextPathElement,
1945 public SVGTextContentElementImpl
1946 {
1947 public:
1949 /**
1950 *
1951 */
1952 virtual SVGAnimatedLength getStartOffset()
1953 { return startOffset; }
1955 /**
1956 *
1957 */
1958 virtual SVGAnimatedEnumeration getMethod()
1959 { return method; }
1961 /**
1962 *
1963 */
1964 virtual SVGAnimatedEnumeration getSpacing()
1965 { return spacing; }
1969 //##################
1970 //# Non-API methods
1971 //##################
1973 /**
1974 *
1975 */
1976 virtual ~SVGTextPathElementImpl() {}
1978 protected:
1980 SVGAnimatedLength startOffset;
1981 SVGAnimatedEnumeration method;
1982 SVGAnimatedEnumeration spacing;
1983 };
1991 /*#########################################################################
1992 ## SVGAltGlyphElement
1993 #########################################################################*/
1995 /**
1996 *
1997 */
1998 class SVGAltGlyphElementImpl : virtual public SVGAltGlyphElement,
1999 public SVGTextPositioningElementImpl
2000 {
2001 public:
2003 /**
2004 *
2005 */
2006 virtual DOMString getGlyphRef()
2007 { return glyphRef; }
2009 /**
2010 *
2011 */
2012 virtual void setGlyphRef(const DOMString &val)
2013 throw (DOMException)
2014 { glyphRef = val; }
2016 /**
2017 *
2018 */
2019 virtual DOMString getFormat()
2020 { return format; }
2022 /**
2023 *
2024 */
2025 virtual void setFormat(const DOMString &val)
2026 throw (DOMException)
2027 { format = val; }
2032 //##################
2033 //# Non-API methods
2034 //##################
2036 /**
2037 *
2038 */
2039 virtual ~SVGAltGlyphElementImpl() {}
2041 protected:
2043 DOMString glyphRef;
2044 DOMString format;
2046 };
2054 /*#########################################################################
2055 ## SVGAltGlyphDefElementImpl
2056 #########################################################################*/
2058 /**
2059 *
2060 */
2061 class SVGAltGlyphDefElementImpl : virtual public SVGAltGlyphDefElement,
2062 public SVGElementImpl
2063 {
2064 public:
2066 //##################
2067 //# Non-API methods
2068 //##################
2070 /**
2071 *
2072 */
2073 virtual ~SVGAltGlyphDefElementImpl() {}
2075 protected:
2078 };
2084 /*#########################################################################
2085 ## SVGAltGlyphItemElementImpl
2086 #########################################################################*/
2088 /**
2089 *
2090 */
2091 class SVGAltGlyphItemElementImpl : virtual public SVGAltGlyphItemElement,
2092 public SVGElementImpl
2093 {
2094 public:
2096 //##################
2097 //# Non-API methods
2098 //##################
2100 /**
2101 *
2102 */
2103 virtual ~SVGAltGlyphItemElementImpl() {}
2105 protected:
2108 };
2114 /*#########################################################################
2115 ## SVGGlyphRefElementImpl
2116 #########################################################################*/
2118 /**
2119 *
2120 */
2121 class SVGGlyphRefElementImpl : virtual public SVGGlyphRefElement,
2122 public SVGElementImpl
2123 {
2124 public:
2125 /**
2126 *
2127 */
2128 virtual DOMString getGlyphRef()
2129 { return glyphRef; }
2131 /**
2132 *
2133 */
2134 virtual void setGlyphRef(const DOMString &val) throw (DOMException)
2135 { glyphRef = val; }
2137 /**
2138 *
2139 */
2140 virtual DOMString getFormat()
2141 { return format; }
2143 /**
2144 *
2145 */
2146 virtual void setFormat(const DOMString &val) throw (DOMException)
2147 { format = val; }
2149 /**
2150 *
2151 */
2152 virtual double getX()
2153 { return x; }
2155 /**
2156 *
2157 */
2158 virtual void setX(double val) throw (DOMException)
2159 { x = val; }
2161 /**
2162 *
2163 */
2164 virtual double getY()
2165 { return y; }
2167 /**
2168 *
2169 */
2170 virtual void setY(double val) throw (DOMException)
2171 { y = val; }
2173 /**
2174 *
2175 */
2176 virtual double getDx()
2177 { return dx; }
2179 /**
2180 *
2181 */
2182 virtual void setDx(double val) throw (DOMException)
2183 { dx = val; }
2185 /**
2186 *
2187 */
2188 virtual double getDy()
2189 { return dy; }
2191 /**
2192 *
2193 */
2194 virtual void setDy(double val) throw (DOMException)
2195 { dy = val; }
2200 //##################
2201 //# Non-API methods
2202 //##################
2204 /**
2205 *
2206 */
2207 virtual ~SVGGlyphRefElementImpl() {}
2209 protected:
2211 DOMString glyphRef;
2212 DOMString format;
2213 double x, y, dx, dy;
2215 };
2222 /*#########################################################################
2223 ## SVGMarkerElementImpl
2224 #########################################################################*/
2226 /**
2227 *
2228 */
2229 class SVGMarkerElementImpl : virtual public SVGMarkerElement,
2230 public SVGElementImpl
2231 {
2232 public:
2234 /**
2235 *
2236 */
2237 virtual SVGAnimatedLength getRefX()
2238 { return refX; }
2240 /**
2241 *
2242 */
2243 virtual SVGAnimatedLength getRefY()
2244 { return refY; }
2246 /**
2247 *
2248 */
2249 virtual SVGAnimatedEnumeration getMarkerUnits()
2250 { return markerUnits; }
2252 /**
2253 *
2254 */
2255 virtual SVGAnimatedLength getMarkerWidth()
2256 { return markerWidth; }
2258 /**
2259 *
2260 */
2261 virtual SVGAnimatedLength getMarkerHeight()
2262 { return markerHeight; }
2264 /**
2265 *
2266 */
2267 virtual SVGAnimatedEnumeration getOrientType()
2268 { return orientType; }
2270 /**
2271 *
2272 */
2273 virtual SVGAnimatedAngle getOrientAngle()
2274 { return orientAngle; }
2277 /**
2278 *
2279 */
2280 virtual void setOrientToAuto ( )
2281 { orientAuto = true; }
2283 /**
2284 *
2285 */
2286 virtual void setOrientToAngle (const SVGAngle &angle)
2287 {
2288 orientAuto = false;
2289 orientAngle = SVGAnimatedAngle(angle);
2290 }
2294 //##################
2295 //# Non-API methods
2296 //##################
2298 /**
2299 *
2300 */
2301 virtual ~SVGMarkerElementImpl() {}
2303 protected:
2305 SVGAnimatedLength refX;
2306 SVGAnimatedLength refY;
2307 SVGAnimatedEnumeration markerUnits;
2308 SVGAnimatedLength markerWidth;
2309 SVGAnimatedLength markerHeight;
2310 SVGAnimatedEnumeration orientType;
2311 SVGAnimatedAngle orientAngle;
2312 bool orientAuto;
2315 };
2323 /*#########################################################################
2324 ## SVGColorProfileElementImpl
2325 #########################################################################*/
2327 /**
2328 *
2329 */
2330 class SVGColorProfileElementImpl : virtual public SVGColorProfileElement,
2331 public SVGElementImpl
2332 {
2333 public:
2334 /**
2335 *
2336 */
2337 virtual DOMString getLocal()
2338 { return local; }
2340 /**
2341 *
2342 */
2343 virtual void setLocal(const DOMString &val) throw (DOMException)
2344 { local = val; }
2346 /**
2347 *
2348 */
2349 virtual DOMString getName()
2350 { return name; }
2352 /**
2353 *
2354 */
2355 virtual void setName(const DOMString &val) throw (DOMException)
2356 { name = val; }
2358 /**
2359 *
2360 */
2361 virtual unsigned short getRenderingIntent()
2362 { return renderingIntent; }
2364 /**
2365 *
2366 */
2367 virtual void setRenderingIntent(unsigned short val) throw (DOMException)
2368 { renderingIntent = val; }
2372 //##################
2373 //# Non-API methods
2374 //##################
2376 /**
2377 *
2378 */
2379 virtual ~SVGColorProfileElementImpl() {}
2381 protected:
2383 DOMString local;
2384 DOMString name;
2385 unsigned short renderingIntent;
2387 };
2393 /*#########################################################################
2394 ## SVGGradientElementImpl
2395 #########################################################################*/
2397 /**
2398 *
2399 */
2400 class SVGGradientElementImpl : virtual public SVGGradientElement,
2401 public SVGElementImpl
2402 {
2403 public:
2405 /**
2406 *
2407 */
2408 virtual SVGAnimatedEnumeration getGradientUnits()
2409 { return gradientUnits; }
2411 /**
2412 *
2413 */
2414 virtual SVGAnimatedTransformList getGradientTransform()
2415 { return gradientTransform; }
2417 /**
2418 *
2419 */
2420 virtual SVGAnimatedEnumeration getSpreadMethod()
2421 { return spreadMethod; }
2425 //##################
2426 //# Non-API methods
2427 //##################
2429 /**
2430 *
2431 */
2432 virtual ~SVGGradientElementImpl() {}
2434 protected:
2437 SVGAnimatedEnumeration gradientUnits;
2438 SVGAnimatedTransformList gradientTransform;
2439 SVGAnimatedEnumeration spreadMethod;
2440 };
2448 /*#########################################################################
2449 ## SVGLinearGradientElementImpl
2450 #########################################################################*/
2452 /**
2453 *
2454 */
2455 class SVGLinearGradientElementImpl : virtual public SVGLinearGradientElement,
2456 public SVGGradientElementImpl
2457 {
2458 public:
2461 /**
2462 *
2463 */
2464 virtual SVGAnimatedLength getX1()
2465 { return x1; }
2467 /**
2468 *
2469 */
2470 virtual SVGAnimatedLength getY1()
2471 { return y1; }
2473 /**
2474 *
2475 */
2476 virtual SVGAnimatedLength getX2()
2477 { return x2; }
2479 /**
2480 *
2481 */
2482 virtual SVGAnimatedLength getY2()
2483 { return y2; }
2486 //##################
2487 //# Non-API methods
2488 //##################
2490 /**
2491 *
2492 */
2493 virtual ~SVGLinearGradientElementImpl() {}
2495 protected:
2497 SVGAnimatedLength x1, x2, y1, y2;
2499 };
2507 /*#########################################################################
2508 ## SVGRadialGradientElementImpl
2509 #########################################################################*/
2511 /**
2512 *
2513 */
2514 class SVGRadialGradientElementImpl : virtual public SVGRadialGradientElement,
2515 public SVGGradientElementImpl
2516 {
2517 public:
2520 /**
2521 *
2522 */
2523 virtual SVGAnimatedLength getCx()
2524 { return cx; }
2527 /**
2528 *
2529 */
2530 virtual SVGAnimatedLength getCy()
2531 { return cy; }
2534 /**
2535 *
2536 */
2537 virtual SVGAnimatedLength getR()
2538 { return r; }
2541 /**
2542 *
2543 */
2544 virtual SVGAnimatedLength getFx()
2545 { return fx; }
2548 /**
2549 *
2550 */
2551 virtual SVGAnimatedLength getFy()
2552 { return fy; }
2557 //##################
2558 //# Non-API methods
2559 //##################
2561 /**
2562 *
2563 */
2564 virtual ~SVGRadialGradientElementImpl() {}
2566 protected:
2568 SVGAnimatedLength cx, cy, r, fx, fy;
2570 };
2578 /*#########################################################################
2579 ## SVGStopElementImpl
2580 #########################################################################*/
2582 /**
2583 *
2584 */
2585 class SVGStopElementImpl : virtual public SVGStopElement,
2586 public SVGElementImpl
2587 {
2588 public:
2590 /**
2591 *
2592 */
2593 virtual SVGAnimatedNumber getOffset()
2594 { return offset; }
2598 //##################
2599 //# Non-API methods
2600 //##################
2602 /**
2603 *
2604 */
2605 virtual ~SVGStopElementImpl() {}
2607 protected:
2609 SVGAnimatedNumber offset;
2611 };
2619 /*#########################################################################
2620 ## SVGPatternElementImpl
2621 #########################################################################*/
2623 /**
2624 *
2625 */
2626 class SVGPatternElementImpl : virtual public SVGPatternElement,
2627 public SVGElementImpl
2628 {
2629 public:
2631 /**
2632 *
2633 */
2634 virtual SVGAnimatedEnumeration getPatternUnits()
2635 { return patternUnits; }
2637 /**
2638 *
2639 */
2640 virtual SVGAnimatedEnumeration getPatternContentUnits()
2641 { return patternContentUnits; }
2643 /**
2644 *
2645 */
2646 virtual SVGAnimatedTransformList getPatternTransform()
2647 { return patternTransform; }
2649 /**
2650 *
2651 */
2652 virtual SVGAnimatedLength getX()
2653 { return x; }
2655 /**
2656 *
2657 */
2658 virtual SVGAnimatedLength getY()
2659 { return y; }
2661 /**
2662 *
2663 */
2664 virtual SVGAnimatedLength getWidth()
2665 { return width; }
2667 /**
2668 *
2669 */
2670 virtual SVGAnimatedLength getHeight()
2671 { return height; }
2675 //##################
2676 //# Non-API methods
2677 //##################
2679 /**
2680 *
2681 */
2682 virtual ~SVGPatternElementImpl() {}
2684 protected:
2687 SVGAnimatedEnumeration patternUnits;
2688 SVGAnimatedEnumeration patternContentUnits;
2689 SVGAnimatedTransformList patternTransform;
2690 SVGAnimatedLength x;
2691 SVGAnimatedLength y;
2692 SVGAnimatedLength width;
2693 SVGAnimatedLength height;
2694 };
2702 /*#########################################################################
2703 ## SVGClipPathElementImpl
2704 #########################################################################*/
2706 /**
2707 *
2708 */
2709 class SVGClipPathElementImpl : virtual public SVGClipPathElement,
2710 public SVGElementImpl
2711 {
2712 public:
2714 /**
2715 *
2716 */
2717 virtual SVGAnimatedEnumeration getClipPathUnits()
2718 { return clipPathUnits; }
2720 //##################
2721 //# Non-API methods
2722 //##################
2724 /**
2725 *
2726 */
2727 virtual ~SVGClipPathElementImpl() {}
2729 protected:
2731 SVGAnimatedEnumeration clipPathUnits;
2733 };
2741 /*#########################################################################
2742 ## SVGMaskElementImpl
2743 #########################################################################*/
2745 /**
2746 *
2747 */
2748 class SVGMaskElementImpl : virtual public SVGMaskElement,
2749 public SVGElementImpl
2750 {
2751 public:
2753 /**
2754 *
2755 */
2756 virtual SVGAnimatedEnumeration getMaskUnits()
2757 { return maskUnits; }
2759 /**
2760 *
2761 */
2762 virtual SVGAnimatedEnumeration getMaskContentUnits()
2763 { return maskContentUnits; }
2765 /**
2766 *
2767 */
2768 virtual SVGAnimatedLength getX()
2769 { return x; }
2771 /**
2772 *
2773 */
2774 virtual SVGAnimatedLength getY()
2775 { return y; }
2777 /**
2778 *
2779 */
2780 virtual SVGAnimatedLength getWidth()
2781 { return width; }
2783 /**
2784 *
2785 */
2786 virtual SVGAnimatedLength getHeight()
2787 { return height; }
2789 //##################
2790 //# Non-API methods
2791 //##################
2793 /**
2794 *
2795 */
2796 virtual ~SVGMaskElementImpl() {}
2798 protected:
2801 SVGAnimatedEnumeration maskUnits;
2802 SVGAnimatedEnumeration maskContentUnits;
2803 SVGAnimatedLength x;
2804 SVGAnimatedLength y;
2805 SVGAnimatedLength width;
2806 SVGAnimatedLength height;
2807 };
2815 /*#########################################################################
2816 ## SVGFilterElementImpl
2817 #########################################################################*/
2819 /**
2820 *
2821 */
2822 class SVGFilterElementImpl : virtual public SVGFilterElement,
2823 public SVGElementImpl
2824 {
2825 public:
2827 /**
2828 *
2829 */
2830 virtual SVGAnimatedEnumeration getFilterUnits()
2831 { return filterUnits; }
2833 /**
2834 *
2835 */
2836 virtual SVGAnimatedEnumeration getPrimitiveUnits()
2837 { return filterUnits; }
2839 /**
2840 *
2841 */
2842 virtual SVGAnimatedLength getX()
2843 { return x; }
2845 /**
2846 *
2847 */
2848 virtual SVGAnimatedLength getY()
2849 { return y; }
2851 /**
2852 *
2853 */
2854 virtual SVGAnimatedLength getWidth()
2855 { return width; }
2857 /**
2858 *
2859 */
2860 virtual SVGAnimatedLength getHeight()
2861 { return height; }
2863 /**
2864 *
2865 */
2866 virtual SVGAnimatedInteger getFilterResX()
2867 { return filterResX; }
2869 /**
2870 *
2871 */
2872 virtual SVGAnimatedInteger getFilterResY()
2873 { return filterResY; }
2875 /**
2876 *
2877 */
2878 virtual void setFilterRes (unsigned long filterResXArg,
2879 unsigned long filterResYArg )
2880 {
2881 filterResX = filterResXArg;
2882 filterResY = filterResYArg;
2883 }
2887 //##################
2888 //# Non-API methods
2889 //##################
2891 /**
2892 *
2893 */
2894 virtual ~SVGFilterElementImpl() {}
2896 protected:
2898 SVGAnimatedEnumeration filterUnits;
2899 SVGAnimatedEnumeration primitiveUnits;
2900 SVGAnimatedLength x;
2901 SVGAnimatedLength y;
2902 SVGAnimatedLength width;
2903 SVGAnimatedLength height;
2904 SVGAnimatedInteger filterResX;
2905 SVGAnimatedInteger filterResY;
2907 };
2914 /*#########################################################################
2915 ## SVGFEBlendElementImpl
2916 #########################################################################*/
2918 /**
2919 *
2920 */
2921 class SVGFEBlendElementImpl : virtual public SVGFEBlendElement,
2922 public SVGElementImpl
2923 {
2924 public:
2926 /**
2927 *
2928 */
2929 virtual SVGAnimatedString getIn1()
2930 { return in1; }
2932 /**
2933 *
2934 */
2935 virtual SVGAnimatedString getIn2()
2936 { return in2; }
2938 /**
2939 *
2940 */
2941 virtual SVGAnimatedEnumeration getMode()
2942 { return mode; }
2945 //##################
2946 //# Non-API methods
2947 //##################
2949 /**
2950 *
2951 */
2952 virtual ~SVGFEBlendElementImpl() {}
2954 protected:
2956 SVGAnimatedString in1, in2;
2957 SVGAnimatedEnumeration mode;
2958 };
2966 /*#########################################################################
2967 ## SVGFEColorMatrixElementImpl
2968 #########################################################################*/
2970 /**
2971 *
2972 */
2973 class SVGFEColorMatrixElementImpl : virtual public SVGFEColorMatrixElement,
2974 public SVGElementImpl
2975 {
2976 public:
2978 /**
2979 *
2980 */
2981 virtual SVGAnimatedString getIn1()
2982 { return in1; }
2984 /**
2985 *
2986 */
2987 virtual SVGAnimatedEnumeration getType()
2988 { return type; }
2990 /**
2991 *
2992 */
2993 virtual SVGAnimatedNumberList getValues()
2994 { return values; }
2998 //##################
2999 //# Non-API methods
3000 //##################
3002 /**
3003 *
3004 */
3005 virtual ~SVGFEColorMatrixElementImpl() {}
3007 protected:
3009 SVGAnimatedString in1;
3010 SVGAnimatedEnumeration type;
3011 SVGAnimatedNumberList values;
3013 };
3021 /*#########################################################################
3022 ## SVGFEComponentTransferElementImpl
3023 #########################################################################*/
3025 /**
3026 *
3027 */
3028 class SVGFEComponentTransferElementImpl :
3029 virtual public SVGFEComponentTransferElement,
3030 public SVGElementImpl
3031 {
3032 public:
3033 /**
3034 *
3035 */
3036 virtual SVGAnimatedString getIn1()
3037 { return in1; }
3039 //##################
3040 //# Non-API methods
3041 //##################
3043 /**
3044 *
3045 */
3046 virtual ~SVGFEComponentTransferElementImpl() {}
3048 protected:
3050 SVGAnimatedString in1;
3052 };
3060 /*#########################################################################
3061 ## SVGComponentTransferFunctionElementImpl
3062 #########################################################################*/
3064 /**
3065 *
3066 */
3067 class SVGComponentTransferFunctionElementImpl :
3068 virtual public SVGComponentTransferFunctionElement,
3069 public SVGElementImpl
3070 {
3071 public:
3073 /**
3074 *
3075 */
3076 virtual SVGAnimatedEnumeration getType()
3077 { return type; }
3079 /**
3080 *
3081 */
3082 virtual SVGAnimatedNumberList getTableValues()
3083 { return tableValues; }
3085 /**
3086 *
3087 */
3088 virtual SVGAnimatedNumber getSlope()
3089 { return slope; }
3091 /**
3092 *
3093 */
3094 virtual SVGAnimatedNumber getIntercept()
3095 { return intercept; }
3097 /**
3098 *
3099 */
3100 virtual SVGAnimatedNumber getAmplitude()
3101 { return amplitude; }
3103 /**
3104 *
3105 */
3106 virtual SVGAnimatedNumber getExponent()
3107 { return exponent; }
3109 /**
3110 *
3111 */
3112 virtual SVGAnimatedNumber getOffset()
3113 { return offset; }
3116 //##################
3117 //# Non-API methods
3118 //##################
3120 /**
3121 *
3122 */
3123 virtual ~SVGComponentTransferFunctionElementImpl() {}
3125 protected:
3127 SVGAnimatedEnumeration type;
3128 SVGAnimatedNumberList tableValues;
3129 SVGAnimatedNumber slope;
3130 SVGAnimatedNumber intercept;
3131 SVGAnimatedNumber amplitude;
3132 SVGAnimatedNumber exponent;
3133 SVGAnimatedNumber offset;
3135 };
3143 /*#########################################################################
3144 ## SVGFEFuncRElementImpl
3145 #########################################################################*/
3147 /**
3148 *
3149 */
3150 class SVGFEFuncRElementImpl :
3151 virtual public SVGFEFuncRElement,
3152 public SVGComponentTransferFunctionElementImpl
3153 {
3154 public:
3156 //##################
3157 //# Non-API methods
3158 //##################
3160 /**
3161 *
3162 */
3163 virtual ~SVGFEFuncRElementImpl() {}
3165 protected:
3168 };
3174 /*#########################################################################
3175 ## SVGFEFuncGElementImpl
3176 #########################################################################*/
3178 /**
3179 *
3180 */
3181 class SVGFEFuncGElementImpl : virtual public SVGFEFuncGElement,
3182 public SVGComponentTransferFunctionElementImpl
3183 {
3184 public:
3186 //##################
3187 //# Non-API methods
3188 //##################
3190 /**
3191 *
3192 */
3193 virtual ~SVGFEFuncGElementImpl() {}
3195 protected:
3198 };
3204 /*#########################################################################
3205 ## SVGFEFuncBElementImpl
3206 #########################################################################*/
3208 /**
3209 *
3210 */
3211 class SVGFEFuncBElementImpl : virtual public SVGFEFuncBElement,
3212 public SVGComponentTransferFunctionElementImpl
3213 {
3214 public:
3216 //##################
3217 //# Non-API methods
3218 //##################
3220 /**
3221 *
3222 */
3223 virtual ~SVGFEFuncBElementImpl() {}
3225 protected:
3228 };
3234 /*#########################################################################
3235 ## SVGFEFuncAElementImpl
3236 #########################################################################*/
3238 /**
3239 *
3240 */
3241 class SVGFEFuncAElementImpl : virtual public SVGFEFuncAElement,
3242 public SVGComponentTransferFunctionElementImpl
3243 {
3244 public:
3246 //##################
3247 //# Non-API methods
3248 //##################
3250 /**
3251 *
3252 */
3253 virtual ~SVGFEFuncAElementImpl() {}
3255 protected:
3258 };
3264 /*#########################################################################
3265 ## SVGFECompositeElementImpl
3266 #########################################################################*/
3268 /**
3269 *
3270 */
3271 class SVGFECompositeElementImpl : virtual public SVGFECompositeElement,
3272 public SVGElementImpl
3273 {
3274 public:
3277 /**
3278 *
3279 */
3280 virtual SVGAnimatedString getIn1()
3281 { return in1; }
3283 /**
3284 *
3285 */
3286 virtual SVGAnimatedString getIn2()
3287 { return in2; }
3289 /**
3290 *
3291 */
3292 virtual SVGAnimatedEnumeration getOperator()
3293 { return ae_operator; }
3295 /**
3296 *
3297 */
3298 virtual SVGAnimatedNumber getK1()
3299 { return k1; }
3301 /**
3302 *
3303 */
3304 virtual SVGAnimatedNumber getK2()
3305 { return k2; }
3307 /**
3308 *
3309 */
3310 virtual SVGAnimatedNumber getK3()
3311 { return k3; }
3313 /**
3314 *
3315 */
3316 virtual SVGAnimatedNumber getK4()
3317 { return k4; }
3321 //##################
3322 //# Non-API methods
3323 //##################
3325 /**
3326 *
3327 */
3328 virtual ~SVGFECompositeElementImpl() {}
3330 protected:
3333 SVGAnimatedString in1;
3334 SVGAnimatedString in2;
3335 SVGAnimatedEnumeration ae_operator;
3336 SVGAnimatedNumber k1;
3337 SVGAnimatedNumber k2;
3338 SVGAnimatedNumber k3;
3339 SVGAnimatedNumber k4;
3341 };
3349 /*#########################################################################
3350 ## SVGFEConvolveMatrixElementImpl
3351 #########################################################################*/
3353 /**
3354 *
3355 */
3356 class SVGFEConvolveMatrixElementImpl : virtual public SVGFEConvolveMatrixElement,
3357 public SVGElementImpl
3358 {
3359 public:
3361 /**
3362 *
3363 */
3364 virtual SVGAnimatedInteger getOrderX()
3365 { return orderX; }
3367 /**
3368 *
3369 */
3370 virtual SVGAnimatedInteger getOrderY()
3371 { return orderY; }
3373 /**
3374 *
3375 */
3376 virtual SVGAnimatedNumberList getKernelMatrix()
3377 { return kernelMatrix; }
3379 /**
3380 *
3381 */
3382 virtual SVGAnimatedNumber getDivisor()
3383 { return divisor; }
3385 /**
3386 *
3387 */
3388 virtual SVGAnimatedNumber getBias()
3389 { return bias; }
3391 /**
3392 *
3393 */
3394 virtual SVGAnimatedInteger getTargetX()
3395 { return targetX; }
3397 /**
3398 *
3399 */
3400 virtual SVGAnimatedInteger getTargetY()
3401 { return targetY; }
3403 /**
3404 *
3405 */
3406 virtual SVGAnimatedEnumeration getEdgeMode()
3407 { return edgeMode; }
3409 /**
3410 *
3411 */
3412 virtual SVGAnimatedLength getKernelUnitLengthX()
3413 { return kernelUnitLengthX; }
3415 /**
3416 *
3417 */
3418 virtual SVGAnimatedLength getKernelUnitLengthY()
3419 { return kernelUnitLengthY; }
3421 /**
3422 *
3423 */
3424 virtual SVGAnimatedBoolean getPreserveAlpha()
3425 { return preserveAlpha; }
3429 //##################
3430 //# Non-API methods
3431 //##################
3433 /**
3434 *
3435 */
3436 virtual ~SVGFEConvolveMatrixElementImpl() {}
3438 protected:
3440 SVGAnimatedInteger orderX;
3441 SVGAnimatedInteger orderY;
3442 SVGAnimatedNumberList kernelMatrix;
3443 SVGAnimatedNumber divisor;
3444 SVGAnimatedNumber bias;
3445 SVGAnimatedInteger targetX;
3446 SVGAnimatedInteger targetY;
3447 SVGAnimatedEnumeration edgeMode;
3448 SVGAnimatedLength kernelUnitLengthX;
3449 SVGAnimatedLength kernelUnitLengthY;
3450 SVGAnimatedBoolean preserveAlpha;
3452 };
3460 /*#########################################################################
3461 ## SVGFEDiffuseLightingElementImpl
3462 #########################################################################*/
3464 /**
3465 *
3466 */
3467 class SVGFEDiffuseLightingElementImpl : virtual public SVGFEDiffuseLightingElement,
3468 public SVGElementImpl
3469 {
3470 public:
3472 /**
3473 *
3474 */
3475 virtual SVGAnimatedString getIn1()
3476 { return in1; }
3478 /**
3479 *
3480 */
3481 virtual SVGAnimatedNumber getSurfaceScale()
3482 { return surfaceScale; }
3484 /**
3485 *
3486 */
3487 virtual SVGAnimatedNumber getDiffuseConstant()
3488 { return diffuseConstant; }
3492 //##################
3493 //# Non-API methods
3494 //##################
3496 /**
3497 *
3498 */
3499 virtual ~SVGFEDiffuseLightingElementImpl() {}
3501 protected:
3503 SVGAnimatedString in1;
3504 SVGAnimatedNumber surfaceScale;
3505 SVGAnimatedNumber diffuseConstant;
3507 };
3515 /*#########################################################################
3516 ## SVGFEDistantLightElementImpl
3517 #########################################################################*/
3519 /**
3520 *
3521 */
3522 class SVGFEDistantLightElementImpl : virtual public SVGFEDistantLightElement,
3523 public SVGElementImpl
3524 {
3525 public:
3527 /**
3528 *
3529 */
3530 virtual SVGAnimatedNumber getAzimuth()
3531 { return azimuth; }
3534 /**
3535 *
3536 */
3537 virtual SVGAnimatedNumber getElevation()
3538 { return elevation; }
3542 //##################
3543 //# Non-API methods
3544 //##################
3546 /**
3547 *
3548 */
3549 virtual ~SVGFEDistantLightElementImpl() {}
3551 protected:
3553 SVGAnimatedNumber azimuth;
3554 SVGAnimatedNumber elevation;
3556 };
3564 /*#########################################################################
3565 ## SVGFEPointLightElementImpl
3566 #########################################################################*/
3568 /**
3569 *
3570 */
3571 class SVGFEPointLightElementImpl : public virtual SVGFEPointLightElement,
3572 public SVGElementImpl
3573 {
3574 public:
3576 /**
3577 *
3578 */
3579 virtual SVGAnimatedNumber getX()
3580 { return x; }
3583 /**
3584 *
3585 */
3586 virtual SVGAnimatedNumber getY()
3587 { return y; }
3589 /**
3590 *
3591 */
3592 virtual SVGAnimatedNumber getZ()
3593 { return z; }
3595 //##################
3596 //# Non-API methods
3597 //##################
3599 /**
3600 *
3601 */
3602 virtual ~SVGFEPointLightElementImpl() {}
3604 protected:
3606 SVGAnimatedNumber x, y, z;
3608 };
3616 /*#########################################################################
3617 ## SVGFESpotLightElementImpl
3618 #########################################################################*/
3620 /**
3621 *
3622 */
3623 class SVGFESpotLightElementImpl : virtual public SVGFESpotLightElement,
3624 public SVGElementImpl
3625 {
3626 public:
3628 /**
3629 *
3630 */
3631 virtual SVGAnimatedNumber getX()
3632 { return x; }
3635 /**
3636 *
3637 */
3638 virtual SVGAnimatedNumber getY()
3639 { return y; }
3641 /**
3642 *
3643 */
3644 virtual SVGAnimatedNumber getZ()
3645 { return z; }
3647 /**
3648 *
3649 */
3650 virtual SVGAnimatedNumber getPointsAtX()
3651 { return pointsAtX; }
3653 /**
3654 *
3655 */
3656 virtual SVGAnimatedNumber getPointsAtY()
3657 { return pointsAtY; }
3659 /**
3660 *
3661 */
3662 virtual SVGAnimatedNumber getPointsAtZ()
3663 { return pointsAtZ; }
3665 /**
3666 *
3667 */
3668 virtual SVGAnimatedNumber getSpecularExponent()
3669 { return specularExponent; }
3671 /**
3672 *
3673 */
3674 virtual SVGAnimatedNumber getLimitingConeAngle()
3675 { return limitingConeAngle; }
3679 //##################
3680 //# Non-API methods
3681 //##################
3683 /**
3684 *
3685 */
3686 virtual ~SVGFESpotLightElementImpl() {}
3688 protected:
3690 SVGAnimatedNumber x, y, z;
3691 SVGAnimatedNumber pointsAtX, pointsAtY, pointsAtZ;
3692 SVGAnimatedNumber specularExponent;
3693 SVGAnimatedNumber limitingConeAngle;
3694 };
3702 /*#########################################################################
3703 ## SVGFEDisplacementMapElementImpl
3704 #########################################################################*/
3706 /**
3707 *
3708 */
3709 class SVGFEDisplacementMapElementImpl : virtual public SVGFEDisplacementMapElement,
3710 public SVGElementImpl
3711 {
3712 public:
3714 /**
3715 *
3716 */
3717 virtual SVGAnimatedString getIn1()
3718 { return in1; }
3720 /**
3721 *
3722 */
3723 virtual SVGAnimatedString getIn2()
3724 { return in2; }
3727 /**
3728 *
3729 */
3730 virtual SVGAnimatedNumber getScale()
3731 { return scale; }
3733 /**
3734 *
3735 */
3736 virtual SVGAnimatedEnumeration getXChannelSelector()
3737 { return xChannelSelector; }
3739 /**
3740 *
3741 */
3742 virtual SVGAnimatedEnumeration getYChannelSelector()
3743 { return yChannelSelector; }
3747 //##################
3748 //# Non-API methods
3749 //##################
3751 /**
3752 *
3753 */
3754 virtual ~SVGFEDisplacementMapElementImpl() {}
3756 protected:
3758 SVGAnimatedString in1;
3759 SVGAnimatedString in2;
3760 SVGAnimatedNumber scale;
3761 SVGAnimatedEnumeration xChannelSelector;
3762 SVGAnimatedEnumeration yChannelSelector;
3764 };
3772 /*#########################################################################
3773 ## SVGFEFloodElementImpl
3774 #########################################################################*/
3776 /**
3777 *
3778 */
3779 class SVGFEFloodElementImpl : virtual public SVGFEFloodElement,
3780 public SVGElementImpl
3781 {
3782 public:
3783 /**
3784 *
3785 */
3786 virtual SVGAnimatedString getIn1()
3787 { return in1; }
3790 //##################
3791 //# Non-API methods
3792 //##################
3794 /**
3795 *
3796 */
3797 virtual ~SVGFEFloodElementImpl() {}
3799 protected:
3801 SVGAnimatedString in1;
3803 };
3811 /*#########################################################################
3812 ## SVGFEGaussianBlurElementImpl
3813 #########################################################################*/
3815 /**
3816 *
3817 */
3818 class SVGFEGaussianBlurElementImpl : virtual public SVGFEGaussianBlurElement,
3819 public SVGElementImpl
3820 {
3821 public:
3822 /**
3823 *
3824 */
3825 virtual SVGAnimatedString getIn1()
3826 { return in1; }
3829 /**
3830 *
3831 */
3832 virtual SVGAnimatedNumber getStdDeviationX()
3833 { return stdDeviationX; }
3835 /**
3836 *
3837 */
3838 virtual SVGAnimatedNumber getStdDeviationY()
3839 { return stdDeviationY; }
3842 /**
3843 *
3844 */
3845 virtual void setStdDeviation (double stdDeviationXArg, double stdDeviationYArg )
3846 {
3847 stdDeviationX = stdDeviationXArg;
3848 stdDeviationY = stdDeviationYArg;
3849 }
3853 //##################
3854 //# Non-API methods
3855 //##################
3857 /**
3858 *
3859 */
3860 virtual ~SVGFEGaussianBlurElementImpl() {}
3862 protected:
3864 SVGAnimatedString in1;
3865 SVGAnimatedNumber stdDeviationX, stdDeviationY;
3867 };
3875 /*#########################################################################
3876 ## SVGFEImageElementImpl
3877 #########################################################################*/
3879 /**
3880 *
3881 */
3882 class SVGFEImageElementImpl : virtual public SVGFEImageElement,
3883 public SVGElementImpl
3884 {
3885 public:
3887 //##################
3888 //# Non-API methods
3889 //##################
3891 /**
3892 *
3893 */
3894 virtual ~SVGFEImageElementImpl() {}
3896 protected:
3899 };
3905 /*#########################################################################
3906 ## SVGFEMergeElementImpl
3907 #########################################################################*/
3909 /**
3910 *
3911 */
3912 class SVGFEMergeElementImpl : virtual public SVGFEMergeElement,
3913 public SVGElementImpl
3914 {
3915 public:
3917 //##################
3918 //# Non-API methods
3919 //##################
3921 /**
3922 *
3923 */
3924 virtual ~SVGFEMergeElementImpl() {}
3926 protected:
3929 };
3935 /*#########################################################################
3936 ## SVGFEMergeNodeElementImpl
3937 #########################################################################*/
3939 /**
3940 *
3941 */
3942 class SVGFEMergeNodeElementImpl : virtual public SVGFEMergeNodeElement,
3943 public SVGElementImpl
3944 {
3945 public:
3946 /**
3947 *
3948 */
3949 virtual SVGAnimatedString getIn1()
3950 { return in1; }
3953 //##################
3954 //# Non-API methods
3955 //##################
3957 /**
3958 *
3959 */
3960 virtual ~SVGFEMergeNodeElementImpl() {}
3962 protected:
3964 SVGAnimatedString in1;
3966 };
3974 /*#########################################################################
3975 ## SVGFEMorphologyElementImpl
3976 #########################################################################*/
3978 /**
3979 *
3980 */
3981 class SVGFEMorphologyElementImpl : virtual public SVGFEMorphologyElement,
3982 public SVGElementImpl
3983 {
3984 public:
3986 /**
3987 *
3988 */
3989 virtual SVGAnimatedString getIn1()
3990 { return in1; }
3993 /**
3994 *
3995 */
3996 virtual SVGAnimatedEnumeration getOperator()
3997 { return me_operator; }
3999 /**
4000 *
4001 */
4002 virtual SVGAnimatedLength getRadiusX()
4003 { return radiusX; }
4005 /**
4006 *
4007 */
4008 virtual SVGAnimatedLength getRadiusY()
4009 { return radiusY; }
4013 //##################
4014 //# Non-API methods
4015 //##################
4017 /**
4018 *
4019 */
4020 virtual ~SVGFEMorphologyElementImpl() {}
4022 protected:
4024 SVGAnimatedString in1;
4025 SVGAnimatedEnumeration me_operator;
4026 SVGAnimatedLength radiusX;
4027 SVGAnimatedLength radiusY;
4029 };
4037 /*#########################################################################
4038 ## SVGFEOffsetElementImpl
4039 #########################################################################*/
4041 /**
4042 *
4043 */
4044 class SVGFEOffsetElementImpl : virtual public SVGFEOffsetElement,
4045 public SVGElementImpl
4046 {
4047 public:
4051 /**
4052 *
4053 */
4054 virtual SVGAnimatedString getIn1()
4055 { return in1; }
4057 /**
4058 *
4059 */
4060 virtual SVGAnimatedLength getDx()
4061 { return dx; }
4063 /**
4064 *
4065 */
4066 virtual SVGAnimatedLength getDy()
4067 { return dy; }
4069 //##################
4070 //# Non-API methods
4071 //##################
4073 /**
4074 *
4075 */
4076 virtual ~SVGFEOffsetElementImpl() {}
4078 protected:
4080 SVGAnimatedString in1;
4081 SVGAnimatedLength dx, dy;
4083 };
4091 /*#########################################################################
4092 ## SVGFESpecularLightingElementImpl
4093 #########################################################################*/
4095 /**
4096 *
4097 */
4098 class SVGFESpecularLightingElementImpl :
4099 virtual public SVGFESpecularLightingElement,
4100 public SVGElementImpl
4101 {
4102 public:
4104 /**
4105 *
4106 */
4107 virtual SVGAnimatedString getIn1()
4108 { return in1; }
4110 /**
4111 *
4112 */
4113 virtual SVGAnimatedNumber getSurfaceScale()
4114 { return surfaceScale; }
4116 /**
4117 *
4118 */
4119 virtual SVGAnimatedNumber getSpecularConstant()
4120 { return specularConstant; }
4122 /**
4123 *
4124 */
4125 virtual SVGAnimatedNumber getSpecularExponent()
4126 { return specularExponent; }
4129 //##################
4130 //# Non-API methods
4131 //##################
4133 /**
4134 *
4135 */
4136 virtual ~SVGFESpecularLightingElementImpl() {}
4138 protected:
4140 SVGAnimatedString in1;
4141 SVGAnimatedNumber surfaceScale;
4142 SVGAnimatedNumber specularConstant;
4143 SVGAnimatedNumber specularExponent;
4144 };
4152 /*#########################################################################
4153 ## SVGFETileElementImpl
4154 #########################################################################*/
4156 /**
4157 *
4158 */
4159 class SVGFETileElementImpl : virtual public SVGFETileElement,
4160 public SVGElementImpl
4161 {
4162 public:
4165 /**
4166 *
4167 */
4168 virtual SVGAnimatedString getIn1()
4169 { return in1; }
4173 //##################
4174 //# Non-API methods
4175 //##################
4177 /**
4178 *
4179 */
4180 virtual ~SVGFETileElementImpl() {}
4182 protected:
4184 SVGAnimatedString in1;
4186 };
4194 /*#########################################################################
4195 ## SVGFETurbulenceElementImpl
4196 #########################################################################*/
4198 /**
4199 *
4200 */
4201 class SVGFETurbulenceElementImpl : virtual public SVGFETurbulenceElement,
4202 public SVGElementImpl
4203 {
4204 public:
4206 /**
4207 *
4208 */
4209 virtual SVGAnimatedNumber getBaseFrequencyX()
4210 { return baseFrequencyX; }
4212 /**
4213 *
4214 */
4215 virtual SVGAnimatedNumber getBaseFrequencyY()
4216 { return baseFrequencyY; }
4218 /**
4219 *
4220 */
4221 virtual SVGAnimatedInteger getNumOctaves()
4222 { return numOctaves; }
4224 /**
4225 *
4226 */
4227 virtual SVGAnimatedNumber getSeed()
4228 { return seed; }
4230 /**
4231 *
4232 */
4233 virtual SVGAnimatedEnumeration getStitchTiles()
4234 { return stitchTiles; }
4236 /**
4237 *
4238 */
4239 virtual SVGAnimatedEnumeration getType()
4240 { return type; }
4244 //##################
4245 //# Non-API methods
4246 //##################
4248 /**
4249 *
4250 */
4251 virtual ~SVGFETurbulenceElementImpl() {}
4253 protected:
4255 SVGAnimatedNumber baseFrequencyX;
4256 SVGAnimatedNumber baseFrequencyY;
4257 SVGAnimatedInteger numOctaves;
4258 SVGAnimatedNumber seed;
4259 SVGAnimatedEnumeration stitchTiles;
4260 SVGAnimatedEnumeration type;
4262 };
4270 /*#########################################################################
4271 ## SVGCursorElementImpl
4272 #########################################################################*/
4274 /**
4275 *
4276 */
4277 class SVGCursorElementImpl : virtual public SVGCursorElement,
4278 public SVGElementImpl
4279 {
4280 public:
4282 /**
4283 *
4284 */
4285 virtual SVGAnimatedLength getX()
4286 { return x; }
4288 /**
4289 *
4290 */
4291 virtual SVGAnimatedLength getY()
4292 { return x; }
4294 //##################
4295 //# Non-API methods
4296 //##################
4298 /**
4299 *
4300 */
4301 virtual ~SVGCursorElementImpl() {}
4303 protected:
4305 SVGAnimatedLength x, y;
4306 };
4314 /*#########################################################################
4315 ## SVGAElementImpl
4316 #########################################################################*/
4318 /**
4319 *
4320 */
4321 class SVGAElementImpl : virtual public SVGAElement,
4322 public SVGElementImpl
4323 {
4324 public:
4326 /**
4327 *
4328 */
4329 virtual SVGAnimatedString getTarget()
4330 { return target; }
4334 //##################
4335 //# Non-API methods
4336 //##################
4338 /**
4339 *
4340 */
4341 virtual ~SVGAElementImpl() {}
4343 protected:
4345 SVGAnimatedString target;
4346 };
4354 /*#########################################################################
4355 ## SVGViewElementImpl
4356 #########################################################################*/
4358 /**
4359 *
4360 */
4361 class SVGViewElementImpl : virtual public SVGViewElement,
4362 public SVGElementImpl
4363 {
4364 public:
4366 /**
4367 *
4368 */
4369 virtual SVGStringList getViewTarget()
4370 { return viewTarget; }
4374 //##################
4375 //# Non-API methods
4376 //##################
4378 /**
4379 *
4380 */
4381 virtual ~SVGViewElementImpl() {}
4383 protected:
4385 SVGStringList viewTarget;
4386 };
4394 /*#########################################################################
4395 ## SVGScriptElementImpl
4396 #########################################################################*/
4398 /**
4399 *
4400 */
4401 class SVGScriptElementImpl : virtual public SVGScriptElement,
4402 public SVGElementImpl
4403 {
4404 public:
4406 /**
4407 *
4408 */
4409 virtual DOMString getType()
4410 { return type; }
4412 /**
4413 *
4414 */
4415 virtual void setType(const DOMString &val) throw (DOMException)
4416 { type = val; }
4419 //##################
4420 //# Non-API methods
4421 //##################
4423 /**
4424 *
4425 */
4426 virtual ~SVGScriptElementImpl() {}
4428 protected:
4430 DOMString type;
4431 };
4438 /*#########################################################################
4439 ## SVGAnimationElementImpl
4440 #########################################################################*/
4442 /**
4443 *
4444 */
4445 class SVGAnimationElementImpl : virtual public SVGAnimationElement,
4446 public SVGElementImpl
4447 {
4448 public:
4451 /**
4452 *
4453 */
4454 virtual SVGElementPtr getTargetElement()
4455 { return targetElement; }
4458 /**
4459 *
4460 */
4461 virtual double getStartTime ( )
4462 { return startTime; }
4464 /**
4465 *
4466 */
4467 virtual double getCurrentTime ( )
4468 { return currentTime; }
4470 /**
4471 *
4472 */
4473 virtual double getSimpleDuration ( ) throw( DOMException )
4474 { return simpleDuration; }
4478 //##################
4479 //# Non-API methods
4480 //##################
4482 /**
4483 *
4484 */
4485 virtual ~SVGAnimationElementImpl() {}
4487 protected:
4489 SVGElementPtr targetElement;
4490 double startTime, currentTime, simpleDuration;
4491 };
4499 /*#########################################################################
4500 ## SVGAnimateElementImpl
4501 #########################################################################*/
4503 /**
4504 *
4505 */
4506 class SVGAnimateElementImpl : virtual public SVGAnimateElement,
4507 public SVGAnimationElementImpl
4508 {
4509 public:
4511 //##################
4512 //# Non-API methods
4513 //##################
4515 /**
4516 *
4517 */
4518 virtual ~SVGAnimateElementImpl() {}
4520 protected:
4523 };
4529 /*#########################################################################
4530 ## SVGSetElementImpl
4531 #########################################################################*/
4533 /**
4534 *
4535 */
4536 class SVGSetElementImpl : virtual public SVGSetElement,
4537 public SVGAnimationElementImpl
4538 {
4539 public:
4541 //##################
4542 //# Non-API methods
4543 //##################
4545 /**
4546 *
4547 */
4548 virtual ~SVGSetElementImpl() {}
4550 protected:
4553 };
4559 /*#########################################################################
4560 ## SVGAnimateMotionElementImpl
4561 #########################################################################*/
4563 /**
4564 *
4565 */
4566 class SVGAnimateMotionElementImpl : virtual public SVGAnimateMotionElement,
4567 public SVGAnimationElementImpl
4568 {
4569 public:
4571 //##################
4572 //# Non-API methods
4573 //##################
4575 /**
4576 *
4577 */
4578 virtual ~SVGAnimateMotionElementImpl() {}
4580 protected:
4583 };
4589 /*#########################################################################
4590 ## SVGMPathElementImpl
4591 #########################################################################*/
4593 /**
4594 *
4595 */
4596 class SVGMPathElementImpl : virtual public SVGMPathElement,
4597 public SVGElementImpl
4598 {
4599 public:
4601 //##################
4602 //# Non-API methods
4603 //##################
4605 /**
4606 *
4607 */
4608 virtual ~SVGMPathElementImpl() {}
4610 protected:
4613 };
4619 /*#########################################################################
4620 ## SVGAnimateColorElementImpl
4621 #########################################################################*/
4623 /**
4624 *
4625 */
4626 class SVGAnimateColorElementImpl : virtual public SVGAnimateColorElement,
4627 public SVGAnimationElementImpl
4628 {
4629 public:
4631 //##################
4632 //# Non-API methods
4633 //##################
4635 /**
4636 *
4637 */
4638 virtual ~SVGAnimateColorElementImpl() {}
4640 protected:
4643 };
4649 /*#########################################################################
4650 ## SVGAnimateTransformElementImpl
4651 #########################################################################*/
4653 /**
4654 *
4655 */
4656 class SVGAnimateTransformElementImpl : virtual public SVGAnimateTransformElement,
4657 public SVGAnimationElementImpl
4658 {
4659 public:
4661 //##################
4662 //# Non-API methods
4663 //##################
4665 /**
4666 *
4667 */
4668 virtual ~SVGAnimateTransformElementImpl() {}
4670 protected:
4673 };
4679 /*#########################################################################
4680 ## SVGFontElementImpl
4681 #########################################################################*/
4683 /**
4684 *
4685 */
4686 class SVGFontElementImpl : virtual public SVGFontElement,
4687 public SVGElementImpl
4688 {
4689 public:
4691 //##################
4692 //# Non-API methods
4693 //##################
4695 /**
4696 *
4697 */
4698 virtual ~SVGFontElementImpl() {}
4700 protected:
4703 };
4709 /*#########################################################################
4710 ## SVGGlyphElementImpl
4711 #########################################################################*/
4713 /**
4714 *
4715 */
4716 class SVGGlyphElementImpl : virtual public SVGGlyphElement,
4717 public SVGElementImpl
4718 {
4719 public:
4721 //##################
4722 //# Non-API methods
4723 //##################
4725 /**
4726 *
4727 */
4728 virtual ~SVGGlyphElementImpl() {}
4730 protected:
4733 };
4739 /*#########################################################################
4740 ## SVGMissingGlyphElementImpl
4741 #########################################################################*/
4743 /**
4744 *
4745 */
4746 class SVGMissingGlyphElementImpl : virtual public SVGMissingGlyphElement,
4747 public SVGElementImpl
4748 {
4749 public:
4751 //##################
4752 //# Non-API methods
4753 //##################
4755 /**
4756 *
4757 */
4758 virtual ~SVGMissingGlyphElementImpl() {}
4760 protected:
4763 };
4769 /*#########################################################################
4770 ## SVGHKernElementImpl
4771 #########################################################################*/
4773 /**
4774 *
4775 */
4776 class SVGHKernElementImpl : virtual public SVGHKernElement,
4777 public SVGElementImpl
4778 {
4779 public:
4781 //##################
4782 //# Non-API methods
4783 //##################
4785 /**
4786 *
4787 */
4788 virtual ~SVGHKernElementImpl() {}
4790 protected:
4793 };
4799 /*#########################################################################
4800 ## SVGVKernElementImpl
4801 #########################################################################*/
4803 /**
4804 *
4805 */
4806 class SVGVKernElementImpl : virtual public SVGVKernElement,
4807 public SVGElementImpl
4808 {
4809 public:
4811 //##################
4812 //# Non-API methods
4813 //##################
4815 /**
4816 *
4817 */
4818 virtual ~SVGVKernElementImpl() {}
4820 protected:
4823 };
4829 /*#########################################################################
4830 ## SVGFontFaceElementImpl
4831 #########################################################################*/
4833 /**
4834 *
4835 */
4836 class SVGFontFaceElementImpl : virtual public SVGFontFaceElement,
4837 public SVGElementImpl
4838 {
4839 public:
4841 //##################
4842 //# Non-API methods
4843 //##################
4845 /**
4846 *
4847 */
4848 virtual ~SVGFontFaceElementImpl() {}
4850 protected:
4853 };
4859 /*#########################################################################
4860 ## SVGFontFaceSrcElementImpl
4861 #########################################################################*/
4863 /**
4864 *
4865 */
4866 class SVGFontFaceSrcElementImpl : virtual public SVGFontFaceSrcElement,
4867 public SVGElementImpl
4868 {
4869 public:
4871 //##################
4872 //# Non-API methods
4873 //##################
4875 /**
4876 *
4877 */
4878 virtual ~SVGFontFaceSrcElementImpl() {}
4880 protected:
4883 };
4889 /*#########################################################################
4890 ## SVGFontFaceUriElementImpl
4891 #########################################################################*/
4893 /**
4894 *
4895 */
4896 class SVGFontFaceUriElementImpl : virtual public SVGFontFaceUriElement,
4897 public SVGElementImpl
4898 {
4899 public:
4901 //##################
4902 //# Non-API methods
4903 //##################
4905 /**
4906 *
4907 */
4908 virtual ~SVGFontFaceUriElementImpl() {}
4910 protected:
4913 };
4919 /*#########################################################################
4920 ## SVGFontFaceFormatElementImpl
4921 #########################################################################*/
4923 /**
4924 *
4925 */
4926 class SVGFontFaceFormatElementImpl : virtual public SVGFontFaceFormatElement,
4927 public SVGElementImpl
4928 {
4929 public:
4931 //##################
4932 //# Non-API methods
4933 //##################
4935 /**
4936 *
4937 */
4938 virtual ~SVGFontFaceFormatElementImpl() {}
4940 protected:
4943 };
4949 /*#########################################################################
4950 ## SVGFontFaceNameElementImpl
4951 #########################################################################*/
4953 /**
4954 *
4955 */
4956 class SVGFontFaceNameElementImpl : virtual public SVGFontFaceNameElement,
4957 public SVGElementImpl
4958 {
4959 public:
4961 //##################
4962 //# Non-API methods
4963 //##################
4965 /**
4966 *
4967 */
4968 virtual ~SVGFontFaceNameElementImpl() {}
4970 protected:
4973 };
4979 /*#########################################################################
4980 ## SVGDefinitionSrcElementImpl
4981 #########################################################################*/
4983 /**
4984 *
4985 */
4986 class SVGDefinitionSrcElementImpl : virtual public SVGDefinitionSrcElement,
4987 public SVGElementImpl
4988 {
4989 public:
4991 //##################
4992 //# Non-API methods
4993 //##################
4995 /**
4996 *
4997 */
4998 virtual ~SVGDefinitionSrcElementImpl() {}
5000 protected:
5003 };
5009 /*#########################################################################
5010 ## SVGMetadataElementImpl
5011 #########################################################################*/
5013 /**
5014 *
5015 */
5016 class SVGMetadataElementImpl : virtual public SVGMetadataElement,
5017 public SVGElementImpl
5018 {
5019 public:
5021 //##################
5022 //# Non-API methods
5023 //##################
5025 /**
5026 *
5027 */
5028 virtual ~SVGMetadataElementImpl() {}
5030 protected:
5033 };
5038 /*#########################################################################
5039 ## SVGForeignObjectElementImpl
5040 #########################################################################*/
5042 /**
5043 *
5044 */
5045 class SVGForeignObjectElementImpl : virtual public SVGForeignObjectElement,
5046 public SVGElementImpl
5047 {
5048 public:
5051 /**
5052 *
5053 */
5054 virtual SVGAnimatedLength getX()
5055 { return x; }
5057 /**
5058 *
5059 */
5060 virtual SVGAnimatedLength getY()
5061 { return y; }
5063 /**
5064 *
5065 */
5066 virtual SVGAnimatedLength getWidth()
5067 { return width; }
5069 /**
5070 *
5071 */
5072 virtual SVGAnimatedLength getHeight()
5073 { return height; }
5077 //##################
5078 //# Non-API methods
5079 //##################
5082 /**
5083 *
5084 */
5085 virtual ~SVGForeignObjectElementImpl() {}
5087 protected:
5089 SVGAnimatedLength x, y, width, height;
5090 };
5097 } //namespace svg
5098 } //namespace dom
5099 } //namespace w3c
5100 } //namespace org
5102 #endif // __SVG_H__
5103 /*#########################################################################
5104 ## E N D O F F I L E
5105 #########################################################################*/