Code

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