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 #########################################################################*/
71 /**
72 * Bitmasks for has_an interface for SVGElement
73 */
74 #define SVG_ANGLE 0x00000001
75 #define SVG_ANIMATED_ANGLE 0x00000002
76 #define SVG_ANIMATED_BOOLEAN 0x00000004
77 #define SVG_ANIMATED_ENUMERATION 0x00000008
78 #define SVG_ANIMATED_INTEGER 0x00000010
79 #define SVG_ANIMATED_LENGTH 0x00000020
80 #define SVG_ANIMATED_LENGTH_LIST 0x00000040
81 #define SVG_ANIMATED_NUMBER 0x00000080
82 #define SVG_ANIMATED_NUMBER_LIST 0x00000100
83 #define SVG_ANIMATED_RECT 0x00000200
84 #define SVG_ANIMATED_STRING 0x00000400
85 #define SVG_COLOR 0x00000800
86 #define SVG_CSS_RULE 0x00001000
87 #define SVG_EXTERNAL_RESOURCES_REQUIRED 0x00002000
88 #define SVG_FIT_TO_VIEWBOX 0x00004000
89 #define SVG_ICCCOLOR 0x00008000
90 #define SVG_LANG_SPACE 0x00010000
91 #define SVG_LENGTH 0x00020000
92 #define SVG_LENGTH_LIST 0x00040000
93 #define SVG_LOCATABLE 0x00080000
94 #define SVG_NUMBER 0x00100000
95 #define SVG_NUMBER_LIST 0x00200000
96 #define SVG_RECT 0x00400000
97 #define SVG_RENDERING_INTENT 0x00800000
98 #define SVG_STRING_LIST 0x01000000
99 #define SVG_STYLABLE 0x02000000
100 #define SVG_TESTS 0x04000000
101 #define SVG_TRANSFORMABLE 0x08000000
102 #define SVG_UNIT_TYPES 0x10000000
103 #define SVG_URI_REFERENCE 0x20000000
104 #define SVG_VIEW_SPEC 0x40000000
105 #define SVG_ZOOM_AND_PAN 0x80000000
107 /**
108 * How many above? Quite handy
109 */
110 #define SVG_NR_INTERFACES 32
113 /**
114 * Enumerations for SVGElement types
115 */
116 typedef enum
117 {
118 /**
119 * Defines a hyperlink
120 */
121 SVG_A_ELEMENT = 0,
122 /**
123 * Allows control over glyphs used to render particular character
124 * data (e.g. for music symbols or Asian text)
125 */
126 SVG_ALTGLYPH_ELEMENT,
127 /**
128 * Defines a set of glyph substitutions (e.g. for music symbols or Asian text)
129 */
130 SVG_ALTGLYPHDEF_ELEMENT,
131 /**
132 * Defines a candidate set of glyph substitutions (e.g. for music symbols
133 * or Asian text)
134 */
135 SVG_ALTGLYPHITEM_ELEMENT,
136 /**
137 * Animates an attribute or property over time
138 */
139 SVG_ANIMATE_ELEMENT,
140 /**
141 * Specifies a color transformation over time
142 */
143 SVG_ANIMATECOLOR_ELEMENT,
144 /**
145 * Causes an element to move along a motion path
146 */
147 SVG_ANIMATEMOTION_ELEMENT,
148 /**
149 * Animates a transformation attribute on an element
150 */
151 SVG_ANIMATETRANSFORM_ELEMENT,
152 /**
153 * Defines a circle
154 */
155 SVG_CIRCLE_ELEMENT,
156 /**
157 *
158 */
159 SVG_CLIPPATH_ELEMENT,
160 /**
161 * Specifies a color profile description
162 */
163 SVG_COLOR_PROFILE_ELEMENT,
164 /**
165 * Defines a platform-independent cursor
166 */
167 SVG_CURSOR_ELEMENT,
168 /**
169 * Defines a separate font definition resource
170 */
171 SVG_DEFINITION_SRC_ELEMENT,
172 /**
173 * A container for referenced elements
174 */
175 SVG_DEFS_ELEMENT,
176 /**
177 * A text-only description for elements in SVG - not displayed as part
178 * of the graphics. User agents may display the text as a tooltip
179 */
180 SVG_DESC_ELEMENT,
181 /**
182 * Defines an ellipse
183 */
184 SVG_ELLIPSE_ELEMENT,
185 /**
186 * SVG filter. Composites two objects together using different blending modes
187 */
188 SVG_FEBLEND_ELEMENT,
189 /**
190 * SVG filter. Applies a matrix transformation
191 */
192 SVG_FECOLORMATRIX_ELEMENT,
193 /**
194 * SVG filter. Performs component-wise remapping of data
195 */
196 SVG_FECOMPONENTTRANSFER_ELEMENT,
197 /**
198 * SVG filter.
199 */
200 SVG_FECOMPOSITE_ELEMENT,
201 /**
202 * SVG filter.
203 */
204 SVG_FECONVOLVEMATRIX_ELEMENT,
205 /**
206 * SVG filter.
207 */
208 SVG_FEDIFFUSELIGHTING_ELEMENT,
209 /**
210 * SVG filter.
211 */
212 SVG_FEDISPLACEMENTMAP_ELEMENT,
213 /**
214 * SVG filter. Defines a light source
215 */
216 SVG_FEDISTANTLIGHT_ELEMENT,
217 /**
218 * SVG filter.
219 */
220 SVG_FEFLOOD_ELEMENT,
221 /**
222 * SVG filter. Sub-element to feComponentTransfer
223 */
224 SVG_FEFUNCA_ELEMENT,
225 /**
226 * SVG filter. Sub-element to feComponentTransfer
227 */
228 SVG_FEFUNCB_ELEMENT,
229 /**
230 * SVG filter. Sub-element to feComponentTransfer
231 */
232 SVG_FEFUNCG_ELEMENT,
233 /**
234 * SVG filter. Sub-element to feComponentTransfer
235 */
236 SVG_FEFUNCR_ELEMENT,
237 /**
238 * SVG filter. Performs a Gaussian blur on the image
239 */
240 SVG_FEGAUSSIANBLUR_ELEMENT,
241 /**
242 * SVG filter.
243 */
244 SVG_FEIMAGE_ELEMENT,
245 /**
246 * SVG filter. Creates image layers on top of each other
247 */
248 SVG_FEMERGE_ELEMENT,
249 /**
250 * SVG filter. Sub-element to feMerge
251 */
252 SVG_FEMERGENODE_ELEMENT,
253 /**
254 * SVG filter. Performs a "fattening" or "thinning" on a source graphic
255 */
256 SVG_FEMORPHOLOGY_ELEMENT,
257 /**
258 * SVG filter. Moves an image relative to its current position
259 */
260 SVG_FEOFFSET_ELEMENT,
261 /**
262 * SVG filter.
263 */
264 SVG_FEPOINTLIGHT_ELEMENT,
265 /**
266 * SVG filter.
267 */
268 SVG_FESPECULARLIGHTING_ELEMENT,
269 /**
270 * SVG filter.
271 */
272 SVG_FESPOTLIGHT_ELEMENT,
273 /**
274 * SVG filter.
275 */
276 SVG_FETILE_ELEMENT,
277 /**
278 * SVG filter.
279 */
280 SVG_FETURBULENCE_ELEMENT,
281 /**
282 * Container for filter effects
283 */
284 SVG_FILTER_ELEMENT,
285 /**
286 * Defines a font
287 */
288 SVG_FONT_ELEMENT,
289 /**
290 * Describes the characteristics of a font
291 */
292 SVG_FONT_FACE_ELEMENT,
293 /**
294 *
295 */
296 SVG_FONT_FACE_FORMAT_ELEMENT,
297 /**
298 *
299 */
300 SVG_FONT_FACE_NAME_ELEMENT,
301 /**
302 *
303 */
304 SVG_FONT_FACE_SRC_ELEMENT,
305 /**
306 *
307 */
308 SVG_FONT_FACE_URI_ELEMENT,
309 /**
310 *
311 */
312 SVG_FOREIGNOBJECT_ELEMENT,
313 /**
314 * A container element for grouping together related elements
315 */
316 SVG_G_ELEMENT,
317 /**
318 * Defines the graphics for a given glyph
319 */
320 SVG_GLYPH_ELEMENT,
321 /**
322 * Defines a possible glyph to use
323 */
324 SVG_GLYPHREF_ELEMENT,
325 /**
326 *
327 */
328 SVG_HKERN_ELEMENT,
329 /**
330 *
331 */
332 SVG_IMAGE_ELEMENT,
333 /**
334 * Defines a line
335 */
336 SVG_LINE_ELEMENT,
337 /**
338 * Defines a linear gradient
339 */
340 SVG_LINEARGRADIENT_ELEMENT,
341 /**
342 *
343 */
344 SVG_MARKER_ELEMENT,
345 /**
346 *
347 */
348 SVG_MASK_ELEMENT,
349 /**
350 * Specifies metadata
351 */
352 SVG_METADATA_ELEMENT,
353 /**
354 *
355 */
356 SVG_MISSING_GLYPH_ELEMENT,
357 /**
358 *
359 */
360 SVG_MPATH_ELEMENT,
361 /**
362 * Defines a path
363 */
364 SVG_PATH_ELEMENT,
365 /**
366 *
367 */
368 SVG_PATTERN_ELEMENT,
369 /**
370 * Defines a closed shape that consists of a set of connected straight lines
371 */
372 SVG_POLYGON_ELEMENT,
373 /**
374 * Defines a set of connected straight lines
375 */
376 SVG_POLYLINE_ELEMENT,
377 /**
378 * Defines a radial gradient
379 */
380 SVG_RADIALGRADIENT_ELEMENT,
381 /**
382 * Defines a rectangle
383 */
384 SVG_RECT_ELEMENT,
385 /**
386 * Container for scripts (e.g., ECMAScript)
387 */
388 SVG_SCRIPT_ELEMENT,
389 /**
390 * Sets the value of an attribute for a specified duration
391 */
392 SVG_SET_ELEMENT,
393 /**
394 *
395 */
396 SVG_STOP_ELEMENT,
397 /**
398 * Allows style sheets to be embedded directly within SVG content
399 */
400 SVG_STYLE_ELEMENT,
401 /**
402 * Defines an SVG document fragment
403 */
404 SVG_SVG_ELEMENT,
405 /**
406 *
407 */
408 SVG_SWITCH_ELEMENT,
409 /**
410 *
411 */
412 SVG_SYMBOL_ELEMENT,
413 /**
414 *
415 */
416 SVG_TEXT_ELEMENT,
417 /**
418 *
419 */
420 SVG_TEXTPATH_ELEMENT,
421 /**
422 * A text-only description for elements in SVG - not displayed as part of
423 * the graphics. User agents may display the text as a tooltip
424 */
425 SVG_TITLE_ELEMENT,
426 /**
427 *
428 */
429 SVG_TREF_ELEMENT,
430 /**
431 *
432 */
433 SVG_TSPAN_ELEMENT,
434 /**
435 *
436 */
437 SVG_USE_ELEMENT,
438 /**
439 *
440 */
441 SVG_VIEW_ELEMENT,
442 /**
443 *
444 */
445 SVG_VKERN_ELEMENT,
446 /**
447 *
448 */
449 SVG_MAX_ELEMENT
451 } SVGElementType;
456 /**
457 * Look up the SVG Element type enum for a given string
458 * Return -1 if not found
459 */
460 int svgElementStrToEnum(const char *str);
463 /**
464 * Return the string corresponding to a given SVG element type enum
465 * Return "unknown" if not found
466 */
467 const char *svgElementEnumToStr(int type);
470 /*#########################################################################
471 ## SVGDocumentImpl
472 #########################################################################*/
474 /**
475 *
476 */
477 class SVGDocumentImpl : virtual public SVGDocument, public DocumentImpl
478 {
479 public:
482 /**
483 *
484 */
485 virtual DOMString getTitle()
486 { return title; }
488 /**
489 *
490 */
491 virtual DOMString getReferrer()
492 { return referrer; }
494 /**
495 *
496 */
497 virtual DOMString getDomain()
498 { return domain; }
500 /**
501 *
502 */
503 virtual DOMString getURL()
504 { return url; }
506 /**
507 *
508 */
509 virtual SVGSVGElementPtr getRootElement()
510 { return rootElement; }
513 //####################################################
514 //# Overload some createXXX() methods from DocumentImpl,
515 //# To create our SVG-DOM types (in .cpp)
516 //####################################################
518 /**
519 *
520 */
521 virtual ElementPtr createElement(const DOMString& tagName)
522 throw(DOMException);
525 /**
526 *
527 */
528 virtual ElementPtr createElementNS(const DOMString& namespaceURI,
529 const DOMString& qualifiedName)
530 throw(DOMException);
532 //##################
533 //# Non-API methods
534 //##################
536 SVGDocumentImpl(const DOMImplementation *domImpl,
537 const DOMString &namespaceURI,
538 const DOMString &qualifiedName,
539 const DocumentTypePtr doctype)
540 : DocumentImpl(domImpl, namespaceURI,
541 qualifiedName, doctype)
542 {
543 init();
544 }
547 /**
548 *
549 */
550 virtual ~SVGDocumentImpl()
551 {
552 }
554 protected:
556 friend class SvgParser;
558 void init();
560 DOMString title;
561 DOMString referrer;
562 DOMString domain;
563 DOMString url;
564 SVGSVGElementImplPtr rootElement;
565 };
569 /*#########################################################################
570 ## SVGElementImpl
571 #########################################################################*/
573 /**
574 *
575 */
576 class SVGElementImpl : virtual public SVGElement,
577 public ElementImpl
578 {
579 public:
581 /**
582 *
583 */
584 virtual DOMString getId()
585 { return id; }
587 /**
588 *
589 */
590 virtual void setId(const DOMString &val)
591 throw (DOMException)
592 { id = val; }
594 /**
595 *
596 */
597 virtual DOMString getXmlBase()
598 { return xmlBase; }
600 /**
601 *
602 */
603 virtual void setXmlBase(const DOMString &val)
604 throw (DOMException)
605 { xmlBase = val; }
607 /**
608 *
609 */
610 virtual SVGSVGElementPtr getOwnerSVGElement()
611 { return ownerSvgElement; }
613 /**
614 *
615 */
616 virtual SVGElementPtr getViewportElement()
617 { return viewportElement; }
620 //##################
621 //# Non-API methods
622 //##################
625 /**
626 *
627 */
628 SVGElementImpl()
629 {}
631 /**
632 *
633 */
634 SVGElementImpl(SVGDocumentImplPtr owner, const DOMString &tagName)
635 : ElementImpl(owner, tagName)
636 { init(); }
638 /**
639 *
640 */
641 SVGElementImpl(SVGDocumentImplPtr owner,
642 const DOMString &namespaceURI,
643 const DOMString &tagName)
644 : ElementImpl(owner, namespaceURI, tagName)
645 { init(); }
648 /**
649 *
650 */
651 virtual ~SVGElementImpl()
652 {}
654 protected:
656 void init()
657 {
658 id = "";
659 xmlBase = "";
660 ownerSvgElement = NULL;
661 viewportElement = NULL;
662 }
664 DOMString id;
665 DOMString xmlBase;
666 SVGSVGElementPtr ownerSvgElement;
667 SVGElementPtr viewportElement;
669 };
673 /*#########################################################################
674 ## SVGSVGElementImpl
675 #########################################################################*/
677 /**
678 *
679 */
680 class SVGSVGElementImpl : virtual public SVGSVGElement,
681 public SVGElementImpl
682 {
683 public:
685 /**
686 * Retrieves an attribute value by name.
687 */
688 virtual DOMString getAttribute(const DOMString& name);
690 /**
691 * Sets an attribute value
692 */
693 virtual void setAttribute(const DOMString& name,
694 const DOMString& value)
695 throw(DOMException);
697 /**
698 *
699 */
700 virtual SVGAnimatedLength getX()
701 { return x; }
703 /**
704 *
705 */
706 virtual SVGAnimatedLength getY()
707 { return y; }
709 /**
710 *
711 */
712 virtual SVGAnimatedLength getWidth()
713 { return width; }
715 /**
716 *
717 */
718 virtual SVGAnimatedLength getHeight()
719 { return height; }
721 /**
722 *
723 */
724 virtual DOMString getContentScriptType()
725 { return contentScriptType; }
727 /**
728 *
729 */
730 virtual void setContentScriptType(const DOMString &val)
731 throw (DOMException)
732 { contentScriptType = val; }
735 /**
736 *
737 */
738 virtual DOMString getContentStyleType()
739 { return contentStyleType; }
741 /**
742 *
743 */
744 virtual void setContentStyleType(const DOMString &val)
745 throw (DOMException)
746 { contentStyleType = val; }
748 /**
749 *
750 */
751 virtual SVGRect getViewport()
752 { return viewport; }
754 /**
755 *
756 */
757 virtual double getPixelUnitToMillimeterX()
758 { return pixelUnitToMillimeterX; }
760 /**
761 *
762 */
763 virtual double getPixelUnitToMillimeterY()
764 { return pixelUnitToMillimeterY; }
766 /**
767 *
768 */
769 virtual double getScreenPixelToMillimeterX()
770 { return screenPixelToMillimeterX; }
772 /**
773 *
774 */
775 virtual double getScreenPixelToMillimeterY()
776 { return screenPixelToMillimeterY; }
779 /**
780 *
781 */
782 virtual bool getUseCurrentView()
783 { return useCurrentView; }
785 /**
786 *
787 */
788 virtual void setUseCurrentView(bool val) throw (DOMException)
789 { useCurrentView = val; }
791 /**
792 *
793 */
794 virtual SVGViewSpec getCurrentView()
795 { return currentView; }
798 /**
799 *
800 */
801 virtual double getCurrentScale()
802 { return currentScale; }
804 /**
805 *
806 */
807 virtual void setCurrentScale(double val) throw (DOMException)
808 { currentScale = val; }
811 /**
812 *
813 */
814 virtual SVGPoint getCurrentTranslate()
815 { return currentTranslate; }
818 /**
819 *
820 */
821 virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds );
823 /**
824 *
825 */
826 virtual void unsuspendRedraw (unsigned long suspend_handle_id )
827 throw( DOMException );
829 /**
830 *
831 */
832 virtual void unsuspendRedrawAll ( );
834 /**
835 *
836 */
837 virtual void forceRedraw ( );
839 /**
840 *
841 */
842 virtual void pauseAnimations ( );
844 /**
845 *
846 */
847 virtual void unpauseAnimations ( );
849 /**
850 *
851 */
852 virtual bool animationsPaused ( );
854 /**
855 *
856 */
857 virtual double getCurrentTime ( )
858 { return currentTime; }
860 /**
861 *
862 */
863 virtual void setCurrentTime (double seconds )
864 { currentTime = seconds; }
866 /**
867 *
868 */
869 virtual NodeList getIntersectionList (const SVGRect &rect,
870 const SVGElementPtr referenceElement );
872 /**
873 *
874 */
875 virtual NodeList getEnclosureList (const SVGRect &rect,
876 const SVGElementPtr referenceElement );
878 /**
879 *
880 */
881 virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect );
883 /**
884 *
885 */
886 virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect );
888 /**
889 *
890 */
891 virtual void deselectAll ( );
893 /**
894 *
895 */
896 virtual SVGNumber createSVGNumber ( )
897 {
898 SVGNumber ret;
899 return ret;
900 }
902 /**
903 *
904 */
905 virtual SVGLength createSVGLength ( )
906 {
907 SVGLength ret;
908 return ret;
909 }
911 /**
912 *
913 */
914 virtual SVGAngle createSVGAngle ( )
915 {
916 SVGAngle ret;
917 return ret;
918 }
920 /**
921 *
922 */
923 virtual SVGPoint createSVGPoint ( )
924 {
925 SVGPoint ret;
926 return ret;
927 }
929 /**
930 *
931 */
932 virtual SVGMatrix createSVGMatrix ( )
933 {
934 SVGMatrix ret;
935 return ret;
936 }
938 /**
939 *
940 */
941 virtual SVGRect createSVGRect ( )
942 {
943 SVGRect ret;
944 return ret;
945 }
947 /**
948 *
949 */
950 virtual SVGTransform createSVGTransform ( )
951 {
952 SVGTransform ret;
953 return ret;
954 }
956 /**
957 *
958 */
959 virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix )
960 {
961 SVGTransform ret;
962 ret.setMatrix(matrix);
963 return ret;
964 }
967 /**
968 *
969 */
970 virtual ElementPtr getElementById (const DOMString& elementId );
974 //##################
975 //# Non-API methods
976 //##################
978 /**
979 *
980 */
981 SVGSVGElementImpl() : SVGElementImpl()
982 {}
986 /**
987 *
988 */
989 virtual ~SVGSVGElementImpl() {}
991 protected:
993 SVGAnimatedLength x;
994 SVGAnimatedLength y;
995 SVGAnimatedLength width;
996 SVGAnimatedLength height;
997 DOMString contentScriptType;
998 DOMString contentStyleType;
999 SVGRect viewport;
1000 double pixelUnitToMillimeterX;
1001 double pixelUnitToMillimeterY;
1002 double screenPixelToMillimeterX;
1003 double screenPixelToMillimeterY;
1004 bool useCurrentView;
1005 SVGViewSpec currentView;
1006 double currentScale;
1007 SVGPoint currentTranslate;
1009 double currentTime;
1011 };
1015 /*#########################################################################
1016 ## SVGGElementImpl
1017 #########################################################################*/
1019 /**
1020 *
1021 */
1022 class SVGGElementImpl : virtual public SVGGElement, public SVGElementImpl
1023 {
1024 public:
1026 //##################
1027 //# Non-API methods
1028 //##################
1030 /**
1031 *
1032 */
1033 SVGGElementImpl() {}
1035 /**
1036 *
1037 */
1038 virtual ~SVGGElementImpl() {}
1040 protected:
1043 };
1048 /*#########################################################################
1049 ## SVGDefsElementImpl
1050 #########################################################################*/
1052 /**
1053 *
1054 */
1055 class SVGDefsElementImpl : virtual public SVGDefsElement,
1056 public SVGElementImpl
1057 {
1058 public:
1060 //##################
1061 //# Non-API methods
1062 //##################
1064 /**
1065 *
1066 */
1067 SVGDefsElementImpl() {}
1069 /**
1070 *
1071 */
1072 virtual ~SVGDefsElementImpl() {}
1074 protected:
1077 };
1083 /*#########################################################################
1084 ## SVGDescElementImpl
1085 #########################################################################*/
1087 /**
1088 *
1089 */
1090 class SVGDescElementImpl : virtual public SVGDescElement,
1091 public SVGElementImpl
1092 {
1093 public:
1095 //##################
1096 //# Non-API methods
1097 //##################
1099 /**
1100 *
1101 */
1102 SVGDescElementImpl() {}
1104 /**
1105 *
1106 */
1107 virtual ~SVGDescElementImpl() {}
1109 protected:
1112 };
1118 /*#########################################################################
1119 ## SVGTitleElementImpl
1120 #########################################################################*/
1122 /**
1123 *
1124 */
1125 class SVGTitleElementImpl : virtual public SVGTitleElement,
1126 public SVGElementImpl
1127 {
1128 public:
1130 //##################
1131 //# Non-API methods
1132 //##################
1134 /**
1135 *
1136 */
1137 SVGTitleElementImpl() {}
1139 /**
1140 *
1141 */
1142 virtual ~SVGTitleElementImpl() {}
1144 protected:
1147 };
1153 /*#########################################################################
1154 ## SVGSymbolElementImpl
1155 #########################################################################*/
1157 /**
1158 *
1159 */
1160 class SVGSymbolElementImpl : virtual public SVGSymbolElement,
1161 public SVGElementImpl
1162 {
1163 public:
1165 //##################
1166 //# Non-API methods
1167 //##################
1169 /**
1170 *
1171 */
1172 SVGSymbolElementImpl() {}
1174 /**
1175 *
1176 */
1177 virtual ~SVGSymbolElementImpl() {}
1179 protected:
1182 };
1188 /*#########################################################################
1189 ## SVGUseElementImpl
1190 #########################################################################*/
1192 /**
1193 *
1194 */
1195 class SVGUseElementImpl : public SVGElementImpl
1196 {
1197 public:
1200 /**
1201 *
1202 */
1203 virtual SVGAnimatedLength getX()
1204 { return x; }
1206 /**
1207 *
1208 */
1209 virtual SVGAnimatedLength getY()
1210 { return y; }
1212 /**
1213 *
1214 */
1215 virtual SVGAnimatedLength getWidth()
1216 { return width; }
1218 /**
1219 *
1220 */
1221 virtual SVGAnimatedLength getHeight()
1222 { return height; }
1224 /**
1225 *
1226 */
1227 virtual SVGElementInstance getInstanceRoot()
1228 { return instanceRoot; }
1230 /**
1231 *
1232 */
1233 virtual SVGElementInstance getAnimatedInstanceRoot()
1234 { return animatedInstanceRoot; }
1238 //##################
1239 //# Non-API methods
1240 //##################
1242 /**
1243 *
1244 */
1245 SVGUseElementImpl() {}
1247 /**
1248 *
1249 */
1250 virtual ~SVGUseElementImpl() {}
1252 protected:
1254 SVGAnimatedLength x;
1255 SVGAnimatedLength y;
1256 SVGAnimatedLength width;
1257 SVGAnimatedLength height;
1258 SVGElementInstance instanceRoot;
1259 SVGElementInstance animatedInstanceRoot;
1260 };
1268 /*#########################################################################
1269 ## SVGImageElementImpl
1270 #########################################################################*/
1272 /**
1273 *
1274 */
1275 class SVGImageElementImpl : virtual public SVGImageElement,
1276 public SVGElementImpl
1277 {
1278 public:
1281 /**
1282 *
1283 */
1284 virtual SVGAnimatedLength getX()
1285 { return x; }
1287 /**
1288 *
1289 */
1290 virtual SVGAnimatedLength getY()
1291 { return y; }
1293 /**
1294 *
1295 */
1296 virtual SVGAnimatedLength getWidth()
1297 { return width; }
1299 /**
1300 *
1301 */
1302 virtual SVGAnimatedLength getHeight()
1303 { return height; }
1306 /**
1307 *
1308 */
1309 virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
1310 { return preserveAspectRatio; }
1314 //##################
1315 //# Non-API methods
1316 //##################
1318 /**
1319 *
1320 */
1321 SVGImageElementImpl() {}
1323 /**
1324 *
1325 */
1326 virtual ~SVGImageElementImpl() {}
1328 protected:
1330 SVGAnimatedLength x;
1331 SVGAnimatedLength y;
1332 SVGAnimatedLength width;
1333 SVGAnimatedLength height;
1334 SVGAnimatedPreserveAspectRatio preserveAspectRatio;
1335 };
1342 /*#########################################################################
1343 ## SVGSwitchElementImpl
1344 #########################################################################*/
1346 /**
1347 *
1348 */
1349 class SVGSwitchElementImpl : virtual public SVGSwitchElement,
1350 public SVGElementImpl
1351 {
1352 public:
1354 //##################
1355 //# Non-API methods
1356 //##################
1358 /**
1359 *
1360 */
1361 SVGSwitchElementImpl() {}
1363 /**
1364 *
1365 */
1366 virtual ~SVGSwitchElementImpl() {}
1368 protected:
1371 };
1377 /*#########################################################################
1378 ## GetSVGDocumentImpl
1379 #########################################################################*/
1381 /**
1382 *
1383 */
1384 class GetSVGDocumentImpl : public virtual GetSVGDocument
1385 {
1386 public:
1388 /**
1389 *
1390 */
1391 virtual SVGDocumentPtr getSVGDocument ( )
1392 throw( DOMException );
1394 //##################
1395 //# Non-API methods
1396 //##################
1398 /**
1399 *
1400 */
1401 GetSVGDocumentImpl() {}
1403 /**
1404 *
1405 */
1406 virtual ~GetSVGDocumentImpl() {}
1408 protected:
1411 };
1419 /*#########################################################################
1420 ## SVGStyleElementImpl
1421 #########################################################################*/
1423 /**
1424 *
1425 */
1426 class SVGStyleElementImpl : virtual public SVGStyleElement,
1427 public SVGElementImpl
1428 {
1429 public:
1431 /**
1432 *
1433 */
1434 virtual DOMString getXmlspace()
1435 { return xmlSpace; }
1437 /**
1438 *
1439 */
1440 virtual void setXmlspace(const DOMString &val)
1441 throw (DOMException)
1442 { xmlSpace = val; }
1444 /**
1445 *
1446 */
1447 virtual DOMString getType()
1448 { return type; }
1450 /**
1451 *
1452 */
1453 virtual void setType(const DOMString &val)
1454 throw (DOMException)
1455 { type = val; }
1457 /**
1458 *
1459 */
1460 virtual DOMString getMedia()
1461 { return media; }
1463 /**
1464 *
1465 */
1466 virtual void setMedia(const DOMString &val)
1467 throw (DOMException)
1468 { media = val; }
1470 /**
1471 *
1472 */
1473 virtual DOMString getTitle()
1474 { return title; }
1476 /**
1477 *
1478 */
1479 virtual void setTitle(const DOMString &val)
1480 throw (DOMException)
1481 { title = val; }
1485 //##################
1486 //# Non-API methods
1487 //##################
1489 /**
1490 *
1491 */
1492 SVGStyleElementImpl() {}
1494 /**
1495 *
1496 */
1497 virtual ~SVGStyleElementImpl() {}
1499 protected:
1501 DOMString xmlSpace;
1502 DOMString type;
1503 DOMString media;
1504 DOMString title;
1506 };
1513 /*#########################################################################
1514 ## SVGPathElementImpl
1515 #########################################################################*/
1517 /**
1518 *
1519 */
1520 class SVGPathElementImpl : virtual public SVGPathElement,
1521 public SVGElementImpl
1522 {
1523 public:
1525 /**
1526 *
1527 */
1528 virtual SVGAnimatedNumber getPathLength();
1530 /**
1531 *
1532 */
1533 virtual double getTotalLength ( );
1535 /**
1536 *
1537 */
1538 virtual SVGPoint getPointAtLength (double distance );
1540 /**
1541 *
1542 */
1543 virtual unsigned long getPathSegAtLength (double distance );
1545 /**
1546 *
1547 */
1548 virtual SVGPathSegClosePath
1549 createSVGPathSegClosePath ( )
1550 {
1551 SVGPathSegClosePath ret;
1552 return ret;
1553 }
1555 /**
1556 *
1557 */
1558 virtual SVGPathSegMovetoAbs
1559 createSVGPathSegMovetoAbs (double x, double y )
1560 {
1561 SVGPathSegMovetoAbs ret(x, y);
1562 return ret;
1563 }
1565 /**
1566 *
1567 */
1568 virtual SVGPathSegMovetoRel
1569 createSVGPathSegMovetoRel (double x, double y )
1570 {
1571 SVGPathSegMovetoRel ret(x, y);
1572 return ret;
1573 }
1575 /**
1576 *
1577 */
1578 virtual SVGPathSegLinetoAbs
1579 createSVGPathSegLinetoAbs (double x, double y )
1580 {
1581 SVGPathSegLinetoAbs ret(x, y);
1582 return ret;
1583 }
1585 /**
1586 *
1587 */
1588 virtual SVGPathSegLinetoRel
1589 createSVGPathSegLinetoRel (double x, double y )
1590 {
1591 SVGPathSegLinetoRel ret(x, y);
1592 return ret;
1593 }
1595 /**
1596 *
1597 */
1598 virtual SVGPathSegCurvetoCubicAbs
1599 createSVGPathSegCurvetoCubicAbs (double x, double y,
1600 double x1, double y1, double x2, double y2 )
1601 {
1602 SVGPathSegCurvetoCubicAbs ret(x, y, x1, y1, x2, y2);
1603 return ret;
1604 }
1606 /**
1607 *
1608 */
1609 virtual SVGPathSegCurvetoCubicRel
1610 createSVGPathSegCurvetoCubicRel (double x, double y,
1611 double x1, double y1, double x2, double y2 )
1612 {
1613 SVGPathSegCurvetoCubicRel ret(x, y, x1, y1, x2, y2);
1614 return ret;
1615 }
1617 /**
1618 *
1619 */
1620 virtual SVGPathSegCurvetoQuadraticAbs
1621 createSVGPathSegCurvetoQuadraticAbs (double x, double y,
1622 double x1, double y1 )
1623 {
1624 SVGPathSegCurvetoQuadraticAbs ret(x, y, x1, y1);
1625 return ret;
1626 }
1628 /**
1629 *
1630 */
1631 virtual SVGPathSegCurvetoQuadraticRel
1632 createSVGPathSegCurvetoQuadraticRel (double x, double y,
1633 double x1, double y1 )
1634 {
1635 SVGPathSegCurvetoQuadraticRel ret(x, y, x1, y1);
1636 return ret;
1637 }
1639 /**
1640 *
1641 */
1642 virtual SVGPathSegArcAbs
1643 createSVGPathSegArcAbs (double x, double y,
1644 double r1, double r2, double angle,
1645 bool largeArcFlag, bool sweepFlag )
1646 {
1647 SVGPathSegArcAbs ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1648 return ret;
1649 }
1651 /**
1652 *
1653 */
1654 virtual SVGPathSegArcRel
1655 createSVGPathSegArcRel (double x, double y, double r1,
1656 double r2, double angle, bool largeArcFlag,
1657 bool sweepFlag )
1658 {
1659 SVGPathSegArcRel ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
1660 return ret;
1661 }
1663 /**
1664 *
1665 */
1666 virtual SVGPathSegLinetoHorizontalAbs
1667 createSVGPathSegLinetoHorizontalAbs (double x )
1668 {
1669 SVGPathSegLinetoHorizontalAbs ret(x);
1670 return ret;
1671 }
1673 /**
1674 *
1675 */
1676 virtual SVGPathSegLinetoHorizontalRel
1677 createSVGPathSegLinetoHorizontalRel (double x )
1678 {
1679 SVGPathSegLinetoHorizontalRel ret(x);
1680 return ret;
1681 }
1683 /**
1684 *
1685 */
1686 virtual SVGPathSegLinetoVerticalAbs
1687 createSVGPathSegLinetoVerticalAbs (double y )
1688 {
1689 SVGPathSegLinetoVerticalAbs ret(y);
1690 return ret;
1691 }
1693 /**
1694 *
1695 */
1696 virtual SVGPathSegLinetoVerticalRel
1697 createSVGPathSegLinetoVerticalRel (double y )
1698 {
1699 SVGPathSegLinetoVerticalRel ret(y);
1700 return ret;
1701 }
1703 /**
1704 *
1705 */
1706 virtual SVGPathSegCurvetoCubicSmoothAbs
1707 createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
1708 double x2, double y2 )
1709 {
1710 SVGPathSegCurvetoCubicSmoothAbs ret(x, y, x2, y2);
1711 return ret;
1712 }
1714 /**
1715 *
1716 */
1717 virtual SVGPathSegCurvetoCubicSmoothRel
1718 createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
1719 double x2, double y2 )
1720 {
1721 SVGPathSegCurvetoCubicSmoothRel ret(x, y, x2, y2);
1722 return ret;
1723 }
1725 /**
1726 *
1727 */
1728 virtual SVGPathSegCurvetoQuadraticSmoothAbs
1729 createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y )
1730 {
1731 SVGPathSegCurvetoQuadraticSmoothAbs ret(x, y);
1732 return ret;
1733 }
1735 /**
1736 *
1737 */
1738 virtual SVGPathSegCurvetoQuadraticSmoothRel
1739 createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y )
1740 {
1741 SVGPathSegCurvetoQuadraticSmoothRel ret(x, y);
1742 return ret;
1743 }
1747 //##################
1748 //# Non-API methods
1749 //##################
1751 /**
1752 *
1753 */
1754 SVGPathElementImpl() {}
1757 /**
1758 *
1759 */
1760 virtual ~SVGPathElementImpl() {}
1762 protected:
1765 };
1773 /*#########################################################################
1774 ## SVGRectElementImpl
1775 #########################################################################*/
1777 /**
1778 *
1779 */
1780 class SVGRectElementImpl : virtual public SVGRectElement,
1781 public SVGElementImpl
1782 {
1783 public:
1785 /**
1786 *
1787 */
1788 virtual SVGAnimatedLength getX()
1789 { return x; }
1791 /**
1792 *
1793 */
1794 virtual SVGAnimatedLength getY()
1795 { return y; }
1797 /**
1798 *
1799 */
1800 virtual SVGAnimatedLength getWidth()
1801 { return width; }
1803 /**
1804 *
1805 */
1806 virtual SVGAnimatedLength getHeight()
1807 { return height; }
1810 /**
1811 *
1812 */
1813 virtual SVGAnimatedLength getRx()
1814 { return rx; }
1816 /**
1817 *
1818 */
1819 virtual SVGAnimatedLength getRy()
1820 { return ry; }
1824 //##################
1825 //# Non-API methods
1826 //##################
1828 /**
1829 *
1830 */
1831 SVGRectElementImpl() {}
1833 /**
1834 *
1835 */
1836 virtual ~SVGRectElementImpl() {}
1838 protected:
1840 SVGAnimatedLength x;
1841 SVGAnimatedLength y;
1842 SVGAnimatedLength width;
1843 SVGAnimatedLength height;
1844 SVGAnimatedLength rx;
1845 SVGAnimatedLength ry;
1847 };
1854 /*#########################################################################
1855 ## SVGCircleElementImpl
1856 #########################################################################*/
1858 /**
1859 *
1860 */
1861 class SVGCircleElementImpl : virtual public SVGCircleElement,
1862 public SVGElementImpl
1863 {
1864 public:
1866 /**
1867 *
1868 */
1869 virtual SVGAnimatedLength getCx()
1870 { return cx; }
1872 /**
1873 *
1874 */
1875 virtual SVGAnimatedLength getCy()
1876 { return cy; }
1878 /**
1879 *
1880 */
1881 virtual SVGAnimatedLength getR()
1882 { return r; }
1886 //##################
1887 //# Non-API methods
1888 //##################
1890 /**
1891 *
1892 */
1893 SVGCircleElementImpl() {}
1895 /**
1896 *
1897 */
1898 virtual ~SVGCircleElementImpl() {}
1900 protected:
1902 SVGAnimatedLength cx;
1903 SVGAnimatedLength cy;
1904 SVGAnimatedLength r;
1905 };
1912 /*#########################################################################
1913 ## SVGEllipseElementImpl
1914 #########################################################################*/
1916 /**
1917 *
1918 */
1919 class SVGEllipseElementImpl : virtual public SVGEllipseElement,
1920 public SVGElementImpl
1921 {
1922 public:
1924 /**
1925 *
1926 */
1927 virtual SVGAnimatedLength getCx()
1928 { return cx; }
1930 /**
1931 *
1932 */
1933 virtual SVGAnimatedLength getCy()
1934 { return cy; }
1936 /**
1937 *
1938 */
1939 virtual SVGAnimatedLength getRx()
1940 { return rx; }
1942 /**
1943 *
1944 */
1945 virtual SVGAnimatedLength getRy()
1946 { return ry; }
1949 //##################
1950 //# Non-API methods
1951 //##################
1953 /**
1954 *
1955 */
1956 SVGEllipseElementImpl() {}
1958 /**
1959 *
1960 */
1961 virtual ~SVGEllipseElementImpl() {}
1963 protected:
1965 SVGAnimatedLength cx;
1966 SVGAnimatedLength cy;
1967 SVGAnimatedLength rx;
1968 SVGAnimatedLength ry;
1969 };
1976 /*#########################################################################
1977 ## SVGLineElement
1978 #########################################################################*/
1980 /**
1981 *
1982 */
1983 class SVGLineElementImpl : virtual public SVGLineElement,
1984 public SVGElementImpl
1985 {
1986 public:
1988 /**
1989 *
1990 */
1991 virtual SVGAnimatedLength getX1()
1992 { return x1; }
1994 /**
1995 *
1996 */
1997 virtual SVGAnimatedLength getY1()
1998 { return y1; }
2000 /**
2001 *
2002 */
2003 virtual SVGAnimatedLength getX2()
2004 { return x2; }
2006 /**
2007 *
2008 */
2009 virtual SVGAnimatedLength getY2()
2010 { return y2; }
2012 //##################
2013 //# Non-API methods
2014 //##################
2016 /**
2017 *
2018 */
2019 virtual ~SVGLineElementImpl() {}
2021 protected:
2023 SVGAnimatedLength x1;
2024 SVGAnimatedLength x2;
2025 SVGAnimatedLength y1;
2026 SVGAnimatedLength y2;
2027 };
2032 /*#########################################################################
2033 ## SVGPolylineElement
2034 #########################################################################*/
2036 /**
2037 *
2038 */
2039 class SVGPolylineElementImpl : virtual public SVGPolylineElement,
2040 public SVGElementImpl
2041 {
2042 public:
2044 //##################
2045 //# Non-API methods
2046 //##################
2048 /**
2049 *
2050 */
2051 virtual ~SVGPolylineElementImpl() {}
2053 protected:
2056 };
2062 /*#########################################################################
2063 ## SVGPolygonElementImpl
2064 #########################################################################*/
2066 /**
2067 *
2068 */
2069 class SVGPolygonElementImpl : virtual public SVGPolygonElement,
2070 public SVGElementImpl
2071 {
2072 public:
2074 //##################
2075 //# Non-API methods
2076 //##################
2078 /**
2079 *
2080 */
2081 virtual ~SVGPolygonElementImpl() {}
2083 protected:
2086 };
2092 /*#########################################################################
2093 ## SVGTextContentElement
2094 #########################################################################*/
2096 /**
2097 *
2098 */
2099 class SVGTextContentElementImpl : virtual public SVGTextContentElement,
2100 public SVGElementImpl
2101 {
2102 public:
2104 /**
2105 *
2106 */
2107 virtual SVGAnimatedLength getTextLength();
2110 /**
2111 *
2112 */
2113 virtual SVGAnimatedEnumeration getLengthAdjust();
2116 /**
2117 *
2118 */
2119 virtual long getNumberOfChars( );
2121 /**
2122 *
2123 */
2124 virtual double getComputedTextLength( );
2126 /**
2127 *
2128 */
2129 virtual double getSubStringLength(unsigned long charnum,
2130 unsigned long nchars )
2131 throw( DOMException );
2133 /**
2134 *
2135 */
2136 virtual SVGPoint getStartPositionOfChar(unsigned long charnum )
2137 throw( DOMException );
2139 /**
2140 *
2141 */
2142 virtual SVGPoint getEndPositionOfChar(unsigned long charnum )
2143 throw( DOMException );
2145 /**
2146 *
2147 */
2148 virtual SVGRect getExtentOfChar(unsigned long charnum )
2149 throw( DOMException );
2151 /**
2152 *
2153 */
2154 virtual double getRotationOfChar(unsigned long charnum )
2155 throw( DOMException );
2157 /**
2158 *
2159 */
2160 virtual long getCharNumAtPosition(const SVGPoint &point );
2162 /**
2163 *
2164 */
2165 virtual void selectSubString(unsigned long charnum, unsigned long nchars )
2166 throw( DOMException );
2170 //##################
2171 //# Non-API methods
2172 //##################
2174 /**
2175 *
2176 */
2177 virtual ~SVGTextContentElementImpl() {}
2179 protected:
2182 };
2189 /*#########################################################################
2190 ## SVGTextPositioningElementImpl
2191 #########################################################################*/
2193 /**
2194 *
2195 */
2196 class SVGTextPositioningElementImpl : virtual public SVGTextPositioningElement,
2197 public SVGTextContentElementImpl
2198 {
2199 public:
2203 /**
2204 *
2205 */
2206 virtual SVGAnimatedLength getX()
2207 { return x; }
2209 /**
2210 *
2211 */
2212 virtual SVGAnimatedLength getY()
2213 { return y; }
2215 /**
2216 *
2217 */
2218 virtual SVGAnimatedLength getDx()
2219 { return dx; }
2221 /**
2222 *
2223 */
2224 virtual SVGAnimatedLength getDy()
2225 { return dy; }
2228 /**
2229 *
2230 */
2231 virtual SVGAnimatedNumberList getRotate()
2232 { return rotate; }
2236 //##################
2237 //# Non-API methods
2238 //##################
2240 /**
2241 *
2242 */
2243 virtual ~SVGTextPositioningElementImpl() {}
2245 protected:
2247 SVGAnimatedLength x;
2248 SVGAnimatedLength y;
2249 SVGAnimatedLength dx;
2250 SVGAnimatedLength dy;
2251 SVGAnimatedNumberList rotate;
2253 };
2261 /*#########################################################################
2262 ## SVGTextElement
2263 #########################################################################*/
2265 /**
2266 *
2267 */
2268 class SVGTextElementImpl : virtual public SVGTextElement,
2269 public SVGTextPositioningElementImpl
2270 {
2271 public:
2273 //##################
2274 //# Non-API methods
2275 //##################
2277 /**
2278 *
2279 */
2280 virtual ~SVGTextElementImpl() {}
2282 protected:
2285 };
2291 /*#########################################################################
2292 ## SVGTSpanElement
2293 #########################################################################*/
2295 /**
2296 *
2297 */
2298 class SVGTSpanElementImpl : virtual public SVGTSpanElement,
2299 public SVGTextPositioningElementImpl
2300 {
2301 public:
2303 //##################
2304 //# Non-API methods
2305 //##################
2307 /**
2308 *
2309 */
2310 virtual ~SVGTSpanElementImpl() {}
2312 protected:
2315 };
2321 /*#########################################################################
2322 ## SVGTRefElement
2323 #########################################################################*/
2325 /**
2326 *
2327 */
2328 class SVGTRefElementImpl : virtual public SVGTRefElement,
2329 public SVGTextPositioningElementImpl
2330 {
2331 public:
2333 //##################
2334 //# Non-API methods
2335 //##################
2337 /**
2338 *
2339 */
2340 virtual ~SVGTRefElementImpl() {}
2342 protected:
2345 };
2351 /*#########################################################################
2352 ## SVGTextPathElement
2353 #########################################################################*/
2355 /**
2356 *
2357 */
2358 class SVGTextPathElementImpl : virtual public SVGTextPathElement,
2359 public SVGTextContentElementImpl
2360 {
2361 public:
2363 /**
2364 *
2365 */
2366 virtual SVGAnimatedLength getStartOffset()
2367 { return startOffset; }
2369 /**
2370 *
2371 */
2372 virtual SVGAnimatedEnumeration getMethod()
2373 { return method; }
2375 /**
2376 *
2377 */
2378 virtual SVGAnimatedEnumeration getSpacing()
2379 { return spacing; }
2383 //##################
2384 //# Non-API methods
2385 //##################
2387 /**
2388 *
2389 */
2390 virtual ~SVGTextPathElementImpl() {}
2392 protected:
2394 SVGAnimatedLength startOffset;
2395 SVGAnimatedEnumeration method;
2396 SVGAnimatedEnumeration spacing;
2397 };
2405 /*#########################################################################
2406 ## SVGAltGlyphElement
2407 #########################################################################*/
2409 /**
2410 *
2411 */
2412 class SVGAltGlyphElementImpl : virtual public SVGAltGlyphElement,
2413 public SVGTextPositioningElementImpl
2414 {
2415 public:
2417 /**
2418 *
2419 */
2420 virtual DOMString getGlyphRef()
2421 { return glyphRef; }
2423 /**
2424 *
2425 */
2426 virtual void setGlyphRef(const DOMString &val)
2427 throw (DOMException)
2428 { glyphRef = val; }
2430 /**
2431 *
2432 */
2433 virtual DOMString getFormat()
2434 { return format; }
2436 /**
2437 *
2438 */
2439 virtual void setFormat(const DOMString &val)
2440 throw (DOMException)
2441 { format = val; }
2446 //##################
2447 //# Non-API methods
2448 //##################
2450 /**
2451 *
2452 */
2453 virtual ~SVGAltGlyphElementImpl() {}
2455 protected:
2457 DOMString glyphRef;
2458 DOMString format;
2460 };
2468 /*#########################################################################
2469 ## SVGAltGlyphDefElementImpl
2470 #########################################################################*/
2472 /**
2473 *
2474 */
2475 class SVGAltGlyphDefElementImpl : virtual public SVGAltGlyphDefElement,
2476 public SVGElementImpl
2477 {
2478 public:
2480 //##################
2481 //# Non-API methods
2482 //##################
2484 /**
2485 *
2486 */
2487 virtual ~SVGAltGlyphDefElementImpl() {}
2489 protected:
2492 };
2498 /*#########################################################################
2499 ## SVGAltGlyphItemElementImpl
2500 #########################################################################*/
2502 /**
2503 *
2504 */
2505 class SVGAltGlyphItemElementImpl : virtual public SVGAltGlyphItemElement,
2506 public SVGElementImpl
2507 {
2508 public:
2510 //##################
2511 //# Non-API methods
2512 //##################
2514 /**
2515 *
2516 */
2517 virtual ~SVGAltGlyphItemElementImpl() {}
2519 protected:
2522 };
2528 /*#########################################################################
2529 ## SVGGlyphRefElementImpl
2530 #########################################################################*/
2532 /**
2533 *
2534 */
2535 class SVGGlyphRefElementImpl : virtual public SVGGlyphRefElement,
2536 public SVGElementImpl
2537 {
2538 public:
2539 /**
2540 *
2541 */
2542 virtual DOMString getGlyphRef()
2543 { return glyphRef; }
2545 /**
2546 *
2547 */
2548 virtual void setGlyphRef(const DOMString &val) throw (DOMException)
2549 { glyphRef = val; }
2551 /**
2552 *
2553 */
2554 virtual DOMString getFormat()
2555 { return format; }
2557 /**
2558 *
2559 */
2560 virtual void setFormat(const DOMString &val) throw (DOMException)
2561 { format = val; }
2563 /**
2564 *
2565 */
2566 virtual double getX()
2567 { return x; }
2569 /**
2570 *
2571 */
2572 virtual void setX(double val) throw (DOMException)
2573 { x = val; }
2575 /**
2576 *
2577 */
2578 virtual double getY()
2579 { return y; }
2581 /**
2582 *
2583 */
2584 virtual void setY(double val) throw (DOMException)
2585 { y = val; }
2587 /**
2588 *
2589 */
2590 virtual double getDx()
2591 { return dx; }
2593 /**
2594 *
2595 */
2596 virtual void setDx(double val) throw (DOMException)
2597 { dx = val; }
2599 /**
2600 *
2601 */
2602 virtual double getDy()
2603 { return dy; }
2605 /**
2606 *
2607 */
2608 virtual void setDy(double val) throw (DOMException)
2609 { dy = val; }
2614 //##################
2615 //# Non-API methods
2616 //##################
2618 /**
2619 *
2620 */
2621 virtual ~SVGGlyphRefElementImpl() {}
2623 protected:
2625 DOMString glyphRef;
2626 DOMString format;
2627 double x, y, dx, dy;
2629 };
2636 /*#########################################################################
2637 ## SVGMarkerElementImpl
2638 #########################################################################*/
2640 /**
2641 *
2642 */
2643 class SVGMarkerElementImpl : virtual public SVGMarkerElement,
2644 public SVGElementImpl
2645 {
2646 public:
2648 /**
2649 *
2650 */
2651 virtual SVGAnimatedLength getRefX()
2652 { return refX; }
2654 /**
2655 *
2656 */
2657 virtual SVGAnimatedLength getRefY()
2658 { return refY; }
2660 /**
2661 *
2662 */
2663 virtual SVGAnimatedEnumeration getMarkerUnits()
2664 { return markerUnits; }
2666 /**
2667 *
2668 */
2669 virtual SVGAnimatedLength getMarkerWidth()
2670 { return markerWidth; }
2672 /**
2673 *
2674 */
2675 virtual SVGAnimatedLength getMarkerHeight()
2676 { return markerHeight; }
2678 /**
2679 *
2680 */
2681 virtual SVGAnimatedEnumeration getOrientType()
2682 { return orientType; }
2684 /**
2685 *
2686 */
2687 virtual SVGAnimatedAngle getOrientAngle()
2688 { return orientAngle; }
2691 /**
2692 *
2693 */
2694 virtual void setOrientToAuto ( )
2695 { orientAuto = true; }
2697 /**
2698 *
2699 */
2700 virtual void setOrientToAngle (const SVGAngle &angle)
2701 {
2702 orientAuto = false;
2703 orientAngle = SVGAnimatedAngle(angle);
2704 }
2708 //##################
2709 //# Non-API methods
2710 //##################
2712 /**
2713 *
2714 */
2715 virtual ~SVGMarkerElementImpl() {}
2717 protected:
2719 SVGAnimatedLength refX;
2720 SVGAnimatedLength refY;
2721 SVGAnimatedEnumeration markerUnits;
2722 SVGAnimatedLength markerWidth;
2723 SVGAnimatedLength markerHeight;
2724 SVGAnimatedEnumeration orientType;
2725 SVGAnimatedAngle orientAngle;
2726 bool orientAuto;
2729 };
2737 /*#########################################################################
2738 ## SVGColorProfileElementImpl
2739 #########################################################################*/
2741 /**
2742 *
2743 */
2744 class SVGColorProfileElementImpl : virtual public SVGColorProfileElement,
2745 public SVGElementImpl
2746 {
2747 public:
2748 /**
2749 *
2750 */
2751 virtual DOMString getLocal()
2752 { return local; }
2754 /**
2755 *
2756 */
2757 virtual void setLocal(const DOMString &val) throw (DOMException)
2758 { local = val; }
2760 /**
2761 *
2762 */
2763 virtual DOMString getName()
2764 { return name; }
2766 /**
2767 *
2768 */
2769 virtual void setName(const DOMString &val) throw (DOMException)
2770 { name = val; }
2772 /**
2773 *
2774 */
2775 virtual unsigned short getRenderingIntent()
2776 { return renderingIntent; }
2778 /**
2779 *
2780 */
2781 virtual void setRenderingIntent(unsigned short val) throw (DOMException)
2782 { renderingIntent = val; }
2786 //##################
2787 //# Non-API methods
2788 //##################
2790 /**
2791 *
2792 */
2793 virtual ~SVGColorProfileElementImpl() {}
2795 protected:
2797 DOMString local;
2798 DOMString name;
2799 unsigned short renderingIntent;
2801 };
2807 /*#########################################################################
2808 ## SVGGradientElementImpl
2809 #########################################################################*/
2811 /**
2812 *
2813 */
2814 class SVGGradientElementImpl : virtual public SVGGradientElement,
2815 public SVGElementImpl
2816 {
2817 public:
2819 /**
2820 *
2821 */
2822 virtual SVGAnimatedEnumeration getGradientUnits()
2823 { return gradientUnits; }
2825 /**
2826 *
2827 */
2828 virtual SVGAnimatedTransformList getGradientTransform()
2829 { return gradientTransform; }
2831 /**
2832 *
2833 */
2834 virtual SVGAnimatedEnumeration getSpreadMethod()
2835 { return spreadMethod; }
2839 //##################
2840 //# Non-API methods
2841 //##################
2843 /**
2844 *
2845 */
2846 virtual ~SVGGradientElementImpl() {}
2848 protected:
2851 SVGAnimatedEnumeration gradientUnits;
2852 SVGAnimatedTransformList gradientTransform;
2853 SVGAnimatedEnumeration spreadMethod;
2854 };
2862 /*#########################################################################
2863 ## SVGLinearGradientElementImpl
2864 #########################################################################*/
2866 /**
2867 *
2868 */
2869 class SVGLinearGradientElementImpl : virtual public SVGLinearGradientElement,
2870 public SVGGradientElementImpl
2871 {
2872 public:
2875 /**
2876 *
2877 */
2878 virtual SVGAnimatedLength getX1()
2879 { return x1; }
2881 /**
2882 *
2883 */
2884 virtual SVGAnimatedLength getY1()
2885 { return y1; }
2887 /**
2888 *
2889 */
2890 virtual SVGAnimatedLength getX2()
2891 { return x2; }
2893 /**
2894 *
2895 */
2896 virtual SVGAnimatedLength getY2()
2897 { return y2; }
2900 //##################
2901 //# Non-API methods
2902 //##################
2904 /**
2905 *
2906 */
2907 virtual ~SVGLinearGradientElementImpl() {}
2909 protected:
2911 SVGAnimatedLength x1, x2, y1, y2;
2913 };
2921 /*#########################################################################
2922 ## SVGRadialGradientElementImpl
2923 #########################################################################*/
2925 /**
2926 *
2927 */
2928 class SVGRadialGradientElementImpl : virtual public SVGRadialGradientElement,
2929 public SVGGradientElementImpl
2930 {
2931 public:
2934 /**
2935 *
2936 */
2937 virtual SVGAnimatedLength getCx()
2938 { return cx; }
2941 /**
2942 *
2943 */
2944 virtual SVGAnimatedLength getCy()
2945 { return cy; }
2948 /**
2949 *
2950 */
2951 virtual SVGAnimatedLength getR()
2952 { return r; }
2955 /**
2956 *
2957 */
2958 virtual SVGAnimatedLength getFx()
2959 { return fx; }
2962 /**
2963 *
2964 */
2965 virtual SVGAnimatedLength getFy()
2966 { return fy; }
2971 //##################
2972 //# Non-API methods
2973 //##################
2975 /**
2976 *
2977 */
2978 virtual ~SVGRadialGradientElementImpl() {}
2980 protected:
2982 SVGAnimatedLength cx, cy, r, fx, fy;
2984 };
2992 /*#########################################################################
2993 ## SVGStopElementImpl
2994 #########################################################################*/
2996 /**
2997 *
2998 */
2999 class SVGStopElementImpl : virtual public SVGStopElement,
3000 public SVGElementImpl
3001 {
3002 public:
3004 /**
3005 *
3006 */
3007 virtual SVGAnimatedNumber getOffset()
3008 { return offset; }
3012 //##################
3013 //# Non-API methods
3014 //##################
3016 /**
3017 *
3018 */
3019 virtual ~SVGStopElementImpl() {}
3021 protected:
3023 SVGAnimatedNumber offset;
3025 };
3033 /*#########################################################################
3034 ## SVGPatternElementImpl
3035 #########################################################################*/
3037 /**
3038 *
3039 */
3040 class SVGPatternElementImpl : virtual public SVGPatternElement,
3041 public SVGElementImpl
3042 {
3043 public:
3045 /**
3046 *
3047 */
3048 virtual SVGAnimatedEnumeration getPatternUnits()
3049 { return patternUnits; }
3051 /**
3052 *
3053 */
3054 virtual SVGAnimatedEnumeration getPatternContentUnits()
3055 { return patternContentUnits; }
3057 /**
3058 *
3059 */
3060 virtual SVGAnimatedTransformList getPatternTransform()
3061 { return patternTransform; }
3063 /**
3064 *
3065 */
3066 virtual SVGAnimatedLength getX()
3067 { return x; }
3069 /**
3070 *
3071 */
3072 virtual SVGAnimatedLength getY()
3073 { return y; }
3075 /**
3076 *
3077 */
3078 virtual SVGAnimatedLength getWidth()
3079 { return width; }
3081 /**
3082 *
3083 */
3084 virtual SVGAnimatedLength getHeight()
3085 { return height; }
3089 //##################
3090 //# Non-API methods
3091 //##################
3093 /**
3094 *
3095 */
3096 virtual ~SVGPatternElementImpl() {}
3098 protected:
3101 SVGAnimatedEnumeration patternUnits;
3102 SVGAnimatedEnumeration patternContentUnits;
3103 SVGAnimatedTransformList patternTransform;
3104 SVGAnimatedLength x;
3105 SVGAnimatedLength y;
3106 SVGAnimatedLength width;
3107 SVGAnimatedLength height;
3108 };
3116 /*#########################################################################
3117 ## SVGClipPathElementImpl
3118 #########################################################################*/
3120 /**
3121 *
3122 */
3123 class SVGClipPathElementImpl : virtual public SVGClipPathElement,
3124 public SVGElementImpl
3125 {
3126 public:
3128 /**
3129 *
3130 */
3131 virtual SVGAnimatedEnumeration getClipPathUnits()
3132 { return clipPathUnits; }
3134 //##################
3135 //# Non-API methods
3136 //##################
3138 /**
3139 *
3140 */
3141 virtual ~SVGClipPathElementImpl() {}
3143 protected:
3145 SVGAnimatedEnumeration clipPathUnits;
3147 };
3155 /*#########################################################################
3156 ## SVGMaskElementImpl
3157 #########################################################################*/
3159 /**
3160 *
3161 */
3162 class SVGMaskElementImpl : virtual public SVGMaskElement,
3163 public SVGElementImpl
3164 {
3165 public:
3167 /**
3168 *
3169 */
3170 virtual SVGAnimatedEnumeration getMaskUnits()
3171 { return maskUnits; }
3173 /**
3174 *
3175 */
3176 virtual SVGAnimatedEnumeration getMaskContentUnits()
3177 { return maskContentUnits; }
3179 /**
3180 *
3181 */
3182 virtual SVGAnimatedLength getX()
3183 { return x; }
3185 /**
3186 *
3187 */
3188 virtual SVGAnimatedLength getY()
3189 { return y; }
3191 /**
3192 *
3193 */
3194 virtual SVGAnimatedLength getWidth()
3195 { return width; }
3197 /**
3198 *
3199 */
3200 virtual SVGAnimatedLength getHeight()
3201 { return height; }
3203 //##################
3204 //# Non-API methods
3205 //##################
3207 /**
3208 *
3209 */
3210 virtual ~SVGMaskElementImpl() {}
3212 protected:
3215 SVGAnimatedEnumeration maskUnits;
3216 SVGAnimatedEnumeration maskContentUnits;
3217 SVGAnimatedLength x;
3218 SVGAnimatedLength y;
3219 SVGAnimatedLength width;
3220 SVGAnimatedLength height;
3221 };
3229 /*#########################################################################
3230 ## SVGFilterElementImpl
3231 #########################################################################*/
3233 /**
3234 *
3235 */
3236 class SVGFilterElementImpl : virtual public SVGFilterElement,
3237 public SVGElementImpl
3238 {
3239 public:
3241 /**
3242 *
3243 */
3244 virtual SVGAnimatedEnumeration getFilterUnits()
3245 { return filterUnits; }
3247 /**
3248 *
3249 */
3250 virtual SVGAnimatedEnumeration getPrimitiveUnits()
3251 { return filterUnits; }
3253 /**
3254 *
3255 */
3256 virtual SVGAnimatedLength getX()
3257 { return x; }
3259 /**
3260 *
3261 */
3262 virtual SVGAnimatedLength getY()
3263 { return y; }
3265 /**
3266 *
3267 */
3268 virtual SVGAnimatedLength getWidth()
3269 { return width; }
3271 /**
3272 *
3273 */
3274 virtual SVGAnimatedLength getHeight()
3275 { return height; }
3277 /**
3278 *
3279 */
3280 virtual SVGAnimatedInteger getFilterResX()
3281 { return filterResX; }
3283 /**
3284 *
3285 */
3286 virtual SVGAnimatedInteger getFilterResY()
3287 { return filterResY; }
3289 /**
3290 *
3291 */
3292 virtual void setFilterRes (unsigned long filterResXArg,
3293 unsigned long filterResYArg )
3294 {
3295 filterResX = filterResXArg;
3296 filterResY = filterResYArg;
3297 }
3301 //##################
3302 //# Non-API methods
3303 //##################
3305 /**
3306 *
3307 */
3308 virtual ~SVGFilterElementImpl() {}
3310 protected:
3312 SVGAnimatedEnumeration filterUnits;
3313 SVGAnimatedEnumeration primitiveUnits;
3314 SVGAnimatedLength x;
3315 SVGAnimatedLength y;
3316 SVGAnimatedLength width;
3317 SVGAnimatedLength height;
3318 SVGAnimatedInteger filterResX;
3319 SVGAnimatedInteger filterResY;
3321 };
3328 /*#########################################################################
3329 ## SVGFEBlendElementImpl
3330 #########################################################################*/
3332 /**
3333 *
3334 */
3335 class SVGFEBlendElementImpl : virtual public SVGFEBlendElement,
3336 public SVGElementImpl
3337 {
3338 public:
3340 /**
3341 *
3342 */
3343 virtual SVGAnimatedString getIn1()
3344 { return in1; }
3346 /**
3347 *
3348 */
3349 virtual SVGAnimatedString getIn2()
3350 { return in2; }
3352 /**
3353 *
3354 */
3355 virtual SVGAnimatedEnumeration getMode()
3356 { return mode; }
3359 //##################
3360 //# Non-API methods
3361 //##################
3363 /**
3364 *
3365 */
3366 virtual ~SVGFEBlendElementImpl() {}
3368 protected:
3370 SVGAnimatedString in1, in2;
3371 SVGAnimatedEnumeration mode;
3372 };
3380 /*#########################################################################
3381 ## SVGFEColorMatrixElementImpl
3382 #########################################################################*/
3384 /**
3385 *
3386 */
3387 class SVGFEColorMatrixElementImpl : virtual public SVGFEColorMatrixElement,
3388 public SVGElementImpl
3389 {
3390 public:
3392 /**
3393 *
3394 */
3395 virtual SVGAnimatedString getIn1()
3396 { return in1; }
3398 /**
3399 *
3400 */
3401 virtual SVGAnimatedEnumeration getType()
3402 { return type; }
3404 /**
3405 *
3406 */
3407 virtual SVGAnimatedNumberList getValues()
3408 { return values; }
3412 //##################
3413 //# Non-API methods
3414 //##################
3416 /**
3417 *
3418 */
3419 virtual ~SVGFEColorMatrixElementImpl() {}
3421 protected:
3423 SVGAnimatedString in1;
3424 SVGAnimatedEnumeration type;
3425 SVGAnimatedNumberList values;
3427 };
3435 /*#########################################################################
3436 ## SVGFEComponentTransferElementImpl
3437 #########################################################################*/
3439 /**
3440 *
3441 */
3442 class SVGFEComponentTransferElementImpl :
3443 virtual public SVGFEComponentTransferElement,
3444 public SVGElementImpl
3445 {
3446 public:
3447 /**
3448 *
3449 */
3450 virtual SVGAnimatedString getIn1()
3451 { return in1; }
3453 //##################
3454 //# Non-API methods
3455 //##################
3457 /**
3458 *
3459 */
3460 virtual ~SVGFEComponentTransferElementImpl() {}
3462 protected:
3464 SVGAnimatedString in1;
3466 };
3474 /*#########################################################################
3475 ## SVGComponentTransferFunctionElementImpl
3476 #########################################################################*/
3478 /**
3479 *
3480 */
3481 class SVGComponentTransferFunctionElementImpl :
3482 virtual public SVGComponentTransferFunctionElement,
3483 public SVGElementImpl
3484 {
3485 public:
3487 /**
3488 *
3489 */
3490 virtual SVGAnimatedEnumeration getType()
3491 { return type; }
3493 /**
3494 *
3495 */
3496 virtual SVGAnimatedNumberList getTableValues()
3497 { return tableValues; }
3499 /**
3500 *
3501 */
3502 virtual SVGAnimatedNumber getSlope()
3503 { return slope; }
3505 /**
3506 *
3507 */
3508 virtual SVGAnimatedNumber getIntercept()
3509 { return intercept; }
3511 /**
3512 *
3513 */
3514 virtual SVGAnimatedNumber getAmplitude()
3515 { return amplitude; }
3517 /**
3518 *
3519 */
3520 virtual SVGAnimatedNumber getExponent()
3521 { return exponent; }
3523 /**
3524 *
3525 */
3526 virtual SVGAnimatedNumber getOffset()
3527 { return offset; }
3530 //##################
3531 //# Non-API methods
3532 //##################
3534 /**
3535 *
3536 */
3537 virtual ~SVGComponentTransferFunctionElementImpl() {}
3539 protected:
3541 SVGAnimatedEnumeration type;
3542 SVGAnimatedNumberList tableValues;
3543 SVGAnimatedNumber slope;
3544 SVGAnimatedNumber intercept;
3545 SVGAnimatedNumber amplitude;
3546 SVGAnimatedNumber exponent;
3547 SVGAnimatedNumber offset;
3549 };
3557 /*#########################################################################
3558 ## SVGFEFuncRElementImpl
3559 #########################################################################*/
3561 /**
3562 *
3563 */
3564 class SVGFEFuncRElementImpl :
3565 virtual public SVGFEFuncRElement,
3566 public SVGComponentTransferFunctionElementImpl
3567 {
3568 public:
3570 //##################
3571 //# Non-API methods
3572 //##################
3574 /**
3575 *
3576 */
3577 virtual ~SVGFEFuncRElementImpl() {}
3579 protected:
3582 };
3588 /*#########################################################################
3589 ## SVGFEFuncGElementImpl
3590 #########################################################################*/
3592 /**
3593 *
3594 */
3595 class SVGFEFuncGElementImpl : virtual public SVGFEFuncGElement,
3596 public SVGComponentTransferFunctionElementImpl
3597 {
3598 public:
3600 //##################
3601 //# Non-API methods
3602 //##################
3604 /**
3605 *
3606 */
3607 virtual ~SVGFEFuncGElementImpl() {}
3609 protected:
3612 };
3618 /*#########################################################################
3619 ## SVGFEFuncBElementImpl
3620 #########################################################################*/
3622 /**
3623 *
3624 */
3625 class SVGFEFuncBElementImpl : virtual public SVGFEFuncBElement,
3626 public SVGComponentTransferFunctionElementImpl
3627 {
3628 public:
3630 //##################
3631 //# Non-API methods
3632 //##################
3634 /**
3635 *
3636 */
3637 virtual ~SVGFEFuncBElementImpl() {}
3639 protected:
3642 };
3648 /*#########################################################################
3649 ## SVGFEFuncAElementImpl
3650 #########################################################################*/
3652 /**
3653 *
3654 */
3655 class SVGFEFuncAElementImpl : virtual public SVGFEFuncAElement,
3656 public SVGComponentTransferFunctionElementImpl
3657 {
3658 public:
3660 //##################
3661 //# Non-API methods
3662 //##################
3664 /**
3665 *
3666 */
3667 virtual ~SVGFEFuncAElementImpl() {}
3669 protected:
3672 };
3678 /*#########################################################################
3679 ## SVGFECompositeElementImpl
3680 #########################################################################*/
3682 /**
3683 *
3684 */
3685 class SVGFECompositeElementImpl : virtual public SVGFECompositeElement,
3686 public SVGElementImpl
3687 {
3688 public:
3691 /**
3692 *
3693 */
3694 virtual SVGAnimatedString getIn1()
3695 { return in1; }
3697 /**
3698 *
3699 */
3700 virtual SVGAnimatedString getIn2()
3701 { return in2; }
3703 /**
3704 *
3705 */
3706 virtual SVGAnimatedEnumeration getOperator()
3707 { return ae_operator; }
3709 /**
3710 *
3711 */
3712 virtual SVGAnimatedNumber getK1()
3713 { return k1; }
3715 /**
3716 *
3717 */
3718 virtual SVGAnimatedNumber getK2()
3719 { return k2; }
3721 /**
3722 *
3723 */
3724 virtual SVGAnimatedNumber getK3()
3725 { return k3; }
3727 /**
3728 *
3729 */
3730 virtual SVGAnimatedNumber getK4()
3731 { return k4; }
3735 //##################
3736 //# Non-API methods
3737 //##################
3739 /**
3740 *
3741 */
3742 virtual ~SVGFECompositeElementImpl() {}
3744 protected:
3747 SVGAnimatedString in1;
3748 SVGAnimatedString in2;
3749 SVGAnimatedEnumeration ae_operator;
3750 SVGAnimatedNumber k1;
3751 SVGAnimatedNumber k2;
3752 SVGAnimatedNumber k3;
3753 SVGAnimatedNumber k4;
3755 };
3763 /*#########################################################################
3764 ## SVGFEConvolveMatrixElementImpl
3765 #########################################################################*/
3767 /**
3768 *
3769 */
3770 class SVGFEConvolveMatrixElementImpl : virtual public SVGFEConvolveMatrixElement,
3771 public SVGElementImpl
3772 {
3773 public:
3775 /**
3776 *
3777 */
3778 virtual SVGAnimatedInteger getOrderX()
3779 { return orderX; }
3781 /**
3782 *
3783 */
3784 virtual SVGAnimatedInteger getOrderY()
3785 { return orderY; }
3787 /**
3788 *
3789 */
3790 virtual SVGAnimatedNumberList getKernelMatrix()
3791 { return kernelMatrix; }
3793 /**
3794 *
3795 */
3796 virtual SVGAnimatedNumber getDivisor()
3797 { return divisor; }
3799 /**
3800 *
3801 */
3802 virtual SVGAnimatedNumber getBias()
3803 { return bias; }
3805 /**
3806 *
3807 */
3808 virtual SVGAnimatedInteger getTargetX()
3809 { return targetX; }
3811 /**
3812 *
3813 */
3814 virtual SVGAnimatedInteger getTargetY()
3815 { return targetY; }
3817 /**
3818 *
3819 */
3820 virtual SVGAnimatedEnumeration getEdgeMode()
3821 { return edgeMode; }
3823 /**
3824 *
3825 */
3826 virtual SVGAnimatedLength getKernelUnitLengthX()
3827 { return kernelUnitLengthX; }
3829 /**
3830 *
3831 */
3832 virtual SVGAnimatedLength getKernelUnitLengthY()
3833 { return kernelUnitLengthY; }
3835 /**
3836 *
3837 */
3838 virtual SVGAnimatedBoolean getPreserveAlpha()
3839 { return preserveAlpha; }
3843 //##################
3844 //# Non-API methods
3845 //##################
3847 /**
3848 *
3849 */
3850 virtual ~SVGFEConvolveMatrixElementImpl() {}
3852 protected:
3854 SVGAnimatedInteger orderX;
3855 SVGAnimatedInteger orderY;
3856 SVGAnimatedNumberList kernelMatrix;
3857 SVGAnimatedNumber divisor;
3858 SVGAnimatedNumber bias;
3859 SVGAnimatedInteger targetX;
3860 SVGAnimatedInteger targetY;
3861 SVGAnimatedEnumeration edgeMode;
3862 SVGAnimatedLength kernelUnitLengthX;
3863 SVGAnimatedLength kernelUnitLengthY;
3864 SVGAnimatedBoolean preserveAlpha;
3866 };
3874 /*#########################################################################
3875 ## SVGFEDiffuseLightingElementImpl
3876 #########################################################################*/
3878 /**
3879 *
3880 */
3881 class SVGFEDiffuseLightingElementImpl : virtual public SVGFEDiffuseLightingElement,
3882 public SVGElementImpl
3883 {
3884 public:
3886 /**
3887 *
3888 */
3889 virtual SVGAnimatedString getIn1()
3890 { return in1; }
3892 /**
3893 *
3894 */
3895 virtual SVGAnimatedNumber getSurfaceScale()
3896 { return surfaceScale; }
3898 /**
3899 *
3900 */
3901 virtual SVGAnimatedNumber getDiffuseConstant()
3902 { return diffuseConstant; }
3904 /**
3905 *
3906 */
3907 virtual SVGAnimatedNumber getKernelUnitLengthX()
3908 { return kernelUnitLengthX; }
3910 /**
3911 *
3912 */
3913 virtual SVGAnimatedNumber getKernelUnitLengthY()
3914 { return kernelUnitLengthY; }
3918 //##################
3919 //# Non-API methods
3920 //##################
3922 /**
3923 *
3924 */
3925 virtual ~SVGFEDiffuseLightingElementImpl() {}
3927 protected:
3929 SVGAnimatedString in1;
3930 SVGAnimatedNumber surfaceScale;
3931 SVGAnimatedNumber diffuseConstant;
3932 SVGAnimatedNumber kernelUnitLengthX;
3933 SVGAnimatedNumber kernelUnitLengthY;
3935 };
3943 /*#########################################################################
3944 ## SVGFEDistantLightElementImpl
3945 #########################################################################*/
3947 /**
3948 *
3949 */
3950 class SVGFEDistantLightElementImpl : virtual public SVGFEDistantLightElement,
3951 public SVGElementImpl
3952 {
3953 public:
3955 /**
3956 *
3957 */
3958 virtual SVGAnimatedNumber getAzimuth()
3959 { return azimuth; }
3962 /**
3963 *
3964 */
3965 virtual SVGAnimatedNumber getElevation()
3966 { return elevation; }
3970 //##################
3971 //# Non-API methods
3972 //##################
3974 /**
3975 *
3976 */
3977 virtual ~SVGFEDistantLightElementImpl() {}
3979 protected:
3981 SVGAnimatedNumber azimuth;
3982 SVGAnimatedNumber elevation;
3984 };
3992 /*#########################################################################
3993 ## SVGFEPointLightElementImpl
3994 #########################################################################*/
3996 /**
3997 *
3998 */
3999 class SVGFEPointLightElementImpl : public virtual SVGFEPointLightElement,
4000 public SVGElementImpl
4001 {
4002 public:
4004 /**
4005 *
4006 */
4007 virtual SVGAnimatedNumber getX()
4008 { return x; }
4011 /**
4012 *
4013 */
4014 virtual SVGAnimatedNumber getY()
4015 { return y; }
4017 /**
4018 *
4019 */
4020 virtual SVGAnimatedNumber getZ()
4021 { return z; }
4023 //##################
4024 //# Non-API methods
4025 //##################
4027 /**
4028 *
4029 */
4030 virtual ~SVGFEPointLightElementImpl() {}
4032 protected:
4034 SVGAnimatedNumber x, y, z;
4036 };
4044 /*#########################################################################
4045 ## SVGFESpotLightElementImpl
4046 #########################################################################*/
4048 /**
4049 *
4050 */
4051 class SVGFESpotLightElementImpl : virtual public SVGFESpotLightElement,
4052 public SVGElementImpl
4053 {
4054 public:
4056 /**
4057 *
4058 */
4059 virtual SVGAnimatedNumber getX()
4060 { return x; }
4063 /**
4064 *
4065 */
4066 virtual SVGAnimatedNumber getY()
4067 { return y; }
4069 /**
4070 *
4071 */
4072 virtual SVGAnimatedNumber getZ()
4073 { return z; }
4075 /**
4076 *
4077 */
4078 virtual SVGAnimatedNumber getPointsAtX()
4079 { return pointsAtX; }
4081 /**
4082 *
4083 */
4084 virtual SVGAnimatedNumber getPointsAtY()
4085 { return pointsAtY; }
4087 /**
4088 *
4089 */
4090 virtual SVGAnimatedNumber getPointsAtZ()
4091 { return pointsAtZ; }
4093 /**
4094 *
4095 */
4096 virtual SVGAnimatedNumber getSpecularExponent()
4097 { return specularExponent; }
4099 /**
4100 *
4101 */
4102 virtual SVGAnimatedNumber getLimitingConeAngle()
4103 { return limitingConeAngle; }
4107 //##################
4108 //# Non-API methods
4109 //##################
4111 /**
4112 *
4113 */
4114 virtual ~SVGFESpotLightElementImpl() {}
4116 protected:
4118 SVGAnimatedNumber x, y, z;
4119 SVGAnimatedNumber pointsAtX, pointsAtY, pointsAtZ;
4120 SVGAnimatedNumber specularExponent;
4121 SVGAnimatedNumber limitingConeAngle;
4122 };
4130 /*#########################################################################
4131 ## SVGFEDisplacementMapElementImpl
4132 #########################################################################*/
4134 /**
4135 *
4136 */
4137 class SVGFEDisplacementMapElementImpl : virtual public SVGFEDisplacementMapElement,
4138 public SVGElementImpl
4139 {
4140 public:
4142 /**
4143 *
4144 */
4145 virtual SVGAnimatedString getIn1()
4146 { return in1; }
4148 /**
4149 *
4150 */
4151 virtual SVGAnimatedString getIn2()
4152 { return in2; }
4155 /**
4156 *
4157 */
4158 virtual SVGAnimatedNumber getScale()
4159 { return scale; }
4161 /**
4162 *
4163 */
4164 virtual SVGAnimatedEnumeration getXChannelSelector()
4165 { return xChannelSelector; }
4167 /**
4168 *
4169 */
4170 virtual SVGAnimatedEnumeration getYChannelSelector()
4171 { return yChannelSelector; }
4175 //##################
4176 //# Non-API methods
4177 //##################
4179 /**
4180 *
4181 */
4182 virtual ~SVGFEDisplacementMapElementImpl() {}
4184 protected:
4186 SVGAnimatedString in1;
4187 SVGAnimatedString in2;
4188 SVGAnimatedNumber scale;
4189 SVGAnimatedEnumeration xChannelSelector;
4190 SVGAnimatedEnumeration yChannelSelector;
4192 };
4200 /*#########################################################################
4201 ## SVGFEFloodElementImpl
4202 #########################################################################*/
4204 /**
4205 *
4206 */
4207 class SVGFEFloodElementImpl : virtual public SVGFEFloodElement,
4208 public SVGElementImpl
4209 {
4210 public:
4211 /**
4212 *
4213 */
4214 virtual SVGAnimatedString getIn1()
4215 { return in1; }
4218 //##################
4219 //# Non-API methods
4220 //##################
4222 /**
4223 *
4224 */
4225 virtual ~SVGFEFloodElementImpl() {}
4227 protected:
4229 SVGAnimatedString in1;
4231 };
4239 /*#########################################################################
4240 ## SVGFEGaussianBlurElementImpl
4241 #########################################################################*/
4243 /**
4244 *
4245 */
4246 class SVGFEGaussianBlurElementImpl : virtual public SVGFEGaussianBlurElement,
4247 public SVGElementImpl
4248 {
4249 public:
4250 /**
4251 *
4252 */
4253 virtual SVGAnimatedString getIn1()
4254 { return in1; }
4257 /**
4258 *
4259 */
4260 virtual SVGAnimatedNumber getStdDeviationX()
4261 { return stdDeviationX; }
4263 /**
4264 *
4265 */
4266 virtual SVGAnimatedNumber getStdDeviationY()
4267 { return stdDeviationY; }
4270 /**
4271 *
4272 */
4273 virtual void setStdDeviation (double stdDeviationXArg, double stdDeviationYArg )
4274 {
4275 stdDeviationX = stdDeviationXArg;
4276 stdDeviationY = stdDeviationYArg;
4277 }
4281 //##################
4282 //# Non-API methods
4283 //##################
4285 /**
4286 *
4287 */
4288 virtual ~SVGFEGaussianBlurElementImpl() {}
4290 protected:
4292 SVGAnimatedString in1;
4293 SVGAnimatedNumber stdDeviationX, stdDeviationY;
4295 };
4303 /*#########################################################################
4304 ## SVGFEImageElementImpl
4305 #########################################################################*/
4307 /**
4308 *
4309 */
4310 class SVGFEImageElementImpl : virtual public SVGFEImageElement,
4311 public SVGElementImpl
4312 {
4313 public:
4315 //##################
4316 //# Non-API methods
4317 //##################
4319 /**
4320 *
4321 */
4322 virtual ~SVGFEImageElementImpl() {}
4324 protected:
4327 };
4333 /*#########################################################################
4334 ## SVGFEMergeElementImpl
4335 #########################################################################*/
4337 /**
4338 *
4339 */
4340 class SVGFEMergeElementImpl : virtual public SVGFEMergeElement,
4341 public SVGElementImpl
4342 {
4343 public:
4345 //##################
4346 //# Non-API methods
4347 //##################
4349 /**
4350 *
4351 */
4352 virtual ~SVGFEMergeElementImpl() {}
4354 protected:
4357 };
4363 /*#########################################################################
4364 ## SVGFEMergeNodeElementImpl
4365 #########################################################################*/
4367 /**
4368 *
4369 */
4370 class SVGFEMergeNodeElementImpl : virtual public SVGFEMergeNodeElement,
4371 public SVGElementImpl
4372 {
4373 public:
4374 /**
4375 *
4376 */
4377 virtual SVGAnimatedString getIn1()
4378 { return in1; }
4381 //##################
4382 //# Non-API methods
4383 //##################
4385 /**
4386 *
4387 */
4388 virtual ~SVGFEMergeNodeElementImpl() {}
4390 protected:
4392 SVGAnimatedString in1;
4394 };
4402 /*#########################################################################
4403 ## SVGFEMorphologyElementImpl
4404 #########################################################################*/
4406 /**
4407 *
4408 */
4409 class SVGFEMorphologyElementImpl : virtual public SVGFEMorphologyElement,
4410 public SVGElementImpl
4411 {
4412 public:
4414 /**
4415 *
4416 */
4417 virtual SVGAnimatedString getIn1()
4418 { return in1; }
4421 /**
4422 *
4423 */
4424 virtual SVGAnimatedEnumeration getOperator()
4425 { return me_operator; }
4427 /**
4428 *
4429 */
4430 virtual SVGAnimatedLength getRadiusX()
4431 { return radiusX; }
4433 /**
4434 *
4435 */
4436 virtual SVGAnimatedLength getRadiusY()
4437 { return radiusY; }
4441 //##################
4442 //# Non-API methods
4443 //##################
4445 /**
4446 *
4447 */
4448 virtual ~SVGFEMorphologyElementImpl() {}
4450 protected:
4452 SVGAnimatedString in1;
4453 SVGAnimatedEnumeration me_operator;
4454 SVGAnimatedLength radiusX;
4455 SVGAnimatedLength radiusY;
4457 };
4465 /*#########################################################################
4466 ## SVGFEOffsetElementImpl
4467 #########################################################################*/
4469 /**
4470 *
4471 */
4472 class SVGFEOffsetElementImpl : virtual public SVGFEOffsetElement,
4473 public SVGElementImpl
4474 {
4475 public:
4479 /**
4480 *
4481 */
4482 virtual SVGAnimatedString getIn1()
4483 { return in1; }
4485 /**
4486 *
4487 */
4488 virtual SVGAnimatedLength getDx()
4489 { return dx; }
4491 /**
4492 *
4493 */
4494 virtual SVGAnimatedLength getDy()
4495 { return dy; }
4497 //##################
4498 //# Non-API methods
4499 //##################
4501 /**
4502 *
4503 */
4504 virtual ~SVGFEOffsetElementImpl() {}
4506 protected:
4508 SVGAnimatedString in1;
4509 SVGAnimatedLength dx, dy;
4511 };
4519 /*#########################################################################
4520 ## SVGFESpecularLightingElementImpl
4521 #########################################################################*/
4523 /**
4524 *
4525 */
4526 class SVGFESpecularLightingElementImpl :
4527 virtual public SVGFESpecularLightingElement,
4528 public SVGElementImpl
4529 {
4530 public:
4532 /**
4533 *
4534 */
4535 virtual SVGAnimatedString getIn1()
4536 { return in1; }
4538 /**
4539 *
4540 */
4541 virtual SVGAnimatedNumber getSurfaceScale()
4542 { return surfaceScale; }
4544 /**
4545 *
4546 */
4547 virtual SVGAnimatedNumber getSpecularConstant()
4548 { return specularConstant; }
4550 /**
4551 *
4552 */
4553 virtual SVGAnimatedNumber getSpecularExponent()
4554 { return specularExponent; }
4557 //##################
4558 //# Non-API methods
4559 //##################
4561 /**
4562 *
4563 */
4564 virtual ~SVGFESpecularLightingElementImpl() {}
4566 protected:
4568 SVGAnimatedString in1;
4569 SVGAnimatedNumber surfaceScale;
4570 SVGAnimatedNumber specularConstant;
4571 SVGAnimatedNumber specularExponent;
4572 };
4580 /*#########################################################################
4581 ## SVGFETileElementImpl
4582 #########################################################################*/
4584 /**
4585 *
4586 */
4587 class SVGFETileElementImpl : virtual public SVGFETileElement,
4588 public SVGElementImpl
4589 {
4590 public:
4593 /**
4594 *
4595 */
4596 virtual SVGAnimatedString getIn1()
4597 { return in1; }
4601 //##################
4602 //# Non-API methods
4603 //##################
4605 /**
4606 *
4607 */
4608 virtual ~SVGFETileElementImpl() {}
4610 protected:
4612 SVGAnimatedString in1;
4614 };
4622 /*#########################################################################
4623 ## SVGFETurbulenceElementImpl
4624 #########################################################################*/
4626 /**
4627 *
4628 */
4629 class SVGFETurbulenceElementImpl : virtual public SVGFETurbulenceElement,
4630 public SVGElementImpl
4631 {
4632 public:
4634 /**
4635 *
4636 */
4637 virtual SVGAnimatedNumber getBaseFrequencyX()
4638 { return baseFrequencyX; }
4640 /**
4641 *
4642 */
4643 virtual SVGAnimatedNumber getBaseFrequencyY()
4644 { return baseFrequencyY; }
4646 /**
4647 *
4648 */
4649 virtual SVGAnimatedInteger getNumOctaves()
4650 { return numOctaves; }
4652 /**
4653 *
4654 */
4655 virtual SVGAnimatedNumber getSeed()
4656 { return seed; }
4658 /**
4659 *
4660 */
4661 virtual SVGAnimatedEnumeration getStitchTiles()
4662 { return stitchTiles; }
4664 /**
4665 *
4666 */
4667 virtual SVGAnimatedEnumeration getType()
4668 { return type; }
4672 //##################
4673 //# Non-API methods
4674 //##################
4676 /**
4677 *
4678 */
4679 virtual ~SVGFETurbulenceElementImpl() {}
4681 protected:
4683 SVGAnimatedNumber baseFrequencyX;
4684 SVGAnimatedNumber baseFrequencyY;
4685 SVGAnimatedInteger numOctaves;
4686 SVGAnimatedNumber seed;
4687 SVGAnimatedEnumeration stitchTiles;
4688 SVGAnimatedEnumeration type;
4690 };
4698 /*#########################################################################
4699 ## SVGCursorElementImpl
4700 #########################################################################*/
4702 /**
4703 *
4704 */
4705 class SVGCursorElementImpl : virtual public SVGCursorElement,
4706 public SVGElementImpl
4707 {
4708 public:
4710 /**
4711 *
4712 */
4713 virtual SVGAnimatedLength getX()
4714 { return x; }
4716 /**
4717 *
4718 */
4719 virtual SVGAnimatedLength getY()
4720 { return x; }
4722 //##################
4723 //# Non-API methods
4724 //##################
4726 /**
4727 *
4728 */
4729 virtual ~SVGCursorElementImpl() {}
4731 protected:
4733 SVGAnimatedLength x, y;
4734 };
4742 /*#########################################################################
4743 ## SVGAElementImpl
4744 #########################################################################*/
4746 /**
4747 *
4748 */
4749 class SVGAElementImpl : virtual public SVGAElement,
4750 public SVGElementImpl
4751 {
4752 public:
4754 /**
4755 *
4756 */
4757 virtual SVGAnimatedString getTarget()
4758 { return target; }
4762 //##################
4763 //# Non-API methods
4764 //##################
4766 /**
4767 *
4768 */
4769 virtual ~SVGAElementImpl() {}
4771 protected:
4773 SVGAnimatedString target;
4774 };
4782 /*#########################################################################
4783 ## SVGViewElementImpl
4784 #########################################################################*/
4786 /**
4787 *
4788 */
4789 class SVGViewElementImpl : virtual public SVGViewElement,
4790 public SVGElementImpl
4791 {
4792 public:
4794 /**
4795 *
4796 */
4797 virtual SVGStringList getViewTarget()
4798 { return viewTarget; }
4802 //##################
4803 //# Non-API methods
4804 //##################
4806 /**
4807 *
4808 */
4809 virtual ~SVGViewElementImpl() {}
4811 protected:
4813 SVGStringList viewTarget;
4814 };
4822 /*#########################################################################
4823 ## SVGScriptElementImpl
4824 #########################################################################*/
4826 /**
4827 *
4828 */
4829 class SVGScriptElementImpl : virtual public SVGScriptElement,
4830 public SVGElementImpl
4831 {
4832 public:
4834 /**
4835 *
4836 */
4837 virtual DOMString getType()
4838 { return type; }
4840 /**
4841 *
4842 */
4843 virtual void setType(const DOMString &val) throw (DOMException)
4844 { type = val; }
4847 //##################
4848 //# Non-API methods
4849 //##################
4851 /**
4852 *
4853 */
4854 virtual ~SVGScriptElementImpl() {}
4856 protected:
4858 DOMString type;
4859 };
4866 /*#########################################################################
4867 ## SVGAnimationElementImpl
4868 #########################################################################*/
4870 /**
4871 *
4872 */
4873 class SVGAnimationElementImpl : virtual public SVGAnimationElement,
4874 public SVGElementImpl
4875 {
4876 public:
4879 /**
4880 *
4881 */
4882 virtual SVGElementPtr getTargetElement()
4883 { return targetElement; }
4886 /**
4887 *
4888 */
4889 virtual double getStartTime ( )
4890 { return startTime; }
4892 /**
4893 *
4894 */
4895 virtual double getCurrentTime ( )
4896 { return currentTime; }
4898 /**
4899 *
4900 */
4901 virtual double getSimpleDuration ( ) throw( DOMException )
4902 { return simpleDuration; }
4906 //##################
4907 //# Non-API methods
4908 //##################
4910 /**
4911 *
4912 */
4913 virtual ~SVGAnimationElementImpl() {}
4915 protected:
4917 SVGElementPtr targetElement;
4918 double startTime, currentTime, simpleDuration;
4919 };
4927 /*#########################################################################
4928 ## SVGAnimateElementImpl
4929 #########################################################################*/
4931 /**
4932 *
4933 */
4934 class SVGAnimateElementImpl : virtual public SVGAnimateElement,
4935 public SVGAnimationElementImpl
4936 {
4937 public:
4939 //##################
4940 //# Non-API methods
4941 //##################
4943 /**
4944 *
4945 */
4946 virtual ~SVGAnimateElementImpl() {}
4948 protected:
4951 };
4957 /*#########################################################################
4958 ## SVGSetElementImpl
4959 #########################################################################*/
4961 /**
4962 *
4963 */
4964 class SVGSetElementImpl : virtual public SVGSetElement,
4965 public SVGAnimationElementImpl
4966 {
4967 public:
4969 //##################
4970 //# Non-API methods
4971 //##################
4973 /**
4974 *
4975 */
4976 virtual ~SVGSetElementImpl() {}
4978 protected:
4981 };
4987 /*#########################################################################
4988 ## SVGAnimateMotionElementImpl
4989 #########################################################################*/
4991 /**
4992 *
4993 */
4994 class SVGAnimateMotionElementImpl : virtual public SVGAnimateMotionElement,
4995 public SVGAnimationElementImpl
4996 {
4997 public:
4999 //##################
5000 //# Non-API methods
5001 //##################
5003 /**
5004 *
5005 */
5006 virtual ~SVGAnimateMotionElementImpl() {}
5008 protected:
5011 };
5017 /*#########################################################################
5018 ## SVGMPathElementImpl
5019 #########################################################################*/
5021 /**
5022 *
5023 */
5024 class SVGMPathElementImpl : virtual public SVGMPathElement,
5025 public SVGElementImpl
5026 {
5027 public:
5029 //##################
5030 //# Non-API methods
5031 //##################
5033 /**
5034 *
5035 */
5036 virtual ~SVGMPathElementImpl() {}
5038 protected:
5041 };
5047 /*#########################################################################
5048 ## SVGAnimateColorElementImpl
5049 #########################################################################*/
5051 /**
5052 *
5053 */
5054 class SVGAnimateColorElementImpl : virtual public SVGAnimateColorElement,
5055 public SVGAnimationElementImpl
5056 {
5057 public:
5059 //##################
5060 //# Non-API methods
5061 //##################
5063 /**
5064 *
5065 */
5066 virtual ~SVGAnimateColorElementImpl() {}
5068 protected:
5071 };
5077 /*#########################################################################
5078 ## SVGAnimateTransformElementImpl
5079 #########################################################################*/
5081 /**
5082 *
5083 */
5084 class SVGAnimateTransformElementImpl : virtual public SVGAnimateTransformElement,
5085 public SVGAnimationElementImpl
5086 {
5087 public:
5089 //##################
5090 //# Non-API methods
5091 //##################
5093 /**
5094 *
5095 */
5096 virtual ~SVGAnimateTransformElementImpl() {}
5098 protected:
5101 };
5107 /*#########################################################################
5108 ## SVGFontElementImpl
5109 #########################################################################*/
5111 /**
5112 *
5113 */
5114 class SVGFontElementImpl : virtual public SVGFontElement,
5115 public SVGElementImpl
5116 {
5117 public:
5119 //##################
5120 //# Non-API methods
5121 //##################
5123 /**
5124 *
5125 */
5126 virtual ~SVGFontElementImpl() {}
5128 protected:
5131 };
5137 /*#########################################################################
5138 ## SVGGlyphElementImpl
5139 #########################################################################*/
5141 /**
5142 *
5143 */
5144 class SVGGlyphElementImpl : virtual public SVGGlyphElement,
5145 public SVGElementImpl
5146 {
5147 public:
5149 //##################
5150 //# Non-API methods
5151 //##################
5153 /**
5154 *
5155 */
5156 virtual ~SVGGlyphElementImpl() {}
5158 protected:
5161 };
5167 /*#########################################################################
5168 ## SVGMissingGlyphElementImpl
5169 #########################################################################*/
5171 /**
5172 *
5173 */
5174 class SVGMissingGlyphElementImpl : virtual public SVGMissingGlyphElement,
5175 public SVGElementImpl
5176 {
5177 public:
5179 //##################
5180 //# Non-API methods
5181 //##################
5183 /**
5184 *
5185 */
5186 virtual ~SVGMissingGlyphElementImpl() {}
5188 protected:
5191 };
5197 /*#########################################################################
5198 ## SVGHKernElementImpl
5199 #########################################################################*/
5201 /**
5202 *
5203 */
5204 class SVGHKernElementImpl : virtual public SVGHKernElement,
5205 public SVGElementImpl
5206 {
5207 public:
5209 //##################
5210 //# Non-API methods
5211 //##################
5213 /**
5214 *
5215 */
5216 virtual ~SVGHKernElementImpl() {}
5218 protected:
5221 };
5227 /*#########################################################################
5228 ## SVGVKernElementImpl
5229 #########################################################################*/
5231 /**
5232 *
5233 */
5234 class SVGVKernElementImpl : virtual public SVGVKernElement,
5235 public SVGElementImpl
5236 {
5237 public:
5239 //##################
5240 //# Non-API methods
5241 //##################
5243 /**
5244 *
5245 */
5246 virtual ~SVGVKernElementImpl() {}
5248 protected:
5251 };
5257 /*#########################################################################
5258 ## SVGFontFaceElementImpl
5259 #########################################################################*/
5261 /**
5262 *
5263 */
5264 class SVGFontFaceElementImpl : virtual public SVGFontFaceElement,
5265 public SVGElementImpl
5266 {
5267 public:
5269 //##################
5270 //# Non-API methods
5271 //##################
5273 /**
5274 *
5275 */
5276 virtual ~SVGFontFaceElementImpl() {}
5278 protected:
5281 };
5287 /*#########################################################################
5288 ## SVGFontFaceSrcElementImpl
5289 #########################################################################*/
5291 /**
5292 *
5293 */
5294 class SVGFontFaceSrcElementImpl : virtual public SVGFontFaceSrcElement,
5295 public SVGElementImpl
5296 {
5297 public:
5299 //##################
5300 //# Non-API methods
5301 //##################
5303 /**
5304 *
5305 */
5306 virtual ~SVGFontFaceSrcElementImpl() {}
5308 protected:
5311 };
5317 /*#########################################################################
5318 ## SVGFontFaceUriElementImpl
5319 #########################################################################*/
5321 /**
5322 *
5323 */
5324 class SVGFontFaceUriElementImpl : virtual public SVGFontFaceUriElement,
5325 public SVGElementImpl
5326 {
5327 public:
5329 //##################
5330 //# Non-API methods
5331 //##################
5333 /**
5334 *
5335 */
5336 virtual ~SVGFontFaceUriElementImpl() {}
5338 protected:
5341 };
5347 /*#########################################################################
5348 ## SVGFontFaceFormatElementImpl
5349 #########################################################################*/
5351 /**
5352 *
5353 */
5354 class SVGFontFaceFormatElementImpl : virtual public SVGFontFaceFormatElement,
5355 public SVGElementImpl
5356 {
5357 public:
5359 //##################
5360 //# Non-API methods
5361 //##################
5363 /**
5364 *
5365 */
5366 virtual ~SVGFontFaceFormatElementImpl() {}
5368 protected:
5371 };
5377 /*#########################################################################
5378 ## SVGFontFaceNameElementImpl
5379 #########################################################################*/
5381 /**
5382 *
5383 */
5384 class SVGFontFaceNameElementImpl : virtual public SVGFontFaceNameElement,
5385 public SVGElementImpl
5386 {
5387 public:
5389 //##################
5390 //# Non-API methods
5391 //##################
5393 /**
5394 *
5395 */
5396 virtual ~SVGFontFaceNameElementImpl() {}
5398 protected:
5401 };
5407 /*#########################################################################
5408 ## SVGDefinitionSrcElementImpl
5409 #########################################################################*/
5411 /**
5412 *
5413 */
5414 class SVGDefinitionSrcElementImpl : virtual public SVGDefinitionSrcElement,
5415 public SVGElementImpl
5416 {
5417 public:
5419 //##################
5420 //# Non-API methods
5421 //##################
5423 /**
5424 *
5425 */
5426 virtual ~SVGDefinitionSrcElementImpl() {}
5428 protected:
5431 };
5437 /*#########################################################################
5438 ## SVGMetadataElementImpl
5439 #########################################################################*/
5441 /**
5442 *
5443 */
5444 class SVGMetadataElementImpl : virtual public SVGMetadataElement,
5445 public SVGElementImpl
5446 {
5447 public:
5449 //##################
5450 //# Non-API methods
5451 //##################
5453 /**
5454 *
5455 */
5456 virtual ~SVGMetadataElementImpl() {}
5458 protected:
5461 };
5466 /*#########################################################################
5467 ## SVGForeignObjectElementImpl
5468 #########################################################################*/
5470 /**
5471 *
5472 */
5473 class SVGForeignObjectElementImpl : virtual public SVGForeignObjectElement,
5474 public SVGElementImpl
5475 {
5476 public:
5479 /**
5480 *
5481 */
5482 virtual SVGAnimatedLength getX()
5483 { return x; }
5485 /**
5486 *
5487 */
5488 virtual SVGAnimatedLength getY()
5489 { return y; }
5491 /**
5492 *
5493 */
5494 virtual SVGAnimatedLength getWidth()
5495 { return width; }
5497 /**
5498 *
5499 */
5500 virtual SVGAnimatedLength getHeight()
5501 { return height; }
5505 //##################
5506 //# Non-API methods
5507 //##################
5510 /**
5511 *
5512 */
5513 virtual ~SVGForeignObjectElementImpl() {}
5515 protected:
5517 SVGAnimatedLength x, y, width, height;
5518 };
5525 } //namespace svg
5526 } //namespace dom
5527 } //namespace w3c
5528 } //namespace org
5530 #endif // __SVG_H__
5531 /*#########################################################################
5532 ## E N D O F F I L E
5533 #########################################################################*/