1 #ifndef __SVGIMPL_H__
2 #define __SVGIMPL_H__
4 /**
5 * Phoebe DOM Implementation.
6 *
7 * This is a C++ approximation of the W3C DOM model, which follows
8 * fairly closely the specifications in the various .idl files, copies of
9 * which are provided for reference. Most important is this one:
10 *
11 * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
12 *
13 * Authors:
14 * Bob Jamison
15 *
16 * Copyright (C) 2006-2008 Bob Jamison
17 *
18 * This library is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU Lesser General Public
20 * License as published by the Free Software Foundation; either
21 * version 2.1 of the License, or (at your option) any later version.
22 *
23 * This library is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26 * Lesser General Public License for more details.
27 *
28 * You should have received a copy of the GNU Lesser General Public
29 * License along with this library; if not, write to the Free Software
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31 */
34 #include "svg.h"
35 #include "dom/domimpl.h"
36 #include "dom/smilimpl.h"
38 #include <math.h>
42 namespace org
43 {
44 namespace w3c
45 {
46 namespace dom
47 {
48 namespace svg
49 {
52 //local definitions
53 typedef dom::DOMString DOMString;
54 typedef dom::DOMException DOMException;
55 typedef dom::Element Element;
56 typedef dom::Document Document;
57 typedef dom::NodeList NodeList;
61 class SVGSVGElementImpl;
62 typedef Ptr<SVGSVGElementImpl> SVGSVGElementImplPtr;
63 class SVGElementImpl;
64 typedef Ptr<SVGElementImpl> SVGElementImplPtr;
65 class SVGDocumentImpl;
66 typedef Ptr<SVGDocumentImpl> SVGDocumentImplPtr;
68 /*#########################################################################
69 ## Types
70 #########################################################################*/
72 typedef enum
73 {
74 /**
75 * Defines a hyperlink
76 */
77 SVG_A_ELEMENT = 0,
78 /**
79 * Allows control over glyphs used to render particular character
80 * data (e.g. for music symbols or Asian text)
81 */
82 SVG_ALTGLYPH_ELEMENT,
83 /**
84 * Defines a set of glyph substitutions (e.g. for music symbols or Asian text)
85 */
86 SVG_ALTGLYPHDEF_ELEMENT,
87 /**
88 * Defines a candidate set of glyph substitutions (e.g. for music symbols
89 * or Asian text)
90 */
91 SVG_ALTGLYPHITEM_ELEMENT,
92 /**
93 * Animates an attribute or property over time
94 */
95 SVG_ANIMATE_ELEMENT,
96 /**
97 * Specifies a color transformation over time
98 */
99 SVG_ANIMATECOLOR_ELEMENT,
100 /**
101 * Causes an element to move along a motion path
102 */
103 SVG_ANIMATEMOTION_ELEMENT,
104 /**
105 * Animates a transformation attribute on an element
106 */
107 SVG_ANIMATETRANSFORM_ELEMENT,
108 /**
109 * Defines a circle
110 */
111 SVG_CIRCLE_ELEMENT,
112 /**
113 *
114 */
115 SVG_CLIPPATH_ELEMENT,
116 /**
117 * Specifies a color profile description
118 */
119 SVG_COLOR_PROFILE_ELEMENT,
120 /**
121 * Defines a platform-independent cursor
122 */
123 SVG_CURSOR_ELEMENT,
124 /**
125 * Defines a separate font definition resource
126 */
127 SVG_DEFINITION_SRC_ELEMENT,
128 /**
129 * A container for referenced elements
130 */
131 SVG_DEFS_ELEMENT,
132 /**
133 * A text-only description for elements in SVG - not displayed as part
134 * of the graphics. User agents may display the text as a tooltip
135 */
136 SVG_DESC_ELEMENT,
137 /**
138 * Defines an ellipse
139 */
140 SVG_ELLIPSE_ELEMENT,
141 /**
142 * SVG filter. Composites two objects together using different blending modes
143 */
144 SVG_FEBLEND_ELEMENT,
145 /**
146 * SVG filter. Applies a matrix transformation
147 */
148 SVG_FECOLORMATRIX_ELEMENT,
149 /**
150 * SVG filter. Performs component-wise remapping of data
151 */
152 SVG_FECOMPONENTTRANSFER_ELEMENT,
153 /**
154 * SVG filter.
155 */
156 SVG_FECOMPOSITE_ELEMENT,
157 /**
158 * SVG filter.
159 */
160 SVG_FECONVOLVEMATRIX_ELEMENT,
161 /**
162 * SVG filter.
163 */
164 SVG_FEDIFFUSELIGHTING_ELEMENT,
165 /**
166 * SVG filter.
167 */
168 SVG_FEDISPLACEMENTMAP_ELEMENT,
169 /**
170 * SVG filter. Defines a light source
171 */
172 SVG_FEDISTANTLIGHT_ELEMENT,
173 /**
174 * SVG filter.
175 */
176 SVG_FEFLOOD_ELEMENT,
177 /**
178 * SVG filter. Sub-element to feComponentTransfer
179 */
180 SVG_FEFUNCA_ELEMENT,
181 /**
182 * SVG filter. Sub-element to feComponentTransfer
183 */
184 SVG_FEFUNCB_ELEMENT,
185 /**
186 * SVG filter. Sub-element to feComponentTransfer
187 */
188 SVG_FEFUNCG_ELEMENT,
189 /**
190 * SVG filter. Sub-element to feComponentTransfer
191 */
192 SVG_FEFUNCR_ELEMENT,
193 /**
194 * SVG filter. Performs a Gaussian blur on the image
195 */
196 SVG_FEGAUSSIANBLUR_ELEMENT,
197 /**
198 * SVG filter.
199 */
200 SVG_FEIMAGE_ELEMENT,
201 /**
202 * SVG filter. Creates image layers on top of each other
203 */
204 SVG_FEMERGE_ELEMENT,
205 /**
206 * SVG filter. Sub-element to feMerge
207 */
208 SVG_FEMERGENODE_ELEMENT,
209 /**
210 * SVG filter. Performs a "fattening" or "thinning" on a source graphic
211 */
212 SVG_FEMORPHOLOGY_ELEMENT,
213 /**
214 * SVG filter. Moves an image relative to its current position
215 */
216 SVG_FEOFFSET_ELEMENT,
217 /**
218 * SVG filter.
219 */
220 SVG_FEPOINTLIGHT_ELEMENT,
221 /**
222 * SVG filter.
223 */
224 SVG_FESPECULARLIGHTING_ELEMENT,
225 /**
226 * SVG filter.
227 */
228 SVG_FESPOTLIGHT_ELEMENT,
229 /**
230 * SVG filter.
231 */
232 SVG_FETILE_ELEMENT,
233 /**
234 * SVG filter.
235 */
236 SVG_FETURBULENCE_ELEMENT,
237 /**
238 * Container for filter effects
239 */
240 SVG_FILTER_ELEMENT,
241 /**
242 * Defines a font
243 */
244 SVG_FONT_ELEMENT,
245 /**
246 * Describes the characteristics of a font
247 */
248 SVG_FONT_FACE_ELEMENT,
249 /**
250 *
251 */
252 SVG_FONT_FACE_FORMAT_ELEMENT,
253 /**
254 *
255 */
256 SVG_FONT_FACE_NAME_ELEMENT,
257 /**
258 *
259 */
260 SVG_FONT_FACE_SRC_ELEMENT,
261 /**
262 *
263 */
264 SVG_FONT_FACE_URI_ELEMENT,
265 /**
266 *
267 */
268 SVG_FOREIGNOBJECT_ELEMENT,
269 /**
270 * A container element for grouping together related elements
271 */
272 SVG_G_ELEMENT,
273 /**
274 * Defines the graphics for a given glyph
275 */
276 SVG_GLYPH_ELEMENT,
277 /**
278 * Defines a possible glyph to use
279 */
280 SVG_GLYPHREF_ELEMENT,
281 /**
282 *
283 */
284 SVG_HKERN_ELEMENT,
285 /**
286 *
287 */
288 SVG_IMAGE_ELEMENT,
289 /**
290 * Defines a line
291 */
292 SVG_LINE_ELEMENT,
293 /**
294 * Defines a linear gradient
295 */
296 SVG_LINEARGRADIENT_ELEMENT,
297 /**
298 *
299 */
300 SVG_MARKER_ELEMENT,
301 /**
302 *
303 */
304 SVG_MASK_ELEMENT,
305 /**
306 * Specifies metadata
307 */
308 SVG_METADATA_ELEMENT,
309 /**
310 *
311 */
312 SVG_MISSING_GLYPH_ELEMENT,
313 /**
314 *
315 */
316 SVG_MPATH_ELEMENT,
317 /**
318 * Defines a path
319 */
320 SVG_PATH_ELEMENT,
321 /**
322 *
323 */
324 SVG_PATTERN_ELEMENT,
325 /**
326 * Defines a closed shape that consists of a set of connected straight lines
327 */
328 SVG_POLYGON_ELEMENT,
329 /**
330 * Defines a set of connected straight lines
331 */
332 SVG_POLYLINE_ELEMENT,
333 /**
334 * Defines a radial gradient
335 */
336 SVG_RADIALGRADIENT_ELEMENT,
337 /**
338 * Defines a rectangle
339 */
340 SVG_RECT_ELEMENT,
341 /**
342 * Container for scripts (e.g., ECMAScript)
343 */
344 SVG_SCRIPT_ELEMENT,
345 /**
346 * Sets the value of an attribute for a specified duration
347 */
348 SVG_SET_ELEMENT,
349 /**
350 *
351 */
352 SVG_STOP_ELEMENT,
353 /**
354 * Allows style sheets to be embedded directly within SVG content
355 */
356 SVG_STYLE_ELEMENT,
357 /**
358 * Defines an SVG document fragment
359 */
360 SVG_SVG_ELEMENT,
361 /**
362 *
363 */
364 SVG_SWITCH_ELEMENT,
365 /**
366 *
367 */
368 SVG_SYMBOL_ELEMENT,
369 /**
370 *
371 */
372 SVG_TEXT_ELEMENT,
373 /**
374 *
375 */
376 SVG_TEXTPATH_ELEMENT,
377 /**
378 * A text-only description for elements in SVG - not displayed as part of
379 * the graphics. User agents may display the text as a tooltip
380 */
381 SVG_TITLE_ELEMENT,
382 /**
383 *
384 */
385 SVG_TREF_ELEMENT,
386 /**
387 *
388 */
389 SVG_TSPAN_ELEMENT,
390 /**
391 *
392 */
393 SVG_USE_ELEMENT,
394 /**
395 *
396 */
397 SVG_VIEW_ELEMENT,
398 /**
399 *
400 */
401 SVG_VKERN_ELEMENT,
402 /**
403 *
404 */
405 SVG_MAX_ELEMENT
407 } SVGElementType;
412 /**
413 * Look up the SVG Element type enum for a given string
414 * Return -1 if not found
415 */
416 int svgElementStrToEnum(const char *str);
419 /**
420 * Return the string corresponding to a given SVG element type enum
421 * Return "unknown" if not found
422 */
423 const char *svgElementEnumToStr(int type);
426 /*#########################################################################
427 ## SVGDocumentImpl
428 #########################################################################*/
430 /**
431 *
432 */
433 class SVGDocumentImpl : virtual public SVGDocument, public DocumentImpl
434 {
435 public:
438 /**
439 *
440 */
441 virtual DOMString getTitle()
442 { return title; }
444 /**
445 *
446 */
447 virtual DOMString getReferrer()
448 { return referrer; }
450 /**
451 *
452 */
453 virtual DOMString getDomain()
454 { return domain; }
456 /**
457 *
458 */
459 virtual DOMString getURL()
460 { return url; }
462 /**
463 *
464 */
465 virtual SVGSVGElementPtr getRootElement()
466 { return rootElement; }
469 //####################################################
470 //# Overload some createXXX() methods from DocumentImpl,
471 //# To create our SVG-DOM types (in .cpp)
472 //####################################################
474 /**
475 *
476 */
477 virtual ElementPtr createElement(const DOMString& tagName)
478 throw(DOMException);
481 /**
482 *
483 */
484 virtual ElementPtr createElementNS(const DOMString& namespaceURI,
485 const DOMString& qualifiedName)
486 throw(DOMException);
488 //##################
489 //# Non-API methods
490 //##################
492 SVGDocumentImpl(const DOMImplementation *domImpl,
493 const DOMString &namespaceURI,
494 const DOMString &qualifiedName,
495 const DocumentTypePtr doctype)
496 : DocumentImpl(domImpl, namespaceURI,
497 qualifiedName, doctype)
498 {
499 init();
500 }
503 /**
504 *
505 */
506 virtual ~SVGDocumentImpl()
507 {
508 }
510 protected:
512 friend class SvgParser;
514 void init();
516 DOMString title;
517 DOMString referrer;
518 DOMString domain;
519 DOMString url;
520 SVGSVGElementImplPtr rootElement;
521 };
525 /*#########################################################################
526 ## SVGElementImpl
527 #########################################################################*/
529 /**
530 *
531 */
532 class SVGElementImpl : virtual public SVGElement,
533 public ElementImpl
534 {
535 public:
537 /**
538 *
539 */
540 virtual DOMString getId()
541 { return id; }
543 /**
544 *
545 */
546 virtual void setId(const DOMString &val)
547 throw (DOMException)
548 { id = val; }
550 /**
551 *
552 */
553 virtual DOMString getXmlBase()
554 { return xmlBase; }
556 /**
557 *
558 */
559 virtual void setXmlBase(const DOMString &val)
560 throw (DOMException)
561 { xmlBase = val; }
563 /**
564 *
565 */
566 virtual SVGSVGElementPtr getOwnerSVGElement()
567 { return ownerSvgElement; }
569 /**
570 *
571 */
572 virtual SVGElementPtr getViewportElement()
573 { return viewportElement; }
576 //##################
577 //# Non-API methods
578 //##################
581 /**
582 *
583 */
584 SVGElementImpl()
585 {}
587 /**
588 *
589 */
590 SVGElementImpl(SVGDocumentImplPtr owner, const DOMString &tagName)
591 : ElementImpl(owner, tagName)
592 { init(); }
594 /**
595 *
596 */
597 SVGElementImpl(SVGDocumentImplPtr owner,
598 const DOMString &namespaceURI,
599 const DOMString &tagName)
600 : ElementImpl(owner, namespaceURI, tagName)
601 { init(); }
604 /**
605 *
606 */
607 virtual ~SVGElementImpl()
608 {}
610 protected:
612 void init()
613 {
614 id = "";
615 xmlBase = "";
616 ownerSvgElement = NULL;
617 viewportElement = NULL;
618 }
620 DOMString id;
621 DOMString xmlBase;
622 SVGSVGElementPtr ownerSvgElement;
623 SVGElementPtr viewportElement;
625 };
629 /*#########################################################################
630 ## SVGSVGElementImpl
631 #########################################################################*/
633 /**
634 *
635 */
636 class SVGSVGElementImpl : virtual public SVGSVGElement,
637 public SVGElementImpl
638 {
639 public:
641 /**
642 *
643 */
644 virtual SVGAnimatedLength getX()
645 { return x; }
647 /**
648 *
649 */
650 virtual SVGAnimatedLength getY()
651 { return y; }
653 /**
654 *
655 */
656 virtual SVGAnimatedLength getWidth()
657 { return width; }
659 /**
660 *
661 */
662 virtual SVGAnimatedLength getHeight()
663 { return height; }
665 /**
666 *
667 */
668 virtual DOMString getContentScriptType()
669 { return contentScriptType; }
671 /**
672 *
673 */
674 virtual void setContentScriptType(const DOMString &val)
675 throw (DOMException)
676 { contentScriptType = val; }
679 /**
680 *
681 */
682 virtual DOMString getContentStyleType()
683 { return contentStyleType; }
685 /**
686 *
687 */
688 virtual void setContentStyleType(const DOMString &val)
689 throw (DOMException)
690 { contentStyleType = val; }
692 /**
693 *
694 */
695 virtual SVGRect getViewport()
696 { return viewport; }
698 /**
699 *
700 */
701 virtual double getPixelUnitToMillimeterX()
702 { return pixelUnitToMillimeterX; }
704 /**
705 *
706 */
707 virtual double getPixelUnitToMillimeterY()
708 { return pixelUnitToMillimeterY; }
710 /**
711 *
712 */
713 virtual double getScreenPixelToMillimeterX()
714 { return screenPixelToMillimeterX; }
716 /**
717 *
718 */
719 virtual double getScreenPixelToMillimeterY()
720 { return screenPixelToMillimeterY; }
723 /**
724 *
725 */
726 virtual bool getUseCurrentView()
727 { return useCurrentView; }
729 /**
730 *
731 */
732 virtual void setUseCurrentView(bool val) throw (DOMException)
733 { useCurrentView = val; }
735 /**
736 *
737 */
738 virtual SVGViewSpec getCurrentView()
739 { return currentView; }
742 /**
743 *
744 */
745 virtual double getCurrentScale()
746 { return currentScale; }
748 /**
749 *
750 */
751 virtual void setCurrentScale(double val) throw (DOMException)
752 { currentScale = val; }
755 /**
756 *
757 */
758 virtual SVGPoint getCurrentTranslate()
759 { return currentTranslate; }
762 /**
763 *
764 */
765 virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds );
767 /**
768 *
769 */
770 virtual void unsuspendRedraw (unsigned long suspend_handle_id )
771 throw( DOMException );
773 /**
774 *
775 */
776 virtual void unsuspendRedrawAll ( );
778 /**
779 *
780 */
781 virtual void forceRedraw ( );
783 /**
784 *
785 */
786 virtual void pauseAnimations ( );
788 /**
789 *
790 */
791 virtual void unpauseAnimations ( );
793 /**
794 *
795 */
796 virtual bool animationsPaused ( );
798 /**
799 *
800 */
801 virtual double getCurrentTime ( )
802 { return currentTime; }
804 /**
805 *
806 */
807 virtual void setCurrentTime (double seconds )
808 { currentTime = seconds; }
810 /**
811 *
812 */
813 virtual NodeList getIntersectionList (const SVGRect &rect,
814 const SVGElementPtr referenceElement );
816 /**
817 *
818 */
819 virtual NodeList getEnclosureList (const SVGRect &rect,
820 const SVGElementPtr referenceElement );
822 /**
823 *
824 */
825 virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect );
827 /**
828 *
829 */
830 virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect );
832 /**
833 *
834 */
835 virtual void deselectAll ( );
837 /**
838 *
839 */
840 virtual SVGNumber createSVGNumber ( )
841 {
842 SVGNumber ret;
843 return ret;
844 }
846 /**
847 *
848 */
849 virtual SVGLength createSVGLength ( )
850 {
851 SVGLength ret;
852 return ret;
853 }
855 /**
856 *
857 */
858 virtual SVGAngle createSVGAngle ( )
859 {
860 SVGAngle ret;
861 return ret;
862 }
864 /**
865 *
866 */
867 virtual SVGPoint createSVGPoint ( )
868 {
869 SVGPoint ret;
870 return ret;
871 }
873 /**
874 *
875 */
876 virtual SVGMatrix createSVGMatrix ( )
877 {
878 SVGMatrix ret;
879 return ret;
880 }
882 /**
883 *
884 */
885 virtual SVGRect createSVGRect ( )
886 {
887 SVGRect ret;
888 return ret;
889 }
891 /**
892 *
893 */
894 virtual SVGTransform createSVGTransform ( )
895 {
896 SVGTransform ret;
897 return ret;
898 }
900 /**
901 *
902 */
903 virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix )
904 {
905 SVGTransform ret;
906 ret.setMatrix(matrix);
907 return ret;
908 }
911 /**
912 *
913 */
914 virtual ElementPtr getElementById (const DOMString& elementId );
918 //##################
919 //# Non-API methods
920 //##################
922 /**
923 *
924 */
925 SVGSVGElementImpl() : SVGElementImpl()
926 {}
930 /**
931 *
932 */
933 virtual ~SVGSVGElementImpl() {}
935 protected:
937 SVGAnimatedLength x;
938 SVGAnimatedLength y;
939 SVGAnimatedLength width;
940 SVGAnimatedLength height;
941 DOMString contentScriptType;
942 DOMString contentStyleType;
943 SVGRect viewport;
944 double pixelUnitToMillimeterX;
945 double pixelUnitToMillimeterY;
946 double screenPixelToMillimeterX;
947 double screenPixelToMillimeterY;
948 bool useCurrentView;
949 SVGViewSpec currentView;
950 double currentScale;
951 SVGPoint currentTranslate;
953 double currentTime;
955 };
959 /*#########################################################################
960 ## SVGGElementImpl
961 #########################################################################*/
963 /**
964 *
965 */
966 class SVGGElementImpl : virtual public SVGGElement, public SVGElementImpl
967 {
968 public:
970 //##################
971 //# Non-API methods
972 //##################
974 /**
975 *
976 */
977 SVGGElementImpl() {}
979 /**
980 *
981 */
982 virtual ~SVGGElementImpl() {}
984 protected:
987 };
992 /*#########################################################################
993 ## SVGDefsElementImpl
994 #########################################################################*/
996 /**
997 *
998 */
999 class SVGDefsElementImpl : virtual public SVGDefsElement,
1000 public SVGElementImpl
1001 {
1002 public:
1004 //##################
1005 //# Non-API methods
1006 //##################
1008 /**
1009 *
1010 */
1011 SVGDefsElementImpl() {}
1013 /**
1014 *
1015 */
1016 virtual ~SVGDefsElementImpl() {}
1018 protected:
1021 };
1027 /*#########################################################################
1028 ## SVGDescElementImpl
1029 #########################################################################*/
1031 /**
1032 *
1033 */
1034 class SVGDescElementImpl : virtual public SVGDescElement,
1035 public SVGElementImpl
1036 {
1037 public:
1039 //##################
1040 //# Non-API methods
1041 //##################
1043 /**
1044 *
1045 */
1046 SVGDescElementImpl() {}
1048 /**
1049 *
1050 */
1051 virtual ~SVGDescElementImpl() {}
1053 protected:
1056 };
1062 /*#########################################################################
1063 ## SVGTitleElementImpl
1064 #########################################################################*/
1066 /**
1067 *
1068 */
1069 class SVGTitleElementImpl : virtual public SVGTitleElement,
1070 public SVGElementImpl
1071 {
1072 public:
1074 //##################
1075 //# Non-API methods
1076 //##################
1078 /**
1079 *
1080 */
1081 SVGTitleElementImpl() {}
1083 /**
1084 *
1085 */
1086 virtual ~SVGTitleElementImpl() {}
1088 protected:
1091 };
1097 /*#########################################################################
1098 ## SVGSymbolElementImpl
1099 #########################################################################*/
1101 /**
1102 *
1103 */
1104 class SVGSymbolElementImpl : virtual public SVGSymbolElement,
1105 public SVGElementImpl
1106 {
1107 public:
1109 //##################
1110 //# Non-API methods
1111 //##################
1113 /**
1114 *
1115 */
1116 SVGSymbolElementImpl() {}
1118 /**
1119 *
1120 */
1121 virtual ~SVGSymbolElementImpl() {}
1123 protected:
1126 };
1132 /*#########################################################################
1133 ## SVGUseElementImpl
1134 #########################################################################*/
1136 /**
1137 *
1138 */
1139 class SVGUseElementImpl : public SVGElementImpl
1140 {
1141 public:
1144 /**
1145 *
1146 */
1147 virtual SVGAnimatedLength getX()
1148 { return x; }
1150 /**
1151 *
1152 */
1153 virtual SVGAnimatedLength getY()
1154 { return y; }
1156 /**
1157 *
1158 */
1159 virtual SVGAnimatedLength getWidth()
1160 { return width; }
1162 /**
1163 *
1164 */
1165 virtual SVGAnimatedLength getHeight()
1166 { return height; }
1168 /**
1169 *
1170 */
1171 virtual SVGElementInstance getInstanceRoot()
1172 { return instanceRoot; }
1174 /**
1175 *
1176 */
1177 virtual SVGElementInstance getAnimatedInstanceRoot()
1178 { return animatedInstanceRoot; }
1182 //##################
1183 //# Non-API methods
1184 //##################
1186 /**
1187 *
1188 */
1189 SVGUseElementImpl() {}
1191 /**
1192 *
1193 */
1194 virtual ~SVGUseElementImpl() {}
1196 protected:
1198 SVGAnimatedLength x;
1199 SVGAnimatedLength y;
1200 SVGAnimatedLength width;
1201 SVGAnimatedLength height;
1202 SVGElementInstance instanceRoot;
1203 SVGElementInstance animatedInstanceRoot;
1204 };
1212 /*#########################################################################
1213 ## SVGImageElementImpl
1214 #########################################################################*/
1216 /**
1217 *
1218 */
1219 class SVGImageElementImpl : virtual public SVGImageElement,
1220 public SVGElementImpl
1221 {
1222 public:
1225 /**
1226 *
1227 */
1228 virtual SVGAnimatedLength getX()
1229 { return x; }
1231 /**
1232 *
1233 */
1234 virtual SVGAnimatedLength getY()
1235 { return y; }
1237 /**
1238 *
1239 */
1240 virtual SVGAnimatedLength getWidth()
1241 { return width; }
1243 /**
1244 *
1245 */
1246 virtual SVGAnimatedLength getHeight()
1247 { return height; }
1250 /**
1251 *
1252 */
1253 virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
1254 { return preserveAspectRatio; }
1258 //##################
1259 //# Non-API methods
1260 //##################
1262 /**
1263 *
1264 */
1265 SVGImageElementImpl() {}
1267 /**
1268 *
1269 */
1270 virtual ~SVGImageElementImpl() {}
1272 protected:
1274 SVGAnimatedLength x;
1275 SVGAnimatedLength y;
1276 SVGAnimatedLength width;
1277 SVGAnimatedLength height;
1278 SVGAnimatedPreserveAspectRatio preserveAspectRatio;
1279 };
1286 /*#########################################################################
1287 ## SVGSwitchElementImpl
1288 #########################################################################*/
1290 /**
1291 *
1292 */
1293 class SVGSwitchElementImpl : virtual public SVGSwitchElement,
1294 public SVGElementImpl
1295 {
1296 public:
1298 //##################
1299 //# Non-API methods
1300 //##################
1302 /**
1303 *
1304 */
1305 SVGSwitchElementImpl() {}
1307 /**
1308 *
1309 */
1310 virtual ~SVGSwitchElementImpl() {}
1312 protected:
1315 };
1321 /*#########################################################################
1322 ## GetSVGDocumentImpl
1323 #########################################################################*/
1325 /**
1326 *
1327 */
1328 class GetSVGDocumentImpl : public virtual GetSVGDocument
1329 {
1330 public:
1332 /**
1333 *
1334 */
1335 virtual SVGDocumentPtr getSVGDocument ( )
1336 throw( DOMException );
1338 //##################
1339 //# Non-API methods
1340 //##################
1342 /**
1343 *
1344 */
1345 GetSVGDocumentImpl() {}
1347 /**
1348 *
1349 */
1350 virtual ~GetSVGDocumentImpl() {}
1352 protected:
1355 };
1363 /*#########################################################################
1364 ## SVGStyleElementImpl
1365 #########################################################################*/
1367 /**
1368 *
1369 */
1370 class SVGStyleElementImpl : virtual public SVGStyleElement,
1371 public SVGElementImpl
1372 {
1373 public:
1375 /**
1376 *
1377 */
1378 virtual DOMString getXmlspace()
1379 { return xmlSpace; }
1381 /**
1382 *
1383 */
1384 virtual void setXmlspace(const DOMString &val)
1385 throw (DOMException)
1386 { xmlSpace = val; }
1388 /**
1389 *
1390 */
1391 virtual DOMString getType()
1392 { return type; }
1394 /**
1395 *
1396 */
1397 virtual void setType(const DOMString &val)
1398 throw (DOMException)
1399 { type = val; }
1401 /**
1402 *
1403 */
1404 virtual DOMString getMedia()
1405 { return media; }
1407 /**
1408 *
1409 */
1410 virtual void setMedia(const DOMString &val)
1411 throw (DOMException)
1412 { media = val; }
1414 /**
1415 *
1416 */
1417 virtual DOMString getTitle()
1418 { return title; }
1420 /**
1421 *
1422 */
1423 virtual void setTitle(const DOMString &val)
1424 throw (DOMException)
1425 { title = val; }
1429 //##################
1430 //# Non-API methods
1431 //##################
1433 /**
1434 *
1435 */
1436 SVGStyleElementImpl() {}
1438 /**
1439 *
1440 */
1441 virtual ~SVGStyleElementImpl() {}
1443 protected:
1445 DOMString xmlSpace;
1446 DOMString type;
1447 DOMString media;
1448 DOMString title;
1450 };
1457 /*#########################################################################
1458 ## SVGPathElementImpl
1459 #########################################################################*/
1461 /**
1462 *
1463 */
1464 class SVGPathElementImpl : virtual public SVGPathElement,
1465 public SVGElementImpl
1466 {
1467 public:
1469 /**
1470 *
1471 */
1472 virtual SVGAnimatedNumber getPathLength();
1474 /**
1475 *
1476 */
1477 virtual double getTotalLength ( );
1479 /**
1480 *
1481 */
1482 virtual SVGPoint getPointAtLength (double distance );
1484 /**
1485 *
1486 */
1487 virtual unsigned long getPathSegAtLength (double distance );
1489 /**
1490 *
1491 */
1492 virtual SVGPathSegClosePath
1493 createSVGPathSegClosePath ( )
1494 {
1495 SVGPathSegClosePath ret;
1496 return ret;
1497 }
1499 /**
1500 *
1501 */
1502 virtual SVGPathSegMovetoAbs
1503 createSVGPathSegMovetoAbs (double x, double y )
1504 {
1505 SVGPathSegMovetoAbs ret(x, y);
1506 return ret;
1507 }
1509 /**
1510 *
1511 */
1512 virtual SVGPathSegMovetoRel
1513 createSVGPathSegMovetoRel (double x, double y )
1514 {
1515 SVGPathSegMovetoRel ret(x, y);
1516 return ret;
1517 }
1519 /**
1520 *
1521 */
1522 virtual SVGPathSegLinetoAbs
1523 createSVGPathSegLinetoAbs (double x, double y )
1524 {
1525 SVGPathSegLinetoAbs ret(x, y);
1526 return ret;
1527 }
1529 /**
1530 *
1531 */
1532 virtual SVGPathSegLinetoRel
1533 createSVGPathSegLinetoRel (double x, double y )
1534 {
1535 SVGPathSegLinetoRel ret(x, y);
1536 return ret;
1537 }
1539 /**
1540 *
1541 */
1542 virtual SVGPathSegCurvetoCubicAbs
1543 createSVGPathSegCurvetoCubicAbs (double x, double y,
1544 double x1, double y1, double x2, double y2 )
1545 {
1546 SVGPathSegCurvetoCubicAbs ret(x, y, x1, y1, x2, y2);
1547 return ret;
1548 }
1550 /**
1551 *
1552 */
1553 virtual SVGPathSegCurvetoCubicRel
1554 createSVGPathSegCurvetoCubicRel (double x, double y,
1555 double x1, double y1, double x2, double y2 )
1556 {
1557 SVGPathSegCurvetoCubicRel ret(x, y, x1, y1, x2, y2);
1558 return ret;
1559 }
1561 /**
1562 *
1563 */
1564 virtual SVGPathSegCurvetoQuadraticAbs
1565 createSVGPathSegCurvetoQuadraticAbs (double x, double y,
1566 double x1, double y1 )
1567 {
1568 SVGPathSegCurvetoQuadraticAbs ret(x, y, x1, y1);
1569 return ret;
1570 }
1572 /**
1573 *
1574 */
1575 virtual SVGPathSegCurvetoQuadraticRel
1576 createSVGPathSegCurvetoQuadraticRel (double x, double y,
1577 double x1, double y1 )
1578 {
1579 SVGPathSegCurvetoQuadraticRel ret(x, y, x1, y1);
1580 return ret;
1581 }
1583 /**
1584 *
1585 */
1586 virtual SVGPathSegArcAbs
1587 createSVGPathSegArcAbs (double x, double y,
1588 double r1, double r2, double angle,
1589 bool largeArcFlag, bool sweepFlag )
1590 {
1591 SVGPathSegArcAbs ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1592 return ret;
1593 }
1595 /**
1596 *
1597 */
1598 virtual SVGPathSegArcRel
1599 createSVGPathSegArcRel (double x, double y, double r1,
1600 double r2, double angle, bool largeArcFlag,
1601 bool sweepFlag )
1602 {
1603 SVGPathSegArcRel ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1604 return ret;
1605 }
1607 /**
1608 *
1609 */
1610 virtual SVGPathSegLinetoHorizontalAbs
1611 createSVGPathSegLinetoHorizontalAbs (double x )
1612 {
1613 SVGPathSegLinetoHorizontalAbs ret(x);
1614 return ret;
1615 }
1617 /**
1618 *
1619 */
1620 virtual SVGPathSegLinetoHorizontalRel
1621 createSVGPathSegLinetoHorizontalRel (double x )
1622 {
1623 SVGPathSegLinetoHorizontalRel ret(x);
1624 return ret;
1625 }
1627 /**
1628 *
1629 */
1630 virtual SVGPathSegLinetoVerticalAbs
1631 createSVGPathSegLinetoVerticalAbs (double y )
1632 {
1633 SVGPathSegLinetoVerticalAbs ret(y);
1634 return ret;
1635 }
1637 /**
1638 *
1639 */
1640 virtual SVGPathSegLinetoVerticalRel
1641 createSVGPathSegLinetoVerticalRel (double y )
1642 {
1643 SVGPathSegLinetoVerticalRel ret(y);
1644 return ret;
1645 }
1647 /**
1648 *
1649 */
1650 virtual SVGPathSegCurvetoCubicSmoothAbs
1651 createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
1652 double x2, double y2 )
1653 {
1654 SVGPathSegCurvetoCubicSmoothAbs ret(x, y, x2, y2);
1655 return ret;
1656 }
1658 /**
1659 *
1660 */
1661 virtual SVGPathSegCurvetoCubicSmoothRel
1662 createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
1663 double x2, double y2 )
1664 {
1665 SVGPathSegCurvetoCubicSmoothRel ret(x, y, x2, y2);
1666 return ret;
1667 }
1669 /**
1670 *
1671 */
1672 virtual SVGPathSegCurvetoQuadraticSmoothAbs
1673 createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y )
1674 {
1675 SVGPathSegCurvetoQuadraticSmoothAbs ret(x, y);
1676 return ret;
1677 }
1679 /**
1680 *
1681 */
1682 virtual SVGPathSegCurvetoQuadraticSmoothRel
1683 createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y )
1684 {
1685 SVGPathSegCurvetoQuadraticSmoothRel ret(x, y);
1686 return ret;
1687 }
1691 //##################
1692 //# Non-API methods
1693 //##################
1695 /**
1696 *
1697 */
1698 SVGPathElementImpl() {}
1701 /**
1702 *
1703 */
1704 virtual ~SVGPathElementImpl() {}
1706 protected:
1709 };
1717 /*#########################################################################
1718 ## SVGRectElementImpl
1719 #########################################################################*/
1721 /**
1722 *
1723 */
1724 class SVGRectElementImpl : virtual public SVGRectElement,
1725 public SVGElementImpl
1726 {
1727 public:
1729 /**
1730 *
1731 */
1732 virtual SVGAnimatedLength getX()
1733 { return x; }
1735 /**
1736 *
1737 */
1738 virtual SVGAnimatedLength getY()
1739 { return y; }
1741 /**
1742 *
1743 */
1744 virtual SVGAnimatedLength getWidth()
1745 { return width; }
1747 /**
1748 *
1749 */
1750 virtual SVGAnimatedLength getHeight()
1751 { return height; }
1754 /**
1755 *
1756 */
1757 virtual SVGAnimatedLength getRx()
1758 { return rx; }
1760 /**
1761 *
1762 */
1763 virtual SVGAnimatedLength getRy()
1764 { return ry; }
1768 //##################
1769 //# Non-API methods
1770 //##################
1772 /**
1773 *
1774 */
1775 SVGRectElementImpl() {}
1777 /**
1778 *
1779 */
1780 virtual ~SVGRectElementImpl() {}
1782 protected:
1784 SVGAnimatedLength x;
1785 SVGAnimatedLength y;
1786 SVGAnimatedLength width;
1787 SVGAnimatedLength height;
1788 SVGAnimatedLength rx;
1789 SVGAnimatedLength ry;
1791 };
1798 /*#########################################################################
1799 ## SVGCircleElementImpl
1800 #########################################################################*/
1802 /**
1803 *
1804 */
1805 class SVGCircleElementImpl : virtual public SVGCircleElement,
1806 public SVGElementImpl
1807 {
1808 public:
1810 /**
1811 *
1812 */
1813 virtual SVGAnimatedLength getCx()
1814 { return cx; }
1816 /**
1817 *
1818 */
1819 virtual SVGAnimatedLength getCy()
1820 { return cy; }
1822 /**
1823 *
1824 */
1825 virtual SVGAnimatedLength getR()
1826 { return r; }
1830 //##################
1831 //# Non-API methods
1832 //##################
1834 /**
1835 *
1836 */
1837 SVGCircleElementImpl() {}
1839 /**
1840 *
1841 */
1842 virtual ~SVGCircleElementImpl() {}
1844 protected:
1846 SVGAnimatedLength cx;
1847 SVGAnimatedLength cy;
1848 SVGAnimatedLength r;
1849 };
1856 /*#########################################################################
1857 ## SVGEllipseElementImpl
1858 #########################################################################*/
1860 /**
1861 *
1862 */
1863 class SVGEllipseElementImpl : virtual public SVGEllipseElement,
1864 public SVGElementImpl
1865 {
1866 public:
1868 /**
1869 *
1870 */
1871 virtual SVGAnimatedLength getCx()
1872 { return cx; }
1874 /**
1875 *
1876 */
1877 virtual SVGAnimatedLength getCy()
1878 { return cy; }
1880 /**
1881 *
1882 */
1883 virtual SVGAnimatedLength getRx()
1884 { return rx; }
1886 /**
1887 *
1888 */
1889 virtual SVGAnimatedLength getRy()
1890 { return ry; }
1893 //##################
1894 //# Non-API methods
1895 //##################
1897 /**
1898 *
1899 */
1900 SVGEllipseElementImpl() {}
1902 /**
1903 *
1904 */
1905 virtual ~SVGEllipseElementImpl() {}
1907 protected:
1909 SVGAnimatedLength cx;
1910 SVGAnimatedLength cy;
1911 SVGAnimatedLength rx;
1912 SVGAnimatedLength ry;
1913 };
1920 /*#########################################################################
1921 ## SVGLineElement
1922 #########################################################################*/
1924 /**
1925 *
1926 */
1927 class SVGLineElementImpl : virtual public SVGLineElement,
1928 public SVGElementImpl
1929 {
1930 public:
1932 /**
1933 *
1934 */
1935 virtual SVGAnimatedLength getX1()
1936 { return x1; }
1938 /**
1939 *
1940 */
1941 virtual SVGAnimatedLength getY1()
1942 { return y1; }
1944 /**
1945 *
1946 */
1947 virtual SVGAnimatedLength getX2()
1948 { return x2; }
1950 /**
1951 *
1952 */
1953 virtual SVGAnimatedLength getY2()
1954 { return y2; }
1956 //##################
1957 //# Non-API methods
1958 //##################
1960 /**
1961 *
1962 */
1963 virtual ~SVGLineElementImpl() {}
1965 protected:
1967 SVGAnimatedLength x1;
1968 SVGAnimatedLength x2;
1969 SVGAnimatedLength y1;
1970 SVGAnimatedLength y2;
1971 };
1976 /*#########################################################################
1977 ## SVGPolylineElement
1978 #########################################################################*/
1980 /**
1981 *
1982 */
1983 class SVGPolylineElementImpl : virtual public SVGPolylineElement,
1984 public SVGElementImpl
1985 {
1986 public:
1988 //##################
1989 //# Non-API methods
1990 //##################
1992 /**
1993 *
1994 */
1995 virtual ~SVGPolylineElementImpl() {}
1997 protected:
2000 };
2006 /*#########################################################################
2007 ## SVGPolygonElementImpl
2008 #########################################################################*/
2010 /**
2011 *
2012 */
2013 class SVGPolygonElementImpl : virtual public SVGPolygonElement,
2014 public SVGElementImpl
2015 {
2016 public:
2018 //##################
2019 //# Non-API methods
2020 //##################
2022 /**
2023 *
2024 */
2025 virtual ~SVGPolygonElementImpl() {}
2027 protected:
2030 };
2036 /*#########################################################################
2037 ## SVGTextContentElement
2038 #########################################################################*/
2040 /**
2041 *
2042 */
2043 class SVGTextContentElementImpl : virtual public SVGTextContentElement,
2044 public SVGElementImpl
2045 {
2046 public:
2048 /**
2049 *
2050 */
2051 virtual SVGAnimatedLength getTextLength();
2054 /**
2055 *
2056 */
2057 virtual SVGAnimatedEnumeration getLengthAdjust();
2060 /**
2061 *
2062 */
2063 virtual long getNumberOfChars( );
2065 /**
2066 *
2067 */
2068 virtual double getComputedTextLength( );
2070 /**
2071 *
2072 */
2073 virtual double getSubStringLength(unsigned long charnum,
2074 unsigned long nchars )
2075 throw( DOMException );
2077 /**
2078 *
2079 */
2080 virtual SVGPoint getStartPositionOfChar(unsigned long charnum )
2081 throw( DOMException );
2083 /**
2084 *
2085 */
2086 virtual SVGPoint getEndPositionOfChar(unsigned long charnum )
2087 throw( DOMException );
2089 /**
2090 *
2091 */
2092 virtual SVGRect getExtentOfChar(unsigned long charnum )
2093 throw( DOMException );
2095 /**
2096 *
2097 */
2098 virtual double getRotationOfChar(unsigned long charnum )
2099 throw( DOMException );
2101 /**
2102 *
2103 */
2104 virtual long getCharNumAtPosition(const SVGPoint &point );
2106 /**
2107 *
2108 */
2109 virtual void selectSubString(unsigned long charnum, unsigned long nchars )
2110 throw( DOMException );
2114 //##################
2115 //# Non-API methods
2116 //##################
2118 /**
2119 *
2120 */
2121 virtual ~SVGTextContentElementImpl() {}
2123 protected:
2126 };
2133 /*#########################################################################
2134 ## SVGTextPositioningElementImpl
2135 #########################################################################*/
2137 /**
2138 *
2139 */
2140 class SVGTextPositioningElementImpl : virtual public SVGTextPositioningElement,
2141 public SVGTextContentElementImpl
2142 {
2143 public:
2147 /**
2148 *
2149 */
2150 virtual SVGAnimatedLength getX()
2151 { return x; }
2153 /**
2154 *
2155 */
2156 virtual SVGAnimatedLength getY()
2157 { return y; }
2159 /**
2160 *
2161 */
2162 virtual SVGAnimatedLength getDx()
2163 { return dx; }
2165 /**
2166 *
2167 */
2168 virtual SVGAnimatedLength getDy()
2169 { return dy; }
2172 /**
2173 *
2174 */
2175 virtual SVGAnimatedNumberList getRotate()
2176 { return rotate; }
2180 //##################
2181 //# Non-API methods
2182 //##################
2184 /**
2185 *
2186 */
2187 virtual ~SVGTextPositioningElementImpl() {}
2189 protected:
2191 SVGAnimatedLength x;
2192 SVGAnimatedLength y;
2193 SVGAnimatedLength dx;
2194 SVGAnimatedLength dy;
2195 SVGAnimatedNumberList rotate;
2197 };
2205 /*#########################################################################
2206 ## SVGTextElement
2207 #########################################################################*/
2209 /**
2210 *
2211 */
2212 class SVGTextElementImpl : virtual public SVGTextElement,
2213 public SVGTextPositioningElementImpl
2214 {
2215 public:
2217 //##################
2218 //# Non-API methods
2219 //##################
2221 /**
2222 *
2223 */
2224 virtual ~SVGTextElementImpl() {}
2226 protected:
2229 };
2235 /*#########################################################################
2236 ## SVGTSpanElement
2237 #########################################################################*/
2239 /**
2240 *
2241 */
2242 class SVGTSpanElementImpl : virtual public SVGTSpanElement,
2243 public SVGTextPositioningElementImpl
2244 {
2245 public:
2247 //##################
2248 //# Non-API methods
2249 //##################
2251 /**
2252 *
2253 */
2254 virtual ~SVGTSpanElementImpl() {}
2256 protected:
2259 };
2265 /*#########################################################################
2266 ## SVGTRefElement
2267 #########################################################################*/
2269 /**
2270 *
2271 */
2272 class SVGTRefElementImpl : virtual public SVGTRefElement,
2273 public SVGTextPositioningElementImpl
2274 {
2275 public:
2277 //##################
2278 //# Non-API methods
2279 //##################
2281 /**
2282 *
2283 */
2284 virtual ~SVGTRefElementImpl() {}
2286 protected:
2289 };
2295 /*#########################################################################
2296 ## SVGTextPathElement
2297 #########################################################################*/
2299 /**
2300 *
2301 */
2302 class SVGTextPathElementImpl : virtual public SVGTextPathElement,
2303 public SVGTextContentElementImpl
2304 {
2305 public:
2307 /**
2308 *
2309 */
2310 virtual SVGAnimatedLength getStartOffset()
2311 { return startOffset; }
2313 /**
2314 *
2315 */
2316 virtual SVGAnimatedEnumeration getMethod()
2317 { return method; }
2319 /**
2320 *
2321 */
2322 virtual SVGAnimatedEnumeration getSpacing()
2323 { return spacing; }
2327 //##################
2328 //# Non-API methods
2329 //##################
2331 /**
2332 *
2333 */
2334 virtual ~SVGTextPathElementImpl() {}
2336 protected:
2338 SVGAnimatedLength startOffset;
2339 SVGAnimatedEnumeration method;
2340 SVGAnimatedEnumeration spacing;
2341 };
2349 /*#########################################################################
2350 ## SVGAltGlyphElement
2351 #########################################################################*/
2353 /**
2354 *
2355 */
2356 class SVGAltGlyphElementImpl : virtual public SVGAltGlyphElement,
2357 public SVGTextPositioningElementImpl
2358 {
2359 public:
2361 /**
2362 *
2363 */
2364 virtual DOMString getGlyphRef()
2365 { return glyphRef; }
2367 /**
2368 *
2369 */
2370 virtual void setGlyphRef(const DOMString &val)
2371 throw (DOMException)
2372 { glyphRef = val; }
2374 /**
2375 *
2376 */
2377 virtual DOMString getFormat()
2378 { return format; }
2380 /**
2381 *
2382 */
2383 virtual void setFormat(const DOMString &val)
2384 throw (DOMException)
2385 { format = val; }
2390 //##################
2391 //# Non-API methods
2392 //##################
2394 /**
2395 *
2396 */
2397 virtual ~SVGAltGlyphElementImpl() {}
2399 protected:
2401 DOMString glyphRef;
2402 DOMString format;
2404 };
2412 /*#########################################################################
2413 ## SVGAltGlyphDefElementImpl
2414 #########################################################################*/
2416 /**
2417 *
2418 */
2419 class SVGAltGlyphDefElementImpl : virtual public SVGAltGlyphDefElement,
2420 public SVGElementImpl
2421 {
2422 public:
2424 //##################
2425 //# Non-API methods
2426 //##################
2428 /**
2429 *
2430 */
2431 virtual ~SVGAltGlyphDefElementImpl() {}
2433 protected:
2436 };
2442 /*#########################################################################
2443 ## SVGAltGlyphItemElementImpl
2444 #########################################################################*/
2446 /**
2447 *
2448 */
2449 class SVGAltGlyphItemElementImpl : virtual public SVGAltGlyphItemElement,
2450 public SVGElementImpl
2451 {
2452 public:
2454 //##################
2455 //# Non-API methods
2456 //##################
2458 /**
2459 *
2460 */
2461 virtual ~SVGAltGlyphItemElementImpl() {}
2463 protected:
2466 };
2472 /*#########################################################################
2473 ## SVGGlyphRefElementImpl
2474 #########################################################################*/
2476 /**
2477 *
2478 */
2479 class SVGGlyphRefElementImpl : virtual public SVGGlyphRefElement,
2480 public SVGElementImpl
2481 {
2482 public:
2483 /**
2484 *
2485 */
2486 virtual DOMString getGlyphRef()
2487 { return glyphRef; }
2489 /**
2490 *
2491 */
2492 virtual void setGlyphRef(const DOMString &val) throw (DOMException)
2493 { glyphRef = val; }
2495 /**
2496 *
2497 */
2498 virtual DOMString getFormat()
2499 { return format; }
2501 /**
2502 *
2503 */
2504 virtual void setFormat(const DOMString &val) throw (DOMException)
2505 { format = val; }
2507 /**
2508 *
2509 */
2510 virtual double getX()
2511 { return x; }
2513 /**
2514 *
2515 */
2516 virtual void setX(double val) throw (DOMException)
2517 { x = val; }
2519 /**
2520 *
2521 */
2522 virtual double getY()
2523 { return y; }
2525 /**
2526 *
2527 */
2528 virtual void setY(double val) throw (DOMException)
2529 { y = val; }
2531 /**
2532 *
2533 */
2534 virtual double getDx()
2535 { return dx; }
2537 /**
2538 *
2539 */
2540 virtual void setDx(double val) throw (DOMException)
2541 { dx = val; }
2543 /**
2544 *
2545 */
2546 virtual double getDy()
2547 { return dy; }
2549 /**
2550 *
2551 */
2552 virtual void setDy(double val) throw (DOMException)
2553 { dy = val; }
2558 //##################
2559 //# Non-API methods
2560 //##################
2562 /**
2563 *
2564 */
2565 virtual ~SVGGlyphRefElementImpl() {}
2567 protected:
2569 DOMString glyphRef;
2570 DOMString format;
2571 double x, y, dx, dy;
2573 };
2580 /*#########################################################################
2581 ## SVGMarkerElementImpl
2582 #########################################################################*/
2584 /**
2585 *
2586 */
2587 class SVGMarkerElementImpl : virtual public SVGMarkerElement,
2588 public SVGElementImpl
2589 {
2590 public:
2592 /**
2593 *
2594 */
2595 virtual SVGAnimatedLength getRefX()
2596 { return refX; }
2598 /**
2599 *
2600 */
2601 virtual SVGAnimatedLength getRefY()
2602 { return refY; }
2604 /**
2605 *
2606 */
2607 virtual SVGAnimatedEnumeration getMarkerUnits()
2608 { return markerUnits; }
2610 /**
2611 *
2612 */
2613 virtual SVGAnimatedLength getMarkerWidth()
2614 { return markerWidth; }
2616 /**
2617 *
2618 */
2619 virtual SVGAnimatedLength getMarkerHeight()
2620 { return markerHeight; }
2622 /**
2623 *
2624 */
2625 virtual SVGAnimatedEnumeration getOrientType()
2626 { return orientType; }
2628 /**
2629 *
2630 */
2631 virtual SVGAnimatedAngle getOrientAngle()
2632 { return orientAngle; }
2635 /**
2636 *
2637 */
2638 virtual void setOrientToAuto ( )
2639 { orientAuto = true; }
2641 /**
2642 *
2643 */
2644 virtual void setOrientToAngle (const SVGAngle &angle)
2645 {
2646 orientAuto = false;
2647 orientAngle = SVGAnimatedAngle(angle);
2648 }
2652 //##################
2653 //# Non-API methods
2654 //##################
2656 /**
2657 *
2658 */
2659 virtual ~SVGMarkerElementImpl() {}
2661 protected:
2663 SVGAnimatedLength refX;
2664 SVGAnimatedLength refY;
2665 SVGAnimatedEnumeration markerUnits;
2666 SVGAnimatedLength markerWidth;
2667 SVGAnimatedLength markerHeight;
2668 SVGAnimatedEnumeration orientType;
2669 SVGAnimatedAngle orientAngle;
2670 bool orientAuto;
2673 };
2681 /*#########################################################################
2682 ## SVGColorProfileElementImpl
2683 #########################################################################*/
2685 /**
2686 *
2687 */
2688 class SVGColorProfileElementImpl : virtual public SVGColorProfileElement,
2689 public SVGElementImpl
2690 {
2691 public:
2692 /**
2693 *
2694 */
2695 virtual DOMString getLocal()
2696 { return local; }
2698 /**
2699 *
2700 */
2701 virtual void setLocal(const DOMString &val) throw (DOMException)
2702 { local = val; }
2704 /**
2705 *
2706 */
2707 virtual DOMString getName()
2708 { return name; }
2710 /**
2711 *
2712 */
2713 virtual void setName(const DOMString &val) throw (DOMException)
2714 { name = val; }
2716 /**
2717 *
2718 */
2719 virtual unsigned short getRenderingIntent()
2720 { return renderingIntent; }
2722 /**
2723 *
2724 */
2725 virtual void setRenderingIntent(unsigned short val) throw (DOMException)
2726 { renderingIntent = val; }
2730 //##################
2731 //# Non-API methods
2732 //##################
2734 /**
2735 *
2736 */
2737 virtual ~SVGColorProfileElementImpl() {}
2739 protected:
2741 DOMString local;
2742 DOMString name;
2743 unsigned short renderingIntent;
2745 };
2751 /*#########################################################################
2752 ## SVGGradientElementImpl
2753 #########################################################################*/
2755 /**
2756 *
2757 */
2758 class SVGGradientElementImpl : virtual public SVGGradientElement,
2759 public SVGElementImpl
2760 {
2761 public:
2763 /**
2764 *
2765 */
2766 virtual SVGAnimatedEnumeration getGradientUnits()
2767 { return gradientUnits; }
2769 /**
2770 *
2771 */
2772 virtual SVGAnimatedTransformList getGradientTransform()
2773 { return gradientTransform; }
2775 /**
2776 *
2777 */
2778 virtual SVGAnimatedEnumeration getSpreadMethod()
2779 { return spreadMethod; }
2783 //##################
2784 //# Non-API methods
2785 //##################
2787 /**
2788 *
2789 */
2790 virtual ~SVGGradientElementImpl() {}
2792 protected:
2795 SVGAnimatedEnumeration gradientUnits;
2796 SVGAnimatedTransformList gradientTransform;
2797 SVGAnimatedEnumeration spreadMethod;
2798 };
2806 /*#########################################################################
2807 ## SVGLinearGradientElementImpl
2808 #########################################################################*/
2810 /**
2811 *
2812 */
2813 class SVGLinearGradientElementImpl : virtual public SVGLinearGradientElement,
2814 public SVGGradientElementImpl
2815 {
2816 public:
2819 /**
2820 *
2821 */
2822 virtual SVGAnimatedLength getX1()
2823 { return x1; }
2825 /**
2826 *
2827 */
2828 virtual SVGAnimatedLength getY1()
2829 { return y1; }
2831 /**
2832 *
2833 */
2834 virtual SVGAnimatedLength getX2()
2835 { return x2; }
2837 /**
2838 *
2839 */
2840 virtual SVGAnimatedLength getY2()
2841 { return y2; }
2844 //##################
2845 //# Non-API methods
2846 //##################
2848 /**
2849 *
2850 */
2851 virtual ~SVGLinearGradientElementImpl() {}
2853 protected:
2855 SVGAnimatedLength x1, x2, y1, y2;
2857 };
2865 /*#########################################################################
2866 ## SVGRadialGradientElementImpl
2867 #########################################################################*/
2869 /**
2870 *
2871 */
2872 class SVGRadialGradientElementImpl : virtual public SVGRadialGradientElement,
2873 public SVGGradientElementImpl
2874 {
2875 public:
2878 /**
2879 *
2880 */
2881 virtual SVGAnimatedLength getCx()
2882 { return cx; }
2885 /**
2886 *
2887 */
2888 virtual SVGAnimatedLength getCy()
2889 { return cy; }
2892 /**
2893 *
2894 */
2895 virtual SVGAnimatedLength getR()
2896 { return r; }
2899 /**
2900 *
2901 */
2902 virtual SVGAnimatedLength getFx()
2903 { return fx; }
2906 /**
2907 *
2908 */
2909 virtual SVGAnimatedLength getFy()
2910 { return fy; }
2915 //##################
2916 //# Non-API methods
2917 //##################
2919 /**
2920 *
2921 */
2922 virtual ~SVGRadialGradientElementImpl() {}
2924 protected:
2926 SVGAnimatedLength cx, cy, r, fx, fy;
2928 };
2936 /*#########################################################################
2937 ## SVGStopElementImpl
2938 #########################################################################*/
2940 /**
2941 *
2942 */
2943 class SVGStopElementImpl : virtual public SVGStopElement,
2944 public SVGElementImpl
2945 {
2946 public:
2948 /**
2949 *
2950 */
2951 virtual SVGAnimatedNumber getOffset()
2952 { return offset; }
2956 //##################
2957 //# Non-API methods
2958 //##################
2960 /**
2961 *
2962 */
2963 virtual ~SVGStopElementImpl() {}
2965 protected:
2967 SVGAnimatedNumber offset;
2969 };
2977 /*#########################################################################
2978 ## SVGPatternElementImpl
2979 #########################################################################*/
2981 /**
2982 *
2983 */
2984 class SVGPatternElementImpl : virtual public SVGPatternElement,
2985 public SVGElementImpl
2986 {
2987 public:
2989 /**
2990 *
2991 */
2992 virtual SVGAnimatedEnumeration getPatternUnits()
2993 { return patternUnits; }
2995 /**
2996 *
2997 */
2998 virtual SVGAnimatedEnumeration getPatternContentUnits()
2999 { return patternContentUnits; }
3001 /**
3002 *
3003 */
3004 virtual SVGAnimatedTransformList getPatternTransform()
3005 { return patternTransform; }
3007 /**
3008 *
3009 */
3010 virtual SVGAnimatedLength getX()
3011 { return x; }
3013 /**
3014 *
3015 */
3016 virtual SVGAnimatedLength getY()
3017 { return y; }
3019 /**
3020 *
3021 */
3022 virtual SVGAnimatedLength getWidth()
3023 { return width; }
3025 /**
3026 *
3027 */
3028 virtual SVGAnimatedLength getHeight()
3029 { return height; }
3033 //##################
3034 //# Non-API methods
3035 //##################
3037 /**
3038 *
3039 */
3040 virtual ~SVGPatternElementImpl() {}
3042 protected:
3045 SVGAnimatedEnumeration patternUnits;
3046 SVGAnimatedEnumeration patternContentUnits;
3047 SVGAnimatedTransformList patternTransform;
3048 SVGAnimatedLength x;
3049 SVGAnimatedLength y;
3050 SVGAnimatedLength width;
3051 SVGAnimatedLength height;
3052 };
3060 /*#########################################################################
3061 ## SVGClipPathElementImpl
3062 #########################################################################*/
3064 /**
3065 *
3066 */
3067 class SVGClipPathElementImpl : virtual public SVGClipPathElement,
3068 public SVGElementImpl
3069 {
3070 public:
3072 /**
3073 *
3074 */
3075 virtual SVGAnimatedEnumeration getClipPathUnits()
3076 { return clipPathUnits; }
3078 //##################
3079 //# Non-API methods
3080 //##################
3082 /**
3083 *
3084 */
3085 virtual ~SVGClipPathElementImpl() {}
3087 protected:
3089 SVGAnimatedEnumeration clipPathUnits;
3091 };
3099 /*#########################################################################
3100 ## SVGMaskElementImpl
3101 #########################################################################*/
3103 /**
3104 *
3105 */
3106 class SVGMaskElementImpl : virtual public SVGMaskElement,
3107 public SVGElementImpl
3108 {
3109 public:
3111 /**
3112 *
3113 */
3114 virtual SVGAnimatedEnumeration getMaskUnits()
3115 { return maskUnits; }
3117 /**
3118 *
3119 */
3120 virtual SVGAnimatedEnumeration getMaskContentUnits()
3121 { return maskContentUnits; }
3123 /**
3124 *
3125 */
3126 virtual SVGAnimatedLength getX()
3127 { return x; }
3129 /**
3130 *
3131 */
3132 virtual SVGAnimatedLength getY()
3133 { return y; }
3135 /**
3136 *
3137 */
3138 virtual SVGAnimatedLength getWidth()
3139 { return width; }
3141 /**
3142 *
3143 */
3144 virtual SVGAnimatedLength getHeight()
3145 { return height; }
3147 //##################
3148 //# Non-API methods
3149 //##################
3151 /**
3152 *
3153 */
3154 virtual ~SVGMaskElementImpl() {}
3156 protected:
3159 SVGAnimatedEnumeration maskUnits;
3160 SVGAnimatedEnumeration maskContentUnits;
3161 SVGAnimatedLength x;
3162 SVGAnimatedLength y;
3163 SVGAnimatedLength width;
3164 SVGAnimatedLength height;
3165 };
3173 /*#########################################################################
3174 ## SVGFilterElementImpl
3175 #########################################################################*/
3177 /**
3178 *
3179 */
3180 class SVGFilterElementImpl : virtual public SVGFilterElement,
3181 public SVGElementImpl
3182 {
3183 public:
3185 /**
3186 *
3187 */
3188 virtual SVGAnimatedEnumeration getFilterUnits()
3189 { return filterUnits; }
3191 /**
3192 *
3193 */
3194 virtual SVGAnimatedEnumeration getPrimitiveUnits()
3195 { return filterUnits; }
3197 /**
3198 *
3199 */
3200 virtual SVGAnimatedLength getX()
3201 { return x; }
3203 /**
3204 *
3205 */
3206 virtual SVGAnimatedLength getY()
3207 { return y; }
3209 /**
3210 *
3211 */
3212 virtual SVGAnimatedLength getWidth()
3213 { return width; }
3215 /**
3216 *
3217 */
3218 virtual SVGAnimatedLength getHeight()
3219 { return height; }
3221 /**
3222 *
3223 */
3224 virtual SVGAnimatedInteger getFilterResX()
3225 { return filterResX; }
3227 /**
3228 *
3229 */
3230 virtual SVGAnimatedInteger getFilterResY()
3231 { return filterResY; }
3233 /**
3234 *
3235 */
3236 virtual void setFilterRes (unsigned long filterResXArg,
3237 unsigned long filterResYArg )
3238 {
3239 filterResX = filterResXArg;
3240 filterResY = filterResYArg;
3241 }
3245 //##################
3246 //# Non-API methods
3247 //##################
3249 /**
3250 *
3251 */
3252 virtual ~SVGFilterElementImpl() {}
3254 protected:
3256 SVGAnimatedEnumeration filterUnits;
3257 SVGAnimatedEnumeration primitiveUnits;
3258 SVGAnimatedLength x;
3259 SVGAnimatedLength y;
3260 SVGAnimatedLength width;
3261 SVGAnimatedLength height;
3262 SVGAnimatedInteger filterResX;
3263 SVGAnimatedInteger filterResY;
3265 };
3272 /*#########################################################################
3273 ## SVGFEBlendElementImpl
3274 #########################################################################*/
3276 /**
3277 *
3278 */
3279 class SVGFEBlendElementImpl : virtual public SVGFEBlendElement,
3280 public SVGElementImpl
3281 {
3282 public:
3284 /**
3285 *
3286 */
3287 virtual SVGAnimatedString getIn1()
3288 { return in1; }
3290 /**
3291 *
3292 */
3293 virtual SVGAnimatedString getIn2()
3294 { return in2; }
3296 /**
3297 *
3298 */
3299 virtual SVGAnimatedEnumeration getMode()
3300 { return mode; }
3303 //##################
3304 //# Non-API methods
3305 //##################
3307 /**
3308 *
3309 */
3310 virtual ~SVGFEBlendElementImpl() {}
3312 protected:
3314 SVGAnimatedString in1, in2;
3315 SVGAnimatedEnumeration mode;
3316 };
3324 /*#########################################################################
3325 ## SVGFEColorMatrixElementImpl
3326 #########################################################################*/
3328 /**
3329 *
3330 */
3331 class SVGFEColorMatrixElementImpl : virtual public SVGFEColorMatrixElement,
3332 public SVGElementImpl
3333 {
3334 public:
3336 /**
3337 *
3338 */
3339 virtual SVGAnimatedString getIn1()
3340 { return in1; }
3342 /**
3343 *
3344 */
3345 virtual SVGAnimatedEnumeration getType()
3346 { return type; }
3348 /**
3349 *
3350 */
3351 virtual SVGAnimatedNumberList getValues()
3352 { return values; }
3356 //##################
3357 //# Non-API methods
3358 //##################
3360 /**
3361 *
3362 */
3363 virtual ~SVGFEColorMatrixElementImpl() {}
3365 protected:
3367 SVGAnimatedString in1;
3368 SVGAnimatedEnumeration type;
3369 SVGAnimatedNumberList values;
3371 };
3379 /*#########################################################################
3380 ## SVGFEComponentTransferElementImpl
3381 #########################################################################*/
3383 /**
3384 *
3385 */
3386 class SVGFEComponentTransferElementImpl :
3387 virtual public SVGFEComponentTransferElement,
3388 public SVGElementImpl
3389 {
3390 public:
3391 /**
3392 *
3393 */
3394 virtual SVGAnimatedString getIn1()
3395 { return in1; }
3397 //##################
3398 //# Non-API methods
3399 //##################
3401 /**
3402 *
3403 */
3404 virtual ~SVGFEComponentTransferElementImpl() {}
3406 protected:
3408 SVGAnimatedString in1;
3410 };
3418 /*#########################################################################
3419 ## SVGComponentTransferFunctionElementImpl
3420 #########################################################################*/
3422 /**
3423 *
3424 */
3425 class SVGComponentTransferFunctionElementImpl :
3426 virtual public SVGComponentTransferFunctionElement,
3427 public SVGElementImpl
3428 {
3429 public:
3431 /**
3432 *
3433 */
3434 virtual SVGAnimatedEnumeration getType()
3435 { return type; }
3437 /**
3438 *
3439 */
3440 virtual SVGAnimatedNumberList getTableValues()
3441 { return tableValues; }
3443 /**
3444 *
3445 */
3446 virtual SVGAnimatedNumber getSlope()
3447 { return slope; }
3449 /**
3450 *
3451 */
3452 virtual SVGAnimatedNumber getIntercept()
3453 { return intercept; }
3455 /**
3456 *
3457 */
3458 virtual SVGAnimatedNumber getAmplitude()
3459 { return amplitude; }
3461 /**
3462 *
3463 */
3464 virtual SVGAnimatedNumber getExponent()
3465 { return exponent; }
3467 /**
3468 *
3469 */
3470 virtual SVGAnimatedNumber getOffset()
3471 { return offset; }
3474 //##################
3475 //# Non-API methods
3476 //##################
3478 /**
3479 *
3480 */
3481 virtual ~SVGComponentTransferFunctionElementImpl() {}
3483 protected:
3485 SVGAnimatedEnumeration type;
3486 SVGAnimatedNumberList tableValues;
3487 SVGAnimatedNumber slope;
3488 SVGAnimatedNumber intercept;
3489 SVGAnimatedNumber amplitude;
3490 SVGAnimatedNumber exponent;
3491 SVGAnimatedNumber offset;
3493 };
3501 /*#########################################################################
3502 ## SVGFEFuncRElementImpl
3503 #########################################################################*/
3505 /**
3506 *
3507 */
3508 class SVGFEFuncRElementImpl :
3509 virtual public SVGFEFuncRElement,
3510 public SVGComponentTransferFunctionElementImpl
3511 {
3512 public:
3514 //##################
3515 //# Non-API methods
3516 //##################
3518 /**
3519 *
3520 */
3521 virtual ~SVGFEFuncRElementImpl() {}
3523 protected:
3526 };
3532 /*#########################################################################
3533 ## SVGFEFuncGElementImpl
3534 #########################################################################*/
3536 /**
3537 *
3538 */
3539 class SVGFEFuncGElementImpl : virtual public SVGFEFuncGElement,
3540 public SVGComponentTransferFunctionElementImpl
3541 {
3542 public:
3544 //##################
3545 //# Non-API methods
3546 //##################
3548 /**
3549 *
3550 */
3551 virtual ~SVGFEFuncGElementImpl() {}
3553 protected:
3556 };
3562 /*#########################################################################
3563 ## SVGFEFuncBElementImpl
3564 #########################################################################*/
3566 /**
3567 *
3568 */
3569 class SVGFEFuncBElementImpl : virtual public SVGFEFuncBElement,
3570 public SVGComponentTransferFunctionElementImpl
3571 {
3572 public:
3574 //##################
3575 //# Non-API methods
3576 //##################
3578 /**
3579 *
3580 */
3581 virtual ~SVGFEFuncBElementImpl() {}
3583 protected:
3586 };
3592 /*#########################################################################
3593 ## SVGFEFuncAElementImpl
3594 #########################################################################*/
3596 /**
3597 *
3598 */
3599 class SVGFEFuncAElementImpl : virtual public SVGFEFuncAElement,
3600 public SVGComponentTransferFunctionElementImpl
3601 {
3602 public:
3604 //##################
3605 //# Non-API methods
3606 //##################
3608 /**
3609 *
3610 */
3611 virtual ~SVGFEFuncAElementImpl() {}
3613 protected:
3616 };
3622 /*#########################################################################
3623 ## SVGFECompositeElementImpl
3624 #########################################################################*/
3626 /**
3627 *
3628 */
3629 class SVGFECompositeElementImpl : virtual public SVGFECompositeElement,
3630 public SVGElementImpl
3631 {
3632 public:
3635 /**
3636 *
3637 */
3638 virtual SVGAnimatedString getIn1()
3639 { return in1; }
3641 /**
3642 *
3643 */
3644 virtual SVGAnimatedString getIn2()
3645 { return in2; }
3647 /**
3648 *
3649 */
3650 virtual SVGAnimatedEnumeration getOperator()
3651 { return ae_operator; }
3653 /**
3654 *
3655 */
3656 virtual SVGAnimatedNumber getK1()
3657 { return k1; }
3659 /**
3660 *
3661 */
3662 virtual SVGAnimatedNumber getK2()
3663 { return k2; }
3665 /**
3666 *
3667 */
3668 virtual SVGAnimatedNumber getK3()
3669 { return k3; }
3671 /**
3672 *
3673 */
3674 virtual SVGAnimatedNumber getK4()
3675 { return k4; }
3679 //##################
3680 //# Non-API methods
3681 //##################
3683 /**
3684 *
3685 */
3686 virtual ~SVGFECompositeElementImpl() {}
3688 protected:
3691 SVGAnimatedString in1;
3692 SVGAnimatedString in2;
3693 SVGAnimatedEnumeration ae_operator;
3694 SVGAnimatedNumber k1;
3695 SVGAnimatedNumber k2;
3696 SVGAnimatedNumber k3;
3697 SVGAnimatedNumber k4;
3699 };
3707 /*#########################################################################
3708 ## SVGFEConvolveMatrixElementImpl
3709 #########################################################################*/
3711 /**
3712 *
3713 */
3714 class SVGFEConvolveMatrixElementImpl : virtual public SVGFEConvolveMatrixElement,
3715 public SVGElementImpl
3716 {
3717 public:
3719 /**
3720 *
3721 */
3722 virtual SVGAnimatedInteger getOrderX()
3723 { return orderX; }
3725 /**
3726 *
3727 */
3728 virtual SVGAnimatedInteger getOrderY()
3729 { return orderY; }
3731 /**
3732 *
3733 */
3734 virtual SVGAnimatedNumberList getKernelMatrix()
3735 { return kernelMatrix; }
3737 /**
3738 *
3739 */
3740 virtual SVGAnimatedNumber getDivisor()
3741 { return divisor; }
3743 /**
3744 *
3745 */
3746 virtual SVGAnimatedNumber getBias()
3747 { return bias; }
3749 /**
3750 *
3751 */
3752 virtual SVGAnimatedInteger getTargetX()
3753 { return targetX; }
3755 /**
3756 *
3757 */
3758 virtual SVGAnimatedInteger getTargetY()
3759 { return targetY; }
3761 /**
3762 *
3763 */
3764 virtual SVGAnimatedEnumeration getEdgeMode()
3765 { return edgeMode; }
3767 /**
3768 *
3769 */
3770 virtual SVGAnimatedLength getKernelUnitLengthX()
3771 { return kernelUnitLengthX; }
3773 /**
3774 *
3775 */
3776 virtual SVGAnimatedLength getKernelUnitLengthY()
3777 { return kernelUnitLengthY; }
3779 /**
3780 *
3781 */
3782 virtual SVGAnimatedBoolean getPreserveAlpha()
3783 { return preserveAlpha; }
3787 //##################
3788 //# Non-API methods
3789 //##################
3791 /**
3792 *
3793 */
3794 virtual ~SVGFEConvolveMatrixElementImpl() {}
3796 protected:
3798 SVGAnimatedInteger orderX;
3799 SVGAnimatedInteger orderY;
3800 SVGAnimatedNumberList kernelMatrix;
3801 SVGAnimatedNumber divisor;
3802 SVGAnimatedNumber bias;
3803 SVGAnimatedInteger targetX;
3804 SVGAnimatedInteger targetY;
3805 SVGAnimatedEnumeration edgeMode;
3806 SVGAnimatedLength kernelUnitLengthX;
3807 SVGAnimatedLength kernelUnitLengthY;
3808 SVGAnimatedBoolean preserveAlpha;
3810 };
3818 /*#########################################################################
3819 ## SVGFEDiffuseLightingElementImpl
3820 #########################################################################*/
3822 /**
3823 *
3824 */
3825 class SVGFEDiffuseLightingElementImpl : virtual public SVGFEDiffuseLightingElement,
3826 public SVGElementImpl
3827 {
3828 public:
3830 /**
3831 *
3832 */
3833 virtual SVGAnimatedString getIn1()
3834 { return in1; }
3836 /**
3837 *
3838 */
3839 virtual SVGAnimatedNumber getSurfaceScale()
3840 { return surfaceScale; }
3842 /**
3843 *
3844 */
3845 virtual SVGAnimatedNumber getDiffuseConstant()
3846 { return diffuseConstant; }
3850 //##################
3851 //# Non-API methods
3852 //##################
3854 /**
3855 *
3856 */
3857 virtual ~SVGFEDiffuseLightingElementImpl() {}
3859 protected:
3861 SVGAnimatedString in1;
3862 SVGAnimatedNumber surfaceScale;
3863 SVGAnimatedNumber diffuseConstant;
3865 };
3873 /*#########################################################################
3874 ## SVGFEDistantLightElementImpl
3875 #########################################################################*/
3877 /**
3878 *
3879 */
3880 class SVGFEDistantLightElementImpl : virtual public SVGFEDistantLightElement,
3881 public SVGElementImpl
3882 {
3883 public:
3885 /**
3886 *
3887 */
3888 virtual SVGAnimatedNumber getAzimuth()
3889 { return azimuth; }
3892 /**
3893 *
3894 */
3895 virtual SVGAnimatedNumber getElevation()
3896 { return elevation; }
3900 //##################
3901 //# Non-API methods
3902 //##################
3904 /**
3905 *
3906 */
3907 virtual ~SVGFEDistantLightElementImpl() {}
3909 protected:
3911 SVGAnimatedNumber azimuth;
3912 SVGAnimatedNumber elevation;
3914 };
3922 /*#########################################################################
3923 ## SVGFEPointLightElementImpl
3924 #########################################################################*/
3926 /**
3927 *
3928 */
3929 class SVGFEPointLightElementImpl : public virtual SVGFEPointLightElement,
3930 public SVGElementImpl
3931 {
3932 public:
3934 /**
3935 *
3936 */
3937 virtual SVGAnimatedNumber getX()
3938 { return x; }
3941 /**
3942 *
3943 */
3944 virtual SVGAnimatedNumber getY()
3945 { return y; }
3947 /**
3948 *
3949 */
3950 virtual SVGAnimatedNumber getZ()
3951 { return z; }
3953 //##################
3954 //# Non-API methods
3955 //##################
3957 /**
3958 *
3959 */
3960 virtual ~SVGFEPointLightElementImpl() {}
3962 protected:
3964 SVGAnimatedNumber x, y, z;
3966 };
3974 /*#########################################################################
3975 ## SVGFESpotLightElementImpl
3976 #########################################################################*/
3978 /**
3979 *
3980 */
3981 class SVGFESpotLightElementImpl : virtual public SVGFESpotLightElement,
3982 public SVGElementImpl
3983 {
3984 public:
3986 /**
3987 *
3988 */
3989 virtual SVGAnimatedNumber getX()
3990 { return x; }
3993 /**
3994 *
3995 */
3996 virtual SVGAnimatedNumber getY()
3997 { return y; }
3999 /**
4000 *
4001 */
4002 virtual SVGAnimatedNumber getZ()
4003 { return z; }
4005 /**
4006 *
4007 */
4008 virtual SVGAnimatedNumber getPointsAtX()
4009 { return pointsAtX; }
4011 /**
4012 *
4013 */
4014 virtual SVGAnimatedNumber getPointsAtY()
4015 { return pointsAtY; }
4017 /**
4018 *
4019 */
4020 virtual SVGAnimatedNumber getPointsAtZ()
4021 { return pointsAtZ; }
4023 /**
4024 *
4025 */
4026 virtual SVGAnimatedNumber getSpecularExponent()
4027 { return specularExponent; }
4029 /**
4030 *
4031 */
4032 virtual SVGAnimatedNumber getLimitingConeAngle()
4033 { return limitingConeAngle; }
4037 //##################
4038 //# Non-API methods
4039 //##################
4041 /**
4042 *
4043 */
4044 virtual ~SVGFESpotLightElementImpl() {}
4046 protected:
4048 SVGAnimatedNumber x, y, z;
4049 SVGAnimatedNumber pointsAtX, pointsAtY, pointsAtZ;
4050 SVGAnimatedNumber specularExponent;
4051 SVGAnimatedNumber limitingConeAngle;
4052 };
4060 /*#########################################################################
4061 ## SVGFEDisplacementMapElementImpl
4062 #########################################################################*/
4064 /**
4065 *
4066 */
4067 class SVGFEDisplacementMapElementImpl : virtual public SVGFEDisplacementMapElement,
4068 public SVGElementImpl
4069 {
4070 public:
4072 /**
4073 *
4074 */
4075 virtual SVGAnimatedString getIn1()
4076 { return in1; }
4078 /**
4079 *
4080 */
4081 virtual SVGAnimatedString getIn2()
4082 { return in2; }
4085 /**
4086 *
4087 */
4088 virtual SVGAnimatedNumber getScale()
4089 { return scale; }
4091 /**
4092 *
4093 */
4094 virtual SVGAnimatedEnumeration getXChannelSelector()
4095 { return xChannelSelector; }
4097 /**
4098 *
4099 */
4100 virtual SVGAnimatedEnumeration getYChannelSelector()
4101 { return yChannelSelector; }
4105 //##################
4106 //# Non-API methods
4107 //##################
4109 /**
4110 *
4111 */
4112 virtual ~SVGFEDisplacementMapElementImpl() {}
4114 protected:
4116 SVGAnimatedString in1;
4117 SVGAnimatedString in2;
4118 SVGAnimatedNumber scale;
4119 SVGAnimatedEnumeration xChannelSelector;
4120 SVGAnimatedEnumeration yChannelSelector;
4122 };
4130 /*#########################################################################
4131 ## SVGFEFloodElementImpl
4132 #########################################################################*/
4134 /**
4135 *
4136 */
4137 class SVGFEFloodElementImpl : virtual public SVGFEFloodElement,
4138 public SVGElementImpl
4139 {
4140 public:
4141 /**
4142 *
4143 */
4144 virtual SVGAnimatedString getIn1()
4145 { return in1; }
4148 //##################
4149 //# Non-API methods
4150 //##################
4152 /**
4153 *
4154 */
4155 virtual ~SVGFEFloodElementImpl() {}
4157 protected:
4159 SVGAnimatedString in1;
4161 };
4169 /*#########################################################################
4170 ## SVGFEGaussianBlurElementImpl
4171 #########################################################################*/
4173 /**
4174 *
4175 */
4176 class SVGFEGaussianBlurElementImpl : virtual public SVGFEGaussianBlurElement,
4177 public SVGElementImpl
4178 {
4179 public:
4180 /**
4181 *
4182 */
4183 virtual SVGAnimatedString getIn1()
4184 { return in1; }
4187 /**
4188 *
4189 */
4190 virtual SVGAnimatedNumber getStdDeviationX()
4191 { return stdDeviationX; }
4193 /**
4194 *
4195 */
4196 virtual SVGAnimatedNumber getStdDeviationY()
4197 { return stdDeviationY; }
4200 /**
4201 *
4202 */
4203 virtual void setStdDeviation (double stdDeviationXArg, double stdDeviationYArg )
4204 {
4205 stdDeviationX = stdDeviationXArg;
4206 stdDeviationY = stdDeviationYArg;
4207 }
4211 //##################
4212 //# Non-API methods
4213 //##################
4215 /**
4216 *
4217 */
4218 virtual ~SVGFEGaussianBlurElementImpl() {}
4220 protected:
4222 SVGAnimatedString in1;
4223 SVGAnimatedNumber stdDeviationX, stdDeviationY;
4225 };
4233 /*#########################################################################
4234 ## SVGFEImageElementImpl
4235 #########################################################################*/
4237 /**
4238 *
4239 */
4240 class SVGFEImageElementImpl : virtual public SVGFEImageElement,
4241 public SVGElementImpl
4242 {
4243 public:
4245 //##################
4246 //# Non-API methods
4247 //##################
4249 /**
4250 *
4251 */
4252 virtual ~SVGFEImageElementImpl() {}
4254 protected:
4257 };
4263 /*#########################################################################
4264 ## SVGFEMergeElementImpl
4265 #########################################################################*/
4267 /**
4268 *
4269 */
4270 class SVGFEMergeElementImpl : virtual public SVGFEMergeElement,
4271 public SVGElementImpl
4272 {
4273 public:
4275 //##################
4276 //# Non-API methods
4277 //##################
4279 /**
4280 *
4281 */
4282 virtual ~SVGFEMergeElementImpl() {}
4284 protected:
4287 };
4293 /*#########################################################################
4294 ## SVGFEMergeNodeElementImpl
4295 #########################################################################*/
4297 /**
4298 *
4299 */
4300 class SVGFEMergeNodeElementImpl : virtual public SVGFEMergeNodeElement,
4301 public SVGElementImpl
4302 {
4303 public:
4304 /**
4305 *
4306 */
4307 virtual SVGAnimatedString getIn1()
4308 { return in1; }
4311 //##################
4312 //# Non-API methods
4313 //##################
4315 /**
4316 *
4317 */
4318 virtual ~SVGFEMergeNodeElementImpl() {}
4320 protected:
4322 SVGAnimatedString in1;
4324 };
4332 /*#########################################################################
4333 ## SVGFEMorphologyElementImpl
4334 #########################################################################*/
4336 /**
4337 *
4338 */
4339 class SVGFEMorphologyElementImpl : virtual public SVGFEMorphologyElement,
4340 public SVGElementImpl
4341 {
4342 public:
4344 /**
4345 *
4346 */
4347 virtual SVGAnimatedString getIn1()
4348 { return in1; }
4351 /**
4352 *
4353 */
4354 virtual SVGAnimatedEnumeration getOperator()
4355 { return me_operator; }
4357 /**
4358 *
4359 */
4360 virtual SVGAnimatedLength getRadiusX()
4361 { return radiusX; }
4363 /**
4364 *
4365 */
4366 virtual SVGAnimatedLength getRadiusY()
4367 { return radiusY; }
4371 //##################
4372 //# Non-API methods
4373 //##################
4375 /**
4376 *
4377 */
4378 virtual ~SVGFEMorphologyElementImpl() {}
4380 protected:
4382 SVGAnimatedString in1;
4383 SVGAnimatedEnumeration me_operator;
4384 SVGAnimatedLength radiusX;
4385 SVGAnimatedLength radiusY;
4387 };
4395 /*#########################################################################
4396 ## SVGFEOffsetElementImpl
4397 #########################################################################*/
4399 /**
4400 *
4401 */
4402 class SVGFEOffsetElementImpl : virtual public SVGFEOffsetElement,
4403 public SVGElementImpl
4404 {
4405 public:
4409 /**
4410 *
4411 */
4412 virtual SVGAnimatedString getIn1()
4413 { return in1; }
4415 /**
4416 *
4417 */
4418 virtual SVGAnimatedLength getDx()
4419 { return dx; }
4421 /**
4422 *
4423 */
4424 virtual SVGAnimatedLength getDy()
4425 { return dy; }
4427 //##################
4428 //# Non-API methods
4429 //##################
4431 /**
4432 *
4433 */
4434 virtual ~SVGFEOffsetElementImpl() {}
4436 protected:
4438 SVGAnimatedString in1;
4439 SVGAnimatedLength dx, dy;
4441 };
4449 /*#########################################################################
4450 ## SVGFESpecularLightingElementImpl
4451 #########################################################################*/
4453 /**
4454 *
4455 */
4456 class SVGFESpecularLightingElementImpl :
4457 virtual public SVGFESpecularLightingElement,
4458 public SVGElementImpl
4459 {
4460 public:
4462 /**
4463 *
4464 */
4465 virtual SVGAnimatedString getIn1()
4466 { return in1; }
4468 /**
4469 *
4470 */
4471 virtual SVGAnimatedNumber getSurfaceScale()
4472 { return surfaceScale; }
4474 /**
4475 *
4476 */
4477 virtual SVGAnimatedNumber getSpecularConstant()
4478 { return specularConstant; }
4480 /**
4481 *
4482 */
4483 virtual SVGAnimatedNumber getSpecularExponent()
4484 { return specularExponent; }
4487 //##################
4488 //# Non-API methods
4489 //##################
4491 /**
4492 *
4493 */
4494 virtual ~SVGFESpecularLightingElementImpl() {}
4496 protected:
4498 SVGAnimatedString in1;
4499 SVGAnimatedNumber surfaceScale;
4500 SVGAnimatedNumber specularConstant;
4501 SVGAnimatedNumber specularExponent;
4502 };
4510 /*#########################################################################
4511 ## SVGFETileElementImpl
4512 #########################################################################*/
4514 /**
4515 *
4516 */
4517 class SVGFETileElementImpl : virtual public SVGFETileElement,
4518 public SVGElementImpl
4519 {
4520 public:
4523 /**
4524 *
4525 */
4526 virtual SVGAnimatedString getIn1()
4527 { return in1; }
4531 //##################
4532 //# Non-API methods
4533 //##################
4535 /**
4536 *
4537 */
4538 virtual ~SVGFETileElementImpl() {}
4540 protected:
4542 SVGAnimatedString in1;
4544 };
4552 /*#########################################################################
4553 ## SVGFETurbulenceElementImpl
4554 #########################################################################*/
4556 /**
4557 *
4558 */
4559 class SVGFETurbulenceElementImpl : virtual public SVGFETurbulenceElement,
4560 public SVGElementImpl
4561 {
4562 public:
4564 /**
4565 *
4566 */
4567 virtual SVGAnimatedNumber getBaseFrequencyX()
4568 { return baseFrequencyX; }
4570 /**
4571 *
4572 */
4573 virtual SVGAnimatedNumber getBaseFrequencyY()
4574 { return baseFrequencyY; }
4576 /**
4577 *
4578 */
4579 virtual SVGAnimatedInteger getNumOctaves()
4580 { return numOctaves; }
4582 /**
4583 *
4584 */
4585 virtual SVGAnimatedNumber getSeed()
4586 { return seed; }
4588 /**
4589 *
4590 */
4591 virtual SVGAnimatedEnumeration getStitchTiles()
4592 { return stitchTiles; }
4594 /**
4595 *
4596 */
4597 virtual SVGAnimatedEnumeration getType()
4598 { return type; }
4602 //##################
4603 //# Non-API methods
4604 //##################
4606 /**
4607 *
4608 */
4609 virtual ~SVGFETurbulenceElementImpl() {}
4611 protected:
4613 SVGAnimatedNumber baseFrequencyX;
4614 SVGAnimatedNumber baseFrequencyY;
4615 SVGAnimatedInteger numOctaves;
4616 SVGAnimatedNumber seed;
4617 SVGAnimatedEnumeration stitchTiles;
4618 SVGAnimatedEnumeration type;
4620 };
4628 /*#########################################################################
4629 ## SVGCursorElementImpl
4630 #########################################################################*/
4632 /**
4633 *
4634 */
4635 class SVGCursorElementImpl : virtual public SVGCursorElement,
4636 public SVGElementImpl
4637 {
4638 public:
4640 /**
4641 *
4642 */
4643 virtual SVGAnimatedLength getX()
4644 { return x; }
4646 /**
4647 *
4648 */
4649 virtual SVGAnimatedLength getY()
4650 { return x; }
4652 //##################
4653 //# Non-API methods
4654 //##################
4656 /**
4657 *
4658 */
4659 virtual ~SVGCursorElementImpl() {}
4661 protected:
4663 SVGAnimatedLength x, y;
4664 };
4672 /*#########################################################################
4673 ## SVGAElementImpl
4674 #########################################################################*/
4676 /**
4677 *
4678 */
4679 class SVGAElementImpl : virtual public SVGAElement,
4680 public SVGElementImpl
4681 {
4682 public:
4684 /**
4685 *
4686 */
4687 virtual SVGAnimatedString getTarget()
4688 { return target; }
4692 //##################
4693 //# Non-API methods
4694 //##################
4696 /**
4697 *
4698 */
4699 virtual ~SVGAElementImpl() {}
4701 protected:
4703 SVGAnimatedString target;
4704 };
4712 /*#########################################################################
4713 ## SVGViewElementImpl
4714 #########################################################################*/
4716 /**
4717 *
4718 */
4719 class SVGViewElementImpl : virtual public SVGViewElement,
4720 public SVGElementImpl
4721 {
4722 public:
4724 /**
4725 *
4726 */
4727 virtual SVGStringList getViewTarget()
4728 { return viewTarget; }
4732 //##################
4733 //# Non-API methods
4734 //##################
4736 /**
4737 *
4738 */
4739 virtual ~SVGViewElementImpl() {}
4741 protected:
4743 SVGStringList viewTarget;
4744 };
4752 /*#########################################################################
4753 ## SVGScriptElementImpl
4754 #########################################################################*/
4756 /**
4757 *
4758 */
4759 class SVGScriptElementImpl : virtual public SVGScriptElement,
4760 public SVGElementImpl
4761 {
4762 public:
4764 /**
4765 *
4766 */
4767 virtual DOMString getType()
4768 { return type; }
4770 /**
4771 *
4772 */
4773 virtual void setType(const DOMString &val) throw (DOMException)
4774 { type = val; }
4777 //##################
4778 //# Non-API methods
4779 //##################
4781 /**
4782 *
4783 */
4784 virtual ~SVGScriptElementImpl() {}
4786 protected:
4788 DOMString type;
4789 };
4796 /*#########################################################################
4797 ## SVGAnimationElementImpl
4798 #########################################################################*/
4800 /**
4801 *
4802 */
4803 class SVGAnimationElementImpl : virtual public SVGAnimationElement,
4804 public SVGElementImpl
4805 {
4806 public:
4809 /**
4810 *
4811 */
4812 virtual SVGElementPtr getTargetElement()
4813 { return targetElement; }
4816 /**
4817 *
4818 */
4819 virtual double getStartTime ( )
4820 { return startTime; }
4822 /**
4823 *
4824 */
4825 virtual double getCurrentTime ( )
4826 { return currentTime; }
4828 /**
4829 *
4830 */
4831 virtual double getSimpleDuration ( ) throw( DOMException )
4832 { return simpleDuration; }
4836 //##################
4837 //# Non-API methods
4838 //##################
4840 /**
4841 *
4842 */
4843 virtual ~SVGAnimationElementImpl() {}
4845 protected:
4847 SVGElementPtr targetElement;
4848 double startTime, currentTime, simpleDuration;
4849 };
4857 /*#########################################################################
4858 ## SVGAnimateElementImpl
4859 #########################################################################*/
4861 /**
4862 *
4863 */
4864 class SVGAnimateElementImpl : virtual public SVGAnimateElement,
4865 public SVGAnimationElementImpl
4866 {
4867 public:
4869 //##################
4870 //# Non-API methods
4871 //##################
4873 /**
4874 *
4875 */
4876 virtual ~SVGAnimateElementImpl() {}
4878 protected:
4881 };
4887 /*#########################################################################
4888 ## SVGSetElementImpl
4889 #########################################################################*/
4891 /**
4892 *
4893 */
4894 class SVGSetElementImpl : virtual public SVGSetElement,
4895 public SVGAnimationElementImpl
4896 {
4897 public:
4899 //##################
4900 //# Non-API methods
4901 //##################
4903 /**
4904 *
4905 */
4906 virtual ~SVGSetElementImpl() {}
4908 protected:
4911 };
4917 /*#########################################################################
4918 ## SVGAnimateMotionElementImpl
4919 #########################################################################*/
4921 /**
4922 *
4923 */
4924 class SVGAnimateMotionElementImpl : virtual public SVGAnimateMotionElement,
4925 public SVGAnimationElementImpl
4926 {
4927 public:
4929 //##################
4930 //# Non-API methods
4931 //##################
4933 /**
4934 *
4935 */
4936 virtual ~SVGAnimateMotionElementImpl() {}
4938 protected:
4941 };
4947 /*#########################################################################
4948 ## SVGMPathElementImpl
4949 #########################################################################*/
4951 /**
4952 *
4953 */
4954 class SVGMPathElementImpl : virtual public SVGMPathElement,
4955 public SVGElementImpl
4956 {
4957 public:
4959 //##################
4960 //# Non-API methods
4961 //##################
4963 /**
4964 *
4965 */
4966 virtual ~SVGMPathElementImpl() {}
4968 protected:
4971 };
4977 /*#########################################################################
4978 ## SVGAnimateColorElementImpl
4979 #########################################################################*/
4981 /**
4982 *
4983 */
4984 class SVGAnimateColorElementImpl : virtual public SVGAnimateColorElement,
4985 public SVGAnimationElementImpl
4986 {
4987 public:
4989 //##################
4990 //# Non-API methods
4991 //##################
4993 /**
4994 *
4995 */
4996 virtual ~SVGAnimateColorElementImpl() {}
4998 protected:
5001 };
5007 /*#########################################################################
5008 ## SVGAnimateTransformElementImpl
5009 #########################################################################*/
5011 /**
5012 *
5013 */
5014 class SVGAnimateTransformElementImpl : virtual public SVGAnimateTransformElement,
5015 public SVGAnimationElementImpl
5016 {
5017 public:
5019 //##################
5020 //# Non-API methods
5021 //##################
5023 /**
5024 *
5025 */
5026 virtual ~SVGAnimateTransformElementImpl() {}
5028 protected:
5031 };
5037 /*#########################################################################
5038 ## SVGFontElementImpl
5039 #########################################################################*/
5041 /**
5042 *
5043 */
5044 class SVGFontElementImpl : virtual public SVGFontElement,
5045 public SVGElementImpl
5046 {
5047 public:
5049 //##################
5050 //# Non-API methods
5051 //##################
5053 /**
5054 *
5055 */
5056 virtual ~SVGFontElementImpl() {}
5058 protected:
5061 };
5067 /*#########################################################################
5068 ## SVGGlyphElementImpl
5069 #########################################################################*/
5071 /**
5072 *
5073 */
5074 class SVGGlyphElementImpl : virtual public SVGGlyphElement,
5075 public SVGElementImpl
5076 {
5077 public:
5079 //##################
5080 //# Non-API methods
5081 //##################
5083 /**
5084 *
5085 */
5086 virtual ~SVGGlyphElementImpl() {}
5088 protected:
5091 };
5097 /*#########################################################################
5098 ## SVGMissingGlyphElementImpl
5099 #########################################################################*/
5101 /**
5102 *
5103 */
5104 class SVGMissingGlyphElementImpl : virtual public SVGMissingGlyphElement,
5105 public SVGElementImpl
5106 {
5107 public:
5109 //##################
5110 //# Non-API methods
5111 //##################
5113 /**
5114 *
5115 */
5116 virtual ~SVGMissingGlyphElementImpl() {}
5118 protected:
5121 };
5127 /*#########################################################################
5128 ## SVGHKernElementImpl
5129 #########################################################################*/
5131 /**
5132 *
5133 */
5134 class SVGHKernElementImpl : virtual public SVGHKernElement,
5135 public SVGElementImpl
5136 {
5137 public:
5139 //##################
5140 //# Non-API methods
5141 //##################
5143 /**
5144 *
5145 */
5146 virtual ~SVGHKernElementImpl() {}
5148 protected:
5151 };
5157 /*#########################################################################
5158 ## SVGVKernElementImpl
5159 #########################################################################*/
5161 /**
5162 *
5163 */
5164 class SVGVKernElementImpl : virtual public SVGVKernElement,
5165 public SVGElementImpl
5166 {
5167 public:
5169 //##################
5170 //# Non-API methods
5171 //##################
5173 /**
5174 *
5175 */
5176 virtual ~SVGVKernElementImpl() {}
5178 protected:
5181 };
5187 /*#########################################################################
5188 ## SVGFontFaceElementImpl
5189 #########################################################################*/
5191 /**
5192 *
5193 */
5194 class SVGFontFaceElementImpl : virtual public SVGFontFaceElement,
5195 public SVGElementImpl
5196 {
5197 public:
5199 //##################
5200 //# Non-API methods
5201 //##################
5203 /**
5204 *
5205 */
5206 virtual ~SVGFontFaceElementImpl() {}
5208 protected:
5211 };
5217 /*#########################################################################
5218 ## SVGFontFaceSrcElementImpl
5219 #########################################################################*/
5221 /**
5222 *
5223 */
5224 class SVGFontFaceSrcElementImpl : virtual public SVGFontFaceSrcElement,
5225 public SVGElementImpl
5226 {
5227 public:
5229 //##################
5230 //# Non-API methods
5231 //##################
5233 /**
5234 *
5235 */
5236 virtual ~SVGFontFaceSrcElementImpl() {}
5238 protected:
5241 };
5247 /*#########################################################################
5248 ## SVGFontFaceUriElementImpl
5249 #########################################################################*/
5251 /**
5252 *
5253 */
5254 class SVGFontFaceUriElementImpl : virtual public SVGFontFaceUriElement,
5255 public SVGElementImpl
5256 {
5257 public:
5259 //##################
5260 //# Non-API methods
5261 //##################
5263 /**
5264 *
5265 */
5266 virtual ~SVGFontFaceUriElementImpl() {}
5268 protected:
5271 };
5277 /*#########################################################################
5278 ## SVGFontFaceFormatElementImpl
5279 #########################################################################*/
5281 /**
5282 *
5283 */
5284 class SVGFontFaceFormatElementImpl : virtual public SVGFontFaceFormatElement,
5285 public SVGElementImpl
5286 {
5287 public:
5289 //##################
5290 //# Non-API methods
5291 //##################
5293 /**
5294 *
5295 */
5296 virtual ~SVGFontFaceFormatElementImpl() {}
5298 protected:
5301 };
5307 /*#########################################################################
5308 ## SVGFontFaceNameElementImpl
5309 #########################################################################*/
5311 /**
5312 *
5313 */
5314 class SVGFontFaceNameElementImpl : virtual public SVGFontFaceNameElement,
5315 public SVGElementImpl
5316 {
5317 public:
5319 //##################
5320 //# Non-API methods
5321 //##################
5323 /**
5324 *
5325 */
5326 virtual ~SVGFontFaceNameElementImpl() {}
5328 protected:
5331 };
5337 /*#########################################################################
5338 ## SVGDefinitionSrcElementImpl
5339 #########################################################################*/
5341 /**
5342 *
5343 */
5344 class SVGDefinitionSrcElementImpl : virtual public SVGDefinitionSrcElement,
5345 public SVGElementImpl
5346 {
5347 public:
5349 //##################
5350 //# Non-API methods
5351 //##################
5353 /**
5354 *
5355 */
5356 virtual ~SVGDefinitionSrcElementImpl() {}
5358 protected:
5361 };
5367 /*#########################################################################
5368 ## SVGMetadataElementImpl
5369 #########################################################################*/
5371 /**
5372 *
5373 */
5374 class SVGMetadataElementImpl : virtual public SVGMetadataElement,
5375 public SVGElementImpl
5376 {
5377 public:
5379 //##################
5380 //# Non-API methods
5381 //##################
5383 /**
5384 *
5385 */
5386 virtual ~SVGMetadataElementImpl() {}
5388 protected:
5391 };
5396 /*#########################################################################
5397 ## SVGForeignObjectElementImpl
5398 #########################################################################*/
5400 /**
5401 *
5402 */
5403 class SVGForeignObjectElementImpl : virtual public SVGForeignObjectElement,
5404 public SVGElementImpl
5405 {
5406 public:
5409 /**
5410 *
5411 */
5412 virtual SVGAnimatedLength getX()
5413 { return x; }
5415 /**
5416 *
5417 */
5418 virtual SVGAnimatedLength getY()
5419 { return y; }
5421 /**
5422 *
5423 */
5424 virtual SVGAnimatedLength getWidth()
5425 { return width; }
5427 /**
5428 *
5429 */
5430 virtual SVGAnimatedLength getHeight()
5431 { return height; }
5435 //##################
5436 //# Non-API methods
5437 //##################
5440 /**
5441 *
5442 */
5443 virtual ~SVGForeignObjectElementImpl() {}
5445 protected:
5447 SVGAnimatedLength x, y, width, height;
5448 };
5455 } //namespace svg
5456 } //namespace dom
5457 } //namespace w3c
5458 } //namespace org
5460 #endif // __SVG_H__
5461 /*#########################################################################
5462 ## E N D O F F I L E
5463 #########################################################################*/