summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1fd33aa)
raw | patch | inline | side by side (parent: 1fd33aa)
author | ishmal <ishmal@users.sourceforge.net> | |
Tue, 18 Mar 2008 20:57:50 +0000 (20:57 +0000) | ||
committer | ishmal <ishmal@users.sourceforge.net> | |
Tue, 18 Mar 2008 20:57:50 +0000 (20:57 +0000) |
16 files changed:
src/dom/Makefile.mingw | patch | blob | history | |
src/dom/Makefile_insert | patch | blob | history | |
src/dom/svg.h | [new file with mode: 0644] | patch | blob |
src/dom/svg/svg.h | [deleted file] | patch | blob | history |
src/dom/svg/svg.idl | [deleted file] | patch | blob | history |
src/dom/svg/svgimpl.cpp | [deleted file] | patch | blob | history |
src/dom/svg/svgimpl.h | [deleted file] | patch | blob | history |
src/dom/svg/svgparser.cpp | [deleted file] | patch | blob | history |
src/dom/svg/svgparser.h | [deleted file] | patch | blob | history |
src/dom/svg/svgtypes.h | [deleted file] | patch | blob | history |
src/dom/svgimpl.cpp | [new file with mode: 0644] | patch | blob |
src/dom/svgimpl.h | [new file with mode: 0644] | patch | blob |
src/dom/svgparser.cpp | [new file with mode: 0644] | patch | blob |
src/dom/svgparser.h | [new file with mode: 0644] | patch | blob |
src/dom/svgtypes.h | [new file with mode: 0644] | patch | blob |
src/dom/work/svg.idl | [new file with mode: 0644] | patch | blob |
diff --git a/src/dom/Makefile.mingw b/src/dom/Makefile.mingw
index 987a668af299e5f0368a6c5449e94d17b73ea606..1266bb71cc5ef288f9de543306cf695f2e328c03 100644 (file)
--- a/src/dom/Makefile.mingw
+++ b/src/dom/Makefile.mingw
io/uristream.o \
io/socket.o \
odf/odfdocument.o \
-svg/svgimpl.o \
-svg/svgparser.o \
+svgimpl.o \
+svgparser.o \
ucd.o \
util/thread.o \
util/ziptool.o
-JSOBJ = \
-js/js.o \
-js/jsapi.o \
-js/jsarena.o \
-js/jsarray.o \
-js/jsatom.o \
-js/jsbool.o \
-js/jscntxt.o \
-js/jscpucfg.o \
-js/jsdate.o \
-js/jsdbgapi.o \
-js/jsdhash.o \
-js/jsdtoa.o \
-js/jsemit.o \
-js/jsexn.o \
-js/jsfile.o \
-js/jsfun.o \
-js/jsgc.o \
-js/jshash.o \
-js/jsinterp.o \
-js/jslock.o \
-js/jslog2.o \
-js/jslong.o \
-js/jsmath.o \
-js/jsnum.o \
-js/jsobj.o \
-js/jsopcode.o \
-js/jsparse.o \
-js/jsprf.o \
-js/jsregexp.o \
-js/jsscan.o \
-js/jsscope.o \
-js/jsscript.o \
-js/jsstr.o \
-js/jsutil.o \
-js/jsxdrapi.o \
-js/jsxml.o \
-js/prmjtime.o \
-js/fdlibm/e_acos.o \
-js/fdlibm/e_acosh.o \
-js/fdlibm/e_asin.o \
-js/fdlibm/e_atan2.o \
-js/fdlibm/e_atanh.o \
-js/fdlibm/e_cosh.o \
-js/fdlibm/e_exp.o \
-js/fdlibm/e_fmod.o \
-js/fdlibm/e_gamma.o \
-js/fdlibm/e_gamma_r.o \
-js/fdlibm/e_hypot.o \
-js/fdlibm/e_j0.o \
-js/fdlibm/e_j1.o \
-js/fdlibm/e_jn.o \
-js/fdlibm/e_lgamma.o \
-js/fdlibm/e_lgamma_r.o \
-js/fdlibm/e_log.o \
-js/fdlibm/e_log10.o \
-js/fdlibm/e_pow.o \
-js/fdlibm/e_remainder.o \
-js/fdlibm/e_rem_pio2.o \
-js/fdlibm/e_scalb.o \
-js/fdlibm/e_sinh.o \
-js/fdlibm/e_sqrt.o \
-js/fdlibm/k_cos.o \
-js/fdlibm/k_rem_pio2.o \
-js/fdlibm/k_sin.o \
-js/fdlibm/k_standard.o \
-js/fdlibm/k_tan.o \
-js/fdlibm/s_asinh.o \
-js/fdlibm/s_atan.o \
-js/fdlibm/s_cbrt.o \
-js/fdlibm/s_ceil.o \
-js/fdlibm/s_copysign.o \
-js/fdlibm/s_cos.o \
-js/fdlibm/s_erf.o \
-js/fdlibm/s_expm1.o \
-js/fdlibm/s_fabs.o \
-js/fdlibm/s_finite.o \
-js/fdlibm/s_floor.o \
-js/fdlibm/s_frexp.o \
-js/fdlibm/s_ilogb.o \
-js/fdlibm/s_isnan.o \
-js/fdlibm/s_ldexp.o \
-js/fdlibm/s_lib_version.o \
-js/fdlibm/s_log1p.o \
-js/fdlibm/s_logb.o \
-js/fdlibm/s_matherr.o \
-js/fdlibm/s_modf.o \
-js/fdlibm/s_nextafter.o \
-js/fdlibm/s_rint.o \
-js/fdlibm/s_scalbn.o \
-js/fdlibm/s_signgam.o \
-js/fdlibm/s_significand.o \
-js/fdlibm/s_sin.o \
-js/fdlibm/s_tan.o \
-js/fdlibm/s_tanh.o \
-js/fdlibm/w_acos.o \
-js/fdlibm/w_acosh.o \
-js/fdlibm/w_asin.o \
-js/fdlibm/w_atan2.o \
-js/fdlibm/w_atanh.o \
-js/fdlibm/w_cosh.o \
-js/fdlibm/w_exp.o \
-js/fdlibm/w_fmod.o \
-js/fdlibm/w_gamma.o \
-js/fdlibm/w_gamma_r.o \
-js/fdlibm/w_hypot.o \
-js/fdlibm/w_j0.o \
-js/fdlibm/w_j1.o \
-js/fdlibm/w_jn.o \
-js/fdlibm/w_lgamma.o \
-js/fdlibm/w_lgamma_r.o \
-js/fdlibm/w_log.o \
-js/fdlibm/w_log10.o \
-js/fdlibm/w_pow.o \
-js/fdlibm/w_remainder.o \
-js/fdlibm/w_scalb.o \
-js/fdlibm/w_sinh.o \
-js/fdlibm/w_sqrt.o
-
TESTOBJ = \
work/testxpath.o \
work/testzip.o
-OBJ = $(DOMOBJ) $(JSOBJ)
+OBJ = $(DOMOBJ)
all: testdom.exe testhttp.exe testjs.exe \
testsvg.exe testuri.exe testxpath.exe testzip.exe
index da748b2b86928d9c0899dfa72ed7da5d97307aef..730b2d44a9db8d1034eb64ab7ab329938985bf5d 100644 (file)
--- a/src/dom/Makefile_insert
+++ b/src/dom/Makefile_insert
dom/smilimpl.cpp \
dom/smilimpl.h \
dom/stylesheets.h \
+ dom/svg.h \
+ dom/svgimpl.cpp \
+ dom/svgimpl.h \
+ dom/svgparser.cpp \
+ dom/svgparser.h \
+ dom/svgtypes.h \
dom/traversal.h \
dom/ucd.cpp \
dom/ucd.h \
dom/io/uristream.h \
dom/odf/odfdocument.cpp \
dom/odf/odfdocument.h \
- dom/svg/svg.h \
- dom/svg/svgimpl.cpp \
- dom/svg/svgimpl.h \
- dom/svg/svgparser.cpp \
- dom/svg/svgparser.h \
- dom/svg/svgtypes.h \
dom/util/digest.h \
dom/util/digest.cpp \
dom/util/thread.h \
diff --git a/src/dom/svg.h b/src/dom/svg.h
--- /dev/null
+++ b/src/dom/svg.h
@@ -0,0 +1,4481 @@
+#ifndef __SVG_H__
+#define __SVG_H__
+
+/**
+ * Phoebe DOM Implementation.
+ *
+ * This is a C++ approximation of the W3C DOM model, which follows
+ * fairly closely the specifications in the various .idl files, copies of
+ * which are provided for reference. Most important is this one:
+ *
+ * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2005 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+// For access to DOM2 core
+#include "dom/dom.h"
+
+// For access to DOM2 events
+#include "dom/events.h"
+
+// For access to those parts from DOM2 CSS OM used by SVG DOM.
+#include "dom/css.h"
+
+// For access to those parts from DOM2 Views OM used by SVG DOM.
+#include "dom/views.h"
+
+// For access to the SMIL OM used by SVG DOM.
+#include "dom/smil.h"
+
+
+
+#include "svgtypes.h"
+
+#include <math.h>
+
+
+
+namespace org
+{
+namespace w3c
+{
+namespace dom
+{
+namespace svg
+{
+
+
+//local definitions
+typedef dom::DOMString DOMString;
+typedef dom::DOMException DOMException;
+typedef dom::Element Element;
+typedef dom::ElementPtr ElementPtr;
+typedef dom::Document Document;
+typedef dom::DocumentPtr DocumentPtr;
+typedef dom::NodeList NodeList;
+
+
+
+
+class SVGElement;
+typedef Ptr<SVGElement> SVGElementPtr;
+class SVGSVGElement;
+typedef Ptr<SVGSVGElement> SVGSVGElementPtr;
+class SVGDocument;
+typedef Ptr<SVGDocument> SVGDocumentPtr;
+
+
+/*#########################################################################
+## SVGElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGElement : virtual public Element
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getId() =0;
+
+ /**
+ *
+ */
+ virtual void setId(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual DOMString getXmlBase() = 0;
+
+ /**
+ *
+ */
+ virtual void setXmlBase(const DOMString &val)
+ throw (DOMException) = 0;
+
+ /**
+ *
+ */
+ virtual SVGSVGElementPtr getOwnerSVGElement() = 0;
+
+ /**
+ *
+ */
+ virtual SVGElementPtr getViewportElement() = 0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ virtual ~SVGElement() {}
+
+
+};
+
+
+
+/*#########################################################################
+## SVGDocument
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGDocument : virtual public Document,
+ virtual public events::DocumentEvent
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual DOMString getTitle() =0;
+
+ /**
+ *
+ */
+ virtual DOMString getReferrer() =0;
+
+ /**
+ *
+ */
+ virtual DOMString getDomain() =0;
+
+ /**
+ *
+ */
+ virtual DOMString getURL() =0;
+
+ /**
+ *
+ */
+ virtual SVGSVGElementPtr getRootElement() =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGDocument() {}
+
+};
+
+
+
+/*#########################################################################
+## SVGSVGElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGSVGElement : virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGLocatable,
+ public SVGFitToViewBox,
+ public SVGZoomAndPan,
+ public events::EventTarget,
+ public events::DocumentEvent,
+ public css::ViewCSS,
+ public css::DocumentCSS
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight() =0;
+
+ /**
+ *
+ */
+ virtual DOMString getContentScriptType() =0;
+
+ /**
+ *
+ */
+ virtual void setContentScriptType(const DOMString &val)
+ throw (DOMException) =0;
+
+
+ /**
+ *
+ */
+ virtual DOMString getContentStyleType() =0;
+
+ /**
+ *
+ */
+ virtual void setContentStyleType(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual SVGRect getViewport() =0;
+
+ /**
+ *
+ */
+ virtual double getPixelUnitToMillimeterX() =0;
+
+ /**
+ *
+ */
+ virtual double getPixelUnitToMillimeterY() =0;
+
+ /**
+ *
+ */
+ virtual double getScreenPixelToMillimeterX() =0;
+
+ /**
+ *
+ */
+ virtual double getScreenPixelToMillimeterY() =0;
+
+
+ /**
+ *
+ */
+ virtual bool getUseCurrentView() =0;
+
+ /**
+ *
+ */
+ virtual void setUseCurrentView(bool val) throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual SVGViewSpec getCurrentView() =0;
+
+
+ /**
+ *
+ */
+ virtual double getCurrentScale() =0;
+
+ /**
+ *
+ */
+ virtual void setCurrentScale(double val)
+ throw (DOMException) =0;
+
+
+ /**
+ *
+ */
+ virtual SVGPoint getCurrentTranslate() =0;
+
+
+ /**
+ *
+ */
+ virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds ) =0;
+
+ /**
+ *
+ */
+ virtual void unsuspendRedraw (unsigned long suspend_handle_id )
+ throw( DOMException ) =0;
+
+ /**
+ *
+ */
+ virtual void unsuspendRedrawAll ( ) =0;
+
+ /**
+ *
+ */
+ virtual void forceRedraw ( ) =0;
+
+ /**
+ *
+ */
+ virtual void pauseAnimations ( ) =0;
+
+ /**
+ *
+ */
+ virtual void unpauseAnimations ( ) =0;
+
+ /**
+ *
+ */
+ virtual bool animationsPaused ( ) =0;
+
+ /**
+ *
+ */
+ virtual double getCurrentTime ( ) =0;
+
+ /**
+ *
+ */
+ virtual void setCurrentTime (double seconds ) =0;
+
+ /**
+ *
+ */
+ virtual NodeList getIntersectionList(const SVGRect &rect,
+ const SVGElementPtr referenceElement ) =0;
+
+ /**
+ *
+ */
+ virtual NodeList getEnclosureList (const SVGRect &rect,
+ const SVGElementPtr referenceElement ) =0;
+
+ /**
+ *
+ */
+ virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect ) =0;
+
+ /**
+ *
+ */
+ virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect ) =0;
+
+ /**
+ *
+ */
+ virtual void deselectAll ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGNumber createSVGNumber ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGLength createSVGLength ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGAngle createSVGAngle ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPoint createSVGPoint ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGMatrix createSVGMatrix ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGRect createSVGRect ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGTransform createSVGTransform ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix ) =0;
+
+ /**
+ *
+ */
+ virtual ElementPtr getElementById (const DOMString& elementId ) =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGSVGElement() {}
+
+};
+
+
+
+/*#########################################################################
+## SVGGElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGGElement : virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGGElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGDefsElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGDefsElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGDefsElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGDescElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGDescElement :
+ virtual public SVGElement,
+ public SVGLangSpace,
+ public SVGStylable
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGDescElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGTitleElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTitleElement :
+ virtual public SVGElement,
+ public SVGLangSpace,
+ public SVGStylable
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTitleElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGSymbolElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGSymbolElement :
+ virtual public SVGElement,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGFitToViewBox,
+ public events::EventTarget
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGSymbolElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGUseElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGUseElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight() =0;
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getInstanceRoot() =0;
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getAnimatedInstanceRoot() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGUseElement() {}
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGImageElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGImageElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGImageElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGSwitchElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGSwitchElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGSwitchElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## GetSVGDocument
+#########################################################################*/
+
+/**
+ *
+ */
+class GetSVGDocument
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGDocumentPtr getSVGDocument ( )
+ throw( DOMException ) =0;
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~GetSVGDocument() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGStyleElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGStyleElement : virtual public SVGElement
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getXmlspace() = 0;
+
+ /**
+ *
+ */
+ virtual void setXmlspace(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual DOMString getType() = 0;
+
+ /**
+ *
+ */
+ virtual void setType(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual DOMString getMedia() = 0;
+
+ /**
+ *
+ */
+ virtual void setMedia(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual DOMString getTitle() = 0;
+
+ /**
+ *
+ */
+ virtual void setTitle(const DOMString &val)
+ throw (DOMException) =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGStyleElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget,
+ public SVGAnimatedPathData
+{
+public:
+
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getPathLength() =0;
+
+ /**
+ *
+ */
+ virtual double getTotalLength ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPoint getPointAtLength (double distance ) =0;
+
+ /**
+ *
+ */
+ virtual unsigned long getPathSegAtLength (double distance ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegClosePath
+ createSVGPathSegClosePath ( ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegMovetoAbs
+ createSVGPathSegMovetoAbs (double x, double y ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegMovetoRel
+ createSVGPathSegMovetoRel (double x, double y ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoAbs
+ createSVGPathSegLinetoAbs (double x, double y ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoRel
+ createSVGPathSegLinetoRel (double x, double y ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoCubicAbs
+ createSVGPathSegCurvetoCubicAbs (double x, double y,
+ double x1, double y1, double x2, double y2 ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoCubicRel
+ createSVGPathSegCurvetoCubicRel (double x, double y,
+ double x1, double y1, double x2, double y2 ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoQuadraticAbs
+ createSVGPathSegCurvetoQuadraticAbs (double x, double y,
+ double x1, double y1 ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoQuadraticRel
+ createSVGPathSegCurvetoQuadraticRel (double x, double y,
+ double x1, double y1 ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegArcAbs
+ createSVGPathSegArcAbs (double x, double y,
+ double r1, double r2, double angle,
+ bool largeArcFlag, bool sweepFlag ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegArcRel
+ createSVGPathSegArcRel (double x, double y, double r1,
+ double r2, double angle, bool largeArcFlag,
+ bool sweepFlag ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoHorizontalAbs
+ createSVGPathSegLinetoHorizontalAbs (double x ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoHorizontalRel
+ createSVGPathSegLinetoHorizontalRel (double x ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoVerticalAbs
+ createSVGPathSegLinetoVerticalAbs (double y ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoVerticalRel
+ createSVGPathSegLinetoVerticalRel (double y ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoCubicSmoothAbs
+ createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
+ double x2, double y2 ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoCubicSmoothRel
+ createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
+ double x2, double y2 ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoQuadraticSmoothAbs
+ createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoQuadraticSmoothRel
+ createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y ) =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGPathElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGRectElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGRectElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRx() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRy() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGRectElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGCircleElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGCircleElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCx() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCy() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getR() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGCircleElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGEllipseElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGEllipseElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCx() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCy() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRx() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRy() =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGEllipseElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGLineElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGLineElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX2() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY2() =0;
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGLineElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGPolylineElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPolylineElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget,
+ public SVGAnimatedPoints
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGPolylineElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGPolygonElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPolygonElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget,
+ public SVGAnimatedPoints
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGPolygonElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGTextContentElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTextContentElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public events::EventTarget
+{
+public:
+
+
+
+ /**
+ * lengthAdjust Types
+ */
+ typedef enum
+ {
+ LENGTHADJUST_UNKNOWN = 0,
+ LENGTHADJUST_SPACING = 1,
+ LENGTHADJUST_SPACINGANDGLYPHS = 2
+ } LengthAdjustType;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getTextLength() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getLengthAdjust() =0;
+
+
+ /**
+ *
+ */
+ virtual long getNumberOfChars ( ) =0;
+
+ /**
+ *
+ */
+ virtual double getComputedTextLength ( ) =0;
+
+ /**
+ *
+ */
+ virtual double getSubStringLength (unsigned long charnum, unsigned long nchars )
+ throw( DOMException ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPoint getStartPositionOfChar (unsigned long charnum )
+ throw( DOMException ) =0;
+
+ /**
+ *
+ */
+ virtual SVGPoint getEndPositionOfChar (unsigned long charnum )
+ throw( DOMException ) =0;
+
+ /**
+ *
+ */
+ virtual SVGRect getExtentOfChar (unsigned long charnum )
+ throw( DOMException ) =0;
+
+ /**
+ *
+ */
+ virtual double getRotationOfChar (unsigned long charnum )
+ throw( DOMException ) =0;
+
+ /**
+ *
+ */
+ virtual long getCharNumAtPosition (const SVGPoint &point ) =0;
+
+ /**
+ *
+ */
+ virtual void selectSubString (unsigned long charnum, unsigned long nchars )
+ throw( DOMException ) =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTextContentElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGTextPositioningElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTextPositioningElement : virtual public SVGTextContentElement
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getDx() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getDy() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumberList getRotate() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTextPositioningElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGTextElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTextElement : virtual public SVGTextPositioningElement,
+ public SVGTransformable
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTextElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGTSpanElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTSpanElement : virtual public SVGTextPositioningElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTSpanElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGTRefElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTRefElement :
+ virtual public SVGTextPositioningElement,
+ public SVGURIReference
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTRefElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGTextPathElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTextPathElement :
+ virtual public SVGTextContentElement,
+ public SVGURIReference
+{
+public:
+
+
+
+ /**
+ * textPath Method Types
+ */
+ typedef enum
+ {
+ TEXTPATH_METHODTYPE_UNKNOWN = 0,
+ TEXTPATH_METHODTYPE_ALIGN = 1,
+ TEXTPATH_METHODTYPE_STRETCH = 2
+ } TextPathMethodType;
+
+ /**
+ * textPath Spacing Types
+ */
+ typedef enum
+ {
+ TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
+ TEXTPATH_SPACINGTYPE_AUTO = 1,
+ TEXTPATH_SPACINGTYPE_EXACT = 2
+ } TextPathSpacingType;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getStartOffset() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMethod() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getSpacing() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTextPathElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAltGlyphElement :
+ virtual public SVGTextPositioningElement,
+ public SVGURIReference
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getGlyphRef() =0;
+
+ /**
+ *
+ */
+ virtual void setGlyphRef(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual DOMString getFormat() =0;
+
+ /**
+ *
+ */
+ virtual void setFormat(const DOMString &val)
+ throw (DOMException) =0;
+
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAltGlyphElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphDefElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAltGlyphDefElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAltGlyphDefElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphItemElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAltGlyphItemElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAltGlyphItemElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGGlyphRefElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGGlyphRefElement : virtual public SVGElement,
+ public SVGURIReference,
+ public SVGStylable
+{
+public:
+ /**
+ *
+ */
+ virtual DOMString getGlyphRef() =0;
+
+ /**
+ *
+ */
+ virtual void setGlyphRef(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual DOMString getFormat() =0;
+
+ /**
+ *
+ */
+ virtual void setFormat(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual double getX() = 0;
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual double getY() = 0;
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual double getDx() = 0;
+
+ /**
+ *
+ */
+ virtual void setDx(double val) throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual double getDy() = 0;
+
+ /**
+ *
+ */
+ virtual void setDy(double val) throw (DOMException) =0;
+
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGGlyphRefElement() {}
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGMarkerElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMarkerElement :
+ virtual public SVGElement,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGFitToViewBox
+{
+public:
+
+
+
+ /**
+ * Marker Unit Types
+ */
+ typedef enum
+ {
+ SVG_MARKERUNITS_UNKNOWN = 0,
+ SVG_MARKERUNITS_USERSPACEONUSE = 1,
+ SVG_MARKERUNITS_STROKEWIDTH = 2
+ } MarkerUnitType;
+
+ /**
+ * Marker Orientation Types
+ */
+ typedef enum
+ {
+ SVG_MARKER_ORIENT_UNKNOWN = 0,
+ SVG_MARKER_ORIENT_AUTO = 1,
+ SVG_MARKER_ORIENT_ANGLE = 2
+ } MarkerOrientationType;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRefX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRefY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMarkerUnits() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getMarkerWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getMarkerHeight() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getOrientType() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedAngle getOrientAngle() =0;
+
+
+ /**
+ *
+ */
+ virtual void setOrientToAuto ( ) =0;
+
+ /**
+ *
+ */
+ virtual void setOrientToAngle (const SVGAngle &angle) =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMarkerElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGColorProfileElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGColorProfileElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGRenderingIntent
+{
+public:
+ /**
+ *
+ */
+ virtual DOMString getLocal() =0;
+
+ /**
+ *
+ */
+ virtual void setLocal(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual DOMString getName() =0;
+
+ /**
+ *
+ */
+ virtual void setName(const DOMString &val)
+ throw (DOMException) =0;
+
+ /**
+ *
+ */
+ virtual unsigned short getRenderingIntent() =0;
+
+ /**
+ *
+ */
+ virtual void setRenderingIntent(unsigned short val)
+ throw (DOMException) =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGColorProfileElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGGradientElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGGradientElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGUnitTypes
+{
+public:
+
+
+
+ /**
+ * Spread Method Types
+ */
+ typedef enum
+ {
+ SVG_SPREADMETHOD_UNKNOWN = 0,
+ SVG_SPREADMETHOD_PAD = 1,
+ SVG_SPREADMETHOD_REFLECT = 2,
+ SVG_SPREADMETHOD_REPEAT = 3
+ } SpreadMethodType;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getGradientUnits() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedTransformList getGradientTransform() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getSpreadMethod() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGGradientElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGLinearGradientElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGLinearGradientElement : virtual public SVGGradientElement
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX2() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY2() =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGLinearGradientElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGRadialGradientElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGRadialGradientElement : virtual public SVGGradientElement
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCx() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCy() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getR() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getFx() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getFy() =0;
+
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGRadialGradientElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGStopElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGStopElement :
+ virtual public SVGElement,
+ public SVGStylable
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getOffset() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGStopElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPatternElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPatternElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGFitToViewBox,
+ public SVGUnitTypes
+{
+public:
+
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getPatternUnits() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getPatternContentUnits() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedTransformList getPatternTransform() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGPatternElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGClipPathElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGClipPathElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public SVGUnitTypes
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getClipPathUnits() =0;
+
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGClipPathElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGMaskElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMaskElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGUnitTypes
+{
+public:
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMaskUnits() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMaskContentUnits() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight() =0;
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMaskElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFilterElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFilterElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGUnitTypes
+{
+public:
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getFilterUnits() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getPrimitiveUnits() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getFilterResX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getFilterResY() =0;
+
+ /**
+ *
+ */
+ virtual void setFilterRes (unsigned long filterResX,
+ unsigned long filterResY ) =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFilterElement() {}
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFEBlendElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEBlendElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+ /**
+ * Blend Mode Types
+ */
+ typedef enum
+ {
+ SVG_FEBLEND_MODE_UNKNOWN = 0,
+ SVG_FEBLEND_MODE_NORMAL = 1,
+ SVG_FEBLEND_MODE_MULTIPLY = 2,
+ SVG_FEBLEND_MODE_SCREEN = 3,
+ SVG_FEBLEND_MODE_DARKEN = 4,
+ SVG_FEBLEND_MODE_LIGHTEN = 5
+ } BlendModeType;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn2() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMode() =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEBlendElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEColorMatrixElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEColorMatrixElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+
+ /**
+ * Color Matrix Types
+ */
+ typedef enum
+ {
+ SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,
+ SVG_FECOLORMATRIX_TYPE_MATRIX = 1,
+ SVG_FECOLORMATRIX_TYPE_SATURATE = 2,
+ SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,
+ SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4
+ } ColorMatrixType;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getType() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumberList getValues() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEColorMatrixElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEComponentTransferElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEComponentTransferElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEComponentTransferElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGComponentTransferFunctionElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGComponentTransferFunctionElement : virtual public SVGElement
+{
+public:
+
+
+ /**
+ * Component Transfer Types
+ */
+ typedef enum
+ {
+ SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,
+ SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
+ SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,
+ SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
+ SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,
+ SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5
+ } ComponentTransferType;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getType() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumberList getTableValues() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSlope() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getIntercept() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getAmplitude() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getExponent() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getOffset() =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGComponentTransferFunctionElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncRElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFuncRElement : virtual public SVGComponentTransferFunctionElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFuncRElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFEFuncGElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFuncGElement : public virtual SVGComponentTransferFunctionElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFuncGElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFEFuncBElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFuncBElement : virtual public SVGComponentTransferFunctionElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFuncBElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFEFuncAElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFuncAElement : virtual public SVGComponentTransferFunctionElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFuncAElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFECompositeElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFECompositeElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+
+ /**
+ * Composite Operators
+ */
+ typedef enum
+ {
+ SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0,
+ SVG_FECOMPOSITE_OPERATOR_OVER = 1,
+ SVG_FECOMPOSITE_OPERATOR_IN = 2,
+ SVG_FECOMPOSITE_OPERATOR_OUT = 3,
+ SVG_FECOMPOSITE_OPERATOR_ATOP = 4,
+ SVG_FECOMPOSITE_OPERATOR_XOR = 5,
+ SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6
+ } CompositeOperatorType;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn2() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getOperator() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getK1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getK2() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getK3() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getK4() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFECompositeElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEConvolveMatrixElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEConvolveMatrixElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+
+ /**
+ * Edge Mode Values
+ */
+ typedef enum
+ {
+ SVG_EDGEMODE_UNKNOWN = 0,
+ SVG_EDGEMODE_DUPLICATE = 1,
+ SVG_EDGEMODE_WRAP = 2,
+ SVG_EDGEMODE_NONE = 3
+ } EdgeModeType;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getOrderX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getOrderY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumberList getKernelMatrix() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getDivisor() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getBias() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getTargetX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getTargetY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getEdgeMode() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getKernelUnitLengthX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getKernelUnitLengthY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedBoolean getPreserveAlpha() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEConvolveMatrixElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEDiffuseLightingElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEDiffuseLightingElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSurfaceScale() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getDiffuseConstant() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEDiffuseLightingElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEDistantLightElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEDistantLightElement : virtual public SVGElement
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getAzimuth() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getElevation() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEDistantLightElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEPointLightElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEPointLightElement : virtual public SVGElement
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getX() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getZ() =0;
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEPointLightElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFESpotLightElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFESpotLightElement : virtual public SVGElement
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getX() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getZ() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getPointsAtX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getPointsAtY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getPointsAtZ() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSpecularExponent() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getLimitingConeAngle() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFESpotLightElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEDisplacementMapElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEDisplacementMapElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+
+ /**
+ * Channel Selectors
+ */
+ typedef enum
+ {
+ SVG_CHANNEL_UNKNOWN = 0,
+ SVG_CHANNEL_R = 1,
+ SVG_CHANNEL_G = 2,
+ SVG_CHANNEL_B = 3,
+ SVG_CHANNEL_A = 4
+ } ChannelSelector;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn2() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getScale() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getXChannelSelector() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getYChannelSelector() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEDisplacementMapElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFloodElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFloodElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFloodElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEGaussianBlurElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEGaussianBlurElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getStdDeviationX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getStdDeviationY() =0;
+
+
+ /**
+ *
+ */
+ virtual void setStdDeviation (double stdDeviationX, double stdDeviationY ) =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEGaussianBlurElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEImageElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEImageElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEImageElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFEMergeElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEMergeElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEMergeElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFEMergeNodeElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEMergeNodeElement : virtual public SVGElement
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEMergeNodeElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEMorphologyElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEMorphologyElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+
+ /**
+ * Morphology Operators
+ */
+ typedef enum
+ {
+ SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,
+ SVG_MORPHOLOGY_OPERATOR_ERODE = 1,
+ SVG_MORPHOLOGY_OPERATOR_DILATE = 2
+ } MorphologyOperatorType;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getOperator() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRadiusX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRadiusY() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEMorphologyElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEOffsetElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEOffsetElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getDx() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getDy() =0;
+
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEOffsetElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFESpecularLightingElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFESpecularLightingElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSurfaceScale() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSpecularConstant() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSpecularExponent() =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFESpecularLightingElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFETileElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFETileElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFETileElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFETurbulenceElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFETurbulenceElement :
+ virtual public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+
+
+
+ /**
+ * Turbulence Types
+ */
+ typedef enum
+ {
+ SVG_TURBULENCE_TYPE_UNKNOWN = 0,
+ SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,
+ SVG_TURBULENCE_TYPE_TURBULENCE = 2
+ } TurbulenceType;
+
+ /**
+ * Stitch Options
+ */
+ typedef enum
+ {
+ SVG_STITCHTYPE_UNKNOWN = 0,
+ SVG_STITCHTYPE_STITCH = 1,
+ SVG_STITCHTYPE_NOSTITCH = 2
+ } StitchOption;
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getBaseFrequencyX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getBaseFrequencyY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getNumOctaves() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSeed() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getStitchTiles() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getType() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFETurbulenceElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGCursorElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGCursorElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGTests,
+ public SVGExternalResourcesRequired
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGCursorElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAElement : virtual public SVGElement,
+ public SVGURIReference,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getTarget() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGViewElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGViewElement : virtual public SVGElement,
+ public SVGExternalResourcesRequired,
+ public SVGFitToViewBox,
+ public SVGZoomAndPan
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGStringList getViewTarget() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGViewElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGScriptElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGScriptElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGExternalResourcesRequired
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getType() =0;
+
+ /**
+ *
+ */
+ virtual void setType(const DOMString &val)
+ throw (DOMException) =0;
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGScriptElement() {}
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAnimationElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimationElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGExternalResourcesRequired,
+ public smil::ElementTimeControl,
+ public events::EventTarget
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGElementPtr getTargetElement() =0;
+
+
+ /**
+ *
+ */
+ virtual double getStartTime ( ) =0;
+
+ /**
+ *
+ */
+ virtual double getCurrentTime ( ) =0;
+
+ /**
+ *
+ */
+ virtual double getSimpleDuration ( )
+ throw( DOMException ) =0;
+;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimationElement() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimateElement : virtual public SVGAnimationElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimateElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGSetElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGSetElement : virtual public SVGAnimationElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGSetElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGAnimateMotionElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimateMotionElement : virtual public SVGAnimationElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimateMotionElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGMPathElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMPathElement :
+ virtual public SVGElement,
+ public SVGURIReference,
+ public SVGExternalResourcesRequired
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMPathElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGAnimateColorElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimateColorElement : virtual public SVGAnimationElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimateColorElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGAnimateTransformElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimateTransformElement : virtual public SVGAnimationElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimateTransformElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFontElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontElement : virtual public SVGElement,
+ public SVGExternalResourcesRequired,
+ public SVGStylable
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGGlyphElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGGlyphElement : virtual public SVGElement,
+ public SVGStylable
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGGlyphElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGMissingGlyphElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMissingGlyphElement :
+ virtual public SVGElement,
+ public SVGStylable
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMissingGlyphElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGHKernElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGHKernElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGHKernElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGVKernElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGVKernElement : public virtual SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGVKernElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFontFaceElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFontFaceSrcElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceSrcElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceSrcElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFontFaceUriElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceUriElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceUriElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFontFaceFormatElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceFormatElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceFormatElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFontFaceNameElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceNameElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceNameElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGDefinitionSrcElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGDefinitionSrcElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGDefinitionSrcElement() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGMetadataElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMetadataElement : virtual public SVGElement
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMetadataElement() {}
+
+};
+
+
+
+/*#########################################################################
+## SVGForeignObjectElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGForeignObjectElement :
+ virtual public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public events::EventTarget
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth() =0;
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight() =0;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ virtual ~SVGForeignObjectElement() {}
+
+};
+
+
+
+
+
+} //namespace svg
+} //namespace dom
+} //namespace w3c
+} //namespace org
+
+#endif // __SVG_H__
+/*#########################################################################
+## E N D O F F I L E
+#########################################################################*/
+
diff --git a/src/dom/svg/svg.h b/src/dom/svg/svg.h
--- a/src/dom/svg/svg.h
+++ /dev/null
@@ -1,4481 +0,0 @@
-#ifndef __SVG_H__
-#define __SVG_H__
-
-/**
- * Phoebe DOM Implementation.
- *
- * This is a C++ approximation of the W3C DOM model, which follows
- * fairly closely the specifications in the various .idl files, copies of
- * which are provided for reference. Most important is this one:
- *
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
- *
- * Authors:
- * Bob Jamison
- *
- * Copyright (C) 2005 Bob Jamison
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-// For access to DOM2 core
-#include "dom/dom.h"
-
-// For access to DOM2 events
-#include "dom/events.h"
-
-// For access to those parts from DOM2 CSS OM used by SVG DOM.
-#include "dom/css.h"
-
-// For access to those parts from DOM2 Views OM used by SVG DOM.
-#include "dom/views.h"
-
-// For access to the SMIL OM used by SVG DOM.
-#include "dom/smil.h"
-
-
-
-#include "svgtypes.h"
-
-#include <math.h>
-
-
-
-namespace org
-{
-namespace w3c
-{
-namespace dom
-{
-namespace svg
-{
-
-
-//local definitions
-typedef dom::DOMString DOMString;
-typedef dom::DOMException DOMException;
-typedef dom::Element Element;
-typedef dom::ElementPtr ElementPtr;
-typedef dom::Document Document;
-typedef dom::DocumentPtr DocumentPtr;
-typedef dom::NodeList NodeList;
-
-
-
-
-class SVGElement;
-typedef Ptr<SVGElement> SVGElementPtr;
-class SVGSVGElement;
-typedef Ptr<SVGSVGElement> SVGSVGElementPtr;
-class SVGDocument;
-typedef Ptr<SVGDocument> SVGDocumentPtr;
-
-
-/*#########################################################################
-## SVGElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGElement : virtual public Element
-{
-public:
-
- /**
- *
- */
- virtual DOMString getId() =0;
-
- /**
- *
- */
- virtual void setId(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual DOMString getXmlBase() = 0;
-
- /**
- *
- */
- virtual void setXmlBase(const DOMString &val)
- throw (DOMException) = 0;
-
- /**
- *
- */
- virtual SVGSVGElementPtr getOwnerSVGElement() = 0;
-
- /**
- *
- */
- virtual SVGElementPtr getViewportElement() = 0;
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- virtual ~SVGElement() {}
-
-
-};
-
-
-
-/*#########################################################################
-## SVGDocument
-#########################################################################*/
-
-/**
- *
- */
-class SVGDocument : virtual public Document,
- virtual public events::DocumentEvent
-{
-public:
-
-
- /**
- *
- */
- virtual DOMString getTitle() =0;
-
- /**
- *
- */
- virtual DOMString getReferrer() =0;
-
- /**
- *
- */
- virtual DOMString getDomain() =0;
-
- /**
- *
- */
- virtual DOMString getURL() =0;
-
- /**
- *
- */
- virtual SVGSVGElementPtr getRootElement() =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGDocument() {}
-
-};
-
-
-
-/*#########################################################################
-## SVGSVGElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGSVGElement : virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGLocatable,
- public SVGFitToViewBox,
- public SVGZoomAndPan,
- public events::EventTarget,
- public events::DocumentEvent,
- public css::ViewCSS,
- public css::DocumentCSS
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight() =0;
-
- /**
- *
- */
- virtual DOMString getContentScriptType() =0;
-
- /**
- *
- */
- virtual void setContentScriptType(const DOMString &val)
- throw (DOMException) =0;
-
-
- /**
- *
- */
- virtual DOMString getContentStyleType() =0;
-
- /**
- *
- */
- virtual void setContentStyleType(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual SVGRect getViewport() =0;
-
- /**
- *
- */
- virtual double getPixelUnitToMillimeterX() =0;
-
- /**
- *
- */
- virtual double getPixelUnitToMillimeterY() =0;
-
- /**
- *
- */
- virtual double getScreenPixelToMillimeterX() =0;
-
- /**
- *
- */
- virtual double getScreenPixelToMillimeterY() =0;
-
-
- /**
- *
- */
- virtual bool getUseCurrentView() =0;
-
- /**
- *
- */
- virtual void setUseCurrentView(bool val) throw (DOMException) =0;
-
- /**
- *
- */
- virtual SVGViewSpec getCurrentView() =0;
-
-
- /**
- *
- */
- virtual double getCurrentScale() =0;
-
- /**
- *
- */
- virtual void setCurrentScale(double val)
- throw (DOMException) =0;
-
-
- /**
- *
- */
- virtual SVGPoint getCurrentTranslate() =0;
-
-
- /**
- *
- */
- virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds ) =0;
-
- /**
- *
- */
- virtual void unsuspendRedraw (unsigned long suspend_handle_id )
- throw( DOMException ) =0;
-
- /**
- *
- */
- virtual void unsuspendRedrawAll ( ) =0;
-
- /**
- *
- */
- virtual void forceRedraw ( ) =0;
-
- /**
- *
- */
- virtual void pauseAnimations ( ) =0;
-
- /**
- *
- */
- virtual void unpauseAnimations ( ) =0;
-
- /**
- *
- */
- virtual bool animationsPaused ( ) =0;
-
- /**
- *
- */
- virtual double getCurrentTime ( ) =0;
-
- /**
- *
- */
- virtual void setCurrentTime (double seconds ) =0;
-
- /**
- *
- */
- virtual NodeList getIntersectionList(const SVGRect &rect,
- const SVGElementPtr referenceElement ) =0;
-
- /**
- *
- */
- virtual NodeList getEnclosureList (const SVGRect &rect,
- const SVGElementPtr referenceElement ) =0;
-
- /**
- *
- */
- virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect ) =0;
-
- /**
- *
- */
- virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect ) =0;
-
- /**
- *
- */
- virtual void deselectAll ( ) =0;
-
- /**
- *
- */
- virtual SVGNumber createSVGNumber ( ) =0;
-
- /**
- *
- */
- virtual SVGLength createSVGLength ( ) =0;
-
- /**
- *
- */
- virtual SVGAngle createSVGAngle ( ) =0;
-
- /**
- *
- */
- virtual SVGPoint createSVGPoint ( ) =0;
-
- /**
- *
- */
- virtual SVGMatrix createSVGMatrix ( ) =0;
-
- /**
- *
- */
- virtual SVGRect createSVGRect ( ) =0;
-
- /**
- *
- */
- virtual SVGTransform createSVGTransform ( ) =0;
-
- /**
- *
- */
- virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix ) =0;
-
- /**
- *
- */
- virtual ElementPtr getElementById (const DOMString& elementId ) =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGSVGElement() {}
-
-};
-
-
-
-/*#########################################################################
-## SVGGElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGGElement : virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGGElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGDefsElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGDefsElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGDefsElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGDescElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGDescElement :
- virtual public SVGElement,
- public SVGLangSpace,
- public SVGStylable
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGDescElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGTitleElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTitleElement :
- virtual public SVGElement,
- public SVGLangSpace,
- public SVGStylable
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTitleElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGSymbolElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGSymbolElement :
- virtual public SVGElement,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGFitToViewBox,
- public events::EventTarget
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGSymbolElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGUseElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGUseElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
-
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight() =0;
-
- /**
- *
- */
- virtual SVGElementInstance getInstanceRoot() =0;
-
- /**
- *
- */
- virtual SVGElementInstance getAnimatedInstanceRoot() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGUseElement() {}
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGImageElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGImageElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGImageElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGSwitchElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGSwitchElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGSwitchElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## GetSVGDocument
-#########################################################################*/
-
-/**
- *
- */
-class GetSVGDocument
-{
-public:
-
- /**
- *
- */
- virtual SVGDocumentPtr getSVGDocument ( )
- throw( DOMException ) =0;
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~GetSVGDocument() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGStyleElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGStyleElement : virtual public SVGElement
-{
-public:
-
- /**
- *
- */
- virtual DOMString getXmlspace() = 0;
-
- /**
- *
- */
- virtual void setXmlspace(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual DOMString getType() = 0;
-
- /**
- *
- */
- virtual void setType(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual DOMString getMedia() = 0;
-
- /**
- *
- */
- virtual void setMedia(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual DOMString getTitle() = 0;
-
- /**
- *
- */
- virtual void setTitle(const DOMString &val)
- throw (DOMException) =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGStyleElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget,
- public SVGAnimatedPathData
-{
-public:
-
-
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getPathLength() =0;
-
- /**
- *
- */
- virtual double getTotalLength ( ) =0;
-
- /**
- *
- */
- virtual SVGPoint getPointAtLength (double distance ) =0;
-
- /**
- *
- */
- virtual unsigned long getPathSegAtLength (double distance ) =0;
-
- /**
- *
- */
- virtual SVGPathSegClosePath
- createSVGPathSegClosePath ( ) =0;
-
- /**
- *
- */
- virtual SVGPathSegMovetoAbs
- createSVGPathSegMovetoAbs (double x, double y ) =0;
-
- /**
- *
- */
- virtual SVGPathSegMovetoRel
- createSVGPathSegMovetoRel (double x, double y ) =0;
-
- /**
- *
- */
- virtual SVGPathSegLinetoAbs
- createSVGPathSegLinetoAbs (double x, double y ) =0;
-
- /**
- *
- */
- virtual SVGPathSegLinetoRel
- createSVGPathSegLinetoRel (double x, double y ) =0;
-
- /**
- *
- */
- virtual SVGPathSegCurvetoCubicAbs
- createSVGPathSegCurvetoCubicAbs (double x, double y,
- double x1, double y1, double x2, double y2 ) =0;
-
- /**
- *
- */
- virtual SVGPathSegCurvetoCubicRel
- createSVGPathSegCurvetoCubicRel (double x, double y,
- double x1, double y1, double x2, double y2 ) =0;
-
- /**
- *
- */
- virtual SVGPathSegCurvetoQuadraticAbs
- createSVGPathSegCurvetoQuadraticAbs (double x, double y,
- double x1, double y1 ) =0;
-
- /**
- *
- */
- virtual SVGPathSegCurvetoQuadraticRel
- createSVGPathSegCurvetoQuadraticRel (double x, double y,
- double x1, double y1 ) =0;
-
- /**
- *
- */
- virtual SVGPathSegArcAbs
- createSVGPathSegArcAbs (double x, double y,
- double r1, double r2, double angle,
- bool largeArcFlag, bool sweepFlag ) =0;
-
- /**
- *
- */
- virtual SVGPathSegArcRel
- createSVGPathSegArcRel (double x, double y, double r1,
- double r2, double angle, bool largeArcFlag,
- bool sweepFlag ) =0;
-
- /**
- *
- */
- virtual SVGPathSegLinetoHorizontalAbs
- createSVGPathSegLinetoHorizontalAbs (double x ) =0;
-
- /**
- *
- */
- virtual SVGPathSegLinetoHorizontalRel
- createSVGPathSegLinetoHorizontalRel (double x ) =0;
-
- /**
- *
- */
- virtual SVGPathSegLinetoVerticalAbs
- createSVGPathSegLinetoVerticalAbs (double y ) =0;
-
- /**
- *
- */
- virtual SVGPathSegLinetoVerticalRel
- createSVGPathSegLinetoVerticalRel (double y ) =0;
-
- /**
- *
- */
- virtual SVGPathSegCurvetoCubicSmoothAbs
- createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
- double x2, double y2 ) =0;
-
- /**
- *
- */
- virtual SVGPathSegCurvetoCubicSmoothRel
- createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
- double x2, double y2 ) =0;
-
- /**
- *
- */
- virtual SVGPathSegCurvetoQuadraticSmoothAbs
- createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y ) =0;
-
- /**
- *
- */
- virtual SVGPathSegCurvetoQuadraticSmoothRel
- createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y ) =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGPathElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGRectElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGRectElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getRx() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getRy() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGRectElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGCircleElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGCircleElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getCx() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getCy() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getR() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGCircleElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGEllipseElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGEllipseElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedLength getCx() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getCy() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getRx() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getRy() =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGEllipseElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGLineElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGLineElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedLength getX1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getX2() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY2() =0;
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGLineElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGPolylineElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGPolylineElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget,
- public SVGAnimatedPoints
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGPolylineElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGPolygonElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGPolygonElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget,
- public SVGAnimatedPoints
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGPolygonElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGTextContentElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTextContentElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public events::EventTarget
-{
-public:
-
-
-
- /**
- * lengthAdjust Types
- */
- typedef enum
- {
- LENGTHADJUST_UNKNOWN = 0,
- LENGTHADJUST_SPACING = 1,
- LENGTHADJUST_SPACINGANDGLYPHS = 2
- } LengthAdjustType;
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getTextLength() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getLengthAdjust() =0;
-
-
- /**
- *
- */
- virtual long getNumberOfChars ( ) =0;
-
- /**
- *
- */
- virtual double getComputedTextLength ( ) =0;
-
- /**
- *
- */
- virtual double getSubStringLength (unsigned long charnum, unsigned long nchars )
- throw( DOMException ) =0;
-
- /**
- *
- */
- virtual SVGPoint getStartPositionOfChar (unsigned long charnum )
- throw( DOMException ) =0;
-
- /**
- *
- */
- virtual SVGPoint getEndPositionOfChar (unsigned long charnum )
- throw( DOMException ) =0;
-
- /**
- *
- */
- virtual SVGRect getExtentOfChar (unsigned long charnum )
- throw( DOMException ) =0;
-
- /**
- *
- */
- virtual double getRotationOfChar (unsigned long charnum )
- throw( DOMException ) =0;
-
- /**
- *
- */
- virtual long getCharNumAtPosition (const SVGPoint &point ) =0;
-
- /**
- *
- */
- virtual void selectSubString (unsigned long charnum, unsigned long nchars )
- throw( DOMException ) =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTextContentElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGTextPositioningElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTextPositioningElement : virtual public SVGTextContentElement
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getDx() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getDy() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedNumberList getRotate() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTextPositioningElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGTextElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTextElement : virtual public SVGTextPositioningElement,
- public SVGTransformable
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTextElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGTSpanElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTSpanElement : virtual public SVGTextPositioningElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTSpanElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGTRefElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTRefElement :
- virtual public SVGTextPositioningElement,
- public SVGURIReference
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTRefElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGTextPathElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTextPathElement :
- virtual public SVGTextContentElement,
- public SVGURIReference
-{
-public:
-
-
-
- /**
- * textPath Method Types
- */
- typedef enum
- {
- TEXTPATH_METHODTYPE_UNKNOWN = 0,
- TEXTPATH_METHODTYPE_ALIGN = 1,
- TEXTPATH_METHODTYPE_STRETCH = 2
- } TextPathMethodType;
-
- /**
- * textPath Spacing Types
- */
- typedef enum
- {
- TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
- TEXTPATH_SPACINGTYPE_AUTO = 1,
- TEXTPATH_SPACINGTYPE_EXACT = 2
- } TextPathSpacingType;
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getStartOffset() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMethod() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getSpacing() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTextPathElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAltGlyphElement :
- virtual public SVGTextPositioningElement,
- public SVGURIReference
-{
-public:
-
- /**
- *
- */
- virtual DOMString getGlyphRef() =0;
-
- /**
- *
- */
- virtual void setGlyphRef(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual DOMString getFormat() =0;
-
- /**
- *
- */
- virtual void setFormat(const DOMString &val)
- throw (DOMException) =0;
-
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAltGlyphElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphDefElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAltGlyphDefElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAltGlyphDefElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphItemElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAltGlyphItemElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAltGlyphItemElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGGlyphRefElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGGlyphRefElement : virtual public SVGElement,
- public SVGURIReference,
- public SVGStylable
-{
-public:
- /**
- *
- */
- virtual DOMString getGlyphRef() =0;
-
- /**
- *
- */
- virtual void setGlyphRef(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual DOMString getFormat() =0;
-
- /**
- *
- */
- virtual void setFormat(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual double getX() = 0;
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException) =0;
-
- /**
- *
- */
- virtual double getY() = 0;
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException) =0;
-
- /**
- *
- */
- virtual double getDx() = 0;
-
- /**
- *
- */
- virtual void setDx(double val) throw (DOMException) =0;
-
- /**
- *
- */
- virtual double getDy() = 0;
-
- /**
- *
- */
- virtual void setDy(double val) throw (DOMException) =0;
-
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGGlyphRefElement() {}
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGMarkerElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGMarkerElement :
- virtual public SVGElement,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGFitToViewBox
-{
-public:
-
-
-
- /**
- * Marker Unit Types
- */
- typedef enum
- {
- SVG_MARKERUNITS_UNKNOWN = 0,
- SVG_MARKERUNITS_USERSPACEONUSE = 1,
- SVG_MARKERUNITS_STROKEWIDTH = 2
- } MarkerUnitType;
-
- /**
- * Marker Orientation Types
- */
- typedef enum
- {
- SVG_MARKER_ORIENT_UNKNOWN = 0,
- SVG_MARKER_ORIENT_AUTO = 1,
- SVG_MARKER_ORIENT_ANGLE = 2
- } MarkerOrientationType;
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getRefX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getRefY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMarkerUnits() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getMarkerWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getMarkerHeight() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getOrientType() =0;
-
- /**
- *
- */
- virtual SVGAnimatedAngle getOrientAngle() =0;
-
-
- /**
- *
- */
- virtual void setOrientToAuto ( ) =0;
-
- /**
- *
- */
- virtual void setOrientToAngle (const SVGAngle &angle) =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMarkerElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGColorProfileElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGColorProfileElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGRenderingIntent
-{
-public:
- /**
- *
- */
- virtual DOMString getLocal() =0;
-
- /**
- *
- */
- virtual void setLocal(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual DOMString getName() =0;
-
- /**
- *
- */
- virtual void setName(const DOMString &val)
- throw (DOMException) =0;
-
- /**
- *
- */
- virtual unsigned short getRenderingIntent() =0;
-
- /**
- *
- */
- virtual void setRenderingIntent(unsigned short val)
- throw (DOMException) =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGColorProfileElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGGradientElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGGradientElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGUnitTypes
-{
-public:
-
-
-
- /**
- * Spread Method Types
- */
- typedef enum
- {
- SVG_SPREADMETHOD_UNKNOWN = 0,
- SVG_SPREADMETHOD_PAD = 1,
- SVG_SPREADMETHOD_REFLECT = 2,
- SVG_SPREADMETHOD_REPEAT = 3
- } SpreadMethodType;
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getGradientUnits() =0;
-
- /**
- *
- */
- virtual SVGAnimatedTransformList getGradientTransform() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getSpreadMethod() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGGradientElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGLinearGradientElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGLinearGradientElement : virtual public SVGGradientElement
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getX2() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY2() =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGLinearGradientElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGRadialGradientElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGRadialGradientElement : virtual public SVGGradientElement
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getCx() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getCy() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getR() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getFx() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getFy() =0;
-
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGRadialGradientElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGStopElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGStopElement :
- virtual public SVGElement,
- public SVGStylable
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getOffset() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGStopElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPatternElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGPatternElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGFitToViewBox,
- public SVGUnitTypes
-{
-public:
-
-
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getPatternUnits() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getPatternContentUnits() =0;
-
- /**
- *
- */
- virtual SVGAnimatedTransformList getPatternTransform() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGPatternElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGClipPathElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGClipPathElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public SVGUnitTypes
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedEnumeration getClipPathUnits() =0;
-
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGClipPathElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGMaskElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGMaskElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGUnitTypes
-{
-public:
-
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMaskUnits() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMaskContentUnits() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight() =0;
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMaskElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFilterElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFilterElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGUnitTypes
-{
-public:
-
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getFilterUnits() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getPrimitiveUnits() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedInteger getFilterResX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedInteger getFilterResY() =0;
-
- /**
- *
- */
- virtual void setFilterRes (unsigned long filterResX,
- unsigned long filterResY ) =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFilterElement() {}
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFEBlendElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEBlendElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
- /**
- * Blend Mode Types
- */
- typedef enum
- {
- SVG_FEBLEND_MODE_UNKNOWN = 0,
- SVG_FEBLEND_MODE_NORMAL = 1,
- SVG_FEBLEND_MODE_MULTIPLY = 2,
- SVG_FEBLEND_MODE_SCREEN = 3,
- SVG_FEBLEND_MODE_DARKEN = 4,
- SVG_FEBLEND_MODE_LIGHTEN = 5
- } BlendModeType;
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedString getIn2() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMode() =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEBlendElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEColorMatrixElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEColorMatrixElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
-
- /**
- * Color Matrix Types
- */
- typedef enum
- {
- SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,
- SVG_FECOLORMATRIX_TYPE_MATRIX = 1,
- SVG_FECOLORMATRIX_TYPE_SATURATE = 2,
- SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,
- SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4
- } ColorMatrixType;
-
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getType() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumberList getValues() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEColorMatrixElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEComponentTransferElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEComponentTransferElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEComponentTransferElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGComponentTransferFunctionElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGComponentTransferFunctionElement : virtual public SVGElement
-{
-public:
-
-
- /**
- * Component Transfer Types
- */
- typedef enum
- {
- SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,
- SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
- SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,
- SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
- SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,
- SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5
- } ComponentTransferType;
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getType() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumberList getTableValues() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSlope() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getIntercept() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getAmplitude() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getExponent() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getOffset() =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGComponentTransferFunctionElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncRElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFuncRElement : virtual public SVGComponentTransferFunctionElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFuncRElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFEFuncGElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFuncGElement : public virtual SVGComponentTransferFunctionElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFuncGElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFEFuncBElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFuncBElement : virtual public SVGComponentTransferFunctionElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFuncBElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFEFuncAElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFuncAElement : virtual public SVGComponentTransferFunctionElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFuncAElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFECompositeElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFECompositeElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
-
- /**
- * Composite Operators
- */
- typedef enum
- {
- SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0,
- SVG_FECOMPOSITE_OPERATOR_OVER = 1,
- SVG_FECOMPOSITE_OPERATOR_IN = 2,
- SVG_FECOMPOSITE_OPERATOR_OUT = 3,
- SVG_FECOMPOSITE_OPERATOR_ATOP = 4,
- SVG_FECOMPOSITE_OPERATOR_XOR = 5,
- SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6
- } CompositeOperatorType;
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedString getIn2() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getOperator() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getK1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getK2() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getK3() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getK4() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFECompositeElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEConvolveMatrixElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEConvolveMatrixElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
-
- /**
- * Edge Mode Values
- */
- typedef enum
- {
- SVG_EDGEMODE_UNKNOWN = 0,
- SVG_EDGEMODE_DUPLICATE = 1,
- SVG_EDGEMODE_WRAP = 2,
- SVG_EDGEMODE_NONE = 3
- } EdgeModeType;
-
-
- /**
- *
- */
- virtual SVGAnimatedInteger getOrderX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedInteger getOrderY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumberList getKernelMatrix() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getDivisor() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getBias() =0;
-
- /**
- *
- */
- virtual SVGAnimatedInteger getTargetX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedInteger getTargetY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getEdgeMode() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getKernelUnitLengthX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getKernelUnitLengthY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedBoolean getPreserveAlpha() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEConvolveMatrixElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEDiffuseLightingElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEDiffuseLightingElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSurfaceScale() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getDiffuseConstant() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEDiffuseLightingElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEDistantLightElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEDistantLightElement : virtual public SVGElement
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getAzimuth() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getElevation() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEDistantLightElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEPointLightElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEPointLightElement : virtual public SVGElement
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedNumber getX() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getZ() =0;
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEPointLightElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFESpotLightElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFESpotLightElement : virtual public SVGElement
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getX() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getZ() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getPointsAtX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getPointsAtY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getPointsAtZ() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSpecularExponent() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getLimitingConeAngle() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFESpotLightElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEDisplacementMapElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEDisplacementMapElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
-
- /**
- * Channel Selectors
- */
- typedef enum
- {
- SVG_CHANNEL_UNKNOWN = 0,
- SVG_CHANNEL_R = 1,
- SVG_CHANNEL_G = 2,
- SVG_CHANNEL_B = 3,
- SVG_CHANNEL_A = 4
- } ChannelSelector;
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedString getIn2() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getScale() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getXChannelSelector() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getYChannelSelector() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEDisplacementMapElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFloodElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFloodElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFloodElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEGaussianBlurElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEGaussianBlurElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getStdDeviationX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getStdDeviationY() =0;
-
-
- /**
- *
- */
- virtual void setStdDeviation (double stdDeviationX, double stdDeviationY ) =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEGaussianBlurElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEImageElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEImageElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEImageElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFEMergeElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEMergeElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEMergeElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFEMergeNodeElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEMergeNodeElement : virtual public SVGElement
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEMergeNodeElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEMorphologyElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEMorphologyElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
-
- /**
- * Morphology Operators
- */
- typedef enum
- {
- SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,
- SVG_MORPHOLOGY_OPERATOR_ERODE = 1,
- SVG_MORPHOLOGY_OPERATOR_DILATE = 2
- } MorphologyOperatorType;
-
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getOperator() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getRadiusX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getRadiusY() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEMorphologyElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEOffsetElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEOffsetElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getDx() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getDy() =0;
-
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEOffsetElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFESpecularLightingElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFESpecularLightingElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSurfaceScale() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSpecularConstant() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSpecularExponent() =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFESpecularLightingElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFETileElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFETileElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFETileElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFETurbulenceElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFETurbulenceElement :
- virtual public SVGElement,
- public SVGFilterPrimitiveStandardAttributes
-{
-public:
-
-
-
- /**
- * Turbulence Types
- */
- typedef enum
- {
- SVG_TURBULENCE_TYPE_UNKNOWN = 0,
- SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,
- SVG_TURBULENCE_TYPE_TURBULENCE = 2
- } TurbulenceType;
-
- /**
- * Stitch Options
- */
- typedef enum
- {
- SVG_STITCHTYPE_UNKNOWN = 0,
- SVG_STITCHTYPE_STITCH = 1,
- SVG_STITCHTYPE_NOSTITCH = 2
- } StitchOption;
-
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getBaseFrequencyX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getBaseFrequencyY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedInteger getNumOctaves() =0;
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSeed() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getStitchTiles() =0;
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getType() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFETurbulenceElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGCursorElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGCursorElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGTests,
- public SVGExternalResourcesRequired
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGCursorElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAElement : virtual public SVGElement,
- public SVGURIReference,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getTarget() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGViewElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGViewElement : virtual public SVGElement,
- public SVGExternalResourcesRequired,
- public SVGFitToViewBox,
- public SVGZoomAndPan
-{
-public:
-
- /**
- *
- */
- virtual SVGStringList getViewTarget() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGViewElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGScriptElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGScriptElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGExternalResourcesRequired
-{
-public:
-
- /**
- *
- */
- virtual DOMString getType() =0;
-
- /**
- *
- */
- virtual void setType(const DOMString &val)
- throw (DOMException) =0;
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGScriptElement() {}
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAnimationElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimationElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGExternalResourcesRequired,
- public smil::ElementTimeControl,
- public events::EventTarget
-{
-public:
-
-
- /**
- *
- */
- virtual SVGElementPtr getTargetElement() =0;
-
-
- /**
- *
- */
- virtual double getStartTime ( ) =0;
-
- /**
- *
- */
- virtual double getCurrentTime ( ) =0;
-
- /**
- *
- */
- virtual double getSimpleDuration ( )
- throw( DOMException ) =0;
-;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimationElement() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimateElement : virtual public SVGAnimationElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimateElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGSetElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGSetElement : virtual public SVGAnimationElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGSetElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGAnimateMotionElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimateMotionElement : virtual public SVGAnimationElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimateMotionElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGMPathElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGMPathElement :
- virtual public SVGElement,
- public SVGURIReference,
- public SVGExternalResourcesRequired
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMPathElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGAnimateColorElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimateColorElement : virtual public SVGAnimationElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimateColorElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGAnimateTransformElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimateTransformElement : virtual public SVGAnimationElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimateTransformElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFontElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontElement : virtual public SVGElement,
- public SVGExternalResourcesRequired,
- public SVGStylable
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGGlyphElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGGlyphElement : virtual public SVGElement,
- public SVGStylable
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGGlyphElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGMissingGlyphElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGMissingGlyphElement :
- virtual public SVGElement,
- public SVGStylable
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMissingGlyphElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGHKernElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGHKernElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGHKernElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGVKernElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGVKernElement : public virtual SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGVKernElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFontFaceElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFontFaceSrcElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceSrcElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceSrcElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFontFaceUriElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceUriElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceUriElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFontFaceFormatElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceFormatElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceFormatElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFontFaceNameElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceNameElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceNameElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGDefinitionSrcElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGDefinitionSrcElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGDefinitionSrcElement() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGMetadataElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGMetadataElement : virtual public SVGElement
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMetadataElement() {}
-
-};
-
-
-
-/*#########################################################################
-## SVGForeignObjectElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGForeignObjectElement :
- virtual public SVGElement,
- public SVGTests,
- public SVGLangSpace,
- public SVGExternalResourcesRequired,
- public SVGStylable,
- public SVGTransformable,
- public events::EventTarget
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getY() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth() =0;
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight() =0;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- virtual ~SVGForeignObjectElement() {}
-
-};
-
-
-
-
-
-} //namespace svg
-} //namespace dom
-} //namespace w3c
-} //namespace org
-
-#endif // __SVG_H__
-/*#########################################################################
-## E N D O F F I L E
-#########################################################################*/
-
diff --git a/src/dom/svg/svg.idl b/src/dom/svg/svg.idl
--- a/src/dom/svg/svg.idl
+++ /dev/null
@@ -1,1751 +0,0 @@
-// File: svg.idl\r
-#ifndef _SVG_IDL_\r
-#define _SVG_IDL_\r
-\r
-\r
-// For access to DOM2 core\r
-#include "dom.idl"\r
-\r
-// For access to DOM2 events\r
-#include "events.idl"\r
-\r
-// For access to those parts from DOM2 CSS OM used by SVG DOM.\r
-#include "css.idl"\r
-\r
-// For access to those parts from DOM2 Views OM used by SVG DOM.\r
-#include "views.idl"\r
-\r
-// For access to the SMIL OM used by SVG DOM.\r
-#include "smil.idl"\r
-\r
-#pragma prefix "dom.w3c.org"\r
-#pragma javaPackage "org.w3c.dom"\r
-module svg\r
-{\r
- typedef dom::DOMString DOMString;\r
- typedef dom::DOMException DOMException;\r
- typedef dom::Element Element;\r
- typedef dom::Document Document;\r
- typedef dom::NodeList NodeList;\r
-\r
- // Predeclarations\r
- interface SVGElement;\r
- interface SVGLangSpace;\r
- interface SVGExternalResourcesRequired;\r
- interface SVGTests;\r
- interface SVGFitToViewBox;\r
- interface SVGZoomAndPan;\r
- interface SVGViewSpec;\r
- interface SVGURIReference;\r
- interface SVGPoint;\r
- interface SVGMatrix;\r
- interface SVGPreserveAspectRatio;\r
- interface SVGAnimatedPreserveAspectRatio;\r
- interface SVGTransformList;\r
- interface SVGAnimatedTransformList;\r
- interface SVGTransform;\r
- interface SVGICCColor;\r
- interface SVGColor;\r
- interface SVGPaint;\r
- interface SVGTransformable;\r
- interface SVGDocument;\r
- interface SVGSVGElement;\r
- interface SVGElementInstance;\r
- interface SVGElementInstanceList;\r
-\r
-\r
- exception SVGException {\r
- unsigned short code;\r
- };\r
-\r
- // SVGExceptionCode\r
- const unsigned short SVG_WRONG_TYPE_ERR = 0;\r
- const unsigned short SVG_INVALID_VALUE_ERR = 1;\r
- const unsigned short SVG_MATRIX_NOT_INVERTABLE = 2;\r
-\r
- interface SVGElement : Element { \r
- attribute DOMString id;\r
- // raises DOMException on setting\r
- attribute DOMString xmlbase;\r
- // raises DOMException on setting\r
- readonly attribute SVGSVGElement ownerSVGElement;\r
- readonly attribute SVGElement viewportElement;\r
- };\r
-\r
- interface SVGAnimatedBoolean { \r
-\r
- attribute boolean baseVal;\r
- // raises DOMException on setting\r
- readonly attribute boolean animVal;\r
- };\r
-\r
- interface SVGAnimatedString { \r
-\r
- attribute DOMString baseVal;\r
- // raises DOMException on setting\r
- readonly attribute DOMString animVal;\r
- };\r
-\r
- interface SVGStringList { \r
-\r
- readonly attribute unsigned long numberOfItems;\r
-\r
- void clear ( )\r
- raises( DOMException );\r
- DOMString initialize ( in DOMString newItem )\r
- raises( DOMException, SVGException );\r
- DOMString getItem ( in unsigned long index )\r
- raises( DOMException );\r
- DOMString insertItemBefore ( in DOMString newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- DOMString replaceItem ( in DOMString newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- DOMString removeItem ( in unsigned long index )\r
- raises( DOMException );\r
- DOMString appendItem ( in DOMString newItem )\r
- raises( DOMException, SVGException );\r
- };\r
-\r
- interface SVGAnimatedEnumeration { \r
-\r
- attribute unsigned short baseVal;\r
- // raises DOMException on setting\r
- readonly attribute unsigned short animVal;\r
- };\r
-\r
- interface SVGAnimatedInteger { \r
-\r
- attribute long baseVal;\r
- // raises DOMException on setting\r
- readonly attribute long animVal;\r
- };\r
-\r
- interface SVGNumber { \r
-\r
- attribute float value;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGAnimatedNumber { \r
-\r
- attribute float baseVal;\r
- // raises DOMException on setting\r
- readonly attribute float animVal;\r
- };\r
-\r
- interface SVGNumberList { \r
-\r
- readonly attribute unsigned long numberOfItems;\r
-\r
- void clear ( )\r
- raises( DOMException );\r
- SVGNumber initialize ( in SVGNumber newItem )\r
- raises( DOMException, SVGException );\r
- SVGNumber getItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGNumber insertItemBefore ( in SVGNumber newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGNumber replaceItem ( in SVGNumber newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGNumber removeItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGNumber appendItem ( in SVGNumber newItem )\r
- raises( DOMException, SVGException );\r
- };\r
-\r
- interface SVGAnimatedNumberList { \r
-\r
- readonly attribute SVGNumberList baseVal;\r
- readonly attribute SVGNumberList animVal;\r
- };\r
-\r
- interface SVGLength { \r
-\r
- // Length Unit Types\r
- const unsigned short SVG_LENGTHTYPE_UNKNOWN = 0;\r
- const unsigned short SVG_LENGTHTYPE_NUMBER = 1;\r
- const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2;\r
- const unsigned short SVG_LENGTHTYPE_EMS = 3;\r
- const unsigned short SVG_LENGTHTYPE_EXS = 4;\r
- const unsigned short SVG_LENGTHTYPE_PX = 5;\r
- const unsigned short SVG_LENGTHTYPE_CM = 6;\r
- const unsigned short SVG_LENGTHTYPE_MM = 7;\r
- const unsigned short SVG_LENGTHTYPE_IN = 8;\r
- const unsigned short SVG_LENGTHTYPE_PT = 9;\r
- const unsigned short SVG_LENGTHTYPE_PC = 10;\r
-\r
- readonly attribute unsigned short unitType;\r
- attribute float value;\r
- // raises DOMException on setting\r
- attribute float valueInSpecifiedUnits;\r
- // raises DOMException on setting\r
- attribute DOMString valueAsString;\r
- // raises DOMException on setting\r
-\r
- void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits );\r
- void convertToSpecifiedUnits ( in unsigned short unitType );\r
- };\r
-\r
- interface SVGAnimatedLength { \r
-\r
- readonly attribute SVGLength baseVal;\r
- readonly attribute SVGLength animVal;\r
- };\r
-\r
- interface SVGLengthList { \r
-\r
- readonly attribute unsigned long numberOfItems;\r
-\r
- void clear ( )\r
- raises( DOMException );\r
- SVGLength initialize ( in SVGLength newItem )\r
- raises( DOMException, SVGException );\r
- SVGLength getItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGLength insertItemBefore ( in SVGLength newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGLength replaceItem ( in SVGLength newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGLength removeItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGLength appendItem ( in SVGLength newItem )\r
- raises( DOMException, SVGException );\r
- };\r
-\r
- interface SVGAnimatedLengthList { \r
-\r
- readonly attribute SVGLengthList baseVal;\r
- readonly attribute SVGLengthList animVal;\r
- };\r
-\r
- interface SVGAngle { \r
-\r
- // Angle Unit Types\r
- const unsigned short SVG_ANGLETYPE_UNKNOWN = 0;\r
- const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1;\r
- const unsigned short SVG_ANGLETYPE_DEG = 2;\r
- const unsigned short SVG_ANGLETYPE_RAD = 3;\r
- const unsigned short SVG_ANGLETYPE_GRAD = 4;\r
-\r
- readonly attribute unsigned short unitType;\r
- attribute float value;\r
- // raises DOMException on setting\r
- attribute float valueInSpecifiedUnits;\r
- // raises DOMException on setting\r
- attribute DOMString valueAsString;\r
- // raises DOMException on setting\r
-\r
- void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits );\r
- void convertToSpecifiedUnits ( in unsigned short unitType );\r
- };\r
-\r
- interface SVGAnimatedAngle { \r
-\r
- readonly attribute SVGAngle baseVal;\r
- readonly attribute SVGAngle animVal;\r
- };\r
-\r
- interface SVGColor : css::CSSValue { \r
- // Color Types\r
- const unsigned short SVG_COLORTYPE_UNKNOWN = 0;\r
- const unsigned short SVG_COLORTYPE_RGBCOLOR = 1;\r
- const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2;\r
- const unsigned short SVG_COLORTYPE_CURRENTCOLOR = 3;\r
-\r
- readonly attribute unsigned short colorType;\r
- readonly attribute css::RGBColor rgbColor;\r
- readonly attribute SVGICCColor iccColor;\r
-\r
- void setRGBColor ( in DOMString rgbColor )\r
- raises( SVGException );\r
- void setRGBColorICCColor ( in DOMString rgbColor, in DOMString iccColor )\r
- raises( SVGException );\r
- void setColor ( in unsigned short colorType, in DOMString rgbColor, in DOMString iccColor )\r
- raises( SVGException );\r
- };\r
-\r
- interface SVGICCColor { \r
-\r
- attribute DOMString colorProfile;\r
- // raises DOMException on setting\r
- readonly attribute SVGNumberList colors;\r
- };\r
-\r
- interface SVGRect { \r
-\r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float width;\r
- // raises DOMException on setting\r
- attribute float height;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGAnimatedRect { \r
-\r
- readonly attribute SVGRect baseVal;\r
- readonly attribute SVGRect animVal;\r
- };\r
-\r
- interface SVGUnitTypes { \r
-\r
- // Unit Types\r
- const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0;\r
- const unsigned short SVG_UNIT_TYPE_USERSPACEONUSE = 1;\r
- const unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2;\r
- };\r
-\r
- interface SVGStylable { \r
-\r
- readonly attribute SVGAnimatedString className;\r
- readonly attribute css::CSSStyleDeclaration style;\r
-\r
- css::CSSValue getPresentationAttribute ( in DOMString name );\r
- };\r
-\r
- interface SVGLocatable { \r
-\r
- readonly attribute SVGElement nearestViewportElement;\r
- readonly attribute SVGElement farthestViewportElement;\r
-\r
- SVGRect getBBox ( );\r
- SVGMatrix getCTM ( );\r
- SVGMatrix getScreenCTM ( );\r
- SVGMatrix getTransformToElement ( in SVGElement element )\r
- raises( SVGException );\r
- };\r
-\r
- interface SVGTransformable : SVGLocatable { \r
- readonly attribute SVGAnimatedTransformList transform;\r
- };\r
-\r
- interface SVGTests { \r
-\r
- readonly attribute SVGStringList requiredFeatures;\r
- readonly attribute SVGStringList requiredExtensions;\r
- readonly attribute SVGStringList systemLanguage;\r
-\r
- boolean hasExtension ( in DOMString extension );\r
- };\r
-\r
- interface SVGLangSpace { \r
-\r
- attribute DOMString xmllang;\r
- // raises DOMException on setting\r
- attribute DOMString xmlspace;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGExternalResourcesRequired { \r
-\r
- readonly attribute SVGAnimatedBoolean externalResourcesRequired;\r
- };\r
-\r
- interface SVGFitToViewBox { \r
-\r
- readonly attribute SVGAnimatedRect viewBox;\r
- readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;\r
- };\r
-\r
- interface SVGZoomAndPan { \r
-\r
- // Zoom and Pan Types\r
- const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0;\r
- const unsigned short SVG_ZOOMANDPAN_DISABLE = 1;\r
- const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2;\r
-\r
- attribute unsigned short zoomAndPan;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGViewSpec : \r
- SVGZoomAndPan,\r
- SVGFitToViewBox { \r
-\r
- readonly attribute SVGTransformList transform;\r
- readonly attribute SVGElement viewTarget;\r
- readonly attribute DOMString viewBoxString;\r
- readonly attribute DOMString preserveAspectRatioString;\r
- readonly attribute DOMString transformString;\r
- readonly attribute DOMString viewTargetString;\r
- };\r
-\r
- interface SVGURIReference { \r
-\r
- readonly attribute SVGAnimatedString href;\r
- };\r
-\r
- interface SVGCSSRule : css::CSSRule { \r
- // Additional CSS RuleType to support ICC color specifications\r
- const unsigned short COLOR_PROFILE_RULE = 7;\r
- };\r
-\r
- interface SVGRenderingIntent { \r
-\r
- // Rendering Intent Types\r
- const unsigned short RENDERING_INTENT_UNKNOWN = 0;\r
- const unsigned short RENDERING_INTENT_AUTO = 1;\r
- const unsigned short RENDERING_INTENT_PERCEPTUAL = 2;\r
- const unsigned short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3;\r
- const unsigned short RENDERING_INTENT_SATURATION = 4;\r
- const unsigned short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5;\r
- };\r
-\r
- interface SVGDocument : \r
- Document,\r
- events::DocumentEvent { \r
-\r
- readonly attribute DOMString title;\r
- readonly attribute DOMString referrer;\r
- readonly attribute DOMString domain;\r
- readonly attribute DOMString URL;\r
- readonly attribute SVGSVGElement rootElement;\r
- };\r
-\r
- interface SVGSVGElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGLocatable,\r
- SVGFitToViewBox,\r
- SVGZoomAndPan,\r
- events::EventTarget,\r
- events::DocumentEvent,\r
- css::ViewCSS,\r
- css::DocumentCSS { \r
-\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- attribute DOMString contentScriptType;\r
- // raises DOMException on setting\r
- attribute DOMString contentStyleType;\r
- // raises DOMException on setting\r
- readonly attribute SVGRect viewport;\r
- readonly attribute float pixelUnitToMillimeterX;\r
- readonly attribute float pixelUnitToMillimeterY;\r
- readonly attribute float screenPixelToMillimeterX;\r
- readonly attribute float screenPixelToMillimeterY;\r
- attribute boolean useCurrentView;\r
- // raises DOMException on setting\r
- readonly attribute SVGViewSpec currentView;\r
- attribute float currentScale;\r
- // raises DOMException on setting\r
- readonly attribute SVGPoint currentTranslate;\r
-\r
- unsigned long suspendRedraw ( in unsigned long max_wait_milliseconds );\r
- void unsuspendRedraw ( in unsigned long suspend_handle_id )\r
- raises( DOMException );\r
- void unsuspendRedrawAll ( );\r
- void forceRedraw ( );\r
- void pauseAnimations ( );\r
- void unpauseAnimations ( );\r
- boolean animationsPaused ( );\r
- float getCurrentTime ( );\r
- void setCurrentTime ( in float seconds );\r
- NodeList getIntersectionList ( in SVGRect rect, in SVGElement referenceElement );\r
- NodeList getEnclosureList ( in SVGRect rect, in SVGElement referenceElement );\r
- boolean checkIntersection ( in SVGElement element, in SVGRect rect );\r
- boolean checkEnclosure ( in SVGElement element, in SVGRect rect );\r
- void deselectAll ( );\r
- SVGNumber createSVGNumber ( );\r
- SVGLength createSVGLength ( );\r
- SVGAngle createSVGAngle ( );\r
- SVGPoint createSVGPoint ( );\r
- SVGMatrix createSVGMatrix ( );\r
- SVGRect createSVGRect ( );\r
- SVGTransform createSVGTransform ( );\r
- SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix );\r
- Element getElementById ( in DOMString elementId );\r
- };\r
-\r
- interface SVGGElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget {};\r
-\r
- interface SVGDefsElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget {};\r
-\r
- interface SVGDescElement : \r
- SVGElement,\r
- SVGLangSpace,\r
- SVGStylable {};\r
-\r
- interface SVGTitleElement : \r
- SVGElement,\r
- SVGLangSpace,\r
- SVGStylable {};\r
-\r
- interface SVGSymbolElement : \r
- SVGElement,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGFitToViewBox,\r
- events::EventTarget {};\r
-\r
- interface SVGUseElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- readonly attribute SVGElementInstance instanceRoot;\r
- readonly attribute SVGElementInstance animatedInstanceRoot;\r
- };\r
-\r
- interface SVGElementInstance : events::EventTarget { \r
- readonly attribute SVGElement correspondingElement;\r
- readonly attribute SVGUseElement correspondingUseElement;\r
- readonly attribute SVGElementInstance parentNode;\r
- readonly attribute SVGElementInstanceList childNodes;\r
- readonly attribute SVGElementInstance firstChild;\r
- readonly attribute SVGElementInstance lastChild;\r
- readonly attribute SVGElementInstance previousSibling;\r
- readonly attribute SVGElementInstance nextSibling;\r
- };\r
-\r
- interface SVGElementInstanceList { \r
-\r
- readonly attribute unsigned long length;\r
-\r
- SVGElementInstance item ( in unsigned long index );\r
- };\r
-\r
- interface SVGImageElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;\r
- };\r
-\r
- interface SVGSwitchElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget {};\r
-\r
- interface GetSVGDocument { \r
-\r
- SVGDocument getSVGDocument ( )\r
- raises( DOMException );\r
- };\r
-\r
- interface SVGStyleElement : SVGElement { \r
- attribute DOMString xmlspace;\r
- // raises DOMException on setting\r
- attribute DOMString type;\r
- // raises DOMException on setting\r
- attribute DOMString media;\r
- // raises DOMException on setting\r
- attribute DOMString title;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPoint { \r
-\r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
-\r
- SVGPoint matrixTransform ( in SVGMatrix matrix );\r
- };\r
-\r
- interface SVGPointList { \r
-\r
- readonly attribute unsigned long numberOfItems;\r
-\r
- void clear ( )\r
- raises( DOMException );\r
- SVGPoint initialize ( in SVGPoint newItem )\r
- raises( DOMException, SVGException );\r
- SVGPoint getItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGPoint insertItemBefore ( in SVGPoint newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGPoint replaceItem ( in SVGPoint newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGPoint removeItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGPoint appendItem ( in SVGPoint newItem )\r
- raises( DOMException, SVGException );\r
- };\r
-\r
- interface SVGMatrix { \r
-\r
- attribute float a;\r
- // raises DOMException on setting\r
- attribute float b;\r
- // raises DOMException on setting\r
- attribute float c;\r
- // raises DOMException on setting\r
- attribute float d;\r
- // raises DOMException on setting\r
- attribute float e;\r
- // raises DOMException on setting\r
- attribute float f;\r
- // raises DOMException on setting\r
-\r
- SVGMatrix multiply ( in SVGMatrix secondMatrix );\r
- SVGMatrix inverse ( )\r
- raises( SVGException );\r
- SVGMatrix translate ( in float x, in float y );\r
- SVGMatrix scale ( in float scaleFactor );\r
- SVGMatrix scaleNonUniform ( in float scaleFactorX, in float scaleFactorY );\r
- SVGMatrix rotate ( in float angle );\r
- SVGMatrix rotateFromVector ( in float x, in float y )\r
- raises( SVGException );\r
- SVGMatrix flipX ( );\r
- SVGMatrix flipY ( );\r
- SVGMatrix skewX ( in float angle );\r
- SVGMatrix skewY ( in float angle );\r
- };\r
-\r
- interface SVGTransform { \r
-\r
- // Transform Types\r
- const unsigned short SVG_TRANSFORM_UNKNOWN = 0;\r
- const unsigned short SVG_TRANSFORM_MATRIX = 1;\r
- const unsigned short SVG_TRANSFORM_TRANSLATE = 2;\r
- const unsigned short SVG_TRANSFORM_SCALE = 3;\r
- const unsigned short SVG_TRANSFORM_ROTATE = 4;\r
- const unsigned short SVG_TRANSFORM_SKEWX = 5;\r
- const unsigned short SVG_TRANSFORM_SKEWY = 6;\r
-\r
- readonly attribute unsigned short type;\r
- readonly attribute SVGMatrix matrix;\r
- readonly attribute float angle;\r
-\r
- void setMatrix ( in SVGMatrix matrix );\r
- void setTranslate ( in float tx, in float ty );\r
- void setScale ( in float sx, in float sy );\r
- void setRotate ( in float angle, in float cx, in float cy );\r
- void setSkewX ( in float angle );\r
- void setSkewY ( in float angle );\r
- };\r
-\r
- interface SVGTransformList { \r
-\r
- readonly attribute unsigned long numberOfItems;\r
-\r
- void clear ( )\r
- raises( DOMException );\r
- SVGTransform initialize ( in SVGTransform newItem )\r
- raises( DOMException, SVGException );\r
- SVGTransform getItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGTransform insertItemBefore ( in SVGTransform newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGTransform replaceItem ( in SVGTransform newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGTransform removeItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGTransform appendItem ( in SVGTransform newItem )\r
- raises( DOMException, SVGException );\r
- SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix );\r
- SVGTransform consolidate ( );\r
- };\r
-\r
- interface SVGAnimatedTransformList { \r
-\r
- readonly attribute SVGTransformList baseVal;\r
- readonly attribute SVGTransformList animVal;\r
- };\r
-\r
- interface SVGPreserveAspectRatio { \r
-\r
- // Alignment Types\r
- const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_NONE = 1;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;\r
- const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;\r
- // Meet-or-slice Types\r
- const unsigned short SVG_MEETORSLICE_UNKNOWN = 0;\r
- const unsigned short SVG_MEETORSLICE_MEET = 1;\r
- const unsigned short SVG_MEETORSLICE_SLICE = 2;\r
-\r
- attribute unsigned short align;\r
- // raises DOMException on setting\r
- attribute unsigned short meetOrSlice;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGAnimatedPreserveAspectRatio { \r
-\r
- readonly attribute SVGPreserveAspectRatio baseVal;\r
- readonly attribute SVGPreserveAspectRatio animVal;\r
- };\r
-\r
- interface SVGPathSeg { \r
-\r
- // Path Segment Types\r
- const unsigned short PATHSEG_UNKNOWN = 0;\r
- const unsigned short PATHSEG_CLOSEPATH = 1;\r
- const unsigned short PATHSEG_MOVETO_ABS = 2;\r
- const unsigned short PATHSEG_MOVETO_REL = 3;\r
- const unsigned short PATHSEG_LINETO_ABS = 4;\r
- const unsigned short PATHSEG_LINETO_REL = 5;\r
- const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6;\r
- const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7;\r
- const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8;\r
- const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9;\r
- const unsigned short PATHSEG_ARC_ABS = 10;\r
- const unsigned short PATHSEG_ARC_REL = 11;\r
- const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12;\r
- const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13;\r
- const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14;\r
- const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15;\r
- const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\r
- const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\r
- const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\r
- const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;\r
-\r
- readonly attribute unsigned short pathSegType;\r
- readonly attribute DOMString pathSegTypeAsLetter;\r
- };\r
-\r
- interface SVGPathSegClosePath : SVGPathSeg {};\r
-\r
- interface SVGPathSegMovetoAbs : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegMovetoRel : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegLinetoAbs : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegLinetoRel : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegCurvetoCubicAbs : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float x1;\r
- // raises DOMException on setting\r
- attribute float y1;\r
- // raises DOMException on setting\r
- attribute float x2;\r
- // raises DOMException on setting\r
- attribute float y2;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegCurvetoCubicRel : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float x1;\r
- // raises DOMException on setting\r
- attribute float y1;\r
- // raises DOMException on setting\r
- attribute float x2;\r
- // raises DOMException on setting\r
- attribute float y2;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float x1;\r
- // raises DOMException on setting\r
- attribute float y1;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float x1;\r
- // raises DOMException on setting\r
- attribute float y1;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegArcAbs : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float r1;\r
- // raises DOMException on setting\r
- attribute float r2;\r
- // raises DOMException on setting\r
- attribute float angle;\r
- // raises DOMException on setting\r
- attribute boolean largeArcFlag;\r
- // raises DOMException on setting\r
- attribute boolean sweepFlag;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegArcRel : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float r1;\r
- // raises DOMException on setting\r
- attribute float r2;\r
- // raises DOMException on setting\r
- attribute float angle;\r
- // raises DOMException on setting\r
- attribute boolean largeArcFlag;\r
- // raises DOMException on setting\r
- attribute boolean sweepFlag;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegLinetoHorizontalRel : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegLinetoVerticalAbs : SVGPathSeg { \r
- attribute float y;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegLinetoVerticalRel : SVGPathSeg { \r
- attribute float y;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float x2;\r
- // raises DOMException on setting\r
- attribute float y2;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float x2;\r
- // raises DOMException on setting\r
- attribute float y2;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg { \r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPathSegList { \r
-\r
- readonly attribute unsigned long numberOfItems;\r
-\r
- void clear ( )\r
- raises( DOMException );\r
- SVGPathSeg initialize ( in SVGPathSeg newItem )\r
- raises( DOMException, SVGException );\r
- SVGPathSeg getItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGPathSeg insertItemBefore ( in SVGPathSeg newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGPathSeg replaceItem ( in SVGPathSeg newItem, in unsigned long index )\r
- raises( DOMException, SVGException );\r
- SVGPathSeg removeItem ( in unsigned long index )\r
- raises( DOMException );\r
- SVGPathSeg appendItem ( in SVGPathSeg newItem )\r
- raises( DOMException, SVGException );\r
- };\r
-\r
- interface SVGAnimatedPathData { \r
-\r
- readonly attribute SVGPathSegList pathSegList;\r
- readonly attribute SVGPathSegList normalizedPathSegList;\r
- readonly attribute SVGPathSegList animatedPathSegList;\r
- readonly attribute SVGPathSegList animatedNormalizedPathSegList;\r
- };\r
-\r
- interface SVGPathElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget,\r
- SVGAnimatedPathData { \r
-\r
- readonly attribute SVGAnimatedNumber pathLength;\r
-\r
- float getTotalLength ( );\r
- SVGPoint getPointAtLength ( in float distance );\r
- unsigned long getPathSegAtLength ( in float distance );\r
- SVGPathSegClosePath createSVGPathSegClosePath ( );\r
- SVGPathSegMovetoAbs createSVGPathSegMovetoAbs ( in float x, in float y );\r
- SVGPathSegMovetoRel createSVGPathSegMovetoRel ( in float x, in float y );\r
- SVGPathSegLinetoAbs createSVGPathSegLinetoAbs ( in float x, in float y );\r
- SVGPathSegLinetoRel createSVGPathSegLinetoRel ( in float x, in float y );\r
- SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 );\r
- SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 );\r
- SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs ( in float x, in float y, in float x1, in float y1 );\r
- SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel ( in float x, in float y, in float x1, in float y1 );\r
- SVGPathSegArcAbs createSVGPathSegArcAbs ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag );\r
- SVGPathSegArcRel createSVGPathSegArcRel ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag );\r
- SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs ( in float x );\r
- SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel ( in float x );\r
- SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs ( in float y );\r
- SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel ( in float y );\r
- SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs ( in float x, in float y, in float x2, in float y2 );\r
- SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel ( in float x, in float y, in float x2, in float y2 );\r
- SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs ( in float x, in float y );\r
- SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel ( in float x, in float y );\r
- };\r
-\r
- interface SVGRectElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- readonly attribute SVGAnimatedLength rx;\r
- readonly attribute SVGAnimatedLength ry;\r
- };\r
-\r
- interface SVGCircleElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGAnimatedLength cx;\r
- readonly attribute SVGAnimatedLength cy;\r
- readonly attribute SVGAnimatedLength r;\r
- };\r
-\r
- interface SVGEllipseElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGAnimatedLength cx;\r
- readonly attribute SVGAnimatedLength cy;\r
- readonly attribute SVGAnimatedLength rx;\r
- readonly attribute SVGAnimatedLength ry;\r
- };\r
-\r
- interface SVGLineElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGAnimatedLength x1;\r
- readonly attribute SVGAnimatedLength y1;\r
- readonly attribute SVGAnimatedLength x2;\r
- readonly attribute SVGAnimatedLength y2;\r
- };\r
-\r
- interface SVGAnimatedPoints { \r
-\r
- readonly attribute SVGPointList points;\r
- readonly attribute SVGPointList animatedPoints;\r
- };\r
-\r
- interface SVGPolylineElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget,\r
- SVGAnimatedPoints {};\r
-\r
- interface SVGPolygonElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget,\r
- SVGAnimatedPoints {};\r
-\r
- interface SVGTextContentElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- events::EventTarget { \r
-\r
- // lengthAdjust Types\r
- const unsigned short LENGTHADJUST_UNKNOWN = 0;\r
- const unsigned short LENGTHADJUST_SPACING = 1;\r
- const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2;\r
-\r
- readonly attribute SVGAnimatedLength textLength;\r
- readonly attribute SVGAnimatedEnumeration lengthAdjust;\r
-\r
- long getNumberOfChars ( );\r
- float getComputedTextLength ( );\r
- float getSubStringLength ( in unsigned long charnum, in unsigned long nchars )\r
- raises( DOMException );\r
- SVGPoint getStartPositionOfChar ( in unsigned long charnum )\r
- raises( DOMException );\r
- SVGPoint getEndPositionOfChar ( in unsigned long charnum )\r
- raises( DOMException );\r
- SVGRect getExtentOfChar ( in unsigned long charnum )\r
- raises( DOMException );\r
- float getRotationOfChar ( in unsigned long charnum )\r
- raises( DOMException );\r
- long getCharNumAtPosition ( in SVGPoint point );\r
- void selectSubString ( in unsigned long charnum, in unsigned long nchars )\r
- raises( DOMException );\r
- };\r
-\r
- interface SVGTextPositioningElement : SVGTextContentElement { \r
- readonly attribute SVGAnimatedLengthList x;\r
- readonly attribute SVGAnimatedLengthList y;\r
- readonly attribute SVGAnimatedLengthList dx;\r
- readonly attribute SVGAnimatedLengthList dy;\r
- readonly attribute SVGAnimatedNumberList rotate;\r
- };\r
-\r
- interface SVGTextElement : \r
- SVGTextPositioningElement,\r
- SVGTransformable {};\r
-\r
- interface SVGTSpanElement : SVGTextPositioningElement {};\r
-\r
- interface SVGTRefElement : \r
- SVGTextPositioningElement,\r
- SVGURIReference {};\r
-\r
- interface SVGTextPathElement : \r
- SVGTextContentElement,\r
- SVGURIReference { \r
-\r
- // textPath Method Types\r
- const unsigned short TEXTPATH_METHODTYPE_UNKNOWN = 0;\r
- const unsigned short TEXTPATH_METHODTYPE_ALIGN = 1;\r
- const unsigned short TEXTPATH_METHODTYPE_STRETCH = 2;\r
- // textPath Spacing Types\r
- const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN = 0;\r
- const unsigned short TEXTPATH_SPACINGTYPE_AUTO = 1;\r
- const unsigned short TEXTPATH_SPACINGTYPE_EXACT = 2;\r
-\r
- readonly attribute SVGAnimatedLength startOffset;\r
- readonly attribute SVGAnimatedEnumeration method;\r
- readonly attribute SVGAnimatedEnumeration spacing;\r
- };\r
-\r
- interface SVGAltGlyphElement : \r
- SVGTextPositioningElement,\r
- SVGURIReference { \r
-\r
- attribute DOMString glyphRef;\r
- // raises DOMException on setting\r
- attribute DOMString format;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGAltGlyphDefElement : SVGElement {};\r
-\r
- interface SVGAltGlyphItemElement : SVGElement {};\r
-\r
- interface SVGGlyphRefElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGStylable { \r
-\r
- attribute DOMString glyphRef;\r
- // raises DOMException on setting\r
- attribute DOMString format;\r
- // raises DOMException on setting\r
- attribute float x;\r
- // raises DOMException on setting\r
- attribute float y;\r
- // raises DOMException on setting\r
- attribute float dx;\r
- // raises DOMException on setting\r
- attribute float dy;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGPaint : SVGColor { \r
- // Paint Types\r
- const unsigned short SVG_PAINTTYPE_UNKNOWN = 0;\r
- const unsigned short SVG_PAINTTYPE_RGBCOLOR = 1;\r
- const unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2;\r
- const unsigned short SVG_PAINTTYPE_NONE = 101;\r
- const unsigned short SVG_PAINTTYPE_CURRENTCOLOR = 102;\r
- const unsigned short SVG_PAINTTYPE_URI_NONE = 103;\r
- const unsigned short SVG_PAINTTYPE_URI_CURRENTCOLOR = 104;\r
- const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR = 105;\r
- const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106;\r
- const unsigned short SVG_PAINTTYPE_URI = 107;\r
-\r
- readonly attribute unsigned short paintType;\r
- readonly attribute DOMString uri;\r
-\r
- void setUri ( in DOMString uri );\r
- void setPaint ( in unsigned short paintType, in DOMString uri, in DOMString rgbColor, in DOMString iccColor )\r
- raises( SVGException );\r
- };\r
-\r
- interface SVGMarkerElement : \r
- SVGElement,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGFitToViewBox { \r
-\r
- // Marker Unit Types\r
- const unsigned short SVG_MARKERUNITS_UNKNOWN = 0;\r
- const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1;\r
- const unsigned short SVG_MARKERUNITS_STROKEWIDTH = 2;\r
- // Marker Orientation Types\r
- const unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0;\r
- const unsigned short SVG_MARKER_ORIENT_AUTO = 1;\r
- const unsigned short SVG_MARKER_ORIENT_ANGLE = 2;\r
-\r
- readonly attribute SVGAnimatedLength refX;\r
- readonly attribute SVGAnimatedLength refY;\r
- readonly attribute SVGAnimatedEnumeration markerUnits;\r
- readonly attribute SVGAnimatedLength markerWidth;\r
- readonly attribute SVGAnimatedLength markerHeight;\r
- readonly attribute SVGAnimatedEnumeration orientType;\r
- readonly attribute SVGAnimatedAngle orientAngle;\r
-\r
- void setOrientToAuto ( );\r
- void setOrientToAngle ( in SVGAngle angle );\r
- };\r
-\r
- interface SVGColorProfileElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGRenderingIntent { \r
-\r
- attribute DOMString local;\r
- // raises DOMException on setting\r
- attribute DOMString name;\r
- // raises DOMException on setting\r
- attribute unsigned short renderingIntent;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGColorProfileRule : \r
- SVGCSSRule,\r
- SVGRenderingIntent { \r
-\r
- attribute DOMString src;\r
- // raises DOMException on setting\r
- attribute DOMString name;\r
- // raises DOMException on setting\r
- attribute unsigned short renderingIntent;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGGradientElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGUnitTypes { \r
-\r
- // Spread Method Types\r
- const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0;\r
- const unsigned short SVG_SPREADMETHOD_PAD = 1;\r
- const unsigned short SVG_SPREADMETHOD_REFLECT = 2;\r
- const unsigned short SVG_SPREADMETHOD_REPEAT = 3;\r
-\r
- readonly attribute SVGAnimatedEnumeration gradientUnits;\r
- readonly attribute SVGAnimatedTransformList gradientTransform;\r
- readonly attribute SVGAnimatedEnumeration spreadMethod;\r
- };\r
-\r
- interface SVGLinearGradientElement : SVGGradientElement { \r
- readonly attribute SVGAnimatedLength x1;\r
- readonly attribute SVGAnimatedLength y1;\r
- readonly attribute SVGAnimatedLength x2;\r
- readonly attribute SVGAnimatedLength y2;\r
- };\r
-\r
- interface SVGRadialGradientElement : SVGGradientElement { \r
- readonly attribute SVGAnimatedLength cx;\r
- readonly attribute SVGAnimatedLength cy;\r
- readonly attribute SVGAnimatedLength r;\r
- readonly attribute SVGAnimatedLength fx;\r
- readonly attribute SVGAnimatedLength fy;\r
- };\r
-\r
- interface SVGStopElement : \r
- SVGElement,\r
- SVGStylable { \r
-\r
- readonly attribute SVGAnimatedNumber offset;\r
- };\r
-\r
- interface SVGPatternElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGFitToViewBox,\r
- SVGUnitTypes { \r
-\r
- readonly attribute SVGAnimatedEnumeration patternUnits;\r
- readonly attribute SVGAnimatedEnumeration patternContentUnits;\r
- readonly attribute SVGAnimatedTransformList patternTransform;\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- };\r
-\r
- interface SVGClipPathElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- SVGUnitTypes { \r
-\r
- readonly attribute SVGAnimatedEnumeration clipPathUnits;\r
- };\r
-\r
- interface SVGMaskElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGUnitTypes { \r
-\r
- readonly attribute SVGAnimatedEnumeration maskUnits;\r
- readonly attribute SVGAnimatedEnumeration maskContentUnits;\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- };\r
-\r
- interface SVGFilterElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGUnitTypes { \r
-\r
- readonly attribute SVGAnimatedEnumeration filterUnits;\r
- readonly attribute SVGAnimatedEnumeration primitiveUnits;\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- readonly attribute SVGAnimatedInteger filterResX;\r
- readonly attribute SVGAnimatedInteger filterResY;\r
-\r
- void setFilterRes ( in unsigned long filterResX, in unsigned long filterResY );\r
- };\r
-\r
- interface SVGFilterPrimitiveStandardAttributes : SVGStylable { \r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- readonly attribute SVGAnimatedString result;\r
- };\r
-\r
- interface SVGFEBlendElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- // Blend Mode Types\r
- const unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0;\r
- const unsigned short SVG_FEBLEND_MODE_NORMAL = 1;\r
- const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2;\r
- const unsigned short SVG_FEBLEND_MODE_SCREEN = 3;\r
- const unsigned short SVG_FEBLEND_MODE_DARKEN = 4;\r
- const unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5;\r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedString in2;\r
- readonly attribute SVGAnimatedEnumeration mode;\r
- };\r
-\r
- interface SVGFEColorMatrixElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- // Color Matrix Types\r
- const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0;\r
- const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1;\r
- const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2;\r
- const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3;\r
- const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4;\r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedEnumeration type;\r
- readonly attribute SVGAnimatedNumberList values;\r
- };\r
-\r
- interface SVGFEComponentTransferElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- readonly attribute SVGAnimatedString in1;\r
- };\r
-\r
- interface SVGComponentTransferFunctionElement : SVGElement { \r
- // Component Transfer Types\r
- const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0;\r
- const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;\r
- const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2;\r
- const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3;\r
- const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4;\r
- const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5;\r
-\r
- readonly attribute SVGAnimatedEnumeration type;\r
- readonly attribute SVGAnimatedNumberList tableValues;\r
- readonly attribute SVGAnimatedNumber slope;\r
- readonly attribute SVGAnimatedNumber intercept;\r
- readonly attribute SVGAnimatedNumber amplitude;\r
- readonly attribute SVGAnimatedNumber exponent;\r
- readonly attribute SVGAnimatedNumber offset;\r
- };\r
-\r
- interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {};\r
-\r
- interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {};\r
-\r
- interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {};\r
-\r
- interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {};\r
-\r
- interface SVGFECompositeElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- // Composite Operators\r
- const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0;\r
- const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1;\r
- const unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2;\r
- const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3;\r
- const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4;\r
- const unsigned short SVG_FECOMPOSITE_OPERATOR_XOR = 5;\r
- const unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6;\r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedString in2;\r
- readonly attribute SVGAnimatedEnumeration operator;\r
- readonly attribute SVGAnimatedNumber k1;\r
- readonly attribute SVGAnimatedNumber k2;\r
- readonly attribute SVGAnimatedNumber k3;\r
- readonly attribute SVGAnimatedNumber k4;\r
- };\r
-\r
- interface SVGFEConvolveMatrixElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- // Edge Mode Values\r
- const unsigned short SVG_EDGEMODE_UNKNOWN = 0;\r
- const unsigned short SVG_EDGEMODE_DUPLICATE = 1;\r
- const unsigned short SVG_EDGEMODE_WRAP = 2;\r
- const unsigned short SVG_EDGEMODE_NONE = 3;\r
-\r
- readonly attribute SVGAnimatedInteger orderX;\r
- readonly attribute SVGAnimatedInteger orderY;\r
- readonly attribute SVGAnimatedNumberList kernelMatrix;\r
- readonly attribute SVGAnimatedNumber divisor;\r
- readonly attribute SVGAnimatedNumber bias;\r
- readonly attribute SVGAnimatedInteger targetX;\r
- readonly attribute SVGAnimatedInteger targetY;\r
- readonly attribute SVGAnimatedEnumeration edgeMode;\r
- readonly attribute SVGAnimatedLength kernelUnitLengthX;\r
- readonly attribute SVGAnimatedLength kernelUnitLengthY;\r
- readonly attribute SVGAnimatedBoolean preserveAlpha;\r
- };\r
-\r
- interface SVGFEDiffuseLightingElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedNumber surfaceScale;\r
- readonly attribute SVGAnimatedNumber diffuseConstant;\r
- };\r
-\r
- interface SVGFEDistantLightElement : SVGElement { \r
- readonly attribute SVGAnimatedNumber azimuth;\r
- readonly attribute SVGAnimatedNumber elevation;\r
- };\r
-\r
- interface SVGFEPointLightElement : SVGElement { \r
- readonly attribute SVGAnimatedNumber x;\r
- readonly attribute SVGAnimatedNumber y;\r
- readonly attribute SVGAnimatedNumber z;\r
- };\r
-\r
- interface SVGFESpotLightElement : SVGElement { \r
- readonly attribute SVGAnimatedNumber x;\r
- readonly attribute SVGAnimatedNumber y;\r
- readonly attribute SVGAnimatedNumber z;\r
- readonly attribute SVGAnimatedNumber pointsAtX;\r
- readonly attribute SVGAnimatedNumber pointsAtY;\r
- readonly attribute SVGAnimatedNumber pointsAtZ;\r
- readonly attribute SVGAnimatedNumber specularExponent;\r
- readonly attribute SVGAnimatedNumber limitingConeAngle;\r
- };\r
-\r
- interface SVGFEDisplacementMapElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- // Channel Selectors\r
- const unsigned short SVG_CHANNEL_UNKNOWN = 0;\r
- const unsigned short SVG_CHANNEL_R = 1;\r
- const unsigned short SVG_CHANNEL_G = 2;\r
- const unsigned short SVG_CHANNEL_B = 3;\r
- const unsigned short SVG_CHANNEL_A = 4;\r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedString in2;\r
- readonly attribute SVGAnimatedNumber scale;\r
- readonly attribute SVGAnimatedEnumeration xChannelSelector;\r
- readonly attribute SVGAnimatedEnumeration yChannelSelector;\r
- };\r
-\r
- interface SVGFEFloodElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- readonly attribute SVGAnimatedString in1;\r
- };\r
-\r
- interface SVGFEGaussianBlurElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedNumber stdDeviationX;\r
- readonly attribute SVGAnimatedNumber stdDeviationY;\r
-\r
- void setStdDeviation ( in float stdDeviationX, in float stdDeviationY );\r
- };\r
-\r
- interface SVGFEImageElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGFilterPrimitiveStandardAttributes {};\r
-\r
- interface SVGFEMergeElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes {};\r
-\r
- interface SVGFEMergeNodeElement : SVGElement { \r
- readonly attribute SVGAnimatedString in1;\r
- };\r
-\r
- interface SVGFEMorphologyElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- // Morphology Operators\r
- const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0;\r
- const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1;\r
- const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2;\r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedEnumeration operator;\r
- readonly attribute SVGAnimatedLength radiusX;\r
- readonly attribute SVGAnimatedLength radiusY;\r
- };\r
-\r
- interface SVGFEOffsetElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedNumber dx;\r
- readonly attribute SVGAnimatedNumber dy;\r
- };\r
-\r
- interface SVGFESpecularLightingElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- readonly attribute SVGAnimatedString in1;\r
- readonly attribute SVGAnimatedNumber surfaceScale;\r
- readonly attribute SVGAnimatedNumber specularConstant;\r
- readonly attribute SVGAnimatedNumber specularExponent;\r
- };\r
-\r
- interface SVGFETileElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- readonly attribute SVGAnimatedString in1;\r
- };\r
-\r
- interface SVGFETurbulenceElement : \r
- SVGElement,\r
- SVGFilterPrimitiveStandardAttributes { \r
-\r
- // Turbulence Types\r
- const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0;\r
- const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;\r
- const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2;\r
- // Stitch Options\r
- const unsigned short SVG_STITCHTYPE_UNKNOWN = 0;\r
- const unsigned short SVG_STITCHTYPE_STITCH = 1;\r
- const unsigned short SVG_STITCHTYPE_NOSTITCH = 2;\r
-\r
- readonly attribute SVGAnimatedNumber baseFrequencyX;\r
- readonly attribute SVGAnimatedNumber baseFrequencyY;\r
- readonly attribute SVGAnimatedInteger numOctaves;\r
- readonly attribute SVGAnimatedNumber seed;\r
- readonly attribute SVGAnimatedEnumeration stitchTiles;\r
- readonly attribute SVGAnimatedEnumeration type;\r
- };\r
-\r
- interface SVGCursorElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGTests,\r
- SVGExternalResourcesRequired { \r
-\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- };\r
-\r
- interface SVGAElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGAnimatedString target;\r
- };\r
-\r
- interface SVGViewElement : \r
- SVGElement,\r
- SVGExternalResourcesRequired,\r
- SVGFitToViewBox,\r
- SVGZoomAndPan { \r
-\r
- readonly attribute SVGStringList viewTarget;\r
- };\r
-\r
- interface SVGScriptElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGExternalResourcesRequired { \r
-\r
- attribute DOMString type;\r
- // raises DOMException on setting\r
- };\r
-\r
- interface SVGEvent : events::Event {};\r
-\r
- interface SVGZoomEvent : events::UIEvent { \r
- readonly attribute SVGRect zoomRectScreen;\r
- readonly attribute float previousScale;\r
- readonly attribute SVGPoint previousTranslate;\r
- readonly attribute float newScale;\r
- readonly attribute SVGPoint newTranslate;\r
- };\r
-\r
- interface SVGAnimationElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGExternalResourcesRequired,\r
- smil::ElementTimeControl,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGElement targetElement;\r
-\r
- float getStartTime ( );\r
- float getCurrentTime ( );\r
- float getSimpleDuration ( )\r
- raises( DOMException );\r
- };\r
-\r
- interface SVGAnimateElement : SVGAnimationElement {};\r
-\r
- interface SVGSetElement : SVGAnimationElement {};\r
-\r
- interface SVGAnimateMotionElement : SVGAnimationElement {};\r
-\r
- interface SVGMPathElement : \r
- SVGElement,\r
- SVGURIReference,\r
- SVGExternalResourcesRequired {};\r
-\r
- interface SVGAnimateColorElement : SVGAnimationElement {};\r
-\r
- interface SVGAnimateTransformElement : SVGAnimationElement {};\r
-\r
- interface SVGFontElement : \r
- SVGElement,\r
- SVGExternalResourcesRequired,\r
- SVGStylable {};\r
-\r
- interface SVGGlyphElement : \r
- SVGElement,\r
- SVGStylable {};\r
-\r
- interface SVGMissingGlyphElement : \r
- SVGElement,\r
- SVGStylable {};\r
-\r
- interface SVGHKernElement : SVGElement {};\r
-\r
- interface SVGVKernElement : SVGElement {};\r
-\r
- interface SVGFontFaceElement : SVGElement {};\r
-\r
- interface SVGFontFaceSrcElement : SVGElement {};\r
-\r
- interface SVGFontFaceUriElement : SVGElement {};\r
-\r
- interface SVGFontFaceFormatElement : SVGElement {};\r
-\r
- interface SVGFontFaceNameElement : SVGElement {};\r
-\r
- interface SVGDefinitionSrcElement : SVGElement {};\r
-\r
- interface SVGMetadataElement : SVGElement {};\r
-\r
- interface SVGForeignObjectElement : \r
- SVGElement,\r
- SVGTests,\r
- SVGLangSpace,\r
- SVGExternalResourcesRequired,\r
- SVGStylable,\r
- SVGTransformable,\r
- events::EventTarget { \r
-\r
- readonly attribute SVGAnimatedLength x;\r
- readonly attribute SVGAnimatedLength y;\r
- readonly attribute SVGAnimatedLength width;\r
- readonly attribute SVGAnimatedLength height;\r
- };\r
-\r
-\r
-};\r
-\r
-#endif // _SVG_IDL_
\ No newline at end of file
diff --git a/src/dom/svg/svgimpl.cpp b/src/dom/svg/svgimpl.cpp
--- a/src/dom/svg/svgimpl.cpp
+++ /dev/null
@@ -1,1870 +0,0 @@
-/**
- * Phoebe DOM Implementation.
- *
- * This is a C++ approximation of the W3C DOM model, which follows
- * fairly closely the specifications in the various .idl files, copies of
- * which are provided for reference. Most important is this one:
- *
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
- *
- * Authors:
- * Bob Jamison
- *
- * Copyright (C) 2005 Bob Jamison
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "svgimpl.h"
-
-
-
-namespace org
-{
-namespace w3c
-{
-namespace dom
-{
-namespace svg
-{
-
-
-/*#########################################################################
-## SVGElementImpl
-#########################################################################*/
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-/*#########################################################################
-## SVGDocumentImpl
-#########################################################################*/
-
-
-
-//####################################################
-//# Overload some createXXX() methods from DocumentImpl,
-//# To create our SVG-DOM types
-//####################################################
-
-/**
- *
- */
-ElementPtr SVGDocumentImpl::createElement(const DOMString& tagName)
- throw(DOMException)
-{
- SVGElementPtr elem = new SVGElementImpl(this, tagName);
- return elem;
-}
-
-
-/**
- *
- */
-ElementPtr SVGDocumentImpl::createElementNS(const DOMString& namespaceURI,
- const DOMString& qualifiedName)
- throw(DOMException)
-{
- SVGElementPtr elem = new SVGElementImpl(this, namespaceURI, qualifiedName);
- return elem;
-}
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGSVGElementImpl
-#########################################################################*/
-
-
-/**
- *
- */
-unsigned long SVGSVGElementImpl::suspendRedraw(unsigned long max_wait_milliseconds )
-{
- return 0L;
-}
-
-/**
- *
- */
-void SVGSVGElementImpl::unsuspendRedraw(unsigned long suspend_handle_id )
- throw ( DOMException )
-{
-}
-
-
-/**
- *
- */
-void SVGSVGElementImpl::unsuspendRedrawAll( )
-{
-}
-
-/**
- *
- */
-void SVGSVGElementImpl::forceRedraw( )
-{
-}
-
-/**
- *
- */
-void SVGSVGElementImpl::pauseAnimations( )
-{
-}
-
-/**
- *
- */
-void SVGSVGElementImpl::unpauseAnimations( )
-{
-}
-
-/**
- *
- */
-bool SVGSVGElementImpl::animationsPaused( )
-{
- return false;
-}
-
-
-/**
- *
- */
-NodeList SVGSVGElementImpl::getIntersectionList(const SVGRect &rect,
- const SVGElementPtr referenceElement )
-{
- NodeList list;
- return list;
-}
-
-/**
- *
- */
-NodeList SVGSVGElementImpl::getEnclosureList(const SVGRect &rect,
- const SVGElementPtr referenceElement )
-{
- NodeList list;
- return list;
-}
-
-/**
- *
- */
-bool SVGSVGElementImpl::checkIntersection(const SVGElementPtr element,
- const SVGRect &rect )
-{
- return false;
-}
-
-/**
- *
- */
-bool SVGSVGElementImpl::checkEnclosure(const SVGElementPtr element,
- const SVGRect &rect )
-{
- return false;
-}
-
-/**
- *
- */
-void SVGSVGElementImpl::deselectAll( )
-{
-}
-
-/**
- *
- */
-ElementPtr SVGSVGElementImpl::getElementById(const DOMString& elementId )
-{
- return NULL;
-}
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-/*#########################################################################
-## SVGGElementImpl
-#########################################################################*/
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## SVGDefsElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## SVGDescElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## SVGTitleElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-/*#########################################################################
-## SVGSymbolElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## SVGUseElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGImageElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGSwitchElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## GetSVGDocumentImpl
-#########################################################################*/
-
-/**
- *
- */
-SVGDocumentPtr GetSVGDocumentImpl::getSVGDocument( )
- throw ( DOMException )
-{
- return NULL;
-}
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGStyleElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-/*#########################################################################
-## SVGPathElementImpl
-#########################################################################*/
-
-/**
- *
- */
-SVGAnimatedNumber SVGPathElementImpl::getPathLength()
-{
- SVGAnimatedNumber ret;
- return ret;
-}
-
-/**
- *
- */
-double SVGPathElementImpl::getTotalLength( )
-{
- return 0.0;
-}
-
-/**
- *
- */
-SVGPoint SVGPathElementImpl::getPointAtLength(double distance )
-{
- SVGPoint ret;
- return ret;
-}
-
-/**
- *
- */
-unsigned long SVGPathElementImpl::getPathSegAtLength(double distance )
-{
- return 0L;
-}
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGRectElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGCircleElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGEllipseElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGLineElementImpl
-#########################################################################*/
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGPolylineElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## SVGPolygonElementImpl
-#########################################################################*/
-
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGTextContentElementImpl
-#########################################################################*/
-
-/**
- *
- */
-SVGAnimatedLength SVGTextContentElementImpl::getTextLength()
-{
- SVGAnimatedLength ret;
- return ret;
-}
-
-
-/**
- *
- */
-SVGAnimatedEnumeration SVGTextContentElementImpl::getLengthAdjust()
-{
- SVGAnimatedEnumeration ret;
- return ret;
-}
-
-
-/**
- *
- */
-long SVGTextContentElementImpl::getNumberOfChars( )
-{
- return 0L;
-}
-
-/**
- *
- */
-double SVGTextContentElementImpl::getComputedTextLength( )
-{
- return 0.0;
-}
-
-/**
- *
- */
-double SVGTextContentElementImpl::getSubStringLength(unsigned long charnum, unsigned long nchars )
- throw ( DOMException )
-{
- return 0.0;
-}
-
-/**
- *
- */
-SVGPoint SVGTextContentElementImpl::getStartPositionOfChar(unsigned long charnum )
- throw ( DOMException )
-{
- SVGPoint ret;
- return ret;
-}
-
-/**
- *
- */
-SVGPoint SVGTextContentElementImpl::getEndPositionOfChar(unsigned long charnum )
- throw ( DOMException )
-{
- SVGPoint ret;
- return ret;
-}
-
-/**
- *
- */
-SVGRect SVGTextContentElementImpl::getExtentOfChar(unsigned long charnum )
- throw ( DOMException )
-{
- SVGRect ret;
- return ret;
-}
-
-/**
- *
- */
-double SVGTextContentElementImpl::getRotationOfChar(unsigned long charnum )
- throw ( DOMException )
-{
- return 0.0;
-}
-
-/**
- *
- */
-long SVGTextContentElementImpl::getCharNumAtPosition(const SVGPoint &point )
-{
- return 0L;
-}
-
-/**
- *
- */
-void SVGTextContentElementImpl::selectSubString(unsigned long charnum,
- unsigned long nchars )
- throw ( DOMException )
-{
-}
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGTextPositioningElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGTextElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGTSpanElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## SVGTRefElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGTextPathElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphElementImpl
-#########################################################################*/
-
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphDefElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphItemElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGGlyphRefElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGMarkerElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGColorProfileElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGGradientElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGLinearGradientElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGRadialGradientElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGStopElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGPatternElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGClipPathElementImpl
-#########################################################################*/
-
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGMaskElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFilterElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEBlendElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEColorMatrixElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEComponentTransferElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGComponentTransferFunctionElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncRElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncGElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncBElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncAElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFECompositeElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEConvolveMatrixElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEDiffuseLightingElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-/*#########################################################################
-## SVGFEDistantLightElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEPointLightElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFESpotLightElementImpl
-#########################################################################*/
-
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEDisplacementMapElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFloodElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEGaussianBlurElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEImageElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEMergeElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEMergeNodeElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEMorphologyElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEOffsetElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## SVGFESpecularLightingElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFETileElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFETurbulenceElementImpl
-#########################################################################*/
-
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGCursorElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGViewElementImpl
-#########################################################################*/
-
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGScriptElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimationElementImpl
-#########################################################################*/
-
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateElementImpl
-#########################################################################*/
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGSetElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateMotionElementImpl
-#########################################################################*/
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGMPathElementImpl
-#########################################################################*/
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateColorElementImpl
-#########################################################################*/
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateTransformElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFontElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGGlyphElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGMissingGlyphElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGHKernElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGVKernElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceSrcElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceUriElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceFormatElementImpl
-#########################################################################*/
-
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceNameElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGDefinitionSrcElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGMetadataElementImpl
-#########################################################################*/
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-/*#########################################################################
-## SVGForeignObjectElementImpl
-#########################################################################*/
-
-
-
-//##################
-//# Non-API methods
-//##################
-
-
-
-
-
-
-
-
-
-
-
-
-} //namespace svg
-} //namespace dom
-} //namespace w3c
-} //namespace org
-
-
-/*#########################################################################
-## E N D O F F I L E
-#########################################################################*/
-
diff --git a/src/dom/svg/svgimpl.h b/src/dom/svg/svgimpl.h
--- a/src/dom/svg/svgimpl.h
+++ /dev/null
@@ -1,5112 +0,0 @@
-#ifndef __SVGIMPL_H__
-#define __SVGIMPL_H__
-
-/**
- * Phoebe DOM Implementation.
- *
- * This is a C++ approximation of the W3C DOM model, which follows
- * fairly closely the specifications in the various .idl files, copies of
- * which are provided for reference. Most important is this one:
- *
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
- *
- * Authors:
- * Bob Jamison
- *
- * Copyright (C) 2006 Bob Jamison
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-#include "svg.h"
-#include "dom/domimpl.h"
-#include "dom/smilimpl.h"
-
-#include <math.h>
-
-
-
-namespace org
-{
-namespace w3c
-{
-namespace dom
-{
-namespace svg
-{
-
-
-//local definitions
-typedef dom::DOMString DOMString;
-typedef dom::DOMException DOMException;
-typedef dom::Element Element;
-typedef dom::Document Document;
-typedef dom::NodeList NodeList;
-
-
-
-class SVGSVGElementImpl;
-typedef Ptr<SVGSVGElementImpl> SVGSVGElementImplPtr;
-class SVGElementImpl;
-typedef Ptr<SVGElementImpl> SVGElementImplPtr;
-class SVGDocumentImpl;
-typedef Ptr<SVGDocumentImpl> SVGDocumentImplPtr;
-
-/*#########################################################################
-## SVGDocumentImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGDocumentImpl : virtual public SVGDocument, public DocumentImpl
-{
-public:
-
-
- /**
- *
- */
- virtual DOMString getTitle()
- { return title; }
-
- /**
- *
- */
- virtual DOMString getReferrer()
- { return referrer; }
-
- /**
- *
- */
- virtual DOMString getDomain()
- { return domain; }
-
- /**
- *
- */
- virtual DOMString getURL()
- { return url; }
-
- /**
- *
- */
- virtual SVGSVGElementPtr getRootElement()
- { return rootElement; }
-
-
- //####################################################
- //# Overload some createXXX() methods from DocumentImpl,
- //# To create our SVG-DOM types (in .cpp)
- //####################################################
-
- /**
- *
- */
- virtual ElementPtr createElement(const DOMString& tagName)
- throw(DOMException);
-
-
- /**
- *
- */
- virtual ElementPtr createElementNS(const DOMString& namespaceURI,
- const DOMString& qualifiedName)
- throw(DOMException);
-
- //##################
- //# Non-API methods
- //##################
-
- SVGDocumentImpl(const DOMImplementation *domImpl,
- const DOMString &namespaceURI,
- const DOMString &qualifiedName,
- const DocumentTypePtr doctype)
- : DocumentImpl(domImpl, namespaceURI,
- qualifiedName, doctype)
- {
- init();
- }
-
-
- /**
- *
- */
- virtual ~SVGDocumentImpl()
- {
- }
-
-protected:
-
-friend class SvgParser;
-
- void init()
- {
- title = "";
- referrer = "";
- domain = "";
- rootElement = NULL;
- }
-
- DOMString title;
- DOMString referrer;
- DOMString domain;
- DOMString url;
- SVGSVGElementPtr rootElement;
-};
-
-
-
-/*#########################################################################
-## SVGElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGElementImpl : virtual public SVGElement,
- public ElementImpl
-{
-public:
-
- /**
- *
- */
- virtual DOMString getId()
- { return id; }
-
- /**
- *
- */
- virtual void setId(const DOMString &val)
- throw (DOMException)
- { id = val; }
-
- /**
- *
- */
- virtual DOMString getXmlBase()
- { return xmlBase; }
-
- /**
- *
- */
- virtual void setXmlBase(const DOMString &val)
- throw (DOMException)
- { xmlBase = val; }
-
- /**
- *
- */
- virtual SVGSVGElementPtr getOwnerSVGElement()
- { return ownerSvgElement; }
-
- /**
- *
- */
- virtual SVGElementPtr getViewportElement()
- { return viewportElement; }
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGElementImpl()
- {}
-
- /**
- *
- */
- SVGElementImpl(SVGDocumentImplPtr owner, const DOMString &tagName)
- : ElementImpl(owner, tagName)
- { init(); }
-
- /**
- *
- */
- SVGElementImpl(SVGDocumentImplPtr owner,
- const DOMString &namespaceURI,
- const DOMString &tagName)
- : ElementImpl(owner, namespaceURI, tagName)
- { init(); }
-
-
- /**
- *
- */
- virtual ~SVGElementImpl()
- {}
-
-protected:
-
- void init()
- {
- id = "";
- xmlBase = "";
- ownerSvgElement = NULL;
- viewportElement = NULL;
- }
-
- DOMString id;
- DOMString xmlBase;
- SVGSVGElementPtr ownerSvgElement;
- SVGElementPtr viewportElement;
-
-};
-
-
-
-/*#########################################################################
-## SVGSVGElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGSVGElementImpl : virtual public SVGSVGElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
- /**
- *
- */
- virtual DOMString getContentScriptType()
- { return contentScriptType; }
-
- /**
- *
- */
- virtual void setContentScriptType(const DOMString &val)
- throw (DOMException)
- { contentScriptType = val; }
-
-
- /**
- *
- */
- virtual DOMString getContentStyleType()
- { return contentStyleType; }
-
- /**
- *
- */
- virtual void setContentStyleType(const DOMString &val)
- throw (DOMException)
- { contentStyleType = val; }
-
- /**
- *
- */
- virtual SVGRect getViewport()
- { return viewport; }
-
- /**
- *
- */
- virtual double getPixelUnitToMillimeterX()
- { return pixelUnitToMillimeterX; }
-
- /**
- *
- */
- virtual double getPixelUnitToMillimeterY()
- { return pixelUnitToMillimeterY; }
-
- /**
- *
- */
- virtual double getScreenPixelToMillimeterX()
- { return screenPixelToMillimeterX; }
-
- /**
- *
- */
- virtual double getScreenPixelToMillimeterY()
- { return screenPixelToMillimeterY; }
-
-
- /**
- *
- */
- virtual bool getUseCurrentView()
- { return useCurrentView; }
-
- /**
- *
- */
- virtual void setUseCurrentView(bool val) throw (DOMException)
- { useCurrentView = val; }
-
- /**
- *
- */
- virtual SVGViewSpec getCurrentView()
- { return currentView; }
-
-
- /**
- *
- */
- virtual double getCurrentScale()
- { return currentScale; }
-
- /**
- *
- */
- virtual void setCurrentScale(double val) throw (DOMException)
- { currentScale = val; }
-
-
- /**
- *
- */
- virtual SVGPoint getCurrentTranslate()
- { return currentTranslate; }
-
-
- /**
- *
- */
- virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds );
-
- /**
- *
- */
- virtual void unsuspendRedraw (unsigned long suspend_handle_id )
- throw( DOMException );
-
- /**
- *
- */
- virtual void unsuspendRedrawAll ( );
-
- /**
- *
- */
- virtual void forceRedraw ( );
-
- /**
- *
- */
- virtual void pauseAnimations ( );
-
- /**
- *
- */
- virtual void unpauseAnimations ( );
-
- /**
- *
- */
- virtual bool animationsPaused ( );
-
- /**
- *
- */
- virtual double getCurrentTime ( )
- { return currentTime; }
-
- /**
- *
- */
- virtual void setCurrentTime (double seconds )
- { currentTime = seconds; }
-
- /**
- *
- */
- virtual NodeList getIntersectionList (const SVGRect &rect,
- const SVGElementPtr referenceElement );
-
- /**
- *
- */
- virtual NodeList getEnclosureList (const SVGRect &rect,
- const SVGElementPtr referenceElement );
-
- /**
- *
- */
- virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect );
-
- /**
- *
- */
- virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect );
-
- /**
- *
- */
- virtual void deselectAll ( );
-
- /**
- *
- */
- virtual SVGNumber createSVGNumber ( )
- {
- SVGNumber ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGLength createSVGLength ( )
- {
- SVGLength ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGAngle createSVGAngle ( )
- {
- SVGAngle ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPoint createSVGPoint ( )
- {
- SVGPoint ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGMatrix createSVGMatrix ( )
- {
- SVGMatrix ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGRect createSVGRect ( )
- {
- SVGRect ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGTransform createSVGTransform ( )
- {
- SVGTransform ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix )
- {
- SVGTransform ret;
- ret.setMatrix(matrix);
- return ret;
- }
-
-
- /**
- *
- */
- virtual ElementPtr getElementById (const DOMString& elementId );
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGSVGElementImpl() : SVGElementImpl()
- {}
-
-
-
- /**
- *
- */
- virtual ~SVGSVGElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength width;
- SVGAnimatedLength height;
- DOMString contentScriptType;
- DOMString contentStyleType;
- SVGRect viewport;
- double pixelUnitToMillimeterX;
- double pixelUnitToMillimeterY;
- double screenPixelToMillimeterX;
- double screenPixelToMillimeterY;
- bool useCurrentView;
- SVGViewSpec currentView;
- double currentScale;
- SVGPoint currentTranslate;
-
- double currentTime;
-
-};
-
-
-
-/*#########################################################################
-## SVGGElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGGElementImpl : virtual public SVGGElement, public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGGElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGGElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-/*#########################################################################
-## SVGDefsElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGDefsElementImpl : virtual public SVGDefsElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGDefsElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGDefsElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGDescElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGDescElementImpl : virtual public SVGDescElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGDescElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGDescElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGTitleElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGTitleElementImpl : virtual public SVGTitleElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGTitleElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGTitleElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGSymbolElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGSymbolElementImpl : virtual public SVGSymbolElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGSymbolElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGSymbolElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGUseElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGUseElementImpl : public SVGElementImpl
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
- /**
- *
- */
- virtual SVGElementInstance getInstanceRoot()
- { return instanceRoot; }
-
- /**
- *
- */
- virtual SVGElementInstance getAnimatedInstanceRoot()
- { return animatedInstanceRoot; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGUseElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGUseElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength width;
- SVGAnimatedLength height;
- SVGElementInstance instanceRoot;
- SVGElementInstance animatedInstanceRoot;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGImageElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGImageElementImpl : virtual public SVGImageElement,
- public SVGElementImpl
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
-
- /**
- *
- */
- virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
- { return preserveAspectRatio; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGImageElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGImageElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength width;
- SVGAnimatedLength height;
- SVGAnimatedPreserveAspectRatio preserveAspectRatio;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGSwitchElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGSwitchElementImpl : virtual public SVGSwitchElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGSwitchElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGSwitchElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## GetSVGDocumentImpl
-#########################################################################*/
-
-/**
- *
- */
-class GetSVGDocumentImpl : public virtual GetSVGDocument
-{
-public:
-
- /**
- *
- */
- virtual SVGDocumentPtr getSVGDocument ( )
- throw( DOMException );
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- GetSVGDocumentImpl() {}
-
- /**
- *
- */
- virtual ~GetSVGDocumentImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGStyleElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGStyleElementImpl : virtual public SVGStyleElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual DOMString getXmlspace()
- { return xmlSpace; }
-
- /**
- *
- */
- virtual void setXmlspace(const DOMString &val)
- throw (DOMException)
- { xmlSpace = val; }
-
- /**
- *
- */
- virtual DOMString getType()
- { return type; }
-
- /**
- *
- */
- virtual void setType(const DOMString &val)
- throw (DOMException)
- { type = val; }
-
- /**
- *
- */
- virtual DOMString getMedia()
- { return media; }
-
- /**
- *
- */
- virtual void setMedia(const DOMString &val)
- throw (DOMException)
- { media = val; }
-
- /**
- *
- */
- virtual DOMString getTitle()
- { return title; }
-
- /**
- *
- */
- virtual void setTitle(const DOMString &val)
- throw (DOMException)
- { title = val; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGStyleElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGStyleElementImpl() {}
-
-protected:
-
- DOMString xmlSpace;
- DOMString type;
- DOMString media;
- DOMString title;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathElementImpl : virtual public SVGPathElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getPathLength();
-
- /**
- *
- */
- virtual double getTotalLength ( );
-
- /**
- *
- */
- virtual SVGPoint getPointAtLength (double distance );
-
- /**
- *
- */
- virtual unsigned long getPathSegAtLength (double distance );
-
- /**
- *
- */
- virtual SVGPathSegClosePath
- createSVGPathSegClosePath ( )
- {
- SVGPathSegClosePath ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegMovetoAbs
- createSVGPathSegMovetoAbs (double x, double y )
- {
- SVGPathSegMovetoAbs ret(x, y);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegMovetoRel
- createSVGPathSegMovetoRel (double x, double y )
- {
- SVGPathSegMovetoRel ret(x, y);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegLinetoAbs
- createSVGPathSegLinetoAbs (double x, double y )
- {
- SVGPathSegLinetoAbs ret(x, y);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegLinetoRel
- createSVGPathSegLinetoRel (double x, double y )
- {
- SVGPathSegLinetoRel ret(x, y);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegCurvetoCubicAbs
- createSVGPathSegCurvetoCubicAbs (double x, double y,
- double x1, double y1, double x2, double y2 )
- {
- SVGPathSegCurvetoCubicAbs ret(x, y, x1, y1, x2, y2);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegCurvetoCubicRel
- createSVGPathSegCurvetoCubicRel (double x, double y,
- double x1, double y1, double x2, double y2 )
- {
- SVGPathSegCurvetoCubicRel ret(x, y, x1, y1, x2, y2);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegCurvetoQuadraticAbs
- createSVGPathSegCurvetoQuadraticAbs (double x, double y,
- double x1, double y1 )
- {
- SVGPathSegCurvetoQuadraticAbs ret(x, y, x1, y1);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegCurvetoQuadraticRel
- createSVGPathSegCurvetoQuadraticRel (double x, double y,
- double x1, double y1 )
- {
- SVGPathSegCurvetoQuadraticRel ret(x, y, x1, y1);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegArcAbs
- createSVGPathSegArcAbs (double x, double y,
- double r1, double r2, double angle,
- bool largeArcFlag, bool sweepFlag )
- {
- SVGPathSegArcAbs ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegArcRel
- createSVGPathSegArcRel (double x, double y, double r1,
- double r2, double angle, bool largeArcFlag,
- bool sweepFlag )
- {
- SVGPathSegArcRel ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegLinetoHorizontalAbs
- createSVGPathSegLinetoHorizontalAbs (double x )
- {
- SVGPathSegLinetoHorizontalAbs ret(x);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegLinetoHorizontalRel
- createSVGPathSegLinetoHorizontalRel (double x )
- {
- SVGPathSegLinetoHorizontalRel ret(x);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegLinetoVerticalAbs
- createSVGPathSegLinetoVerticalAbs (double y )
- {
- SVGPathSegLinetoVerticalAbs ret(y);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegLinetoVerticalRel
- createSVGPathSegLinetoVerticalRel (double y )
- {
- SVGPathSegLinetoVerticalRel ret(y);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegCurvetoCubicSmoothAbs
- createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
- double x2, double y2 )
- {
- SVGPathSegCurvetoCubicSmoothAbs ret(x, y, x2, y2);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegCurvetoCubicSmoothRel
- createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
- double x2, double y2 )
- {
- SVGPathSegCurvetoCubicSmoothRel ret(x, y, x2, y2);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegCurvetoQuadraticSmoothAbs
- createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y )
- {
- SVGPathSegCurvetoQuadraticSmoothAbs ret(x, y);
- return ret;
- }
-
- /**
- *
- */
- virtual SVGPathSegCurvetoQuadraticSmoothRel
- createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y )
- {
- SVGPathSegCurvetoQuadraticSmoothRel ret(x, y);
- return ret;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathElementImpl() {}
-
-
- /**
- *
- */
- virtual ~SVGPathElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGRectElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGRectElementImpl : virtual public SVGRectElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getRx()
- { return rx; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getRy()
- { return ry; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGRectElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGRectElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength width;
- SVGAnimatedLength height;
- SVGAnimatedLength rx;
- SVGAnimatedLength ry;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGCircleElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGCircleElementImpl : virtual public SVGCircleElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getCx()
- { return cx; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getCy()
- { return cy; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getR()
- { return r; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGCircleElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGCircleElementImpl() {}
-
-protected:
-
- SVGAnimatedLength cx;
- SVGAnimatedLength cy;
- SVGAnimatedLength r;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGEllipseElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGEllipseElementImpl : virtual public SVGEllipseElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getCx()
- { return cx; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getCy()
- { return cy; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getRx()
- { return rx; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getRy()
- { return ry; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGEllipseElementImpl() {}
-
- /**
- *
- */
- virtual ~SVGEllipseElementImpl() {}
-
-protected:
-
- SVGAnimatedLength cx;
- SVGAnimatedLength cy;
- SVGAnimatedLength rx;
- SVGAnimatedLength ry;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGLineElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGLineElementImpl : virtual public SVGLineElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getX1()
- { return x1; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY1()
- { return y1; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getX2()
- { return x2; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY2()
- { return y2; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGLineElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x1;
- SVGAnimatedLength x2;
- SVGAnimatedLength y1;
- SVGAnimatedLength y2;
-};
-
-
-
-
-/*#########################################################################
-## SVGPolylineElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGPolylineElementImpl : virtual public SVGPolylineElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGPolylineElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGPolygonElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGPolygonElementImpl : virtual public SVGPolygonElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGPolygonElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGTextContentElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTextContentElementImpl : virtual public SVGTextContentElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getTextLength();
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getLengthAdjust();
-
-
- /**
- *
- */
- virtual long getNumberOfChars( );
-
- /**
- *
- */
- virtual double getComputedTextLength( );
-
- /**
- *
- */
- virtual double getSubStringLength(unsigned long charnum,
- unsigned long nchars )
- throw( DOMException );
-
- /**
- *
- */
- virtual SVGPoint getStartPositionOfChar(unsigned long charnum )
- throw( DOMException );
-
- /**
- *
- */
- virtual SVGPoint getEndPositionOfChar(unsigned long charnum )
- throw( DOMException );
-
- /**
- *
- */
- virtual SVGRect getExtentOfChar(unsigned long charnum )
- throw( DOMException );
-
- /**
- *
- */
- virtual double getRotationOfChar(unsigned long charnum )
- throw( DOMException );
-
- /**
- *
- */
- virtual long getCharNumAtPosition(const SVGPoint &point );
-
- /**
- *
- */
- virtual void selectSubString(unsigned long charnum, unsigned long nchars )
- throw( DOMException );
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTextContentElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGTextPositioningElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGTextPositioningElementImpl : virtual public SVGTextPositioningElement,
- public SVGTextContentElementImpl
-{
-public:
-
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getDx()
- { return dx; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getDy()
- { return dy; }
-
-
- /**
- *
- */
- virtual SVGAnimatedNumberList getRotate()
- { return rotate; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTextPositioningElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength dx;
- SVGAnimatedLength dy;
- SVGAnimatedNumberList rotate;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGTextElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTextElementImpl : virtual public SVGTextElement,
- public SVGTextPositioningElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTextElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGTSpanElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTSpanElementImpl : virtual public SVGTSpanElement,
- public SVGTextPositioningElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTSpanElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGTRefElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTRefElementImpl : virtual public SVGTRefElement,
- public SVGTextPositioningElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTRefElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGTextPathElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGTextPathElementImpl : virtual public SVGTextPathElement,
- public SVGTextContentElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getStartOffset()
- { return startOffset; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMethod()
- { return method; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getSpacing()
- { return spacing; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGTextPathElementImpl() {}
-
-protected:
-
- SVGAnimatedLength startOffset;
- SVGAnimatedEnumeration method;
- SVGAnimatedEnumeration spacing;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphElement
-#########################################################################*/
-
-/**
- *
- */
-class SVGAltGlyphElementImpl : virtual public SVGAltGlyphElement,
- public SVGTextPositioningElementImpl
-{
-public:
-
- /**
- *
- */
- virtual DOMString getGlyphRef()
- { return glyphRef; }
-
- /**
- *
- */
- virtual void setGlyphRef(const DOMString &val)
- throw (DOMException)
- { glyphRef = val; }
-
- /**
- *
- */
- virtual DOMString getFormat()
- { return format; }
-
- /**
- *
- */
- virtual void setFormat(const DOMString &val)
- throw (DOMException)
- { format = val; }
-
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAltGlyphElementImpl() {}
-
-protected:
-
- DOMString glyphRef;
- DOMString format;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphDefElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGAltGlyphDefElementImpl : virtual public SVGAltGlyphDefElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAltGlyphDefElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAltGlyphItemElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGAltGlyphItemElementImpl : virtual public SVGAltGlyphItemElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAltGlyphItemElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGGlyphRefElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGGlyphRefElementImpl : virtual public SVGGlyphRefElement,
- public SVGElementImpl
-{
-public:
- /**
- *
- */
- virtual DOMString getGlyphRef()
- { return glyphRef; }
-
- /**
- *
- */
- virtual void setGlyphRef(const DOMString &val) throw (DOMException)
- { glyphRef = val; }
-
- /**
- *
- */
- virtual DOMString getFormat()
- { return format; }
-
- /**
- *
- */
- virtual void setFormat(const DOMString &val) throw (DOMException)
- { format = val; }
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getDx()
- { return dx; }
-
- /**
- *
- */
- virtual void setDx(double val) throw (DOMException)
- { dx = val; }
-
- /**
- *
- */
- virtual double getDy()
- { return dy; }
-
- /**
- *
- */
- virtual void setDy(double val) throw (DOMException)
- { dy = val; }
-
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGGlyphRefElementImpl() {}
-
-protected:
-
- DOMString glyphRef;
- DOMString format;
- double x, y, dx, dy;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGMarkerElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGMarkerElementImpl : virtual public SVGMarkerElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getRefX()
- { return refX; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getRefY()
- { return refY; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMarkerUnits()
- { return markerUnits; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getMarkerWidth()
- { return markerWidth; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getMarkerHeight()
- { return markerHeight; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getOrientType()
- { return orientType; }
-
- /**
- *
- */
- virtual SVGAnimatedAngle getOrientAngle()
- { return orientAngle; }
-
-
- /**
- *
- */
- virtual void setOrientToAuto ( )
- { orientAuto = true; }
-
- /**
- *
- */
- virtual void setOrientToAngle (const SVGAngle &angle)
- {
- orientAuto = false;
- orientAngle = SVGAnimatedAngle(angle);
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMarkerElementImpl() {}
-
-protected:
-
- SVGAnimatedLength refX;
- SVGAnimatedLength refY;
- SVGAnimatedEnumeration markerUnits;
- SVGAnimatedLength markerWidth;
- SVGAnimatedLength markerHeight;
- SVGAnimatedEnumeration orientType;
- SVGAnimatedAngle orientAngle;
- bool orientAuto;
-
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGColorProfileElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGColorProfileElementImpl : virtual public SVGColorProfileElement,
- public SVGElementImpl
-{
-public:
- /**
- *
- */
- virtual DOMString getLocal()
- { return local; }
-
- /**
- *
- */
- virtual void setLocal(const DOMString &val) throw (DOMException)
- { local = val; }
-
- /**
- *
- */
- virtual DOMString getName()
- { return name; }
-
- /**
- *
- */
- virtual void setName(const DOMString &val) throw (DOMException)
- { name = val; }
-
- /**
- *
- */
- virtual unsigned short getRenderingIntent()
- { return renderingIntent; }
-
- /**
- *
- */
- virtual void setRenderingIntent(unsigned short val) throw (DOMException)
- { renderingIntent = val; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGColorProfileElementImpl() {}
-
-protected:
-
- DOMString local;
- DOMString name;
- unsigned short renderingIntent;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGGradientElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGGradientElementImpl : virtual public SVGGradientElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getGradientUnits()
- { return gradientUnits; }
-
- /**
- *
- */
- virtual SVGAnimatedTransformList getGradientTransform()
- { return gradientTransform; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getSpreadMethod()
- { return spreadMethod; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGGradientElementImpl() {}
-
-protected:
-
-
- SVGAnimatedEnumeration gradientUnits;
- SVGAnimatedTransformList gradientTransform;
- SVGAnimatedEnumeration spreadMethod;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGLinearGradientElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGLinearGradientElementImpl : virtual public SVGLinearGradientElement,
- public SVGGradientElementImpl
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX1()
- { return x1; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY1()
- { return y1; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getX2()
- { return x2; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY2()
- { return y2; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGLinearGradientElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x1, x2, y1, y2;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGRadialGradientElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGRadialGradientElementImpl : virtual public SVGRadialGradientElement,
- public SVGGradientElementImpl
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getCx()
- { return cx; }
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getCy()
- { return cy; }
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getR()
- { return r; }
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getFx()
- { return fx; }
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getFy()
- { return fy; }
-
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGRadialGradientElementImpl() {}
-
-protected:
-
- SVGAnimatedLength cx, cy, r, fx, fy;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGStopElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGStopElementImpl : virtual public SVGStopElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getOffset()
- { return offset; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGStopElementImpl() {}
-
-protected:
-
- SVGAnimatedNumber offset;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGPatternElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGPatternElementImpl : virtual public SVGPatternElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getPatternUnits()
- { return patternUnits; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getPatternContentUnits()
- { return patternContentUnits; }
-
- /**
- *
- */
- virtual SVGAnimatedTransformList getPatternTransform()
- { return patternTransform; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGPatternElementImpl() {}
-
-protected:
-
-
- SVGAnimatedEnumeration patternUnits;
- SVGAnimatedEnumeration patternContentUnits;
- SVGAnimatedTransformList patternTransform;
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength width;
- SVGAnimatedLength height;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGClipPathElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGClipPathElementImpl : virtual public SVGClipPathElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getClipPathUnits()
- { return clipPathUnits; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGClipPathElementImpl() {}
-
-protected:
-
- SVGAnimatedEnumeration clipPathUnits;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGMaskElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGMaskElementImpl : virtual public SVGMaskElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMaskUnits()
- { return maskUnits; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMaskContentUnits()
- { return maskContentUnits; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMaskElementImpl() {}
-
-protected:
-
-
- SVGAnimatedEnumeration maskUnits;
- SVGAnimatedEnumeration maskContentUnits;
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength width;
- SVGAnimatedLength height;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFilterElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFilterElementImpl : virtual public SVGFilterElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getFilterUnits()
- { return filterUnits; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getPrimitiveUnits()
- { return filterUnits; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
- /**
- *
- */
- virtual SVGAnimatedInteger getFilterResX()
- { return filterResX; }
-
- /**
- *
- */
- virtual SVGAnimatedInteger getFilterResY()
- { return filterResY; }
-
- /**
- *
- */
- virtual void setFilterRes (unsigned long filterResXArg,
- unsigned long filterResYArg )
- {
- filterResX = filterResXArg;
- filterResY = filterResYArg;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFilterElementImpl() {}
-
-protected:
-
- SVGAnimatedEnumeration filterUnits;
- SVGAnimatedEnumeration primitiveUnits;
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength width;
- SVGAnimatedLength height;
- SVGAnimatedInteger filterResX;
- SVGAnimatedInteger filterResY;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEBlendElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEBlendElementImpl : virtual public SVGFEBlendElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
- /**
- *
- */
- virtual SVGAnimatedString getIn2()
- { return in2; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getMode()
- { return mode; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEBlendElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1, in2;
- SVGAnimatedEnumeration mode;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEColorMatrixElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEColorMatrixElementImpl : virtual public SVGFEColorMatrixElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getType()
- { return type; }
-
- /**
- *
- */
- virtual SVGAnimatedNumberList getValues()
- { return values; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEColorMatrixElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
- SVGAnimatedEnumeration type;
- SVGAnimatedNumberList values;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEComponentTransferElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEComponentTransferElementImpl :
- virtual public SVGFEComponentTransferElement,
- public SVGElementImpl
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEComponentTransferElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGComponentTransferFunctionElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGComponentTransferFunctionElementImpl :
- virtual public SVGComponentTransferFunctionElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getType()
- { return type; }
-
- /**
- *
- */
- virtual SVGAnimatedNumberList getTableValues()
- { return tableValues; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSlope()
- { return slope; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getIntercept()
- { return intercept; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getAmplitude()
- { return amplitude; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getExponent()
- { return exponent; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getOffset()
- { return offset; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGComponentTransferFunctionElementImpl() {}
-
-protected:
-
- SVGAnimatedEnumeration type;
- SVGAnimatedNumberList tableValues;
- SVGAnimatedNumber slope;
- SVGAnimatedNumber intercept;
- SVGAnimatedNumber amplitude;
- SVGAnimatedNumber exponent;
- SVGAnimatedNumber offset;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncRElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFuncRElementImpl :
- virtual public SVGFEFuncRElement,
- public SVGComponentTransferFunctionElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFuncRElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncGElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFuncGElementImpl : virtual public SVGFEFuncGElement,
- public SVGComponentTransferFunctionElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFuncGElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncBElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFuncBElementImpl : virtual public SVGFEFuncBElement,
- public SVGComponentTransferFunctionElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFuncBElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFEFuncAElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFuncAElementImpl : virtual public SVGFEFuncAElement,
- public SVGComponentTransferFunctionElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFuncAElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFECompositeElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFECompositeElementImpl : virtual public SVGFECompositeElement,
- public SVGElementImpl
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
- /**
- *
- */
- virtual SVGAnimatedString getIn2()
- { return in2; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getOperator()
- { return ae_operator; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getK1()
- { return k1; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getK2()
- { return k2; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getK3()
- { return k3; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getK4()
- { return k4; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFECompositeElementImpl() {}
-
-protected:
-
-
- SVGAnimatedString in1;
- SVGAnimatedString in2;
- SVGAnimatedEnumeration ae_operator;
- SVGAnimatedNumber k1;
- SVGAnimatedNumber k2;
- SVGAnimatedNumber k3;
- SVGAnimatedNumber k4;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEConvolveMatrixElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEConvolveMatrixElementImpl : virtual public SVGFEConvolveMatrixElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedInteger getOrderX()
- { return orderX; }
-
- /**
- *
- */
- virtual SVGAnimatedInteger getOrderY()
- { return orderY; }
-
- /**
- *
- */
- virtual SVGAnimatedNumberList getKernelMatrix()
- { return kernelMatrix; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getDivisor()
- { return divisor; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getBias()
- { return bias; }
-
- /**
- *
- */
- virtual SVGAnimatedInteger getTargetX()
- { return targetX; }
-
- /**
- *
- */
- virtual SVGAnimatedInteger getTargetY()
- { return targetY; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getEdgeMode()
- { return edgeMode; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getKernelUnitLengthX()
- { return kernelUnitLengthX; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getKernelUnitLengthY()
- { return kernelUnitLengthY; }
-
- /**
- *
- */
- virtual SVGAnimatedBoolean getPreserveAlpha()
- { return preserveAlpha; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEConvolveMatrixElementImpl() {}
-
-protected:
-
- SVGAnimatedInteger orderX;
- SVGAnimatedInteger orderY;
- SVGAnimatedNumberList kernelMatrix;
- SVGAnimatedNumber divisor;
- SVGAnimatedNumber bias;
- SVGAnimatedInteger targetX;
- SVGAnimatedInteger targetY;
- SVGAnimatedEnumeration edgeMode;
- SVGAnimatedLength kernelUnitLengthX;
- SVGAnimatedLength kernelUnitLengthY;
- SVGAnimatedBoolean preserveAlpha;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEDiffuseLightingElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEDiffuseLightingElementImpl : virtual public SVGFEDiffuseLightingElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSurfaceScale()
- { return surfaceScale; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getDiffuseConstant()
- { return diffuseConstant; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEDiffuseLightingElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
- SVGAnimatedNumber surfaceScale;
- SVGAnimatedNumber diffuseConstant;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEDistantLightElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEDistantLightElementImpl : virtual public SVGFEDistantLightElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getAzimuth()
- { return azimuth; }
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getElevation()
- { return elevation; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEDistantLightElementImpl() {}
-
-protected:
-
- SVGAnimatedNumber azimuth;
- SVGAnimatedNumber elevation;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEPointLightElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEPointLightElementImpl : public virtual SVGFEPointLightElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getX()
- { return x; }
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getZ()
- { return z; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEPointLightElementImpl() {}
-
-protected:
-
- SVGAnimatedNumber x, y, z;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFESpotLightElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFESpotLightElementImpl : virtual public SVGFESpotLightElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getX()
- { return x; }
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getZ()
- { return z; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getPointsAtX()
- { return pointsAtX; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getPointsAtY()
- { return pointsAtY; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getPointsAtZ()
- { return pointsAtZ; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSpecularExponent()
- { return specularExponent; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getLimitingConeAngle()
- { return limitingConeAngle; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFESpotLightElementImpl() {}
-
-protected:
-
- SVGAnimatedNumber x, y, z;
- SVGAnimatedNumber pointsAtX, pointsAtY, pointsAtZ;
- SVGAnimatedNumber specularExponent;
- SVGAnimatedNumber limitingConeAngle;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEDisplacementMapElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEDisplacementMapElementImpl : virtual public SVGFEDisplacementMapElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
- /**
- *
- */
- virtual SVGAnimatedString getIn2()
- { return in2; }
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getScale()
- { return scale; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getXChannelSelector()
- { return xChannelSelector; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getYChannelSelector()
- { return yChannelSelector; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEDisplacementMapElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
- SVGAnimatedString in2;
- SVGAnimatedNumber scale;
- SVGAnimatedEnumeration xChannelSelector;
- SVGAnimatedEnumeration yChannelSelector;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEFloodElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEFloodElementImpl : virtual public SVGFEFloodElement,
- public SVGElementImpl
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEFloodElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEGaussianBlurElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEGaussianBlurElementImpl : virtual public SVGFEGaussianBlurElement,
- public SVGElementImpl
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
-
- /**
- *
- */
- virtual SVGAnimatedNumber getStdDeviationX()
- { return stdDeviationX; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getStdDeviationY()
- { return stdDeviationY; }
-
-
- /**
- *
- */
- virtual void setStdDeviation (double stdDeviationXArg, double stdDeviationYArg )
- {
- stdDeviationX = stdDeviationXArg;
- stdDeviationY = stdDeviationYArg;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEGaussianBlurElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
- SVGAnimatedNumber stdDeviationX, stdDeviationY;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEImageElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEImageElementImpl : virtual public SVGFEImageElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEImageElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFEMergeElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEMergeElementImpl : virtual public SVGFEMergeElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEMergeElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFEMergeNodeElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEMergeNodeElementImpl : virtual public SVGFEMergeNodeElement,
- public SVGElementImpl
-{
-public:
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEMergeNodeElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEMorphologyElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEMorphologyElementImpl : virtual public SVGFEMorphologyElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getOperator()
- { return me_operator; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getRadiusX()
- { return radiusX; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getRadiusY()
- { return radiusY; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEMorphologyElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
- SVGAnimatedEnumeration me_operator;
- SVGAnimatedLength radiusX;
- SVGAnimatedLength radiusY;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFEOffsetElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFEOffsetElementImpl : virtual public SVGFEOffsetElement,
- public SVGElementImpl
-{
-public:
-
-
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getDx()
- { return dx; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getDy()
- { return dy; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFEOffsetElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
- SVGAnimatedLength dx, dy;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFESpecularLightingElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFESpecularLightingElementImpl :
- virtual public SVGFESpecularLightingElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSurfaceScale()
- { return surfaceScale; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSpecularConstant()
- { return specularConstant; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSpecularExponent()
- { return specularExponent; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFESpecularLightingElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
- SVGAnimatedNumber surfaceScale;
- SVGAnimatedNumber specularConstant;
- SVGAnimatedNumber specularExponent;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFETileElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFETileElementImpl : virtual public SVGFETileElement,
- public SVGElementImpl
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedString getIn1()
- { return in1; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFETileElementImpl() {}
-
-protected:
-
- SVGAnimatedString in1;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGFETurbulenceElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFETurbulenceElementImpl : virtual public SVGFETurbulenceElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedNumber getBaseFrequencyX()
- { return baseFrequencyX; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getBaseFrequencyY()
- { return baseFrequencyY; }
-
- /**
- *
- */
- virtual SVGAnimatedInteger getNumOctaves()
- { return numOctaves; }
-
- /**
- *
- */
- virtual SVGAnimatedNumber getSeed()
- { return seed; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getStitchTiles()
- { return stitchTiles; }
-
- /**
- *
- */
- virtual SVGAnimatedEnumeration getType()
- { return type; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFETurbulenceElementImpl() {}
-
-protected:
-
- SVGAnimatedNumber baseFrequencyX;
- SVGAnimatedNumber baseFrequencyY;
- SVGAnimatedInteger numOctaves;
- SVGAnimatedNumber seed;
- SVGAnimatedEnumeration stitchTiles;
- SVGAnimatedEnumeration type;
-
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGCursorElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGCursorElementImpl : virtual public SVGCursorElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return x; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGCursorElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x, y;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGAElementImpl : virtual public SVGAElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getTarget()
- { return target; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAElementImpl() {}
-
-protected:
-
- SVGAnimatedString target;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGViewElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGViewElementImpl : virtual public SVGViewElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual SVGStringList getViewTarget()
- { return viewTarget; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGViewElementImpl() {}
-
-protected:
-
- SVGStringList viewTarget;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGScriptElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGScriptElementImpl : virtual public SVGScriptElement,
- public SVGElementImpl
-{
-public:
-
- /**
- *
- */
- virtual DOMString getType()
- { return type; }
-
- /**
- *
- */
- virtual void setType(const DOMString &val) throw (DOMException)
- { type = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGScriptElementImpl() {}
-
-protected:
-
- DOMString type;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimationElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimationElementImpl : virtual public SVGAnimationElement,
- public SVGElementImpl
-{
-public:
-
-
- /**
- *
- */
- virtual SVGElementPtr getTargetElement()
- { return targetElement; }
-
-
- /**
- *
- */
- virtual double getStartTime ( )
- { return startTime; }
-
- /**
- *
- */
- virtual double getCurrentTime ( )
- { return currentTime; }
-
- /**
- *
- */
- virtual double getSimpleDuration ( ) throw( DOMException )
- { return simpleDuration; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimationElementImpl() {}
-
-protected:
-
- SVGElementPtr targetElement;
- double startTime, currentTime, simpleDuration;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimateElementImpl : virtual public SVGAnimateElement,
- public SVGAnimationElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimateElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGSetElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGSetElementImpl : virtual public SVGSetElement,
- public SVGAnimationElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGSetElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateMotionElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimateMotionElementImpl : virtual public SVGAnimateMotionElement,
- public SVGAnimationElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimateMotionElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGMPathElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGMPathElementImpl : virtual public SVGMPathElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMPathElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateColorElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimateColorElementImpl : virtual public SVGAnimateColorElement,
- public SVGAnimationElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimateColorElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAnimateTransformElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimateTransformElementImpl : virtual public SVGAnimateTransformElement,
- public SVGAnimationElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGAnimateTransformElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFontElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontElementImpl : virtual public SVGFontElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGGlyphElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGGlyphElementImpl : virtual public SVGGlyphElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGGlyphElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGMissingGlyphElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGMissingGlyphElementImpl : virtual public SVGMissingGlyphElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMissingGlyphElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGHKernElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGHKernElementImpl : virtual public SVGHKernElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGHKernElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGVKernElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGVKernElementImpl : virtual public SVGVKernElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGVKernElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceElementImpl : virtual public SVGFontFaceElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceSrcElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceSrcElementImpl : virtual public SVGFontFaceSrcElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceSrcElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceUriElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceUriElementImpl : virtual public SVGFontFaceUriElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceUriElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceFormatElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceFormatElementImpl : virtual public SVGFontFaceFormatElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceFormatElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGFontFaceNameElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGFontFaceNameElementImpl : virtual public SVGFontFaceNameElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGFontFaceNameElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGDefinitionSrcElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGDefinitionSrcElementImpl : virtual public SVGDefinitionSrcElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGDefinitionSrcElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGMetadataElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGMetadataElementImpl : virtual public SVGMetadataElement,
- public SVGElementImpl
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- virtual ~SVGMetadataElementImpl() {}
-
-protected:
-
-
-};
-
-
-
-
-/*#########################################################################
-## SVGForeignObjectElementImpl
-#########################################################################*/
-
-/**
- *
- */
-class SVGForeignObjectElementImpl : virtual public SVGForeignObjectElement,
- public SVGElementImpl
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- virtual ~SVGForeignObjectElementImpl() {}
-
-protected:
-
- SVGAnimatedLength x, y, width, height;
-};
-
-
-
-
-
-
-} //namespace svg
-} //namespace dom
-} //namespace w3c
-} //namespace org
-
-#endif // __SVG_H__
-/*#########################################################################
-## E N D O F F I L E
-#########################################################################*/
-
diff --git a/src/dom/svg/svgparser.cpp b/src/dom/svg/svgparser.cpp
+++ /dev/null
@@ -1,761 +0,0 @@
-/**
- * Phoebe DOM Implementation.
- *
- * This is a C++ approximation of the W3C DOM model, which follows
- * fairly closely the specifications in the various .idl files, copies of
- * which are provided for reference. Most important is this one:
- *
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
- *
- * Authors:
- * Bob Jamison
- *
- * Copyright (C) 2005-2008 Bob Jamison
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-#include "svgparser.h"
-#include "dom/cssparser.h"
-#include "dom/ucd.h"
-
-#include <stdarg.h>
-
-#define SVG_NAMESPACE "http://www.w3.org/2000/svg"
-
-namespace org
-{
-namespace w3c
-{
-namespace dom
-{
-namespace svg
-{
-
-
-//#########################################################################
-//# M E S S A G E S
-//#########################################################################
-
-
-/**
- *
- */
-void SvgParser::error(char const *fmt, ...)
-{
- va_list args;
- fprintf(stderr, "SvgParser:error:");
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args) ;
- fprintf(stderr, "\n");
-}
-
-
-
-//#########################################################################
-//# P A R S I N G
-//#########################################################################
-
-/**
- * Get the character at the position and record the fact
- */
-XMLCh SvgParser::get(int p)
-{
- if (p >= parselen)
- return 0;
- XMLCh ch = parsebuf[p];
- //printf("%c", ch);
- lastPosition = p;
- return ch;
-}
-
-
-
-/**
- * Test if the given substring exists at the given position
- * in parsebuf. Use get() in case of out-of-bounds
- */
-bool SvgParser::match(int pos, char const *str)
-{
- while (*str)
- {
- if (get(pos++) != (XMLCh) *str++)
- return false;
- }
- return true;
-}
-
-/**
- *
- */
-int SvgParser::skipwhite(int p)
-{
- while (p < parselen)
- {
- //# XML COMMENT
- if (match(p, "<!--"))
- {
- p+=4;
- bool done=false;
- while (p<parselen)
- {
- if (match(p, "-->"))
- {
- p+=3;
- done=true;
- break;
- }
- p++;
- }
- lastPosition = p;
- if (!done)
- {
- error("unterminated <!-- .. --> comment");
- return -1;
- }
- }
- //# C comment
- else if (match(p, "/*"))
- {
- p+=2;
- bool done=false;
- while (p<parselen)
- {
- if (match(p, "*/"))
- {
- p+=2;
- done=true;
- break;
- }
- p++;
- }
- lastPosition = p;
- if (!done)
- {
- error("unterminated /* .. */ comment");
- return -1;
- }
- }
- else if (!uni_is_space(get(p)))
- break;
- else
- p++;
- }
- lastPosition = p;
- return p;
-}
-
-/**
- * get a word from the buffer
- */
-int SvgParser::getWord(int p, DOMString &result)
-{
- XMLCh ch = get(p);
- if (!uni_is_letter(ch))
- return p;
- DOMString str;
- str.push_back(ch);
- p++;
-
- while (p < parselen)
- {
- ch = get(p);
- if (uni_is_letter_or_digit(ch) || ch=='-' || ch=='_')
- {
- str.push_back(ch);
- p++;
- }
- else if (ch == '\\')
- {
- p+=2;
- }
- else
- break;
- }
- result = str;
- return p;
-}
-
-
-# if 0
-/**
- * get a word from the buffer
- */
-int SvgParser::getNumber(int p0, double &result)
-{
- int p=p0;
-
- DOMString str;
-
- //allow sign
- if (get(p) == '-')
- {
- p++;
- }
-
- while (p < parselen)
- {
- XMLCh ch = get(p);
- if (ch<'0' || ch>'9')
- break;
- str.push_back(ch);
- p++;
- }
- if (get(p) == '.' && get(p+1)>='0' && get(p+1)<='9')
- {
- p++;
- str.push_back('.');
- while (p < parselen)
- {
- XMLCh ch = get(p);
- if (ch<'0' || ch>'9')
- break;
- str.push_back(ch);
- p++;
- }
- }
- if (p>p0)
- {
- char *start = (char *)str.c_str();
- char *end = NULL;
- double val = strtod(start, &end);
- if (end > start)
- {
- result = val;
- return p;
- }
- }
-
- //not a number
- return p0;
-}
-#endif
-
-
-/**
- * get a word from the buffer
- */
-int SvgParser::getNumber(int p0, double &result)
-{
- int p=p0;
-
- char buf[64];
-
- int i;
- for (i=0 ; i<63 && p<parselen ; i++)
- {
- buf[i] = (char) get(p++);
- }
- buf[i] = '\0';
-
- char *start = buf;
- char *end = NULL;
- double val = strtod(start, &end);
- if (end > start)
- {
- result = val;
- int count = (int)(end - start);
- p = p0 + count;
- return p;
- }
-
- //not a number
- return p0;
-}
-
-
-bool SvgParser::parseTransform(const DOMString &str)
-{
- parsebuf = str;
- parselen = str.size();
-
- //printf("transform:%s\n", str.c_str());
-
- SVGTransformList transformList;
-
- int p = 0;
-
- while (p < parselen)
- {
- p = skipwhite(p);
- DOMString name;
- int p2 = getWord(p, name);
- if (p2<0)
- return false;
- if (p2<=p)
- {
- error("transform: need transform name");
- //return false;
- break;
- }
- p = p2;
- //printf("transform name:%s\n", name.c_str());
-
- //######### MATRIX
- if (name == "matrix")
- {
- p = skipwhite(p);
- if (get(p++) != '(')
- {
- error("matrix transform needs opening '('");
- return false;
- }
- int nrVals = 0;
- double vals[6];
- bool seenBrace = false;
- while (p < parselen && nrVals < 6)
- {
- p = skipwhite(p);
- double val = 0.0;
- p2 = getNumber(p, val);
- if (p2<0)
- return false;
- if (p2<=p)
- {
- error("matrix() expected number");
- return false;
- }
- vals[nrVals++] = val;
- p = skipwhite(p2);
- XMLCh ch = get(p);
- if (ch == ',')
- {
- p++;
- p = skipwhite(p);
- ch = get(p);
- }
- if (ch == ')')
- {
- seenBrace = true;
- p++;
- break;
- }
- }
- if (!seenBrace)
- {
- error("matrix() needs closing brace");
- return false;
- }
- if (nrVals != 6)
- {
- error("matrix() requires exactly 6 arguments");
- return false;
- }
- //We got our arguments
- //printf("translate: %f %f %f %f %f %f\n",
- // vals[0], vals[1], vals[2], vals[3], vals[4], vals[5]);
- SVGMatrix matrix(vals[0], vals[1], vals[2],
- vals[3], vals[4], vals[5]);
- SVGTransform transform;
- transform.setMatrix(matrix);
- transformList.appendItem(transform);
- }
-
- //######### TRANSLATE
- else if (name == "translate")
- {
- p = skipwhite(p);
- if (get(p++) != '(')
- {
- error("matrix transform needs opening '('");
- return false;
- }
- p = skipwhite(p);
- double x = 0.0;
- p2 = getNumber(p, x);
- if (p2<0)
- return false;
- if (p2<=p)
- {
- error("translate() expected 'x' value");
- return false;
- }
- p = skipwhite(p2);
- if (get(p) == ',')
- {
- p++;
- p = skipwhite(p);
- }
- double y = 0.0;
- p2 = getNumber(p, y);
- if (p2<0)
- return false;
- if (p2<=p) //no y specified. use default
- y = 0.0;
- p = skipwhite(p2);
- if (get(p++) != ')')
- {
- error("translate() needs closing ')'");
- return false;
- }
- //printf("translate: %f %f\n", x, y);
- SVGTransform transform;
- transform.setTranslate(x, y);
- transformList.appendItem(transform);
- }
-
- //######### SCALE
- else if (name == "scale")
- {
- p = skipwhite(p);
- if (get(p++) != '(')
- {
- error("scale transform needs opening '('");
- return false;
- }
- p = skipwhite(p);
- double x = 0.0;
- p2 = getNumber(p, x);
- if (p2<0)
- return false;
- if (p2<=p)
- {
- error("scale() expected 'x' value");
- return false;
- }
- p = skipwhite(p2);
- if (get(p) == ',')
- {
- p++;
- p = skipwhite(p);
- }
- double y = 0.0;
- p2 = getNumber(p, y);
- if (p2<0)
- return false;
- if (p2<=p) //no y specified. use default
- y = x; // y is same as x. uniform scaling
- p = skipwhite(p2);
- if (get(p++) != ')')
- {
- error("scale() needs closing ')'");
- return false;
- }
- //printf("scale: %f %f\n", x, y);
- SVGTransform transform;
- transform.setScale(x, y);
- transformList.appendItem(transform);
- }
-
- //######### ROTATE
- else if (name == "rotate")
- {
- p = skipwhite(p);
- if (get(p++) != '(')
- {
- error("rotate transform needs opening '('");
- return false;
- }
- p = skipwhite(p);
- double angle = 0.0;
- p2 = getNumber(p, angle);
- if (p2<0)
- return false;
- if (p2<=p)
- {
- error("rotate() expected 'angle' value");
- return false;
- }
- p = skipwhite(p2);
- if (get(p) == ',')
- {
- p++;
- p = skipwhite(p);
- }
- double cx = 0.0;
- double cy = 0.0;
- p2 = getNumber(p, cx);
- if (p2>p)
- {
- p = skipwhite(p2);
- if (get(p) == ',')
- {
- p++;
- p = skipwhite(p);
- }
- p2 = getNumber(p, cy);
- if (p2<0)
- return false;
- if (p2<=p)
- {
- error("rotate() arguments should be either rotate(angle) or rotate(angle, cx, cy)");
- return false;
- }
- p = skipwhite(p2);
- }
- if (get(p++) != ')')
- {
- error("rotate() needs closing ')'");
- return false;
- }
- //printf("rotate: %f %f %f\n", angle, cx, cy);
- SVGTransform transform;
- transform.setRotate(angle, cx, cy);
- transformList.appendItem(transform);
- }
-
- //######### SKEWX
- else if (name == "skewX")
- {
- p = skipwhite(p);
- if (get(p++) != '(')
- {
- error("skewX transform needs opening '('");
- return false;
- }
- p = skipwhite(p);
- double x = 0.0;
- p2 = getNumber(p, x);
- if (p2<0)
- return false;
- if (p2<=p)
- {
- error("skewX() expected 'x' value");
- return false;
- }
- p = skipwhite(p2);
- if (get(p++) != ')')
- {
- error("skewX() needs closing ')'");
- return false;
- }
- //printf("skewX: %f\n", x);
- SVGTransform transform;
- transform.setSkewX(x);
- transformList.appendItem(transform);
- }
-
- //######### SKEWY
- else if (name == "skewY")
- {
- p = skipwhite(p);
- if (get(p++) != '(')
- {
- error("skewY transform needs opening '('");
- return false;
- }
- p = skipwhite(p);
- double y = 0.0;
- p2 = getNumber(p, y);
- if (p2<0)
- return false;
- if (p2<=p)
- {
- error("skewY() expected 'y' value");
- return false;
- }
- p = skipwhite(p2);
- if (get(p++) != ')')
- {
- error("skewY() needs closing ')'");
- return false;
- }
- //printf("skewY: %f\n", y);
- SVGTransform transform;
- transform.setSkewY(y);
- transformList.appendItem(transform);
- }
-
- //### NONE OF THE ABOVE
- else
- {
- error("unknown transform type:'%s'", name.c_str());
- }
-
- p = skipwhite(p);
- XMLCh ch = get(p);
- if (ch == ',')
- {
- p++;
- p = skipwhite(p);
- }
-
- }//WHILE p<parselen
-
- return true;
-}
-
-
-/**
- *
- */
-bool SvgParser::parseElement(SVGElementImplPtr parent,
- ElementImplPtr sourceElem)
-{
- if (!parent || !sourceElem)
- {
- error("NULL source element");
- return false;
- }
-
- DOMString namespaceURI = sourceElem->getNamespaceURI();
- //printf("namespaceURI:%s\n", namespaceURI.c_str());
- DOMString tagName = sourceElem->getTagName();
- printf("tag name:%s\n", tagName.c_str());
-
- ElementImplPtr newElement = NULL;
- if (namespaceURI != SVG_NAMESPACE)
- {
- newElement = new SVGSVGElementImpl();
- newElement->assign(*sourceElem);
- parent->appendChild(newElement);
- }
- else //## SVG!!
- {
-
- //####################################################
- //## ATTRIBUTES
- //####################################################
- DOMString style = sourceElem->getAttribute("style");
- if (style.size() > 0)
- {
- css::CssParser parser;
- style.insert(0, "{");
- style.append("}");
- //printf("CSS:%s\n", style.c_str());
- if (!parser.parse(style))
- {
- error("parsing style attribute");
- }
- else
- {
- //printf("##parsed!\n");
- }
- }
-
- DOMString transform = sourceElem->getAttribute("transform");
- if (transform.size() > 0)
- {
- if (!parseTransform(transform))
- {
- error("parsing transform attribute");
- }
- else
- {
- //printf("##parsed!\n");
- }
- }
-
- //####################################################
- //## ELEMENT - SPECIFIC
- //####################################################
- if (tagName == "svg")
- {
- newElement = new SVGSVGElementImpl();
- newElement->assign(*sourceElem);
- parent->appendChild(newElement);
- }
- else if (tagName == "title")
- {
- newElement = new SVGTitleElementImpl();
- newElement->assign(*sourceElem);
- parent->appendChild(newElement);
- }
- else if (tagName == "desc")
- {
- newElement = new SVGDescElementImpl();
- newElement->assign(*sourceElem);
- parent->appendChild(newElement);
- }
- else if (tagName == "defs")
- {
- newElement = new SVGDefsElementImpl();
- newElement->assign(*sourceElem);
- parent->appendChild(newElement);
- }
- else if (tagName == "style")
- {
- newElement = new SVGStyleElementImpl();
- newElement->assign(*sourceElem);
- parent->appendChild(newElement);
- }
- else if (tagName == "g")
- {
- newElement = new SVGGElementImpl();
- newElement->assign(*sourceElem);
- parent->appendChild(newElement);
- }
- else if (tagName == "path")
- {
- newElement = new SVGPathElementImpl();
- newElement->assign(*sourceElem);
- parent->appendChild(newElement);
- }
- }
-
- NodeList children = sourceElem->getChildNodes();
- int nodeCount = children.getLength();
- for (int i=0 ; i<nodeCount ; i++)
- {
- NodePtr child = children.item(i);
- int typ = child->getNodeType();
- if (typ == Node::TEXT_NODE)
- {
- NodePtr newNode = doc->createTextNode(child->getNodeValue());
- parent->appendChild(newNode);
- }
- else if (typ == Node::CDATA_SECTION_NODE)
- {
- NodePtr newNode = doc->createCDATASection(child->getNodeValue());
- parent->appendChild(newNode);
- }
- else if (newElement.get() && typ == Node::ELEMENT_NODE)
- {
- //ElementImplPtr childElement = dynamic_cast<ElementImpl *>(child.get());
- //parseElement(newElement, childElement);
- }
- }
- return true;
-}
-
-
-/**
- *
- */
-SVGDocumentPtr SvgParser::parse(const DocumentPtr src)
-{
- if (!src)
- {
- error("NULL source document");
- return NULL;
- }
-
- DOMImplementationImpl impl;
- doc = new SVGDocumentImpl(&impl, SVG_NAMESPACE, "svg" , NULL);
-
- SVGElementImplPtr destElem = dynamic_cast<SVGElementImpl *>(doc->getRootElement().get());
- ElementImplPtr srcElem = dynamic_cast<ElementImpl *>(src->getDocumentElement().get());
- if (!parseElement(destElem, srcElem))
- {
- return NULL;
- }
-
- return doc;
-}
-
-
-
-
-} //namespace svg
-} //namespace dom
-} //namespace w3c
-} //namespace org
-
-/*#########################################################################
-## E N D O F F I L E
-#########################################################################*/
-
diff --git a/src/dom/svg/svgparser.h b/src/dom/svg/svgparser.h
--- a/src/dom/svg/svgparser.h
+++ /dev/null
@@ -1,156 +0,0 @@
-#ifndef __SVGPARSER_H__
-#define __SVGPARSER_H__
-
-/**
- * Phoebe DOM Implementation.
- *
- * This is a C++ approximation of the W3C DOM model, which follows
- * fairly closely the specifications in the various .idl files, copies of
- * which are provided for reference. Most important is this one:
- *
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
- *
- * Authors:
- * Bob Jamison
- *
- * Copyright (C) 2005-2007 Bob Jamison
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-#include "svgimpl.h"
-
-namespace org
-{
-namespace w3c
-{
-namespace dom
-{
-namespace svg
-{
-
-
-class SvgParser
-{
-public:
-
- /**
- *
- */
- SvgParser()
- {
- }
-
- /**
- *
- */
- SvgParser(const SvgParser &/*other*/)
- {
- }
-
- /**
- *
- */
- virtual ~SvgParser()
- {
- }
-
- /**
- *
- */
- SVGDocumentPtr parse(const DocumentPtr sourceDoc);
-
-
-
-
-private:
-
- /**
- * Get the next character in the parse buf, 0 if out
- * of range
- */
- XMLCh get(int p);
-
- /**
- * Test if the given substring exists at the given position
- * in parsebuf. Use get() in case of out-of-bounds
- */
- bool match(int pos, char const *str);
-
- /**
- *
- */
- int skipwhite(int p);
-
- /**
- * get a word from the buffer
- */
- int getWord(int p, DOMString &result);
-
- /**
- * get a word from the buffer
- */
- int getNumber(int p0, double &result);
-
-
- /**
- *
- */
- bool parseTransform(const DOMString &str);
-
-
- /**
- *
- */
- bool parseElement(SVGElementImplPtr destElem,
- ElementImplPtr sourceElem);
-
-
- /**
- *
- */
- void error(char const *format, ...)
- #ifdef G_GNUC_PRINTF
- G_GNUC_PRINTF(2, 3)
- #endif
- ;
-
-
-
- DOMString parsebuf;
- int parselen;
- int lastPosition;
-
- SVGDocumentImplPtr doc;
-
-};
-
-
-
-
-
-} //namespace svg
-} //namespace dom
-} //namespace w3c
-} //namespace org
-
-#endif /* __SVGPARSER_H__ */
-/*#########################################################################
-## E N D O F F I L E
-#########################################################################*/
-
-
-
diff --git a/src/dom/svg/svgtypes.h b/src/dom/svg/svgtypes.h
--- a/src/dom/svg/svgtypes.h
+++ /dev/null
@@ -1,6889 +0,0 @@
-#ifndef __SVGTYPES_H__
-#define __SVGTYPES_H__
-
-/**
- * Phoebe DOM Implementation.
- *
- * This is a C++ approximation of the W3C DOM model, which follows
- * fairly closely the specifications in the various .idl files, copies of
- * which are provided for reference. Most important is this one:
- *
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
- *
- * Authors:
- * Bob Jamison
- *
- * Copyright (C) 2006 Bob Jamison
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-// For access to DOM2 core
-#include "dom/dom.h"
-
-// For access to DOM2 events
-#include "dom/events.h"
-
-// For access to those parts from DOM2 CSS OM used by SVG DOM.
-#include "dom/css.h"
-
-// For access to those parts from DOM2 Views OM used by SVG DOM.
-#include "dom/views.h"
-
-// For access to the SMIL OM used by SVG DOM.
-#include "dom/smil.h"
-
-
-#include <math.h>
-
-
-
-namespace org {
-namespace w3c {
-namespace dom {
-namespace svg {
-
-
-
-
-//local definitions
-typedef dom::DOMString DOMString;
-typedef dom::DOMException DOMException;
-typedef dom::Element Element;
-typedef dom::Document Document;
-typedef dom::NodeList NodeList;
-
-
-class SVGElement;
-class SVGUseElement;
-class SVGAnimatedPreserveAspectRatio;
-
-
-/*#########################################################################
-## SVGException
-#########################################################################*/
-
-/**
- *
- */
-class SVGException
-{
-public:
- // unsigned short code; //inherited
-};
-
- /**
- * SVGExceptionCode
- */
- typedef enum
- {
- SVG_WRONG_TYPE_ERR = 0,
- SVG_INVALID_VALUE_ERR = 1,
- SVG_MATRIX_NOT_INVERTABLE = 2
- } SVGExceptionCode;
-
-
-
-
-
-/*#########################################################################
-## SVGMatrix
-#########################################################################*/
-
-/**
- * In SVG, a Matrix is defined like this:
- *
- * | a c e |
- * | b d f |
- * | 0 0 1 |
- *
- */
-class SVGMatrix
-{
-public:
-
-
- /**
- *
- */
- virtual double getA()
- { return a; }
-
- /**
- *
- */
- virtual void setA(double val) throw (DOMException)
- { a = val; }
-
- /**
- *
- */
- virtual double getB()
- { return b; }
-
- /**
- *
- */
- virtual void setB(double val) throw (DOMException)
- { b = val; }
-
- /**
- *
- */
- virtual double getC()
- { return c; }
-
- /**
- *
- */
- virtual void setC(double val) throw (DOMException)
- { c = val; }
-
- /**
- *
- */
- virtual double getD()
- { return d; }
-
- /**
- *
- */
- virtual void setD(double val) throw (DOMException)
- { d = val; }
- /**
- *
- */
- virtual double getE()
- { return e; }
-
- /**
- *
- */
- virtual void setE(double val) throw (DOMException)
- { e = val; }
- /**
- *
- */
- virtual double getF()
- { return f; }
-
- /**
- *
- */
- virtual void setF(double val) throw (DOMException)
- { f = val; }
-
-
- /**
- * Return the result of postmultiplying this matrix with another.
- */
- virtual SVGMatrix multiply(const SVGMatrix &other)
- {
- SVGMatrix result;
- result.a = a * other.a + c * other.b;
- result.b = b * other.a + d * other.b;
- result.c = a * other.c + c * other.d;
- result.d = b * other.c + d * other.d;
- result.e = a * other.e + c * other.f + e;
- result.f = b * other.e + d * other.f + f;
- return result;
- }
-
- /**
- * Calculate the inverse of this matrix
- *
- */
- virtual SVGMatrix inverse( ) throw( SVGException )
- {
- /*###########################################
- The determinant of a 3x3 matrix E
- (let's use our own notation for a bit)
-
- A B C
- D E F
- G H I
- is
- AEI - AFH - BDI + BFG + CDH - CEG
-
- Since in our affine transforms, G and H==0 and I==1,
- this reduces to:
- AE - BD
- In SVG's naming scheme, that is: a * d - c * b . SIMPLE!
-
- In a similar method of attack, SVG's adjunct matrix is:
-
- d -c cf-ed
- -b a eb-af
- 0 0 ad-cb
-
- To get the inverse matrix, we divide the adjunct matrix by
- the determinant. Notice that (ad-cb)/(ad-cb)==1. Very cool.
- So what we end up with is this:
-
- a = d/(ad-cb) c = -c/(ad-cb) e = (cf-ed)/(ad-cb)
- b = -b/(ad-cb) d = a/(ad-cb) f = (eb-af)/(ad-cb)
-
- (Since this would be in all SVG-DOM implementations,
- somebody needed to document this! ^^ )
- #############################################*/
-
- SVGMatrix result;
- double determinant = a * d - c * b;
- if (determinant < 1.0e-18)//invertible?
- {
- result.identity();//cop out
- return result;
- }
-
- double idet = 1.0 / determinant;
- result.a = d * idet;
- result.b = -b * idet;
- result.c = -c * idet;
- result.d = a * idet;
- result.e = (c*f - e*d) * idet;
- result.f = (e*b - a*f) * idet;
- return result;
- }
-
- /**
- * Equivalent to multiplying by:
- * | 1 0 x |
- * | 0 1 y |
- * | 0 0 1 |
- *
- */
- virtual SVGMatrix translate(double x, double y )
- {
- SVGMatrix result;
- result.a = a;
- result.b = b;
- result.c = c;
- result.d = d;
- result.e = a * x + c * y + e;
- result.f = b * x + d * y + f;
- return result;
- }
-
- /**
- * Equivalent to multiplying by:
- * | scale 0 0 |
- * | 0 scale 0 |
- * | 0 0 1 |
- *
- */
- virtual SVGMatrix scale(double scale)
- {
- SVGMatrix result;
- result.a = a * scale;
- result.b = b * scale;
- result.c = c * scale;
- result.d = d * scale;
- result.e = e;
- result.f = f;
- return result;
- }
-
- /**
- * Equivalent to multiplying by:
- * | scaleX 0 0 |
- * | 0 scaleY 0 |
- * | 0 0 1 |
- *
- */
- virtual SVGMatrix scaleNonUniform(double scaleX,
- double scaleY )
- {
- SVGMatrix result;
- result.a = a * scaleX;
- result.b = b * scaleX;
- result.c = c * scaleY;
- result.d = d * scaleY;
- result.e = e;
- result.f = f;
- return result;
- }
-
- /**
- * Equivalent to multiplying by:
- * | cos(a) -sin(a) 0 |
- * | sin(a) cos(a) 0 |
- * | 0 0 1 |
- *
- */
- virtual SVGMatrix rotate (double angle)
- {
- double sina = sin(angle);
- double msina = -sina;
- double cosa = cos(angle);
- SVGMatrix result;
- result.a = a * cosa + c * sina;
- result.b = b * cosa + d + sina;
- result.c = a * msina + c * cosa;
- result.d = b * msina + d * cosa;
- result.e = e;
- result.f = f;
- return result;
- }
-
- /**
- * Equivalent to multiplying by:
- * | cos(a) -sin(a) 0 |
- * | sin(a) cos(a) 0 |
- * | 0 0 1 |
- * In this case, angle 'a' is computed as the artangent
- * of the slope y/x . It is negative if the slope is negative.
- */
- virtual SVGMatrix rotateFromVector(double x, double y)
- throw( SVGException )
- {
- double angle = atan(y / x);
- if (y < 0.0)
- angle = -angle;
- SVGMatrix result;
- double sina = sin(angle);
- double msina = -sina;
- double cosa = cos(angle);
- result.a = a * cosa + c * sina;
- result.b = b * cosa + d + sina;
- result.c = a * msina + c * cosa;
- result.d = b * msina + d * cosa;
- result.e = e;
- result.f = f;
- return result;
- }
-
- /**
- * Equivalent to multiplying by:
- * | -1 0 0 |
- * | 0 1 0 |
- * | 0 0 1 |
- *
- */
- virtual SVGMatrix flipX( )
- {
- SVGMatrix result;
- result.a = -a;
- result.b = -b;
- result.c = c;
- result.d = d;
- result.e = e;
- result.f = f;
- return result;
- }
-
- /**
- * Equivalent to multiplying by:
- * | 1 0 0 |
- * | 0 -1 0 |
- * | 0 0 1 |
- *
- */
- virtual SVGMatrix flipY( )
- {
- SVGMatrix result;
- result.a = a;
- result.b = b;
- result.c = -c;
- result.d = -d;
- result.e = e;
- result.f = f;
- return result;
- }
-
- /**
- * | 1 tan(a) 0 |
- * | 0 1 0 |
- * | 0 0 1 |
- *
- */
- virtual SVGMatrix skewX(double angle)
- {
- double tana = tan(angle);
- SVGMatrix result;
- result.a = a;
- result.b = b;
- result.c = a * tana + c;
- result.d = b * tana + d;
- result.e = e;
- result.f = f;
- return result;
- }
-
- /**
- * Equivalent to multiplying by:
- * | 1 0 0 |
- * | tan(a) 1 0 |
- * | 0 0 1 |
- *
- */
- virtual SVGMatrix skewY(double angle)
- {
- double tana = tan(angle);
- SVGMatrix result;
- result.a = a + c * tana;
- result.b = b + d * tana;
- result.c = c;
- result.d = d;
- result.e = e;
- result.f = f;
- return result;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGMatrix()
- {
- identity();
- }
-
- /**
- *
- */
- SVGMatrix(double aArg, double bArg, double cArg,
- double dArg, double eArg, double fArg )
- {
- a = aArg; b = bArg; c = cArg;
- d = dArg; e = eArg; f = fArg;
- }
-
- /**
- * Copy constructor
- */
- SVGMatrix(const SVGMatrix &other)
- {
- a = other.a;
- b = other.b;
- c = other.c;
- d = other.d;
- e = other.e;
- f = other.f;
- }
-
-
-
- /**
- *
- */
- virtual ~SVGMatrix() {}
-
-protected:
-
-friend class SVGTransform;
-
- /*
- * Set to the identify matrix
- */
- void identity()
- {
- a = 1.0;
- b = 0.0;
- c = 0.0;
- d = 1.0;
- e = 0.0;
- f = 0.0;
- }
-
- double a, b, c, d, e, f;
-
-};
-
-
-/*#########################################################################
-## SVGTransform
-#########################################################################*/
-
-/**
- *
- */
-class SVGTransform
-{
-public:
-
- /**
- * Transform Types
- */
- typedef enum
- {
- SVG_TRANSFORM_UNKNOWN = 0,
- SVG_TRANSFORM_MATRIX = 1,
- SVG_TRANSFORM_TRANSLATE = 2,
- SVG_TRANSFORM_SCALE = 3,
- SVG_TRANSFORM_ROTATE = 4,
- SVG_TRANSFORM_SKEWX = 5,
- SVG_TRANSFORM_SKEWY = 6,
- } TransformType;
-
- /**
- *
- */
- virtual unsigned short getType()
- { return type; }
-
-
- /**
- *
- */
- virtual SVGMatrix getMatrix()
- {
- return matrix;
- }
-
- /**
- *
- */
- virtual double getAngle()
- {
- return angle;
- }
-
-
- /**
- *
- */
- virtual void setMatrix(const SVGMatrix &matrixArg)
- {
- type = SVG_TRANSFORM_MATRIX;
- matrix = matrixArg;
- }
-
- /**
- *
- */
- virtual void setTranslate (double tx, double ty )
- {
- type = SVG_TRANSFORM_TRANSLATE;
- matrix.setA(1.0);
- matrix.setB(0.0);
- matrix.setC(0.0);
- matrix.setD(1.0);
- matrix.setE(tx);
- matrix.setF(ty);
- }
-
- /**
- *
- */
- virtual void setScale (double sx, double sy )
- {
- type = SVG_TRANSFORM_SCALE;
- matrix.setA(sx);
- matrix.setB(0.0);
- matrix.setC(0.0);
- matrix.setD(sy);
- matrix.setE(0.0);
- matrix.setF(0.0);
- }
-
- /**
- *
- */
- virtual void setRotate (double angleArg, double cx, double cy)
- {
- angle = angleArg;
- setTranslate(cx, cy);
- type = SVG_TRANSFORM_ROTATE;
- matrix.rotate(angle);
- }
-
- /**
- *
- */
- virtual void setSkewX (double angleArg)
- {
- angle = angleArg;
- type = SVG_TRANSFORM_SKEWX;
- matrix.identity();
- matrix.skewX(angle);
- }
-
- /**
- *
- */
- virtual void setSkewY (double angleArg)
- {
- angle = angleArg;
- type = SVG_TRANSFORM_SKEWY;
- matrix.identity();
- matrix.skewY(angle);
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGTransform()
- {
- type = SVG_TRANSFORM_UNKNOWN;
- angle = 0.0;
- }
-
- /**
- *
- */
- SVGTransform(const SVGTransform &other)
- {
- type = other.type;
- angle = other.angle;
- matrix = other.matrix;
- }
-
- /**
- *
- */
- virtual ~SVGTransform()
- {}
-
-protected:
-
- int type;
- double angle;
-
- SVGMatrix matrix;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGTransformList
-#########################################################################*/
-
-/**
- *
- */
-class SVGTransformList
-{
-public:
-
-
- /**
- *
- */
- virtual unsigned long getNumberOfItems()
- { return items.size(); }
-
-
- /**
- *
- */
- virtual void clear( ) throw( DOMException )
- { items.clear(); }
-
- /**
- *
- */
- virtual SVGTransform initialize (const SVGTransform &newItem)
- throw( DOMException, SVGException )
- {
- items.clear();
- items.push_back(newItem);
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGTransform getItem (unsigned long index )
- throw( DOMException )
- {
- if (index>=items.size())
- {
- SVGTransform transform;
- return transform;
- }
- return items[index];
- }
-
- /**
- *
- */
- virtual SVGTransform insertItemBefore (const SVGTransform &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index > items.size())
- items.push_back(newItem);
- else
- {
- std::vector<SVGTransform>::iterator iter = items.begin() + index;
- items.insert(iter, newItem);
- }
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGTransform replaceItem (const SVGTransform &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index>=items.size())
- {
- SVGTransform transform;
- return transform;
- }
- else
- {
- std::vector<SVGTransform>::iterator iter = items.begin() + index;
- *iter = newItem;
- }
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGTransform removeItem (unsigned long index )
- throw( DOMException )
- {
- if (index>=items.size())
- {
- SVGTransform transform;
- return transform;
- }
- std::vector<SVGTransform>::iterator iter = items.begin() + index;
- SVGTransform oldItem = *iter;
- items.erase(iter);
- return oldItem;
- }
-
- /**
- *
- */
- virtual SVGTransform appendItem (const SVGTransform &newItem)
- throw( DOMException, SVGException )
- {
- items.push_back(newItem);
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix)
- {
- SVGTransform transform;
- transform.setMatrix(matrix);
- return transform;
- }
-
- /**
- *
- */
- virtual SVGTransform consolidate()
- {
- SVGMatrix matrix;
- for (unsigned int i=0 ; i<items.size() ; i++)
- matrix = matrix.multiply(items[i].getMatrix());
- SVGTransform transform;
- transform.setMatrix(matrix);
- items.clear();
- items.push_back(transform);
- return transform;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGTransformList()
- {}
-
- /**
- *
- */
- SVGTransformList(const SVGTransformList &other)
- {
- items = other.items;
- }
-
- /**
- *
- */
- virtual ~SVGTransformList() {}
-
-protected:
-
- std::vector<SVGTransform> items;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedTransformList
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedTransformList
-{
-public:
-
- /**
- *
- */
- virtual SVGTransformList getBaseVal()
- { return baseVal; }
-
- /**
- *
- */
- virtual SVGTransformList getAnimVal()
- { return animVal; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedTransformList()
- {}
-
- /**
- *
- */
- SVGAnimatedTransformList(const SVGAnimatedTransformList &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedTransformList() {}
-
-protected:
-
- SVGTransformList baseVal;
- SVGTransformList animVal;
-
-};
-
-
-
-
-/*#########################################################################
-## SVGAnimatedBoolean
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedBoolean
-{
-public:
-
- /**
- *
- */
- virtual bool getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual void setBaseVal(bool val) throw (DOMException)
- {
- baseVal = val;
- }
-
- /**
- *
- */
- virtual bool getAnimVal()
- {
- return animVal;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedBoolean()
- {
- baseVal = animVal = false;
- }
-
- /**
- *
- */
- SVGAnimatedBoolean(const SVGAnimatedBoolean &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedBoolean() {}
-
-protected:
-
- bool baseVal, animVal;
-
-};
-
-
-
-
-/*#########################################################################
-## SVGAnimatedString
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedString
-{
-public:
-
- /**
- *
- */
- virtual DOMString getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual void setBaseVal(const DOMString &val)
- throw (DOMException)
- {
- baseVal = val;
- }
-
- /**
- *
- */
- virtual DOMString getAnimVal()
- {
- return animVal;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGAnimatedString()
- {
- baseVal = "";
- animVal = "";
- }
-
- /**
- *
- */
- SVGAnimatedString(const SVGAnimatedString &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedString() {}
-
-protected:
-
- DOMString baseVal, animVal;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGStringList
-#########################################################################*/
-
-/**
- *
- */
-class SVGStringList
-{
-public:
-
-
- /**
- *
- */
- virtual unsigned long getNumberOfItems()
- {
- return items.size();
- }
-
- /**
- *
- */
- virtual void clear () throw( DOMException )
- {
- items.clear();
- }
-
- /**
- *
- */
- virtual DOMString initialize ( const DOMString& newItem )
- throw( DOMException, SVGException )
- {
- items.clear();
- items.push_back(newItem);
- return newItem;
- }
-
- /**
- *
- */
- virtual DOMString getItem ( unsigned long index )
- throw( DOMException )
- {
- if (index >= items.size())
- return "";
- return items[index];
- }
-
- /**
- *
- */
- virtual DOMString insertItemBefore ( const DOMString& newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index>=items.size())
- {
- items.push_back(newItem);
- }
- else
- {
- std::vector<DOMString>::iterator iter = items.begin() + index;
- items.insert(iter, newItem);
- }
- return newItem;
- }
-
- /**
- *
- */
- virtual DOMString replaceItem ( const DOMString& newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index>=items.size())
- return "";
- std::vector<DOMString>::iterator iter = items.begin() + index;
- *iter = newItem;
- return newItem;
- }
-
- /**
- *
- */
- virtual DOMString removeItem ( unsigned long index )
- throw( DOMException )
- {
- if (index>=items.size())
- return "";
- std::vector<DOMString>::iterator iter = items.begin() + index;
- DOMString oldstr = *iter;
- items.erase(iter);
- return oldstr;
- }
-
- /**
- *
- */
- virtual DOMString appendItem ( const DOMString& newItem )
- throw( DOMException, SVGException )
- {
- items.push_back(newItem);
- return newItem;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGStringList() {}
-
- /**
- *
- */
- SVGStringList(const SVGStringList &other)
- {
- items = other.items;
- }
-
- /**
- *
- */
- virtual ~SVGStringList() {}
-
-protected:
-
- std::vector<DOMString>items;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedEnumeration
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedEnumeration
-{
-public:
-
- /**
- *
- */
- virtual unsigned short getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual void setBaseVal(unsigned short val)
- throw (DOMException)
- {
- baseVal = val;
- }
-
- /**
- *
- */
- virtual unsigned short getAnimVal()
- {
- return animVal;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGAnimatedEnumeration()
- {
- baseVal = animVal = 0;
- }
-
- /**
- *
- */
- SVGAnimatedEnumeration(const SVGAnimatedEnumeration &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedEnumeration() {}
-
-protected:
-
- int baseVal, animVal;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedInteger
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedInteger
-{
-public:
-
-
- /**
- *
- */
- virtual long getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual void setBaseVal(long val) throw (DOMException)
- {
- baseVal = val;
- }
-
- /**
- *
- */
- virtual long getAnimVal()
- {
- return animVal;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGAnimatedInteger()
- { baseVal = animVal = 0L;}
-
-
- /**
- *
- */
- SVGAnimatedInteger(long value)
- {
- baseVal = value;
- animVal = 0L;
- }
-
- /**
- *
- */
- SVGAnimatedInteger(long baseValArg, long animValArg)
- {
- baseVal = baseValArg;
- animVal = animValArg;
- }
-
-
- /**
- *
- */
- SVGAnimatedInteger(const SVGAnimatedInteger &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedInteger() {}
-
-protected:
-
- long baseVal, animVal;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGNumber
-#########################################################################*/
-
-/**
- *
- */
-class SVGNumber
-{
-public:
-
-
- /**
- *
- */
- virtual double getValue()
- {
- return value;
- }
-
- /**
- *
- */
- virtual void setValue(double val) throw (DOMException)
- {
- value = val;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGNumber()
- {
- value = 0.0;
- }
-
- /**
- *
- */
- SVGNumber(const SVGNumber &other)
- {
- value = other.value;
- }
-
- /**
- *
- */
- virtual ~SVGNumber() {}
-
-protected:
-
- double value;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedNumber
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedNumber
-{
-public:
-
-
-
- /**
- *
- */
- virtual double getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual void setBaseVal(double val) throw (DOMException)
- {
- baseVal = val;
- }
-
- /**
- *
- */
- virtual double getAnimVal()
- {
- return animVal;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedNumber()
- {
- baseVal = animVal = 0.0;
- }
-
-
- /**
- *
- */
- SVGAnimatedNumber(double val)
- {
- baseVal = val;
- animVal = 0.0;
- }
-
-
- /**
- *
- */
- SVGAnimatedNumber(double baseValArg, double animValArg)
- {
- baseVal = baseValArg;
- animVal = animValArg;
- }
-
- /**
- *
- */
- SVGAnimatedNumber(const SVGAnimatedNumber &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedNumber() {}
-
-protected:
-
- double baseVal, animVal;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGNumberList
-#########################################################################*/
-
-/**
- *
- */
-class SVGNumberList
-{
-public:
-
- /**
- *
- */
- virtual unsigned long getNumberOfItems()
- {
- return items.size();
- }
-
-
- /**
- *
- */
- virtual void clear() throw( DOMException )
- {
- items.clear();
- }
-
- /**
- *
- */
- virtual SVGNumber initialize (const SVGNumber &newItem)
- throw( DOMException, SVGException )
- {
- items.clear();
- items.push_back(newItem);
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGNumber getItem ( unsigned long index )
- throw( DOMException )
- {
- if (index>=items.size())
- {
- SVGNumber num;
- return num;
- }
- return items[index];
- }
-
- /**
- *
- */
- virtual SVGNumber insertItemBefore ( const SVGNumber &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index>=items.size())
- {
- items.push_back(newItem);
- }
- else
- {
- std::vector<SVGNumber>::iterator iter = items.begin() + index;
- items.insert(iter, newItem);
- }
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGNumber replaceItem ( const SVGNumber &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index>=items.size())
- {
- SVGNumber num;
- return num;
- }
- std::vector<SVGNumber>::iterator iter = items.begin() + index;
- *iter = newItem;
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGNumber removeItem ( unsigned long index )
- throw( DOMException )
- {
- if (index>=items.size())
- {
- SVGNumber num;
- return num;
- }
- std::vector<SVGNumber>::iterator iter = items.begin() + index;
- SVGNumber oldval = *iter;
- items.erase(iter);
- return oldval;
- }
-
- /**
- *
- */
- virtual SVGNumber appendItem ( const SVGNumber &newItem )
- throw( DOMException, SVGException )
- {
- items.push_back(newItem);
- return newItem;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGNumberList() {}
-
- /**
- *
- */
- SVGNumberList(const SVGNumberList &other)
- {
- items = other.items;
- }
-
- /**
- *
- */
- virtual ~SVGNumberList() {}
-
-protected:
-
- std::vector<SVGNumber>items;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedNumberList
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedNumberList
-{
-public:
-
-
- /**
- *
- */
- virtual SVGNumberList &getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual SVGNumberList &getAnimVal()
- {
- return animVal;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedNumberList() {}
-
- /**
- *
- */
- SVGAnimatedNumberList(const SVGAnimatedNumberList &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedNumberList() {}
-
-protected:
-
- SVGNumberList baseVal;
- SVGNumberList animVal;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGLength
-#########################################################################*/
-
-/**
- *
- */
-class SVGLength
-{
-public:
-
- /**
- * Length Unit Types
- */
- typedef enum
- {
- SVG_LENGTHTYPE_UNKNOWN = 0,
- SVG_LENGTHTYPE_NUMBER = 1,
- SVG_LENGTHTYPE_PERCENTAGE = 2,
- SVG_LENGTHTYPE_EMS = 3,
- SVG_LENGTHTYPE_EXS = 4,
- SVG_LENGTHTYPE_PX = 5,
- SVG_LENGTHTYPE_CM = 6,
- SVG_LENGTHTYPE_MM = 7,
- SVG_LENGTHTYPE_IN = 8,
- SVG_LENGTHTYPE_PT = 9,
- SVG_LENGTHTYPE_PC = 10
- } LengthUnitType;
-
-
- /**
- *
- */
- virtual unsigned short getUnitType( )
- {
- return unitType;
- }
-
- /**
- *
- */
- virtual double getValue( )
- {
- return value;
- }
-
- /**
- *
- */
- virtual void setValue( double val ) throw (DOMException)
- {
- value = val;
- }
-
- /**
- *
- */
- virtual double getValueInSpecifiedUnits( )
- {
- double result = 0.0;
- //fill this in
- return result;
- }
-
- /**
- *
- */
- virtual void setValueInSpecifiedUnits( double /*val*/ )
- throw (DOMException)
- {
- //fill this in
- }
-
- /**
- *
- */
- virtual DOMString getValueAsString( )
- {
- DOMString ret;
- char buf[32];
- snprintf(buf, 31, "%f", value);
- ret.append(buf);
- return ret;
- }
-
- /**
- *
- */
- virtual void setValueAsString( const DOMString& /*val*/ )
- throw (DOMException)
- {
- }
-
-
- /**
- *
- */
- virtual void newValueSpecifiedUnits ( unsigned short /*unitType*/, double /*val*/ )
- {
- }
-
- /**
- *
- */
- virtual void convertToSpecifiedUnits ( unsigned short /*unitType*/ )
- {
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGLength()
- {
- unitType = SVG_LENGTHTYPE_UNKNOWN;
- value = 0.0;
- }
-
-
- /**
- *
- */
- SVGLength(const SVGLength &other)
- {
- unitType = other.unitType;
- value = other.value;
- }
-
- /**
- *
- */
- virtual ~SVGLength() {}
-
-protected:
-
- int unitType;
-
- double value;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedLength
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedLength
-{
-public:
-
- /**
- *
- */
- virtual SVGLength &getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual SVGLength &getAnimVal()
- {
- return animVal;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedLength() {}
-
- /**
- *
- */
- SVGAnimatedLength(const SVGAnimatedLength &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedLength() {}
-
-protected:
-
- SVGLength baseVal, animVal;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGLengthList
-#########################################################################*/
-
-/**
- *
- */
-class SVGLengthList
-{
-public:
-
- /**
- *
- */
- virtual unsigned long getNumberOfItems()
- {
- return items.size();
- }
-
-
- /**
- *
- */
- virtual void clear ( ) throw( DOMException )
- {
- items.clear();
- }
-
- /**
- *
- */
- virtual SVGLength initialize (const SVGLength &newItem )
- throw( DOMException, SVGException )
- {
- items.clear();
- items.push_back(newItem);
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGLength getItem (unsigned long index)
- throw( DOMException )
- {
- if (index>=items.size())
- {
- SVGLength ret;
- return ret;
- }
- return items[index];
- }
-
- /**
- *
- */
- virtual SVGLength insertItemBefore (const SVGLength &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index>=items.size())
- {
- items.push_back(newItem);
- }
- else
- {
- std::vector<SVGLength>::iterator iter = items.begin() + index;
- items.insert(iter, newItem);
- }
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGLength replaceItem (const SVGLength &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index>=items.size())
- {
- SVGLength ret;
- return ret;
- }
- std::vector<SVGLength>::iterator iter = items.begin() + index;
- *iter = newItem;
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGLength removeItem (unsigned long index )
- throw( DOMException )
- {
- if (index>=items.size())
- {
- SVGLength ret;
- return ret;
- }
- std::vector<SVGLength>::iterator iter = items.begin() + index;
- SVGLength oldval = *iter;
- items.erase(iter);
- return oldval;
- }
-
- /**
- *
- */
- virtual SVGLength appendItem (const SVGLength &newItem )
- throw( DOMException, SVGException )
- {
- items.push_back(newItem);
- return newItem;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGLengthList() {}
-
- /**
- *
- */
- SVGLengthList(const SVGLengthList &other)
- {
- items = other.items;
- }
-
- /**
- *
- */
- virtual ~SVGLengthList() {}
-
-protected:
-
- std::vector<SVGLength>items;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedLengthList
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedLengthList
-{
-public:
-
- /**
- *
- */
- virtual SVGLengthList &getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual SVGLengthList &getAnimVal()
- {
- return animVal;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedLengthList() {}
-
- /**
- *
- */
- SVGAnimatedLengthList(const SVGAnimatedLengthList &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedLengthList() {}
-
-protected:
-
- SVGLengthList baseVal, animVal;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAngle
-#########################################################################*/
-
-/**
- *
- */
-class SVGAngle
-{
-public:
-
- /**
- * Angle Unit Types
- */
- typedef enum
- {
- SVG_ANGLETYPE_UNKNOWN = 0,
- SVG_ANGLETYPE_UNSPECIFIED = 1,
- SVG_ANGLETYPE_DEG = 2,
- SVG_ANGLETYPE_RAD = 3,
- SVG_ANGLETYPE_GRAD = 4
- } AngleUnitType;
-
-
-
- /**
- *
- */
- virtual unsigned short getUnitType()
- {
- return unitType;
- }
-
- /**
- *
- */
- virtual double getValue()
- {
- return value;
- }
-
- /**
- *
- */
- virtual void setValue(double val) throw (DOMException)
- {
- value = val;
- }
-
- /**
- *
- */
- virtual double getValueInSpecifiedUnits()
- {
- double result = 0.0;
- //convert here
- return result;
- }
-
- /**
- *
- */
- virtual void setValueInSpecifiedUnits(double /*val*/)
- throw (DOMException)
- {
- //do conversion
- }
-
- /**
- *
- */
- virtual DOMString getValueAsString()
- {
- DOMString result;
- char buf[32];
- snprintf(buf, 31, "%f", value);
- result.append(buf);
- return result;
- }
-
- /**
- *
- */
- virtual void setValueAsString(const DOMString &/*val*/)
- throw (DOMException)
- {
- //convert here
- }
-
-
- /**
- *
- */
- virtual void newValueSpecifiedUnits (unsigned short /*unitType*/,
- double /*valueInSpecifiedUnits*/ )
- {
- //convert here
- }
-
- /**
- *
- */
- virtual void convertToSpecifiedUnits (unsigned short /*unitType*/ )
- {
- //convert here
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAngle()
- {
- unitType = SVG_ANGLETYPE_UNKNOWN;
- value = 0.0;
- }
-
- /**
- *
- */
- SVGAngle(const SVGAngle &other)
- {
- unitType = other.unitType;
- value = other.value;
- }
-
- /**
- *
- */
- virtual ~SVGAngle() {}
-
-protected:
-
- int unitType;
-
- double value;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedAngle
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedAngle
-{
-public:
-
- /**
- *
- */
- virtual SVGAngle getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual SVGAngle getAnimVal()
- {
- return animVal;
- }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedAngle() {}
-
- /**
- *
- */
- SVGAnimatedAngle(const SVGAngle &angle)
- { baseVal = angle; }
-
- /**
- *
- */
- SVGAnimatedAngle(const SVGAnimatedAngle &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedAngle() {}
-
-protected:
-
- SVGAngle baseVal, animVal;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGICCColor
-#########################################################################*/
-
-/**
- *
- */
-class SVGICCColor
-{
-public:
-
- /**
- *
- */
- virtual DOMString getColorProfile()
- {
- return colorProfile;
- }
-
- /**
- *
- */
- virtual void setColorProfile(const DOMString &val) throw (DOMException)
- {
- colorProfile = val;
- }
-
- /**
- *
- */
- virtual SVGNumberList &getColors()
- {
- return colors;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGICCColor() {}
-
- /**
- *
- */
- SVGICCColor(const SVGICCColor &other)
- {
- colorProfile = other.colorProfile;
- colors = other.colors;
- }
-
- /**
- *
- */
- virtual ~SVGICCColor() {}
-
-protected:
-
- DOMString colorProfile;
-
- SVGNumberList colors;
-
-};
-
-
-/*#########################################################################
-## SVGColor
-#########################################################################*/
-
-/**
- *
- */
-class SVGColor : virtual public css::CSSValue
-{
-public:
-
-
- /**
- * Color Types
- */
- typedef enum
- {
- SVG_COLORTYPE_UNKNOWN = 0,
- SVG_COLORTYPE_RGBCOLOR = 1,
- SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2,
- SVG_COLORTYPE_CURRENTCOLOR = 3
- } ColorType;
-
-
- /**
- *
- */
- virtual unsigned short getColorType()
- {
- return colorType;
- }
-
- /**
- *
- */
- virtual css::RGBColor getRgbColor()
- {
- css::RGBColor col;
- return col;
- }
-
- /**
- *
- */
- virtual SVGICCColor getIccColor()
- {
- SVGICCColor col;
- return col;
- }
-
-
- /**
- *
- */
- virtual void setRGBColor (const DOMString& /*rgbColor*/ )
- throw( SVGException )
- {
- }
-
- /**
- *
- */
- virtual void setRGBColorICCColor (const DOMString& /*rgbColor*/,
- const DOMString& /*iccColor*/ )
- throw( SVGException )
- {
- }
-
- /**
- *
- */
- virtual void setColor (unsigned short /*colorType*/,
- const DOMString& /*rgbColor*/,
- const DOMString& /*iccColor*/ )
- throw( SVGException )
- {
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGColor()
- {
- colorType = SVG_COLORTYPE_UNKNOWN;
- }
-
- /**
- *
- */
- SVGColor(const SVGColor &other) : css::CSSValue(other)
- {
- colorType = other.colorType;
- }
-
- /**
- *
- */
- virtual ~SVGColor() {}
-
-protected:
-
- int colorType;
-
-};
-
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGRect
-#########################################################################*/
-
-/**
- *
- */
-class SVGRect
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- {
- return x;
- }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- {
- x = val;
- }
-
- /**
- *
- */
- virtual double getY()
- {
- return y;
- }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- {
- y = val;
- }
-
- /**
- *
- */
- virtual double getWidth()
- {
- return width;
- }
-
- /**
- *
- */
- virtual void setWidth(double val) throw (DOMException)
- {
- width = val;
- }
-
- /**
- *
- */
- virtual double getHeight()
- {
- return height;
- }
-
- /**
- *
- */
- virtual void setHeight(double val) throw (DOMException)
- {
- height = val;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGRect()
- {
- x = y = width = height = 0.0;
- }
-
- /**
- *
- */
- SVGRect(const SVGRect &other)
- {
- x = other.x;
- y = other.y;
- width = other.width;
- height = other.height;
- }
-
- /**
- *
- */
- virtual ~SVGRect() {}
-
-protected:
-
- double x, y, width, height;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedRect
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedRect
-{
-public:
-
- /**
- *
- */
- virtual SVGRect &getBaseVal()
- {
- return baseVal;
- }
-
- /**
- *
- */
- virtual SVGRect &getAnimVal()
- {
- return animVal;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedRect()
- {
- }
-
- /**
- *
- */
- SVGAnimatedRect(const SVGAnimatedRect &other)
- {
- baseVal = other.baseVal;
- animVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedRect() {}
-
-protected:
-
- SVGRect baseVal, animVal;
-
-};
-
-
-
-/*#########################################################################
-## SVGPoint
-#########################################################################*/
-
-/**
- *
- */
-class SVGPoint
-{
-public:
-
-
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual SVGPoint matrixTransform(const SVGMatrix &/*matrix*/)
- {
- SVGPoint point;
- return point;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPoint()
- { x = y = 0; }
-
- /**
- *
- */
- SVGPoint(const SVGPoint &other)
- {
- x = other.x;
- y = other.y;
- }
-
- /**
- *
- */
- virtual ~SVGPoint() {}
-
-protected:
-
- double x, y;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPointList
-#########################################################################*/
-
-/**
- *
- */
-class SVGPointList
-{
-public:
-
- /**
- *
- */
- virtual unsigned long getNumberOfItems()
- { return items.size(); }
-
- /**
- *
- */
- virtual void clear() throw( DOMException )
- { items.clear(); }
-
- /**
- *
- */
- virtual SVGPoint initialize(const SVGPoint &newItem)
- throw( DOMException, SVGException )
- {
- items.clear();
- items.push_back(newItem);
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGPoint getItem(unsigned long index )
- throw( DOMException )
- {
- if (index >= items.size())
- {
- SVGPoint point;
- return point;
- }
- return items[index];
- }
-
- /**
- *
- */
- virtual SVGPoint insertItemBefore(const SVGPoint &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index >= items.size())
- items.push_back(newItem);
- else
- {
- std::vector<SVGPoint>::iterator iter = items.begin() + index;
- items.insert(iter, newItem);
- }
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGPoint replaceItem(const SVGPoint &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index >= items.size())
- {
- SVGPoint point;
- return point;
- }
- std::vector<SVGPoint>::iterator iter = items.begin() + index;
- *iter = newItem;
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGPoint removeItem(unsigned long index )
- throw( DOMException )
- {
- if (index >= items.size())
- {
- SVGPoint point;
- return point;
- }
- std::vector<SVGPoint>::iterator iter = items.begin() + index;
- SVGPoint oldItem = *iter;
- items.erase(iter);
- return oldItem;
- }
-
- /**
- *
- */
- virtual SVGPoint appendItem(const SVGPoint &newItem)
- throw( DOMException, SVGException )
- {
- items.push_back(newItem);
- return newItem;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPointList() {}
-
-
- /**
- *
- */
- SVGPointList(const SVGPointList &other)
- {
- items = other.items;
- }
-
-
- /**
- *
- */
- virtual ~SVGPointList() {}
-
-protected:
-
- std::vector<SVGPoint> items;
-
-};
-
-
-
-
-/*#########################################################################
-## SVGUnitTypes
-#########################################################################*/
-
-/**
- *
- */
-class SVGUnitTypes
-{
-public:
-
- /**
- * Unit Types
- */
- typedef enum
- {
- SVG_UNIT_TYPE_UNKNOWN = 0,
- SVG_UNIT_TYPE_USERSPACEONUSE = 1,
- SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2
- } UnitType;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGUnitTypes() {}
-
- /**
- *
- */
- virtual ~SVGUnitTypes() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGStylable
-#########################################################################*/
-
-/**
- *
- */
-class SVGStylable
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getClassName()
- {
- return className;
- }
-
- /**
- *
- */
- virtual css::CSSStyleDeclaration getStyle()
- {
- return style;
- }
-
-
- /**
- *
- */
- virtual css::CSSValue getPresentationAttribute (const DOMString& /*name*/ )
- {
- css::CSSValue val;
- //perform a lookup
- return val;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGStylable() {}
-
- /**
- *
- */
- SVGStylable(const SVGStylable &other)
- {
- className = other.className;
- style = other.style;
- }
-
- /**
- *
- */
- virtual ~SVGStylable() {}
-
-protected:
-
- SVGAnimatedString className;
- css::CSSStyleDeclaration style;
-
-};
-
-
-/*#########################################################################
-## SVGLocatable
-#########################################################################*/
-
-/**
- *
- */
-class SVGLocatable
-{
-public:
-
- /**
- *
- */
- virtual SVGElement *getNearestViewportElement()
- {
- SVGElement *result = NULL;
- return result;
- }
-
- /**
- *
- */
- virtual SVGElement *getFarthestViewportElement()
- {
- SVGElement *result = NULL;
- return result;
- }
-
- /**
- *
- */
- virtual SVGRect getBBox ( )
- {
- return bbox;
- }
-
- /**
- *
- */
- virtual SVGMatrix getCTM ( )
- {
- return ctm;
- }
-
- /**
- *
- */
- virtual SVGMatrix getScreenCTM ( )
- {
- return screenCtm;
- }
-
- /**
- *
- */
- virtual SVGMatrix getTransformToElement (const SVGElement &/*element*/)
- throw( SVGException )
- {
- SVGMatrix result;
- //do calculations
- return result;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGLocatable() {}
-
- /**
- *
- */
- SVGLocatable(const SVGLocatable &/*other*/)
- {
- }
-
- /**
- *
- */
- virtual ~SVGLocatable() {}
-
-protected:
-
- SVGRect bbox;
- SVGMatrix ctm;
- SVGMatrix screenCtm;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGTransformable
-#########################################################################*/
-
-/**
- *
- */
-class SVGTransformable : public SVGLocatable
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedTransformList &getTransform()
- {
- return transforms;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGTransformable() {}
-
- /**
- *
- */
- SVGTransformable(const SVGTransformable &other) : SVGLocatable(other)
- {
- transforms = other.transforms;
- }
-
- /**
- *
- */
- virtual ~SVGTransformable() {}
-
-protected:
-
- SVGAnimatedTransformList transforms;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGTests
-#########################################################################*/
-
-/**
- *
- */
-class SVGTests
-{
-public:
-
-
- /**
- *
- */
- virtual SVGStringList &getRequiredFeatures()
- {
- return requiredFeatures;
- }
-
- /**
- *
- */
- virtual SVGStringList &getRequiredExtensions()
- {
- return requiredExtensions;
- }
-
- /**
- *
- */
- virtual SVGStringList &getSystemLanguage()
- {
- return systemLanguage;
- }
-
-
- /**
- *
- */
- virtual bool hasExtension (const DOMString& /*extension*/ )
- {
- return false;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGTests() {}
-
- /**
- *
- */
- SVGTests(const SVGTests &other)
- {
- requiredFeatures = other.requiredFeatures;
- requiredExtensions = other.requiredExtensions;
- systemLanguage = other.systemLanguage;
- }
-
- /**
- *
- */
- virtual ~SVGTests() {}
-
-protected:
-
- SVGStringList requiredFeatures;
- SVGStringList requiredExtensions;
- SVGStringList systemLanguage;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGLangSpace
-#########################################################################*/
-
-/**
- *
- */
-class SVGLangSpace
-{
-public:
-
-
- /**
- *
- */
- virtual DOMString getXmllang()
- {
- return xmlLang;
- }
-
- /**
- *
- */
- virtual void setXmllang(const DOMString &val)
- throw (DOMException)
- {
- xmlLang = val;
- }
-
- /**
- *
- */
- virtual DOMString getXmlspace()
- {
- return xmlSpace;
- }
-
- /**
- *
- */
- virtual void setXmlspace(const DOMString &val)
- throw (DOMException)
- {
- xmlSpace = val;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGLangSpace() {}
-
- /**
- *
- */
- SVGLangSpace(const SVGLangSpace &other)
- {
- xmlLang = other.xmlLang;
- xmlSpace = other.xmlSpace;
- }
-
- /**
- *
- */
- virtual ~SVGLangSpace() {}
-
-protected:
-
- DOMString xmlLang;
- DOMString xmlSpace;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGExternalResourcesRequired
-#########################################################################*/
-
-/**
- *
- */
-class SVGExternalResourcesRequired
-{
-public:
-
-
- /**
- *
- */
- virtual SVGAnimatedBoolean getExternalResourcesRequired()
- { return required; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGExternalResourcesRequired()
- { }
-
-
- /**
- *
- */
- SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other)
- {
- required = other.required;
- }
-
- /**
- *
- */
- virtual ~SVGExternalResourcesRequired() {}
-
-protected:
-
- SVGAnimatedBoolean required;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPreserveAspectRatio
-#########################################################################*/
-
-/**
- *
- */
-class SVGPreserveAspectRatio
-{
-public:
-
-
- /**
- * Alignment Types
- */
- typedef enum
- {
- SVG_PRESERVEASPECTRATIO_UNKNOWN = 0,
- SVG_PRESERVEASPECTRATIO_NONE = 1,
- SVG_PRESERVEASPECTRATIO_XMINYMIN = 2,
- SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3,
- SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4,
- SVG_PRESERVEASPECTRATIO_XMINYMID = 5,
- SVG_PRESERVEASPECTRATIO_XMIDYMID = 6,
- SVG_PRESERVEASPECTRATIO_XMAXYMID = 7,
- SVG_PRESERVEASPECTRATIO_XMINYMAX = 8,
- SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9,
- SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10
- } AlignmentType;
-
-
- /**
- * Meet-or-slice Types
- */
- typedef enum
- {
- SVG_MEETORSLICE_UNKNOWN = 0,
- SVG_MEETORSLICE_MEET = 1,
- SVG_MEETORSLICE_SLICE = 2
- } MeetOrSliceType;
-
-
- /**
- *
- */
- virtual unsigned short getAlign()
- { return align; }
-
- /**
- *
- */
- virtual void setAlign(unsigned short val) throw (DOMException)
- { align = val; }
-
- /**
- *
- */
- virtual unsigned short getMeetOrSlice()
- { return meetOrSlice; }
-
- /**
- *
- */
- virtual void setMeetOrSlice(unsigned short val) throw (DOMException)
- { meetOrSlice = val; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPreserveAspectRatio()
- {
- align = SVG_PRESERVEASPECTRATIO_UNKNOWN;
- meetOrSlice = SVG_MEETORSLICE_UNKNOWN;
- }
-
- /**
- *
- */
- SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other)
- {
- align = other.align;
- meetOrSlice = other.meetOrSlice;
- }
-
- /**
- *
- */
- virtual ~SVGPreserveAspectRatio() {}
-
-protected:
-
- unsigned short align;
- unsigned short meetOrSlice;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedPreserveAspectRatio
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedPreserveAspectRatio
-{
-public:
-
-
- /**
- *
- */
- virtual SVGPreserveAspectRatio getBaseVal()
- { return baseVal; }
-
- /**
- *
- */
- virtual SVGPreserveAspectRatio getAnimVal()
- { return animVal; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedPreserveAspectRatio() {}
-
- /**
- *
- */
- SVGAnimatedPreserveAspectRatio(const SVGAnimatedPreserveAspectRatio &other)
- {
- baseVal = other.baseVal;
- baseVal = other.animVal;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedPreserveAspectRatio() {}
-
-protected:
-
- SVGPreserveAspectRatio baseVal;
- SVGPreserveAspectRatio animVal;
-
-};
-
-
-
-
-/*#########################################################################
-## SVGFitToViewBox
-#########################################################################*/
-
-/**
- *
- */
-class SVGFitToViewBox
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedRect getViewBox()
- { return viewBox; }
-
- /**
- *
- */
- virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
- { return preserveAspectRatio; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGFitToViewBox()
- {}
-
- /**
- *
- */
-
- SVGFitToViewBox(const SVGFitToViewBox &other)
- {
- viewBox = other.viewBox;
- preserveAspectRatio = other.preserveAspectRatio;
- }
-
- /**
- *
- */
- virtual ~SVGFitToViewBox() {}
-
-protected:
-
- SVGAnimatedRect viewBox;
-
- SVGAnimatedPreserveAspectRatio preserveAspectRatio;
-
-};
-
-
-/*#########################################################################
-## SVGZoomAndPan
-#########################################################################*/
-
-/**
- *
- */
-class SVGZoomAndPan
-{
-public:
-
-
- /**
- * Zoom and Pan Types
- */
- typedef enum
- {
- SVG_ZOOMANDPAN_UNKNOWN = 0,
- SVG_ZOOMANDPAN_DISABLE = 1,
- SVG_ZOOMANDPAN_MAGNIFY = 2
- } ZoomAndPanType;
-
-
- /**
- *
- */
- virtual unsigned short getZoomAndPan()
- { return zoomAndPan; }
-
- /**
- *
- */
- virtual void setZoomAndPan(unsigned short val) throw (DOMException)
- { zoomAndPan = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGZoomAndPan()
- { zoomAndPan = SVG_ZOOMANDPAN_UNKNOWN; }
-
- /**
- *
- */
- SVGZoomAndPan(const SVGZoomAndPan &other)
- { zoomAndPan = other.zoomAndPan; }
-
- /**
- *
- */
- virtual ~SVGZoomAndPan() {}
-
-protected:
-
- unsigned short zoomAndPan;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGViewSpec
-#########################################################################*/
-
-/**
- *
- */
-class SVGViewSpec : public SVGZoomAndPan,
- public SVGFitToViewBox
-{
-public:
-
- /**
- *
- */
- virtual SVGTransformList getTransform()
- { return transform; }
-
- /**
- *
- */
- virtual SVGElement *getViewTarget()
- { return viewTarget; }
-
- /**
- *
- */
- virtual DOMString getViewBoxString()
- {
- DOMString ret;
- return ret;
- }
-
- /**
- *
- */
- virtual DOMString getPreserveAspectRatioString()
- {
- DOMString ret;
- return ret;
- }
-
- /**
- *
- */
- virtual DOMString getTransformString()
- {
- DOMString ret;
- return ret;
- }
-
- /**
- *
- */
- virtual DOMString getViewTargetString()
- {
- DOMString ret;
- return ret;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGViewSpec()
- {
- viewTarget = NULL;
- }
-
- /**
- *
- */
- SVGViewSpec(const SVGViewSpec &other) : SVGZoomAndPan(other), SVGFitToViewBox(other)
- {
- viewTarget = other.viewTarget;
- transform = other.transform;
- }
-
- /**
- *
- */
- virtual ~SVGViewSpec() {}
-
-protected:
-
- SVGElement *viewTarget;
- SVGTransformList transform;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGURIReference
-#########################################################################*/
-
-/**
- *
- */
-class SVGURIReference
-{
-public:
-
- /**
- *
- */
- virtual SVGAnimatedString getHref()
- { return href; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGURIReference() {}
-
- /**
- *
- */
- SVGURIReference(const SVGURIReference &other)
- {
- href = other.href;
- }
-
- /**
- *
- */
- virtual ~SVGURIReference() {}
-
-protected:
-
- SVGAnimatedString href;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGCSSRule
-#########################################################################*/
-
-/**
- *
- */
-class SVGCSSRule : public css::CSSRule
-{
-public:
-
-
- /**
- * Additional CSS RuleType to support ICC color specifications
- */
- typedef enum
- {
- COLOR_PROFILE_RULE = 7
- } ColorProfileRuleType;
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGCSSRule()
- { type = COLOR_PROFILE_RULE; }
-
- /**
- *
- */
- SVGCSSRule(const SVGCSSRule &other) : css::CSSRule(other)
- { type = COLOR_PROFILE_RULE; }
-
- /**
- *
- */
- virtual ~SVGCSSRule() {}
-
-};
-
-
-
-/*#########################################################################
-## SVGRenderingIntent
-#########################################################################*/
-
-/**
- *
- */
-class SVGRenderingIntent
-{
-public:
-
- /**
- * Rendering Intent Types
- */
- typedef enum
- {
- RENDERING_INTENT_UNKNOWN = 0,
- RENDERING_INTENT_AUTO = 1,
- RENDERING_INTENT_PERCEPTUAL = 2,
- RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3,
- RENDERING_INTENT_SATURATION = 4,
- RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5
- } RenderingIntentType;
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGRenderingIntent()
- {
- renderingIntentType = RENDERING_INTENT_UNKNOWN;
- }
-
- /**
- *
- */
- SVGRenderingIntent(const SVGRenderingIntent &other)
- {
- renderingIntentType = other.renderingIntentType;
- }
-
- /**
- *
- */
- virtual ~SVGRenderingIntent() {}
-
-protected:
-
- unsigned short renderingIntentType;
-};
-
-
-
-
-
-
-
-/*#########################################################################
-###########################################################################
-## P A T H S E G M E N T S
-###########################################################################
-#########################################################################*/
-
-static char const *const pathSegLetters[] =
-{
- "@", // PATHSEG_UNKNOWN,
- "z", // PATHSEG_CLOSEPATH
- "M", // PATHSEG_MOVETO_ABS
- "m", // PATHSEG_MOVETO_REL,
- "L", // PATHSEG_LINETO_ABS
- "l", // PATHSEG_LINETO_REL
- "C", // PATHSEG_CURVETO_CUBIC_ABS
- "c", // PATHSEG_CURVETO_CUBIC_REL
- "Q", // PATHSEG_CURVETO_QUADRATIC_ABS,
- "q", // PATHSEG_CURVETO_QUADRATIC_REL
- "A", // PATHSEG_ARC_ABS
- "a", // PATHSEG_ARC_REL,
- "H", // PATHSEG_LINETO_HORIZONTAL_ABS,
- "h", // PATHSEG_LINETO_HORIZONTAL_REL
- "V", // PATHSEG_LINETO_VERTICAL_ABS
- "v", // PATHSEG_LINETO_VERTICAL_REL
- "S", // PATHSEG_CURVETO_CUBIC_SMOOTH_ABS
- "s", // PATHSEG_CURVETO_CUBIC_SMOOTH_REL
- "T", // PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS
- "t" // PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL
-};
-
-/*#########################################################################
-## SVGPathSeg
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSeg
-{
-public:
-
-
-
- /**
- * Path Segment Types
- */
- typedef enum
- {
- PATHSEG_UNKNOWN = 0,
- PATHSEG_CLOSEPATH = 1,
- PATHSEG_MOVETO_ABS = 2,
- PATHSEG_MOVETO_REL = 3,
- PATHSEG_LINETO_ABS = 4,
- PATHSEG_LINETO_REL = 5,
- PATHSEG_CURVETO_CUBIC_ABS = 6,
- PATHSEG_CURVETO_CUBIC_REL = 7,
- PATHSEG_CURVETO_QUADRATIC_ABS = 8,
- PATHSEG_CURVETO_QUADRATIC_REL = 9,
- PATHSEG_ARC_ABS = 10,
- PATHSEG_ARC_REL = 11,
- PATHSEG_LINETO_HORIZONTAL_ABS = 12,
- PATHSEG_LINETO_HORIZONTAL_REL = 13,
- PATHSEG_LINETO_VERTICAL_ABS = 14,
- PATHSEG_LINETO_VERTICAL_REL = 15,
- PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16,
- PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17,
- PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18,
- PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19
- } PathSegmentType;
-
- /**
- *
- */
- virtual unsigned short getPathSegType()
- { return type; }
-
- /**
- *
- */
- virtual DOMString getPathSegTypeAsLetter()
- {
- int typ = type;
- if (typ<0 || typ>PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL)
- typ = PATHSEG_UNKNOWN;
- char const *ch = pathSegLetters[typ];
- DOMString letter = ch;
- return letter;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSeg()
- { type = PATHSEG_UNKNOWN; }
-
- /**
- *
- */
- SVGPathSeg(const SVGPathSeg &other)
- {
- type = other.type;
- }
-
- /**
- *
- */
- virtual ~SVGPathSeg() {}
-
-protected:
-
- int type;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegClosePath
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegClosePath : public SVGPathSeg
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegClosePath()
- {
- type = PATHSEG_CLOSEPATH;
- }
-
- /**
- *
- */
- SVGPathSegClosePath(const SVGPathSegClosePath &other) : SVGPathSeg(other)
- {
- type = PATHSEG_CLOSEPATH;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegClosePath() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGPathSegMovetoAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegMovetoAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegMovetoAbs()
- {
- type = PATHSEG_MOVETO_ABS;
- x = y = 0.0;
- }
-
- /**
- *
- */
- SVGPathSegMovetoAbs(double xArg, double yArg)
- {
- type = PATHSEG_MOVETO_ABS;
- x = xArg; y = yArg;
- }
-
- /**
- *
- */
- SVGPathSegMovetoAbs(const SVGPathSegMovetoAbs &other) : SVGPathSeg(other)
- {
- type = PATHSEG_MOVETO_ABS;
- x = other.x; y = other.y;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegMovetoAbs() {}
-
-protected:
-
- double x,y;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegMovetoRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegMovetoRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegMovetoRel()
- {
- type = PATHSEG_MOVETO_REL;
- x = y = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegMovetoRel(double xArg, double yArg)
- {
- type = PATHSEG_MOVETO_REL;
- x = xArg; y = yArg;
- }
-
- /**
- *
- */
- SVGPathSegMovetoRel(const SVGPathSegMovetoRel &other) : SVGPathSeg(other)
- {
- type = PATHSEG_MOVETO_REL;
- x = other.x; y = other.y;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegMovetoRel() {}
-
-protected:
-
- double x,y;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegLinetoAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegLinetoAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegLinetoAbs()
- {
- type = PATHSEG_LINETO_ABS;
- x = y = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegLinetoAbs(double xArg, double yArg)
- {
- type = PATHSEG_LINETO_ABS;
- x = xArg; y = yArg;
- }
-
- /**
- *
- */
- SVGPathSegLinetoAbs(const SVGPathSegLinetoAbs &other) : SVGPathSeg(other)
- {
- type = PATHSEG_LINETO_ABS;
- x = other.x; y = other.y;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegLinetoAbs() {}
-
-protected:
-
- double x,y;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegLinetoRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegLinetoRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegLinetoRel()
- {
- type = PATHSEG_LINETO_REL;
- x = y = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegLinetoRel(double xArg, double yArg)
- {
- type = PATHSEG_LINETO_REL;
- x = xArg; y = yArg;
- }
-
- /**
- *
- */
- SVGPathSegLinetoRel(const SVGPathSegLinetoRel &other) : SVGPathSeg(other)
- {
- type = PATHSEG_LINETO_REL;
- x = other.x; y = other.y;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegLinetoRel() {}
-
-protected:
-
- double x,y;
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegCurvetoCubicAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegCurvetoCubicAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getX1()
- { return x1; }
-
- /**
- *
- */
- virtual void setX1(double val) throw (DOMException)
- { x1 = val; }
-
- /**
- *
- */
- virtual double getY1()
- { return y1; }
-
- /**
- *
- */
- virtual void setY1(double val) throw (DOMException)
- { y1 = val; }
-
-
- /**
- *
- */
- virtual double getX2()
- { return x2; }
-
- /**
- *
- */
- virtual void setX2(double val) throw (DOMException)
- { x2 = val; }
-
- /**
- *
- */
- virtual double getY2()
- { return y2; }
-
- /**
- *
- */
- virtual void setY2(double val) throw (DOMException)
- { y2 = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGPathSegCurvetoCubicAbs()
- {
- type = PATHSEG_CURVETO_CUBIC_ABS;
- x = y = x1 = y1 = x2 = y2 = 0.0;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoCubicAbs(double xArg, double yArg,
- double x1Arg, double y1Arg,
- double x2Arg, double y2Arg)
- {
- type = PATHSEG_CURVETO_CUBIC_ABS;
- x = xArg; y = yArg;
- x1 = x1Arg; y1 = y1Arg;
- x2 = x2Arg; y2 = y2Arg;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoCubicAbs(const SVGPathSegCurvetoCubicAbs &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_CURVETO_CUBIC_ABS;
- x = other.x; y = other.y;
- x1 = other.x1; y1 = other.y1;
- x2 = other.x2; y2 = other.y2;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegCurvetoCubicAbs() {}
-
-protected:
-
- double x, y, x1, y1, x2, y2;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegCurvetoCubicRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegCurvetoCubicRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getX1()
- { return x1; }
-
- /**
- *
- */
- virtual void setX1(double val) throw (DOMException)
- { x1 = val; }
-
- /**
- *
- */
- virtual double getY1()
- { return y1; }
-
- /**
- *
- */
- virtual void setY1(double val) throw (DOMException)
- { y1 = val; }
-
-
- /**
- *
- */
- virtual double getX2()
- { return x2; }
-
- /**
- *
- */
- virtual void setX2(double val) throw (DOMException)
- { x2 = val; }
-
- /**
- *
- */
- virtual double getY2()
- { return y2; }
-
- /**
- *
- */
- virtual void setY2(double val) throw (DOMException)
- { y2 = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGPathSegCurvetoCubicRel()
- {
- type = PATHSEG_CURVETO_CUBIC_REL;
- x = y = x1 = y1 = x2 = y2 = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegCurvetoCubicRel(double xArg, double yArg,
- double x1Arg, double y1Arg,
- double x2Arg, double y2Arg)
- {
- type = PATHSEG_CURVETO_CUBIC_REL;
- x = xArg; y = yArg;
- x1 = x1Arg; y1 = y1Arg;
- x2 = x2Arg; y2 = y2Arg;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoCubicRel(const SVGPathSegCurvetoCubicRel &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_CURVETO_CUBIC_REL;
- x = other.x; y = other.y;
- x1 = other.x1; y1 = other.y1;
- x2 = other.x2; y2 = other.y2;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegCurvetoCubicRel() {}
-
-protected:
-
- double x, y, x1, y1, x2, y2;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegCurvetoQuadraticAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegCurvetoQuadraticAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getX1()
- { return x1; }
-
- /**
- *
- */
- virtual void setX1(double val) throw (DOMException)
- { x1 = val; }
-
- /**
- *
- */
- virtual double getY1()
- { return y1; }
-
- /**
- *
- */
- virtual void setY1(double val) throw (DOMException)
- { y1 = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticAbs()
- {
- type = PATHSEG_CURVETO_QUADRATIC_ABS;
- x = y = x1 = y1 = 0.0;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticAbs(double xArg, double yArg,
- double x1Arg, double y1Arg)
- {
- type = PATHSEG_CURVETO_QUADRATIC_ABS;
- x = xArg; y = yArg;
- x1 = x1Arg; y1 = y1Arg;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticAbs(const SVGPathSegCurvetoQuadraticAbs &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_CURVETO_QUADRATIC_ABS;
- x = other.x; y = other.y;
- x1 = other.x1; y1 = other.y1;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegCurvetoQuadraticAbs() {}
-
-protected:
-
- double x, y, x1, y1;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegCurvetoQuadraticRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegCurvetoQuadraticRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getX1()
- { return x1; }
-
- /**
- *
- */
- virtual void setX1(double val) throw (DOMException)
- { x1 = val; }
-
- /**
- *
- */
- virtual double getY1()
- { return y1; }
-
- /**
- *
- */
- virtual void setY1(double val) throw (DOMException)
- { y1 = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticRel()
- {
- type = PATHSEG_CURVETO_QUADRATIC_REL;
- x = y = x1 = y1 = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticRel(double xArg, double yArg,
- double x1Arg, double y1Arg)
- {
- type = PATHSEG_CURVETO_QUADRATIC_REL;
- x = xArg; y = yArg;
- x1 = x1Arg; y1 = y1Arg;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticRel(const SVGPathSegCurvetoQuadraticRel &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_CURVETO_QUADRATIC_REL;
- x = other.x; y = other.y;
- x1 = other.x1; y1 = other.y1;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegCurvetoQuadraticRel() {}
-
-protected:
-
- double x, y, x1, y1;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegArcAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegArcAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getR1()
- { return r1; }
-
- /**
- *
- */
- virtual void setR1(double val) throw (DOMException)
- { r1 = val; }
-
- /**
- *
- */
- virtual double getR2()
- { return r2; }
-
- /**
- *
- */
- virtual void setR2(double val) throw (DOMException)
- { r2 = val; }
-
- /**
- *
- */
- virtual double getAngle()
- { return angle; }
-
- /**
- *
- */
- virtual void setAngle(double val) throw (DOMException)
- { angle = val; }
-
- /**
- *
- */
- virtual bool getLargeArcFlag()
- { return largeArcFlag; }
-
- /**
- *
- */
- virtual void setLargeArcFlag(bool val) throw (DOMException)
- { largeArcFlag = val; }
-
- /**
- *
- */
- virtual bool getSweepFlag()
- { return sweepFlag; }
-
- /**
- *
- */
- virtual void setSweepFlag(bool val) throw (DOMException)
- { sweepFlag = val; }
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGPathSegArcAbs()
- {
- type = PATHSEG_ARC_ABS;
- x = y = r1 = r2 = angle = 0.0;
- largeArcFlag = sweepFlag = false;
- }
-
- /**
- *
- */
- SVGPathSegArcAbs(double xArg, double yArg,
- double r1Arg, double r2Arg,
- double angleArg,
- bool largeArcFlagArg,
- bool sweepFlagArg )
-
- {
- type = PATHSEG_ARC_ABS;
- x = xArg; y = yArg;
- r1 = r1Arg; r2 = r2Arg;
- angle = angleArg;
- largeArcFlag = largeArcFlagArg;
- sweepFlag = sweepFlagArg;
- }
-
- /**
- *
- */
- SVGPathSegArcAbs(const SVGPathSegArcAbs &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_ARC_ABS;
- x = other.x; y = other.y;
- r1 = other.r1; r2 = other.r2;
- angle = other.angle;
- largeArcFlag = other.largeArcFlag;
- sweepFlag = other.sweepFlag;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegArcAbs() {}
-
-protected:
-
- double x, y, r1, r2, angle;
- bool largeArcFlag;
- bool sweepFlag;
-
-};
-
-
-
-/*#########################################################################
-## SVGPathSegArcRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegArcRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getR1()
- { return r1; }
-
- /**
- *
- */
- virtual void setR1(double val) throw (DOMException)
- { r1 = val; }
-
- /**
- *
- */
- virtual double getR2()
- { return r2; }
-
- /**
- *
- */
- virtual void setR2(double val) throw (DOMException)
- { r2 = val; }
-
- /**
- *
- */
- virtual double getAngle()
- { return angle; }
-
- /**
- *
- */
- virtual void setAngle(double val) throw (DOMException)
- { angle = val; }
-
- /**
- *
- */
- virtual bool getLargeArcFlag()
- { return largeArcFlag; }
-
- /**
- *
- */
- virtual void setLargeArcFlag(bool val) throw (DOMException)
- { largeArcFlag = val; }
-
- /**
- *
- */
- virtual bool getSweepFlag()
- { return sweepFlag; }
-
- /**
- *
- */
- virtual void setSweepFlag(bool val) throw (DOMException)
- { sweepFlag = val; }
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGPathSegArcRel()
- {
- type = PATHSEG_ARC_REL;
- x = y = r1 = r2 = angle = 0.0;
- largeArcFlag = sweepFlag = false;
- }
-
-
- /**
- *
- */
- SVGPathSegArcRel(double xArg, double yArg,
- double r1Arg, double r2Arg,
- double angleArg,
- bool largeArcFlagArg,
- bool sweepFlagArg )
-
- {
- type = PATHSEG_ARC_REL;
- x = xArg; y = yArg;
- r1 = r1Arg; r2 = r2Arg;
- angle = angleArg;
- largeArcFlag = largeArcFlagArg;
- sweepFlag = sweepFlagArg;
- }
-
- /**
- *
- */
- SVGPathSegArcRel(const SVGPathSegArcRel &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_ARC_REL;
- x = other.x; y = other.y;
- r1 = other.r1; r2 = other.r2;
- angle = other.angle;
- largeArcFlag = other.largeArcFlag;
- sweepFlag = other.sweepFlag;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegArcRel() {}
-
-protected:
-
- double x, y, r1, r2, angle;
- bool largeArcFlag;
- bool sweepFlag;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegLinetoHorizontalAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegLinetoHorizontalAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegLinetoHorizontalAbs()
- {
- type = PATHSEG_LINETO_HORIZONTAL_ABS;
- x = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegLinetoHorizontalAbs(double xArg)
- {
- type = PATHSEG_LINETO_HORIZONTAL_ABS;
- x = xArg;
- }
-
- /**
- *
- */
- SVGPathSegLinetoHorizontalAbs(const SVGPathSegLinetoHorizontalAbs &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_LINETO_HORIZONTAL_ABS;
- x = other.x;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegLinetoHorizontalAbs() {}
-
-protected:
-
- double x;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegLinetoHorizontalRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegLinetoHorizontalRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegLinetoHorizontalRel()
- {
- type = PATHSEG_LINETO_HORIZONTAL_REL;
- x = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegLinetoHorizontalRel(double xArg)
- {
- type = PATHSEG_LINETO_HORIZONTAL_REL;
- x = xArg;
- }
-
- /**
- *
- */
- SVGPathSegLinetoHorizontalRel(const SVGPathSegLinetoHorizontalRel &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_LINETO_HORIZONTAL_REL;
- x = other.x;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegLinetoHorizontalRel() {}
-
-protected:
-
- double x;
-
-};
-
-
-
-/*#########################################################################
-## SVGPathSegLinetoVerticalAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegLinetoVerticalAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegLinetoVerticalAbs()
- {
- type = PATHSEG_LINETO_VERTICAL_ABS;
- y = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegLinetoVerticalAbs(double yArg)
- {
- type = PATHSEG_LINETO_VERTICAL_ABS;
- y = yArg;
- }
-
- /**
- *
- */
- SVGPathSegLinetoVerticalAbs(const SVGPathSegLinetoVerticalAbs &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_LINETO_VERTICAL_ABS;
- y = other.y;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegLinetoVerticalAbs() {}
-
-protected:
-
- double y;
-
-};
-
-
-
-/*#########################################################################
-## SVGPathSegLinetoVerticalRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegLinetoVerticalRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegLinetoVerticalRel()
- {
- type = PATHSEG_LINETO_VERTICAL_REL;
- y = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegLinetoVerticalRel(double yArg)
- {
- type = PATHSEG_LINETO_VERTICAL_REL;
- y = yArg;
- }
-
- /**
- *
- */
- SVGPathSegLinetoVerticalRel(const SVGPathSegLinetoVerticalRel &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_LINETO_VERTICAL_REL;
- y = other.y;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegLinetoVerticalRel() {}
-
-protected:
-
- double y;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegCurvetoCubicSmoothAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegCurvetoCubicSmoothAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getX2()
- { return x2; }
-
- /**
- *
- */
- virtual void setX2(double val) throw (DOMException)
- { x2 = val; }
-
- /**
- *
- */
- virtual double getY2()
- { return y2; }
-
- /**
- *
- */
- virtual void setY2(double val) throw (DOMException)
- { y2 = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegCurvetoCubicSmoothAbs()
- {
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
- x = y = x2 = y2 = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegCurvetoCubicSmoothAbs(double xArg, double yArg,
- double x2Arg, double y2Arg)
- {
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
- x = xArg; y = yArg;
- x2 = x2Arg; y2 = y2Arg;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoCubicSmoothAbs(const SVGPathSegCurvetoCubicSmoothAbs &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
- x = other.x; y = other.y;
- x2 = other.x2; y2 = other.y2;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegCurvetoCubicSmoothAbs() {}
-
-protected:
-
- double x, y, x2, y2;
-
-};
-
-
-
-/*#########################################################################
-## SVGPathSegCurvetoCubicSmoothRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegCurvetoCubicSmoothRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
- /**
- *
- */
- virtual double getX2()
- { return x2; }
-
- /**
- *
- */
- virtual void setX2(double val) throw (DOMException)
- { x2 = val; }
-
- /**
- *
- */
- virtual double getY2()
- { return y2; }
-
- /**
- *
- */
- virtual void setY2(double val) throw (DOMException)
- { y2 = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegCurvetoCubicSmoothRel()
- {
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
- x = y = x2 = y2 = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegCurvetoCubicSmoothRel(double xArg, double yArg,
- double x2Arg, double y2Arg)
- {
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
- x = xArg; y = yArg;
- x2 = x2Arg; y2 = y2Arg;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoCubicSmoothRel(const SVGPathSegCurvetoCubicSmoothRel &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
- x = other.x; y = other.y;
- x2 = other.x2; y2 = other.y2;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegCurvetoCubicSmoothRel() {}
-
-protected:
-
- double x, y, x2, y2;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegCurvetoQuadraticSmoothAbs
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegCurvetoQuadraticSmoothAbs : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticSmoothAbs()
- {
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
- x = y = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticSmoothAbs(double xArg, double yArg)
- {
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
- x = xArg; y = yArg;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticSmoothAbs(const SVGPathSegCurvetoQuadraticSmoothAbs &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
- x = y = 0.0;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegCurvetoQuadraticSmoothAbs() {}
-
-protected:
-
- double x, y;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegCurvetoQuadraticSmoothRel
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegCurvetoQuadraticSmoothRel : public SVGPathSeg
-{
-public:
-
- /**
- *
- */
- virtual double getX()
- { return x; }
-
- /**
- *
- */
- virtual void setX(double val) throw (DOMException)
- { x = val; }
-
- /**
- *
- */
- virtual double getY()
- { return y; }
-
- /**
- *
- */
- virtual void setY(double val) throw (DOMException)
- { y = val; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticSmoothRel()
- {
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
- x = y = 0.0;
- }
-
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticSmoothRel(double xArg, double yArg)
- {
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
- x = xArg; y = yArg;
- }
-
- /**
- *
- */
- SVGPathSegCurvetoQuadraticSmoothRel(const SVGPathSegCurvetoQuadraticSmoothRel &other)
- : SVGPathSeg(other)
- {
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
- x = y = 0.0;
- }
-
- /**
- *
- */
- virtual ~SVGPathSegCurvetoQuadraticSmoothRel() {}
-
-protected:
-
- double x, y;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGPathSegList
-#########################################################################*/
-
-/**
- *
- */
-class SVGPathSegList
-{
-public:
-
- /**
- *
- */
- virtual unsigned long getNumberOfItems()
- { return items.size(); }
-
-
- /**
- *
- */
- virtual void clear () throw( DOMException )
- { items.clear(); }
-
- /**
- *
- */
- virtual SVGPathSeg initialize (const SVGPathSeg &newItem)
- throw( DOMException, SVGException )
- {
- items.clear();
- items.push_back(newItem);
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGPathSeg getItem (unsigned long index)
- throw( DOMException )
- {
- if (index >= items.size())
- {
- SVGPathSeg seg;
- return seg;
- }
- return items[index];
- }
-
- /**
- *
- */
- virtual SVGPathSeg insertItemBefore(const SVGPathSeg &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index >= items.size())
- items.push_back(newItem);
- else
- {
- std::vector<SVGPathSeg>::iterator iter = items.begin() + index;
- items.insert(iter, newItem);
- }
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGPathSeg replaceItem(const SVGPathSeg &newItem,
- unsigned long index )
- throw( DOMException, SVGException )
- {
- if (index >= items.size())
- {
- SVGPathSeg seg;
- return seg;
- }
- std::vector<SVGPathSeg>::iterator iter = items.begin() + index;
- *iter = newItem;
- return newItem;
- }
-
- /**
- *
- */
- virtual SVGPathSeg removeItem (unsigned long index)
- throw (DOMException)
- {
- if (index >= items.size())
- {
- SVGPathSeg seg;
- return seg;
- }
- std::vector<SVGPathSeg>::iterator iter = items.begin() + index;
- SVGPathSeg olditem = *iter;
- items.erase(iter);
- return olditem;
- }
-
- /**
- *
- */
- virtual SVGPathSeg appendItem (const SVGPathSeg &newItem)
- throw( DOMException, SVGException )
- {
- items.push_back(newItem);
- return newItem;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPathSegList() {}
-
-
- /**
- *
- */
- SVGPathSegList(const SVGPathSegList &other)
- {
- items = other.items;
- }
-
-
- /**
- *
- */
- virtual ~SVGPathSegList() {}
-
-protected:
-
- std::vector<SVGPathSeg> items;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedPathData
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedPathData
-{
-public:
-
- /**
- *
- */
- virtual SVGPathSegList getPathSegList()
- {
- SVGPathSegList list;
- return list;
- }
-
- /**
- *
- */
- virtual SVGPathSegList getNormalizedPathSegList()
- {
- SVGPathSegList list;
- return list;
- }
-
- /**
- *
- */
- virtual SVGPathSegList getAnimatedPathSegList()
- {
- SVGPathSegList list;
- return list;
- }
-
- /**
- *
- */
- virtual SVGPathSegList getAnimatedNormalizedPathSegList()
- {
- SVGPathSegList list;
- return list;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedPathData()
- {}
-
- /**
- *
- */
- SVGAnimatedPathData(const SVGAnimatedPathData &/*other*/)
- {
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedPathData() {}
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGAnimatedPoints
-#########################################################################*/
-
-/**
- *
- */
-class SVGAnimatedPoints
-{
-public:
-
- /**
- *
- */
- virtual SVGPointList getPoints()
- { return points; }
-
- /**
- *
- */
- virtual SVGPointList getAnimatedPoints()
- { return animatedPoints; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGAnimatedPoints() {}
-
- /**
- *
- */
- SVGAnimatedPoints(const SVGAnimatedPoints &other)
- {
- points = other.points;
- animatedPoints = other.animatedPoints;
- }
-
- /**
- *
- */
- virtual ~SVGAnimatedPoints() {}
-
-protected:
-
- SVGPointList points;
- SVGPointList animatedPoints;
-
-};
-
-
-
-
-
-/*#########################################################################
-## SVGPaint
-#########################################################################*/
-
-/**
- *
- */
-class SVGPaint : public SVGColor
-{
-public:
-
-
- /**
- * Paint Types
- */
- typedef enum
- {
- SVG_PAINTTYPE_UNKNOWN = 0,
- SVG_PAINTTYPE_RGBCOLOR = 1,
- SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2,
- SVG_PAINTTYPE_NONE = 101,
- SVG_PAINTTYPE_CURRENTCOLOR = 102,
- SVG_PAINTTYPE_URI_NONE = 103,
- SVG_PAINTTYPE_URI_CURRENTCOLOR = 104,
- SVG_PAINTTYPE_URI_RGBCOLOR = 105,
- SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106,
- SVG_PAINTTYPE_URI = 107
- } PaintType;
-
-
- /**
- *
- */
- virtual unsigned short getPaintType()
- { return paintType; }
-
- /**
- *
- */
- virtual DOMString getUri()
- { return uri; }
-
- /**
- *
- */
- virtual void setUri (const DOMString& uriArg )
- { uri = uriArg; }
-
- /**
- *
- */
- virtual void setPaint (unsigned short paintTypeArg,
- const DOMString& uriArg,
- const DOMString& /*rgbColor*/,
- const DOMString& /*iccColor*/ )
- throw( SVGException )
- {
- paintType = paintTypeArg;
- uri = uriArg;
- //do something with rgbColor
- //do something with iccColor;
- }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGPaint()
- {
- uri = "";
- paintType = SVG_PAINTTYPE_UNKNOWN;
- }
-
- /**
- *
- */
- SVGPaint(const SVGPaint &other) : css::CSSValue(other), SVGColor(other)
- {
- uri = "";
- paintType = SVG_PAINTTYPE_UNKNOWN;
- }
-
- /**
- *
- */
- virtual ~SVGPaint() {}
-
-protected:
-
- unsigned int paintType;
- DOMString uri;
-
-};
-
-
-
-
-/*#########################################################################
-## SVGColorProfileRule
-#########################################################################*/
-
-/**
- *
- */
-class SVGColorProfileRule : public SVGCSSRule,
- public SVGRenderingIntent
-{
-
-public:
- /**
- *
- */
- virtual DOMString getSrc()
- { return src; }
-
- /**
- *
- */
- virtual void setSrc(const DOMString &val) throw (DOMException)
- { src = val; }
-
- /**
- *
- */
- virtual DOMString getName()
- { return name; }
-
- /**
- *
- */
- virtual void setName(const DOMString &val) throw (DOMException)
- { name = val; }
-
- /**
- *
- */
- virtual unsigned short getRenderingIntent()
- { return renderingIntent; }
-
- /**
- *
- */
- virtual void setRenderingIntent(unsigned short val) throw (DOMException)
- { renderingIntent = val; }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGColorProfileRule() {}
-
- /**
- *
- */
- SVGColorProfileRule(const SVGColorProfileRule &other)
- : SVGCSSRule(other), SVGRenderingIntent(other)
- {
- renderingIntent = other.renderingIntent;
- src = other.src;
- name = other.name;
- }
-
- /**
- *
- */
- virtual ~SVGColorProfileRule() {}
-
-protected:
-
- unsigned short renderingIntent;
- DOMString src;
- DOMString name;
-
-};
-
-
-
-/*#########################################################################
-## SVGFilterPrimitiveStandardAttributes
-#########################################################################*/
-
-/**
- *
- */
-class SVGFilterPrimitiveStandardAttributes : public SVGStylable
-{
-public:
-
-
-
- /**
- *
- */
- virtual SVGAnimatedLength getX()
- { return x; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getY()
- { return y; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getWidth()
- { return width; }
-
- /**
- *
- */
- virtual SVGAnimatedLength getHeight()
- { return height; }
-
- /**
- *
- */
- virtual SVGAnimatedString getResult()
- { return result; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
-
- /**
- *
- */
- SVGFilterPrimitiveStandardAttributes()
- {}
-
- /**
- *
- */
- SVGFilterPrimitiveStandardAttributes(const SVGFilterPrimitiveStandardAttributes &other)
- : SVGStylable(other)
- {
- x = other.x;
- y = other.y;
- width = other.width;
- height = other.height;
- result = other.result;
- }
-
- /**
- *
- */
- virtual ~SVGFilterPrimitiveStandardAttributes() {}
-
-protected:
-
- SVGAnimatedLength x;
- SVGAnimatedLength y;
- SVGAnimatedLength width;
- SVGAnimatedLength height;
- SVGAnimatedString result;
-
-};
-
-
-
-
-
-
-
-
-
-
-
-/*#########################################################################
-## SVGEvent
-#########################################################################*/
-
-/**
- *
- */
-class SVGEvent : events::Event
-{
-public:
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGEvent() {}
-
- /**
- *
- */
- SVGEvent(const SVGEvent &other) : events::Event(other)
- {}
-
- /**
- *
- */
- virtual ~SVGEvent() {}
-
-};
-
-
-
-
-/*#########################################################################
-## SVGZoomEvent
-#########################################################################*/
-
-/**
- *
- */
-class SVGZoomEvent : events::UIEvent
-{
-public:
-
- /**
- *
- */
- virtual SVGRect getZoomRectScreen()
- { return zoomRectScreen; }
-
- /**
- *
- */
- virtual double getPreviousScale()
- { return previousScale; }
-
- /**
- *
- */
- virtual SVGPoint getPreviousTranslate()
- { return previousTranslate; }
-
- /**
- *
- */
- virtual double getNewScale()
- { return newScale; }
-
- /**
- *
- */
- virtual SVGPoint getNewTranslate()
- { return newTranslate; }
-
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGZoomEvent()
- {}
-
- /**
- *
- */
- SVGZoomEvent(const SVGZoomEvent &other) : events::Event(other),
- events::UIEvent(other)
- {
- zoomRectScreen = other.zoomRectScreen;
- previousScale = other.previousScale;
- previousTranslate = other.previousTranslate;
- newScale = other.newScale;
- newTranslate = other.newTranslate;
- }
-
- /**
- *
- */
- virtual ~SVGZoomEvent() {}
-
-protected:
-
- SVGRect zoomRectScreen;
- double previousScale;
- SVGPoint previousTranslate;
- double newScale;
- SVGPoint newTranslate;
-
-};
-
-
-
-/*#########################################################################
-## SVGElementInstance
-#########################################################################*/
-
-/**
- *
- */
-class SVGElementInstance : public events::EventTarget
-{
-public:
-
- /**
- *
- */
- virtual SVGElement *getCorrespondingElement()
- { return correspondingElement; }
-
- /**
- *
- */
- virtual SVGUseElement *getCorrespondingUseElement()
- { return correspondingUseElement; }
-
- /**
- *
- */
- virtual SVGElementInstance getParentNode()
- {
- SVGElementInstance ret;
- return ret;
- }
-
- /**
- * Since we are using stack types and this is a circular definition,
- * we will instead implement this as a global function below:
- * SVGElementInstanceList getChildNodes(const SVGElementInstance instance);
- */
- //virtual SVGElementInstanceList getChildNodes();
-
- /**
- *
- */
- virtual SVGElementInstance getFirstChild()
- {
- SVGElementInstance ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGElementInstance getLastChild()
- {
- SVGElementInstance ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGElementInstance getPreviousSibling()
- {
- SVGElementInstance ret;
- return ret;
- }
-
- /**
- *
- */
- virtual SVGElementInstance getNextSibling()
- {
- SVGElementInstance ret;
- return ret;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGElementInstance() {}
-
- /**
- *
- */
- SVGElementInstance(const SVGElementInstance &other)
- : events::EventTarget(other)
- {
- }
-
- /**
- *
- */
- virtual ~SVGElementInstance() {}
-
-protected:
-
- SVGElement *correspondingElement;
- SVGUseElement *correspondingUseElement;
-
-};
-
-
-
-
-
-
-/*#########################################################################
-## SVGElementInstanceList
-#########################################################################*/
-
-/**
- *
- */
-class SVGElementInstanceList
-{
-public:
-
-
- /**
- *
- */
- virtual unsigned long getLength()
- { return items.size(); }
-
- /**
- *
- */
- virtual SVGElementInstance item (unsigned long index )
- {
- if (index >= items.size())
- {
- SVGElementInstance ret;
- return ret;
- }
- return items[index];
- }
-
- /**
- * This static method replaces the circular definition of:
- * SVGElementInstanceList SVGElementInstance::getChildNodes()
- *
- */
- static SVGElementInstanceList getChildNodes(const SVGElementInstance &/*instance*/)
- {
- SVGElementInstanceList list;
- return list;
- }
-
-
- //##################
- //# Non-API methods
- //##################
-
- /**
- *
- */
- SVGElementInstanceList() {}
-
- /**
- *
- */
- SVGElementInstanceList(const SVGElementInstanceList &other)
- {
- items = other.items;
- }
-
- /**
- *
- */
- virtual ~SVGElementInstanceList() {}
-
-protected:
-
- std::vector<SVGElementInstance> items;
-
-
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-} //namespace svg
-} //namespace dom
-} //namespace w3c
-} //namespace org
-
-#endif /* __SVGTYPES_H__ */
-/*#########################################################################
-## E N D O F F I L E
-#########################################################################*/
-
diff --git a/src/dom/svgimpl.cpp b/src/dom/svgimpl.cpp
--- /dev/null
+++ b/src/dom/svgimpl.cpp
@@ -0,0 +1,1870 @@
+/**
+ * Phoebe DOM Implementation.
+ *
+ * This is a C++ approximation of the W3C DOM model, which follows
+ * fairly closely the specifications in the various .idl files, copies of
+ * which are provided for reference. Most important is this one:
+ *
+ * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2005 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "svgimpl.h"
+
+
+
+namespace org
+{
+namespace w3c
+{
+namespace dom
+{
+namespace svg
+{
+
+
+/*#########################################################################
+## SVGElementImpl
+#########################################################################*/
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+/*#########################################################################
+## SVGDocumentImpl
+#########################################################################*/
+
+
+
+//####################################################
+//# Overload some createXXX() methods from DocumentImpl,
+//# To create our SVG-DOM types
+//####################################################
+
+/**
+ *
+ */
+ElementPtr SVGDocumentImpl::createElement(const DOMString& tagName)
+ throw(DOMException)
+{
+ SVGElementPtr elem = new SVGElementImpl(this, tagName);
+ return elem;
+}
+
+
+/**
+ *
+ */
+ElementPtr SVGDocumentImpl::createElementNS(const DOMString& namespaceURI,
+ const DOMString& qualifiedName)
+ throw(DOMException)
+{
+ SVGElementPtr elem = new SVGElementImpl(this, namespaceURI, qualifiedName);
+ return elem;
+}
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGSVGElementImpl
+#########################################################################*/
+
+
+/**
+ *
+ */
+unsigned long SVGSVGElementImpl::suspendRedraw(unsigned long max_wait_milliseconds )
+{
+ return 0L;
+}
+
+/**
+ *
+ */
+void SVGSVGElementImpl::unsuspendRedraw(unsigned long suspend_handle_id )
+ throw ( DOMException )
+{
+}
+
+
+/**
+ *
+ */
+void SVGSVGElementImpl::unsuspendRedrawAll( )
+{
+}
+
+/**
+ *
+ */
+void SVGSVGElementImpl::forceRedraw( )
+{
+}
+
+/**
+ *
+ */
+void SVGSVGElementImpl::pauseAnimations( )
+{
+}
+
+/**
+ *
+ */
+void SVGSVGElementImpl::unpauseAnimations( )
+{
+}
+
+/**
+ *
+ */
+bool SVGSVGElementImpl::animationsPaused( )
+{
+ return false;
+}
+
+
+/**
+ *
+ */
+NodeList SVGSVGElementImpl::getIntersectionList(const SVGRect &rect,
+ const SVGElementPtr referenceElement )
+{
+ NodeList list;
+ return list;
+}
+
+/**
+ *
+ */
+NodeList SVGSVGElementImpl::getEnclosureList(const SVGRect &rect,
+ const SVGElementPtr referenceElement )
+{
+ NodeList list;
+ return list;
+}
+
+/**
+ *
+ */
+bool SVGSVGElementImpl::checkIntersection(const SVGElementPtr element,
+ const SVGRect &rect )
+{
+ return false;
+}
+
+/**
+ *
+ */
+bool SVGSVGElementImpl::checkEnclosure(const SVGElementPtr element,
+ const SVGRect &rect )
+{
+ return false;
+}
+
+/**
+ *
+ */
+void SVGSVGElementImpl::deselectAll( )
+{
+}
+
+/**
+ *
+ */
+ElementPtr SVGSVGElementImpl::getElementById(const DOMString& elementId )
+{
+ return NULL;
+}
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+/*#########################################################################
+## SVGGElementImpl
+#########################################################################*/
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## SVGDefsElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## SVGDescElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## SVGTitleElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+/*#########################################################################
+## SVGSymbolElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## SVGUseElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGImageElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGSwitchElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## GetSVGDocumentImpl
+#########################################################################*/
+
+/**
+ *
+ */
+SVGDocumentPtr GetSVGDocumentImpl::getSVGDocument( )
+ throw ( DOMException )
+{
+ return NULL;
+}
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGStyleElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+/*#########################################################################
+## SVGPathElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+SVGAnimatedNumber SVGPathElementImpl::getPathLength()
+{
+ SVGAnimatedNumber ret;
+ return ret;
+}
+
+/**
+ *
+ */
+double SVGPathElementImpl::getTotalLength( )
+{
+ return 0.0;
+}
+
+/**
+ *
+ */
+SVGPoint SVGPathElementImpl::getPointAtLength(double distance )
+{
+ SVGPoint ret;
+ return ret;
+}
+
+/**
+ *
+ */
+unsigned long SVGPathElementImpl::getPathSegAtLength(double distance )
+{
+ return 0L;
+}
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGRectElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGCircleElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGEllipseElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGLineElementImpl
+#########################################################################*/
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGPolylineElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## SVGPolygonElementImpl
+#########################################################################*/
+
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGTextContentElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+SVGAnimatedLength SVGTextContentElementImpl::getTextLength()
+{
+ SVGAnimatedLength ret;
+ return ret;
+}
+
+
+/**
+ *
+ */
+SVGAnimatedEnumeration SVGTextContentElementImpl::getLengthAdjust()
+{
+ SVGAnimatedEnumeration ret;
+ return ret;
+}
+
+
+/**
+ *
+ */
+long SVGTextContentElementImpl::getNumberOfChars( )
+{
+ return 0L;
+}
+
+/**
+ *
+ */
+double SVGTextContentElementImpl::getComputedTextLength( )
+{
+ return 0.0;
+}
+
+/**
+ *
+ */
+double SVGTextContentElementImpl::getSubStringLength(unsigned long charnum, unsigned long nchars )
+ throw ( DOMException )
+{
+ return 0.0;
+}
+
+/**
+ *
+ */
+SVGPoint SVGTextContentElementImpl::getStartPositionOfChar(unsigned long charnum )
+ throw ( DOMException )
+{
+ SVGPoint ret;
+ return ret;
+}
+
+/**
+ *
+ */
+SVGPoint SVGTextContentElementImpl::getEndPositionOfChar(unsigned long charnum )
+ throw ( DOMException )
+{
+ SVGPoint ret;
+ return ret;
+}
+
+/**
+ *
+ */
+SVGRect SVGTextContentElementImpl::getExtentOfChar(unsigned long charnum )
+ throw ( DOMException )
+{
+ SVGRect ret;
+ return ret;
+}
+
+/**
+ *
+ */
+double SVGTextContentElementImpl::getRotationOfChar(unsigned long charnum )
+ throw ( DOMException )
+{
+ return 0.0;
+}
+
+/**
+ *
+ */
+long SVGTextContentElementImpl::getCharNumAtPosition(const SVGPoint &point )
+{
+ return 0L;
+}
+
+/**
+ *
+ */
+void SVGTextContentElementImpl::selectSubString(unsigned long charnum,
+ unsigned long nchars )
+ throw ( DOMException )
+{
+}
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGTextPositioningElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGTextElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGTSpanElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## SVGTRefElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGTextPathElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphElementImpl
+#########################################################################*/
+
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphDefElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphItemElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGGlyphRefElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGMarkerElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGColorProfileElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGGradientElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGLinearGradientElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGRadialGradientElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGStopElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGPatternElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGClipPathElementImpl
+#########################################################################*/
+
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGMaskElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFilterElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEBlendElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEColorMatrixElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEComponentTransferElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGComponentTransferFunctionElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncRElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncGElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncBElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncAElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFECompositeElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEConvolveMatrixElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEDiffuseLightingElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+/*#########################################################################
+## SVGFEDistantLightElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEPointLightElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFESpotLightElementImpl
+#########################################################################*/
+
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEDisplacementMapElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFloodElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEGaussianBlurElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEImageElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEMergeElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEMergeNodeElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEMorphologyElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEOffsetElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## SVGFESpecularLightingElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFETileElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFETurbulenceElementImpl
+#########################################################################*/
+
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGCursorElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGViewElementImpl
+#########################################################################*/
+
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGScriptElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimationElementImpl
+#########################################################################*/
+
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateElementImpl
+#########################################################################*/
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGSetElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateMotionElementImpl
+#########################################################################*/
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGMPathElementImpl
+#########################################################################*/
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateColorElementImpl
+#########################################################################*/
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateTransformElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFontElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGGlyphElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGMissingGlyphElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGHKernElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGVKernElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceSrcElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceUriElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceFormatElementImpl
+#########################################################################*/
+
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceNameElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGDefinitionSrcElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGMetadataElementImpl
+#########################################################################*/
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+/*#########################################################################
+## SVGForeignObjectElementImpl
+#########################################################################*/
+
+
+
+//##################
+//# Non-API methods
+//##################
+
+
+
+
+
+
+
+
+
+
+
+
+} //namespace svg
+} //namespace dom
+} //namespace w3c
+} //namespace org
+
+
+/*#########################################################################
+## E N D O F F I L E
+#########################################################################*/
+
diff --git a/src/dom/svgimpl.h b/src/dom/svgimpl.h
--- /dev/null
+++ b/src/dom/svgimpl.h
@@ -0,0 +1,5112 @@
+#ifndef __SVGIMPL_H__
+#define __SVGIMPL_H__
+
+/**
+ * Phoebe DOM Implementation.
+ *
+ * This is a C++ approximation of the W3C DOM model, which follows
+ * fairly closely the specifications in the various .idl files, copies of
+ * which are provided for reference. Most important is this one:
+ *
+ * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2006 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#include "svg.h"
+#include "dom/domimpl.h"
+#include "dom/smilimpl.h"
+
+#include <math.h>
+
+
+
+namespace org
+{
+namespace w3c
+{
+namespace dom
+{
+namespace svg
+{
+
+
+//local definitions
+typedef dom::DOMString DOMString;
+typedef dom::DOMException DOMException;
+typedef dom::Element Element;
+typedef dom::Document Document;
+typedef dom::NodeList NodeList;
+
+
+
+class SVGSVGElementImpl;
+typedef Ptr<SVGSVGElementImpl> SVGSVGElementImplPtr;
+class SVGElementImpl;
+typedef Ptr<SVGElementImpl> SVGElementImplPtr;
+class SVGDocumentImpl;
+typedef Ptr<SVGDocumentImpl> SVGDocumentImplPtr;
+
+/*#########################################################################
+## SVGDocumentImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGDocumentImpl : virtual public SVGDocument, public DocumentImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual DOMString getTitle()
+ { return title; }
+
+ /**
+ *
+ */
+ virtual DOMString getReferrer()
+ { return referrer; }
+
+ /**
+ *
+ */
+ virtual DOMString getDomain()
+ { return domain; }
+
+ /**
+ *
+ */
+ virtual DOMString getURL()
+ { return url; }
+
+ /**
+ *
+ */
+ virtual SVGSVGElementPtr getRootElement()
+ { return rootElement; }
+
+
+ //####################################################
+ //# Overload some createXXX() methods from DocumentImpl,
+ //# To create our SVG-DOM types (in .cpp)
+ //####################################################
+
+ /**
+ *
+ */
+ virtual ElementPtr createElement(const DOMString& tagName)
+ throw(DOMException);
+
+
+ /**
+ *
+ */
+ virtual ElementPtr createElementNS(const DOMString& namespaceURI,
+ const DOMString& qualifiedName)
+ throw(DOMException);
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ SVGDocumentImpl(const DOMImplementation *domImpl,
+ const DOMString &namespaceURI,
+ const DOMString &qualifiedName,
+ const DocumentTypePtr doctype)
+ : DocumentImpl(domImpl, namespaceURI,
+ qualifiedName, doctype)
+ {
+ init();
+ }
+
+
+ /**
+ *
+ */
+ virtual ~SVGDocumentImpl()
+ {
+ }
+
+protected:
+
+friend class SvgParser;
+
+ void init()
+ {
+ title = "";
+ referrer = "";
+ domain = "";
+ rootElement = NULL;
+ }
+
+ DOMString title;
+ DOMString referrer;
+ DOMString domain;
+ DOMString url;
+ SVGSVGElementPtr rootElement;
+};
+
+
+
+/*#########################################################################
+## SVGElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGElementImpl : virtual public SVGElement,
+ public ElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getId()
+ { return id; }
+
+ /**
+ *
+ */
+ virtual void setId(const DOMString &val)
+ throw (DOMException)
+ { id = val; }
+
+ /**
+ *
+ */
+ virtual DOMString getXmlBase()
+ { return xmlBase; }
+
+ /**
+ *
+ */
+ virtual void setXmlBase(const DOMString &val)
+ throw (DOMException)
+ { xmlBase = val; }
+
+ /**
+ *
+ */
+ virtual SVGSVGElementPtr getOwnerSVGElement()
+ { return ownerSvgElement; }
+
+ /**
+ *
+ */
+ virtual SVGElementPtr getViewportElement()
+ { return viewportElement; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGElementImpl()
+ {}
+
+ /**
+ *
+ */
+ SVGElementImpl(SVGDocumentImplPtr owner, const DOMString &tagName)
+ : ElementImpl(owner, tagName)
+ { init(); }
+
+ /**
+ *
+ */
+ SVGElementImpl(SVGDocumentImplPtr owner,
+ const DOMString &namespaceURI,
+ const DOMString &tagName)
+ : ElementImpl(owner, namespaceURI, tagName)
+ { init(); }
+
+
+ /**
+ *
+ */
+ virtual ~SVGElementImpl()
+ {}
+
+protected:
+
+ void init()
+ {
+ id = "";
+ xmlBase = "";
+ ownerSvgElement = NULL;
+ viewportElement = NULL;
+ }
+
+ DOMString id;
+ DOMString xmlBase;
+ SVGSVGElementPtr ownerSvgElement;
+ SVGElementPtr viewportElement;
+
+};
+
+
+
+/*#########################################################################
+## SVGSVGElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGSVGElementImpl : virtual public SVGSVGElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+ /**
+ *
+ */
+ virtual DOMString getContentScriptType()
+ { return contentScriptType; }
+
+ /**
+ *
+ */
+ virtual void setContentScriptType(const DOMString &val)
+ throw (DOMException)
+ { contentScriptType = val; }
+
+
+ /**
+ *
+ */
+ virtual DOMString getContentStyleType()
+ { return contentStyleType; }
+
+ /**
+ *
+ */
+ virtual void setContentStyleType(const DOMString &val)
+ throw (DOMException)
+ { contentStyleType = val; }
+
+ /**
+ *
+ */
+ virtual SVGRect getViewport()
+ { return viewport; }
+
+ /**
+ *
+ */
+ virtual double getPixelUnitToMillimeterX()
+ { return pixelUnitToMillimeterX; }
+
+ /**
+ *
+ */
+ virtual double getPixelUnitToMillimeterY()
+ { return pixelUnitToMillimeterY; }
+
+ /**
+ *
+ */
+ virtual double getScreenPixelToMillimeterX()
+ { return screenPixelToMillimeterX; }
+
+ /**
+ *
+ */
+ virtual double getScreenPixelToMillimeterY()
+ { return screenPixelToMillimeterY; }
+
+
+ /**
+ *
+ */
+ virtual bool getUseCurrentView()
+ { return useCurrentView; }
+
+ /**
+ *
+ */
+ virtual void setUseCurrentView(bool val) throw (DOMException)
+ { useCurrentView = val; }
+
+ /**
+ *
+ */
+ virtual SVGViewSpec getCurrentView()
+ { return currentView; }
+
+
+ /**
+ *
+ */
+ virtual double getCurrentScale()
+ { return currentScale; }
+
+ /**
+ *
+ */
+ virtual void setCurrentScale(double val) throw (DOMException)
+ { currentScale = val; }
+
+
+ /**
+ *
+ */
+ virtual SVGPoint getCurrentTranslate()
+ { return currentTranslate; }
+
+
+ /**
+ *
+ */
+ virtual unsigned long suspendRedraw (unsigned long max_wait_milliseconds );
+
+ /**
+ *
+ */
+ virtual void unsuspendRedraw (unsigned long suspend_handle_id )
+ throw( DOMException );
+
+ /**
+ *
+ */
+ virtual void unsuspendRedrawAll ( );
+
+ /**
+ *
+ */
+ virtual void forceRedraw ( );
+
+ /**
+ *
+ */
+ virtual void pauseAnimations ( );
+
+ /**
+ *
+ */
+ virtual void unpauseAnimations ( );
+
+ /**
+ *
+ */
+ virtual bool animationsPaused ( );
+
+ /**
+ *
+ */
+ virtual double getCurrentTime ( )
+ { return currentTime; }
+
+ /**
+ *
+ */
+ virtual void setCurrentTime (double seconds )
+ { currentTime = seconds; }
+
+ /**
+ *
+ */
+ virtual NodeList getIntersectionList (const SVGRect &rect,
+ const SVGElementPtr referenceElement );
+
+ /**
+ *
+ */
+ virtual NodeList getEnclosureList (const SVGRect &rect,
+ const SVGElementPtr referenceElement );
+
+ /**
+ *
+ */
+ virtual bool checkIntersection (const SVGElementPtr element, const SVGRect &rect );
+
+ /**
+ *
+ */
+ virtual bool checkEnclosure (const SVGElementPtr element, const SVGRect &rect );
+
+ /**
+ *
+ */
+ virtual void deselectAll ( );
+
+ /**
+ *
+ */
+ virtual SVGNumber createSVGNumber ( )
+ {
+ SVGNumber ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGLength createSVGLength ( )
+ {
+ SVGLength ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGAngle createSVGAngle ( )
+ {
+ SVGAngle ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPoint createSVGPoint ( )
+ {
+ SVGPoint ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGMatrix createSVGMatrix ( )
+ {
+ SVGMatrix ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGRect createSVGRect ( )
+ {
+ SVGRect ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform createSVGTransform ( )
+ {
+ SVGTransform ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix )
+ {
+ SVGTransform ret;
+ ret.setMatrix(matrix);
+ return ret;
+ }
+
+
+ /**
+ *
+ */
+ virtual ElementPtr getElementById (const DOMString& elementId );
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGSVGElementImpl() : SVGElementImpl()
+ {}
+
+
+
+ /**
+ *
+ */
+ virtual ~SVGSVGElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength width;
+ SVGAnimatedLength height;
+ DOMString contentScriptType;
+ DOMString contentStyleType;
+ SVGRect viewport;
+ double pixelUnitToMillimeterX;
+ double pixelUnitToMillimeterY;
+ double screenPixelToMillimeterX;
+ double screenPixelToMillimeterY;
+ bool useCurrentView;
+ SVGViewSpec currentView;
+ double currentScale;
+ SVGPoint currentTranslate;
+
+ double currentTime;
+
+};
+
+
+
+/*#########################################################################
+## SVGGElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGGElementImpl : virtual public SVGGElement, public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGGElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGGElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+/*#########################################################################
+## SVGDefsElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGDefsElementImpl : virtual public SVGDefsElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGDefsElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGDefsElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGDescElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGDescElementImpl : virtual public SVGDescElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGDescElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGDescElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGTitleElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTitleElementImpl : virtual public SVGTitleElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGTitleElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGTitleElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGSymbolElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGSymbolElementImpl : virtual public SVGSymbolElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGSymbolElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGSymbolElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGUseElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGUseElementImpl : public SVGElementImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getInstanceRoot()
+ { return instanceRoot; }
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getAnimatedInstanceRoot()
+ { return animatedInstanceRoot; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGUseElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGUseElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength width;
+ SVGAnimatedLength height;
+ SVGElementInstance instanceRoot;
+ SVGElementInstance animatedInstanceRoot;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGImageElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGImageElementImpl : virtual public SVGImageElement,
+ public SVGElementImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
+ { return preserveAspectRatio; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGImageElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGImageElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength width;
+ SVGAnimatedLength height;
+ SVGAnimatedPreserveAspectRatio preserveAspectRatio;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGSwitchElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGSwitchElementImpl : virtual public SVGSwitchElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGSwitchElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGSwitchElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## GetSVGDocumentImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class GetSVGDocumentImpl : public virtual GetSVGDocument
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGDocumentPtr getSVGDocument ( )
+ throw( DOMException );
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ GetSVGDocumentImpl() {}
+
+ /**
+ *
+ */
+ virtual ~GetSVGDocumentImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGStyleElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGStyleElementImpl : virtual public SVGStyleElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getXmlspace()
+ { return xmlSpace; }
+
+ /**
+ *
+ */
+ virtual void setXmlspace(const DOMString &val)
+ throw (DOMException)
+ { xmlSpace = val; }
+
+ /**
+ *
+ */
+ virtual DOMString getType()
+ { return type; }
+
+ /**
+ *
+ */
+ virtual void setType(const DOMString &val)
+ throw (DOMException)
+ { type = val; }
+
+ /**
+ *
+ */
+ virtual DOMString getMedia()
+ { return media; }
+
+ /**
+ *
+ */
+ virtual void setMedia(const DOMString &val)
+ throw (DOMException)
+ { media = val; }
+
+ /**
+ *
+ */
+ virtual DOMString getTitle()
+ { return title; }
+
+ /**
+ *
+ */
+ virtual void setTitle(const DOMString &val)
+ throw (DOMException)
+ { title = val; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGStyleElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGStyleElementImpl() {}
+
+protected:
+
+ DOMString xmlSpace;
+ DOMString type;
+ DOMString media;
+ DOMString title;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathElementImpl : virtual public SVGPathElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getPathLength();
+
+ /**
+ *
+ */
+ virtual double getTotalLength ( );
+
+ /**
+ *
+ */
+ virtual SVGPoint getPointAtLength (double distance );
+
+ /**
+ *
+ */
+ virtual unsigned long getPathSegAtLength (double distance );
+
+ /**
+ *
+ */
+ virtual SVGPathSegClosePath
+ createSVGPathSegClosePath ( )
+ {
+ SVGPathSegClosePath ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegMovetoAbs
+ createSVGPathSegMovetoAbs (double x, double y )
+ {
+ SVGPathSegMovetoAbs ret(x, y);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegMovetoRel
+ createSVGPathSegMovetoRel (double x, double y )
+ {
+ SVGPathSegMovetoRel ret(x, y);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoAbs
+ createSVGPathSegLinetoAbs (double x, double y )
+ {
+ SVGPathSegLinetoAbs ret(x, y);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoRel
+ createSVGPathSegLinetoRel (double x, double y )
+ {
+ SVGPathSegLinetoRel ret(x, y);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoCubicAbs
+ createSVGPathSegCurvetoCubicAbs (double x, double y,
+ double x1, double y1, double x2, double y2 )
+ {
+ SVGPathSegCurvetoCubicAbs ret(x, y, x1, y1, x2, y2);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoCubicRel
+ createSVGPathSegCurvetoCubicRel (double x, double y,
+ double x1, double y1, double x2, double y2 )
+ {
+ SVGPathSegCurvetoCubicRel ret(x, y, x1, y1, x2, y2);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoQuadraticAbs
+ createSVGPathSegCurvetoQuadraticAbs (double x, double y,
+ double x1, double y1 )
+ {
+ SVGPathSegCurvetoQuadraticAbs ret(x, y, x1, y1);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoQuadraticRel
+ createSVGPathSegCurvetoQuadraticRel (double x, double y,
+ double x1, double y1 )
+ {
+ SVGPathSegCurvetoQuadraticRel ret(x, y, x1, y1);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegArcAbs
+ createSVGPathSegArcAbs (double x, double y,
+ double r1, double r2, double angle,
+ bool largeArcFlag, bool sweepFlag )
+ {
+ SVGPathSegArcAbs ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegArcRel
+ createSVGPathSegArcRel (double x, double y, double r1,
+ double r2, double angle, bool largeArcFlag,
+ bool sweepFlag )
+ {
+ SVGPathSegArcRel ret(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoHorizontalAbs
+ createSVGPathSegLinetoHorizontalAbs (double x )
+ {
+ SVGPathSegLinetoHorizontalAbs ret(x);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoHorizontalRel
+ createSVGPathSegLinetoHorizontalRel (double x )
+ {
+ SVGPathSegLinetoHorizontalRel ret(x);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoVerticalAbs
+ createSVGPathSegLinetoVerticalAbs (double y )
+ {
+ SVGPathSegLinetoVerticalAbs ret(y);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegLinetoVerticalRel
+ createSVGPathSegLinetoVerticalRel (double y )
+ {
+ SVGPathSegLinetoVerticalRel ret(y);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoCubicSmoothAbs
+ createSVGPathSegCurvetoCubicSmoothAbs (double x, double y,
+ double x2, double y2 )
+ {
+ SVGPathSegCurvetoCubicSmoothAbs ret(x, y, x2, y2);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoCubicSmoothRel
+ createSVGPathSegCurvetoCubicSmoothRel (double x, double y,
+ double x2, double y2 )
+ {
+ SVGPathSegCurvetoCubicSmoothRel ret(x, y, x2, y2);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoQuadraticSmoothAbs
+ createSVGPathSegCurvetoQuadraticSmoothAbs (double x, double y )
+ {
+ SVGPathSegCurvetoQuadraticSmoothAbs ret(x, y);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegCurvetoQuadraticSmoothRel
+ createSVGPathSegCurvetoQuadraticSmoothRel (double x, double y )
+ {
+ SVGPathSegCurvetoQuadraticSmoothRel ret(x, y);
+ return ret;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathElementImpl() {}
+
+
+ /**
+ *
+ */
+ virtual ~SVGPathElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGRectElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGRectElementImpl : virtual public SVGRectElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRx()
+ { return rx; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRy()
+ { return ry; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGRectElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGRectElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength width;
+ SVGAnimatedLength height;
+ SVGAnimatedLength rx;
+ SVGAnimatedLength ry;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGCircleElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGCircleElementImpl : virtual public SVGCircleElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCx()
+ { return cx; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCy()
+ { return cy; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getR()
+ { return r; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGCircleElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGCircleElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength cx;
+ SVGAnimatedLength cy;
+ SVGAnimatedLength r;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGEllipseElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGEllipseElementImpl : virtual public SVGEllipseElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCx()
+ { return cx; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCy()
+ { return cy; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRx()
+ { return rx; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRy()
+ { return ry; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGEllipseElementImpl() {}
+
+ /**
+ *
+ */
+ virtual ~SVGEllipseElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength cx;
+ SVGAnimatedLength cy;
+ SVGAnimatedLength rx;
+ SVGAnimatedLength ry;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGLineElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGLineElementImpl : virtual public SVGLineElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX1()
+ { return x1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY1()
+ { return y1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX2()
+ { return x2; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY2()
+ { return y2; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGLineElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x1;
+ SVGAnimatedLength x2;
+ SVGAnimatedLength y1;
+ SVGAnimatedLength y2;
+};
+
+
+
+
+/*#########################################################################
+## SVGPolylineElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPolylineElementImpl : virtual public SVGPolylineElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGPolylineElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGPolygonElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPolygonElementImpl : virtual public SVGPolygonElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGPolygonElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGTextContentElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTextContentElementImpl : virtual public SVGTextContentElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getTextLength();
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getLengthAdjust();
+
+
+ /**
+ *
+ */
+ virtual long getNumberOfChars( );
+
+ /**
+ *
+ */
+ virtual double getComputedTextLength( );
+
+ /**
+ *
+ */
+ virtual double getSubStringLength(unsigned long charnum,
+ unsigned long nchars )
+ throw( DOMException );
+
+ /**
+ *
+ */
+ virtual SVGPoint getStartPositionOfChar(unsigned long charnum )
+ throw( DOMException );
+
+ /**
+ *
+ */
+ virtual SVGPoint getEndPositionOfChar(unsigned long charnum )
+ throw( DOMException );
+
+ /**
+ *
+ */
+ virtual SVGRect getExtentOfChar(unsigned long charnum )
+ throw( DOMException );
+
+ /**
+ *
+ */
+ virtual double getRotationOfChar(unsigned long charnum )
+ throw( DOMException );
+
+ /**
+ *
+ */
+ virtual long getCharNumAtPosition(const SVGPoint &point );
+
+ /**
+ *
+ */
+ virtual void selectSubString(unsigned long charnum, unsigned long nchars )
+ throw( DOMException );
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTextContentElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGTextPositioningElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTextPositioningElementImpl : virtual public SVGTextPositioningElement,
+ public SVGTextContentElementImpl
+{
+public:
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getDx()
+ { return dx; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getDy()
+ { return dy; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumberList getRotate()
+ { return rotate; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTextPositioningElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength dx;
+ SVGAnimatedLength dy;
+ SVGAnimatedNumberList rotate;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGTextElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTextElementImpl : virtual public SVGTextElement,
+ public SVGTextPositioningElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTextElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGTSpanElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTSpanElementImpl : virtual public SVGTSpanElement,
+ public SVGTextPositioningElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTSpanElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGTRefElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTRefElementImpl : virtual public SVGTRefElement,
+ public SVGTextPositioningElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTRefElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGTextPathElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTextPathElementImpl : virtual public SVGTextPathElement,
+ public SVGTextContentElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getStartOffset()
+ { return startOffset; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMethod()
+ { return method; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getSpacing()
+ { return spacing; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGTextPathElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength startOffset;
+ SVGAnimatedEnumeration method;
+ SVGAnimatedEnumeration spacing;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphElement
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAltGlyphElementImpl : virtual public SVGAltGlyphElement,
+ public SVGTextPositioningElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getGlyphRef()
+ { return glyphRef; }
+
+ /**
+ *
+ */
+ virtual void setGlyphRef(const DOMString &val)
+ throw (DOMException)
+ { glyphRef = val; }
+
+ /**
+ *
+ */
+ virtual DOMString getFormat()
+ { return format; }
+
+ /**
+ *
+ */
+ virtual void setFormat(const DOMString &val)
+ throw (DOMException)
+ { format = val; }
+
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAltGlyphElementImpl() {}
+
+protected:
+
+ DOMString glyphRef;
+ DOMString format;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphDefElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAltGlyphDefElementImpl : virtual public SVGAltGlyphDefElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAltGlyphDefElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAltGlyphItemElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAltGlyphItemElementImpl : virtual public SVGAltGlyphItemElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAltGlyphItemElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGGlyphRefElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGGlyphRefElementImpl : virtual public SVGGlyphRefElement,
+ public SVGElementImpl
+{
+public:
+ /**
+ *
+ */
+ virtual DOMString getGlyphRef()
+ { return glyphRef; }
+
+ /**
+ *
+ */
+ virtual void setGlyphRef(const DOMString &val) throw (DOMException)
+ { glyphRef = val; }
+
+ /**
+ *
+ */
+ virtual DOMString getFormat()
+ { return format; }
+
+ /**
+ *
+ */
+ virtual void setFormat(const DOMString &val) throw (DOMException)
+ { format = val; }
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getDx()
+ { return dx; }
+
+ /**
+ *
+ */
+ virtual void setDx(double val) throw (DOMException)
+ { dx = val; }
+
+ /**
+ *
+ */
+ virtual double getDy()
+ { return dy; }
+
+ /**
+ *
+ */
+ virtual void setDy(double val) throw (DOMException)
+ { dy = val; }
+
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGGlyphRefElementImpl() {}
+
+protected:
+
+ DOMString glyphRef;
+ DOMString format;
+ double x, y, dx, dy;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGMarkerElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMarkerElementImpl : virtual public SVGMarkerElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRefX()
+ { return refX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRefY()
+ { return refY; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMarkerUnits()
+ { return markerUnits; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getMarkerWidth()
+ { return markerWidth; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getMarkerHeight()
+ { return markerHeight; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getOrientType()
+ { return orientType; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedAngle getOrientAngle()
+ { return orientAngle; }
+
+
+ /**
+ *
+ */
+ virtual void setOrientToAuto ( )
+ { orientAuto = true; }
+
+ /**
+ *
+ */
+ virtual void setOrientToAngle (const SVGAngle &angle)
+ {
+ orientAuto = false;
+ orientAngle = SVGAnimatedAngle(angle);
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMarkerElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength refX;
+ SVGAnimatedLength refY;
+ SVGAnimatedEnumeration markerUnits;
+ SVGAnimatedLength markerWidth;
+ SVGAnimatedLength markerHeight;
+ SVGAnimatedEnumeration orientType;
+ SVGAnimatedAngle orientAngle;
+ bool orientAuto;
+
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGColorProfileElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGColorProfileElementImpl : virtual public SVGColorProfileElement,
+ public SVGElementImpl
+{
+public:
+ /**
+ *
+ */
+ virtual DOMString getLocal()
+ { return local; }
+
+ /**
+ *
+ */
+ virtual void setLocal(const DOMString &val) throw (DOMException)
+ { local = val; }
+
+ /**
+ *
+ */
+ virtual DOMString getName()
+ { return name; }
+
+ /**
+ *
+ */
+ virtual void setName(const DOMString &val) throw (DOMException)
+ { name = val; }
+
+ /**
+ *
+ */
+ virtual unsigned short getRenderingIntent()
+ { return renderingIntent; }
+
+ /**
+ *
+ */
+ virtual void setRenderingIntent(unsigned short val) throw (DOMException)
+ { renderingIntent = val; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGColorProfileElementImpl() {}
+
+protected:
+
+ DOMString local;
+ DOMString name;
+ unsigned short renderingIntent;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGGradientElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGGradientElementImpl : virtual public SVGGradientElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getGradientUnits()
+ { return gradientUnits; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedTransformList getGradientTransform()
+ { return gradientTransform; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getSpreadMethod()
+ { return spreadMethod; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGGradientElementImpl() {}
+
+protected:
+
+
+ SVGAnimatedEnumeration gradientUnits;
+ SVGAnimatedTransformList gradientTransform;
+ SVGAnimatedEnumeration spreadMethod;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGLinearGradientElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGLinearGradientElementImpl : virtual public SVGLinearGradientElement,
+ public SVGGradientElementImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX1()
+ { return x1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY1()
+ { return y1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX2()
+ { return x2; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY2()
+ { return y2; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGLinearGradientElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x1, x2, y1, y2;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGRadialGradientElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGRadialGradientElementImpl : virtual public SVGRadialGradientElement,
+ public SVGGradientElementImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCx()
+ { return cx; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getCy()
+ { return cy; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getR()
+ { return r; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getFx()
+ { return fx; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getFy()
+ { return fy; }
+
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGRadialGradientElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength cx, cy, r, fx, fy;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGStopElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGStopElementImpl : virtual public SVGStopElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getOffset()
+ { return offset; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGStopElementImpl() {}
+
+protected:
+
+ SVGAnimatedNumber offset;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGPatternElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPatternElementImpl : virtual public SVGPatternElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getPatternUnits()
+ { return patternUnits; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getPatternContentUnits()
+ { return patternContentUnits; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedTransformList getPatternTransform()
+ { return patternTransform; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGPatternElementImpl() {}
+
+protected:
+
+
+ SVGAnimatedEnumeration patternUnits;
+ SVGAnimatedEnumeration patternContentUnits;
+ SVGAnimatedTransformList patternTransform;
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength width;
+ SVGAnimatedLength height;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGClipPathElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGClipPathElementImpl : virtual public SVGClipPathElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getClipPathUnits()
+ { return clipPathUnits; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGClipPathElementImpl() {}
+
+protected:
+
+ SVGAnimatedEnumeration clipPathUnits;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGMaskElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMaskElementImpl : virtual public SVGMaskElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMaskUnits()
+ { return maskUnits; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMaskContentUnits()
+ { return maskContentUnits; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMaskElementImpl() {}
+
+protected:
+
+
+ SVGAnimatedEnumeration maskUnits;
+ SVGAnimatedEnumeration maskContentUnits;
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength width;
+ SVGAnimatedLength height;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFilterElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFilterElementImpl : virtual public SVGFilterElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getFilterUnits()
+ { return filterUnits; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getPrimitiveUnits()
+ { return filterUnits; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getFilterResX()
+ { return filterResX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getFilterResY()
+ { return filterResY; }
+
+ /**
+ *
+ */
+ virtual void setFilterRes (unsigned long filterResXArg,
+ unsigned long filterResYArg )
+ {
+ filterResX = filterResXArg;
+ filterResY = filterResYArg;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFilterElementImpl() {}
+
+protected:
+
+ SVGAnimatedEnumeration filterUnits;
+ SVGAnimatedEnumeration primitiveUnits;
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength width;
+ SVGAnimatedLength height;
+ SVGAnimatedInteger filterResX;
+ SVGAnimatedInteger filterResY;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEBlendElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEBlendElementImpl : virtual public SVGFEBlendElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn2()
+ { return in2; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getMode()
+ { return mode; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEBlendElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1, in2;
+ SVGAnimatedEnumeration mode;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEColorMatrixElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEColorMatrixElementImpl : virtual public SVGFEColorMatrixElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getType()
+ { return type; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumberList getValues()
+ { return values; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEColorMatrixElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+ SVGAnimatedEnumeration type;
+ SVGAnimatedNumberList values;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEComponentTransferElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEComponentTransferElementImpl :
+ virtual public SVGFEComponentTransferElement,
+ public SVGElementImpl
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEComponentTransferElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGComponentTransferFunctionElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGComponentTransferFunctionElementImpl :
+ virtual public SVGComponentTransferFunctionElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getType()
+ { return type; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumberList getTableValues()
+ { return tableValues; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSlope()
+ { return slope; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getIntercept()
+ { return intercept; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getAmplitude()
+ { return amplitude; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getExponent()
+ { return exponent; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getOffset()
+ { return offset; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGComponentTransferFunctionElementImpl() {}
+
+protected:
+
+ SVGAnimatedEnumeration type;
+ SVGAnimatedNumberList tableValues;
+ SVGAnimatedNumber slope;
+ SVGAnimatedNumber intercept;
+ SVGAnimatedNumber amplitude;
+ SVGAnimatedNumber exponent;
+ SVGAnimatedNumber offset;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncRElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFuncRElementImpl :
+ virtual public SVGFEFuncRElement,
+ public SVGComponentTransferFunctionElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFuncRElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncGElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFuncGElementImpl : virtual public SVGFEFuncGElement,
+ public SVGComponentTransferFunctionElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFuncGElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncBElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFuncBElementImpl : virtual public SVGFEFuncBElement,
+ public SVGComponentTransferFunctionElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFuncBElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFEFuncAElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFuncAElementImpl : virtual public SVGFEFuncAElement,
+ public SVGComponentTransferFunctionElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFuncAElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFECompositeElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFECompositeElementImpl : virtual public SVGFECompositeElement,
+ public SVGElementImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn2()
+ { return in2; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getOperator()
+ { return ae_operator; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getK1()
+ { return k1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getK2()
+ { return k2; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getK3()
+ { return k3; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getK4()
+ { return k4; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFECompositeElementImpl() {}
+
+protected:
+
+
+ SVGAnimatedString in1;
+ SVGAnimatedString in2;
+ SVGAnimatedEnumeration ae_operator;
+ SVGAnimatedNumber k1;
+ SVGAnimatedNumber k2;
+ SVGAnimatedNumber k3;
+ SVGAnimatedNumber k4;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEConvolveMatrixElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEConvolveMatrixElementImpl : virtual public SVGFEConvolveMatrixElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getOrderX()
+ { return orderX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getOrderY()
+ { return orderY; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumberList getKernelMatrix()
+ { return kernelMatrix; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getDivisor()
+ { return divisor; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getBias()
+ { return bias; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getTargetX()
+ { return targetX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getTargetY()
+ { return targetY; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getEdgeMode()
+ { return edgeMode; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getKernelUnitLengthX()
+ { return kernelUnitLengthX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getKernelUnitLengthY()
+ { return kernelUnitLengthY; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedBoolean getPreserveAlpha()
+ { return preserveAlpha; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEConvolveMatrixElementImpl() {}
+
+protected:
+
+ SVGAnimatedInteger orderX;
+ SVGAnimatedInteger orderY;
+ SVGAnimatedNumberList kernelMatrix;
+ SVGAnimatedNumber divisor;
+ SVGAnimatedNumber bias;
+ SVGAnimatedInteger targetX;
+ SVGAnimatedInteger targetY;
+ SVGAnimatedEnumeration edgeMode;
+ SVGAnimatedLength kernelUnitLengthX;
+ SVGAnimatedLength kernelUnitLengthY;
+ SVGAnimatedBoolean preserveAlpha;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEDiffuseLightingElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEDiffuseLightingElementImpl : virtual public SVGFEDiffuseLightingElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSurfaceScale()
+ { return surfaceScale; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getDiffuseConstant()
+ { return diffuseConstant; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEDiffuseLightingElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+ SVGAnimatedNumber surfaceScale;
+ SVGAnimatedNumber diffuseConstant;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEDistantLightElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEDistantLightElementImpl : virtual public SVGFEDistantLightElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getAzimuth()
+ { return azimuth; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getElevation()
+ { return elevation; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEDistantLightElementImpl() {}
+
+protected:
+
+ SVGAnimatedNumber azimuth;
+ SVGAnimatedNumber elevation;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEPointLightElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEPointLightElementImpl : public virtual SVGFEPointLightElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getX()
+ { return x; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getZ()
+ { return z; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEPointLightElementImpl() {}
+
+protected:
+
+ SVGAnimatedNumber x, y, z;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFESpotLightElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFESpotLightElementImpl : virtual public SVGFESpotLightElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getX()
+ { return x; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getZ()
+ { return z; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getPointsAtX()
+ { return pointsAtX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getPointsAtY()
+ { return pointsAtY; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getPointsAtZ()
+ { return pointsAtZ; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSpecularExponent()
+ { return specularExponent; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getLimitingConeAngle()
+ { return limitingConeAngle; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFESpotLightElementImpl() {}
+
+protected:
+
+ SVGAnimatedNumber x, y, z;
+ SVGAnimatedNumber pointsAtX, pointsAtY, pointsAtZ;
+ SVGAnimatedNumber specularExponent;
+ SVGAnimatedNumber limitingConeAngle;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEDisplacementMapElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEDisplacementMapElementImpl : virtual public SVGFEDisplacementMapElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn2()
+ { return in2; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getScale()
+ { return scale; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getXChannelSelector()
+ { return xChannelSelector; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getYChannelSelector()
+ { return yChannelSelector; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEDisplacementMapElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+ SVGAnimatedString in2;
+ SVGAnimatedNumber scale;
+ SVGAnimatedEnumeration xChannelSelector;
+ SVGAnimatedEnumeration yChannelSelector;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEFloodElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEFloodElementImpl : virtual public SVGFEFloodElement,
+ public SVGElementImpl
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEFloodElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEGaussianBlurElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEGaussianBlurElementImpl : virtual public SVGFEGaussianBlurElement,
+ public SVGElementImpl
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getStdDeviationX()
+ { return stdDeviationX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getStdDeviationY()
+ { return stdDeviationY; }
+
+
+ /**
+ *
+ */
+ virtual void setStdDeviation (double stdDeviationXArg, double stdDeviationYArg )
+ {
+ stdDeviationX = stdDeviationXArg;
+ stdDeviationY = stdDeviationYArg;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEGaussianBlurElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+ SVGAnimatedNumber stdDeviationX, stdDeviationY;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEImageElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEImageElementImpl : virtual public SVGFEImageElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEImageElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFEMergeElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEMergeElementImpl : virtual public SVGFEMergeElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEMergeElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFEMergeNodeElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEMergeNodeElementImpl : virtual public SVGFEMergeNodeElement,
+ public SVGElementImpl
+{
+public:
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEMergeNodeElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEMorphologyElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEMorphologyElementImpl : virtual public SVGFEMorphologyElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getOperator()
+ { return me_operator; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRadiusX()
+ { return radiusX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getRadiusY()
+ { return radiusY; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEMorphologyElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+ SVGAnimatedEnumeration me_operator;
+ SVGAnimatedLength radiusX;
+ SVGAnimatedLength radiusY;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFEOffsetElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFEOffsetElementImpl : virtual public SVGFEOffsetElement,
+ public SVGElementImpl
+{
+public:
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getDx()
+ { return dx; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getDy()
+ { return dy; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFEOffsetElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+ SVGAnimatedLength dx, dy;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFESpecularLightingElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFESpecularLightingElementImpl :
+ virtual public SVGFESpecularLightingElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSurfaceScale()
+ { return surfaceScale; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSpecularConstant()
+ { return specularConstant; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSpecularExponent()
+ { return specularExponent; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFESpecularLightingElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+ SVGAnimatedNumber surfaceScale;
+ SVGAnimatedNumber specularConstant;
+ SVGAnimatedNumber specularExponent;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFETileElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFETileElementImpl : virtual public SVGFETileElement,
+ public SVGElementImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getIn1()
+ { return in1; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFETileElementImpl() {}
+
+protected:
+
+ SVGAnimatedString in1;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGFETurbulenceElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFETurbulenceElementImpl : virtual public SVGFETurbulenceElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getBaseFrequencyX()
+ { return baseFrequencyX; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getBaseFrequencyY()
+ { return baseFrequencyY; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedInteger getNumOctaves()
+ { return numOctaves; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedNumber getSeed()
+ { return seed; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getStitchTiles()
+ { return stitchTiles; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedEnumeration getType()
+ { return type; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFETurbulenceElementImpl() {}
+
+protected:
+
+ SVGAnimatedNumber baseFrequencyX;
+ SVGAnimatedNumber baseFrequencyY;
+ SVGAnimatedInteger numOctaves;
+ SVGAnimatedNumber seed;
+ SVGAnimatedEnumeration stitchTiles;
+ SVGAnimatedEnumeration type;
+
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGCursorElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGCursorElementImpl : virtual public SVGCursorElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return x; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGCursorElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x, y;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAElementImpl : virtual public SVGAElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getTarget()
+ { return target; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAElementImpl() {}
+
+protected:
+
+ SVGAnimatedString target;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGViewElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGViewElementImpl : virtual public SVGViewElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGStringList getViewTarget()
+ { return viewTarget; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGViewElementImpl() {}
+
+protected:
+
+ SVGStringList viewTarget;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGScriptElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGScriptElementImpl : virtual public SVGScriptElement,
+ public SVGElementImpl
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getType()
+ { return type; }
+
+ /**
+ *
+ */
+ virtual void setType(const DOMString &val) throw (DOMException)
+ { type = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGScriptElementImpl() {}
+
+protected:
+
+ DOMString type;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimationElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimationElementImpl : virtual public SVGAnimationElement,
+ public SVGElementImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGElementPtr getTargetElement()
+ { return targetElement; }
+
+
+ /**
+ *
+ */
+ virtual double getStartTime ( )
+ { return startTime; }
+
+ /**
+ *
+ */
+ virtual double getCurrentTime ( )
+ { return currentTime; }
+
+ /**
+ *
+ */
+ virtual double getSimpleDuration ( ) throw( DOMException )
+ { return simpleDuration; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimationElementImpl() {}
+
+protected:
+
+ SVGElementPtr targetElement;
+ double startTime, currentTime, simpleDuration;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimateElementImpl : virtual public SVGAnimateElement,
+ public SVGAnimationElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimateElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGSetElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGSetElementImpl : virtual public SVGSetElement,
+ public SVGAnimationElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGSetElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateMotionElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimateMotionElementImpl : virtual public SVGAnimateMotionElement,
+ public SVGAnimationElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimateMotionElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGMPathElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMPathElementImpl : virtual public SVGMPathElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMPathElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateColorElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimateColorElementImpl : virtual public SVGAnimateColorElement,
+ public SVGAnimationElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimateColorElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAnimateTransformElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimateTransformElementImpl : virtual public SVGAnimateTransformElement,
+ public SVGAnimationElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGAnimateTransformElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFontElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontElementImpl : virtual public SVGFontElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGGlyphElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGGlyphElementImpl : virtual public SVGGlyphElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGGlyphElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGMissingGlyphElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMissingGlyphElementImpl : virtual public SVGMissingGlyphElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMissingGlyphElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGHKernElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGHKernElementImpl : virtual public SVGHKernElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGHKernElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGVKernElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGVKernElementImpl : virtual public SVGVKernElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGVKernElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceElementImpl : virtual public SVGFontFaceElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceSrcElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceSrcElementImpl : virtual public SVGFontFaceSrcElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceSrcElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceUriElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceUriElementImpl : virtual public SVGFontFaceUriElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceUriElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceFormatElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceFormatElementImpl : virtual public SVGFontFaceFormatElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceFormatElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGFontFaceNameElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFontFaceNameElementImpl : virtual public SVGFontFaceNameElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGFontFaceNameElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGDefinitionSrcElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGDefinitionSrcElementImpl : virtual public SVGDefinitionSrcElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGDefinitionSrcElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGMetadataElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGMetadataElementImpl : virtual public SVGMetadataElement,
+ public SVGElementImpl
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ virtual ~SVGMetadataElementImpl() {}
+
+protected:
+
+
+};
+
+
+
+
+/*#########################################################################
+## SVGForeignObjectElementImpl
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGForeignObjectElementImpl : virtual public SVGForeignObjectElement,
+ public SVGElementImpl
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ virtual ~SVGForeignObjectElementImpl() {}
+
+protected:
+
+ SVGAnimatedLength x, y, width, height;
+};
+
+
+
+
+
+
+} //namespace svg
+} //namespace dom
+} //namespace w3c
+} //namespace org
+
+#endif // __SVG_H__
+/*#########################################################################
+## E N D O F F I L E
+#########################################################################*/
+
diff --git a/src/dom/svgparser.cpp b/src/dom/svgparser.cpp
--- /dev/null
+++ b/src/dom/svgparser.cpp
@@ -0,0 +1,761 @@
+/**
+ * Phoebe DOM Implementation.
+ *
+ * This is a C++ approximation of the W3C DOM model, which follows
+ * fairly closely the specifications in the various .idl files, copies of
+ * which are provided for reference. Most important is this one:
+ *
+ * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2005-2008 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#include "svgparser.h"
+#include "dom/cssparser.h"
+#include "dom/ucd.h"
+
+#include <stdarg.h>
+
+#define SVG_NAMESPACE "http://www.w3.org/2000/svg"
+
+namespace org
+{
+namespace w3c
+{
+namespace dom
+{
+namespace svg
+{
+
+
+//#########################################################################
+//# M E S S A G E S
+//#########################################################################
+
+
+/**
+ *
+ */
+void SvgParser::error(char const *fmt, ...)
+{
+ va_list args;
+ fprintf(stderr, "SvgParser:error:");
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args) ;
+ fprintf(stderr, "\n");
+}
+
+
+
+//#########################################################################
+//# P A R S I N G
+//#########################################################################
+
+/**
+ * Get the character at the position and record the fact
+ */
+XMLCh SvgParser::get(int p)
+{
+ if (p >= parselen)
+ return 0;
+ XMLCh ch = parsebuf[p];
+ //printf("%c", ch);
+ lastPosition = p;
+ return ch;
+}
+
+
+
+/**
+ * Test if the given substring exists at the given position
+ * in parsebuf. Use get() in case of out-of-bounds
+ */
+bool SvgParser::match(int pos, char const *str)
+{
+ while (*str)
+ {
+ if (get(pos++) != (XMLCh) *str++)
+ return false;
+ }
+ return true;
+}
+
+/**
+ *
+ */
+int SvgParser::skipwhite(int p)
+{
+ while (p < parselen)
+ {
+ //# XML COMMENT
+ if (match(p, "<!--"))
+ {
+ p+=4;
+ bool done=false;
+ while (p<parselen)
+ {
+ if (match(p, "-->"))
+ {
+ p+=3;
+ done=true;
+ break;
+ }
+ p++;
+ }
+ lastPosition = p;
+ if (!done)
+ {
+ error("unterminated <!-- .. --> comment");
+ return -1;
+ }
+ }
+ //# C comment
+ else if (match(p, "/*"))
+ {
+ p+=2;
+ bool done=false;
+ while (p<parselen)
+ {
+ if (match(p, "*/"))
+ {
+ p+=2;
+ done=true;
+ break;
+ }
+ p++;
+ }
+ lastPosition = p;
+ if (!done)
+ {
+ error("unterminated /* .. */ comment");
+ return -1;
+ }
+ }
+ else if (!uni_is_space(get(p)))
+ break;
+ else
+ p++;
+ }
+ lastPosition = p;
+ return p;
+}
+
+/**
+ * get a word from the buffer
+ */
+int SvgParser::getWord(int p, DOMString &result)
+{
+ XMLCh ch = get(p);
+ if (!uni_is_letter(ch))
+ return p;
+ DOMString str;
+ str.push_back(ch);
+ p++;
+
+ while (p < parselen)
+ {
+ ch = get(p);
+ if (uni_is_letter_or_digit(ch) || ch=='-' || ch=='_')
+ {
+ str.push_back(ch);
+ p++;
+ }
+ else if (ch == '\\')
+ {
+ p+=2;
+ }
+ else
+ break;
+ }
+ result = str;
+ return p;
+}
+
+
+# if 0
+/**
+ * get a word from the buffer
+ */
+int SvgParser::getNumber(int p0, double &result)
+{
+ int p=p0;
+
+ DOMString str;
+
+ //allow sign
+ if (get(p) == '-')
+ {
+ p++;
+ }
+
+ while (p < parselen)
+ {
+ XMLCh ch = get(p);
+ if (ch<'0' || ch>'9')
+ break;
+ str.push_back(ch);
+ p++;
+ }
+ if (get(p) == '.' && get(p+1)>='0' && get(p+1)<='9')
+ {
+ p++;
+ str.push_back('.');
+ while (p < parselen)
+ {
+ XMLCh ch = get(p);
+ if (ch<'0' || ch>'9')
+ break;
+ str.push_back(ch);
+ p++;
+ }
+ }
+ if (p>p0)
+ {
+ char *start = (char *)str.c_str();
+ char *end = NULL;
+ double val = strtod(start, &end);
+ if (end > start)
+ {
+ result = val;
+ return p;
+ }
+ }
+
+ //not a number
+ return p0;
+}
+#endif
+
+
+/**
+ * get a word from the buffer
+ */
+int SvgParser::getNumber(int p0, double &result)
+{
+ int p=p0;
+
+ char buf[64];
+
+ int i;
+ for (i=0 ; i<63 && p<parselen ; i++)
+ {
+ buf[i] = (char) get(p++);
+ }
+ buf[i] = '\0';
+
+ char *start = buf;
+ char *end = NULL;
+ double val = strtod(start, &end);
+ if (end > start)
+ {
+ result = val;
+ int count = (int)(end - start);
+ p = p0 + count;
+ return p;
+ }
+
+ //not a number
+ return p0;
+}
+
+
+bool SvgParser::parseTransform(const DOMString &str)
+{
+ parsebuf = str;
+ parselen = str.size();
+
+ //printf("transform:%s\n", str.c_str());
+
+ SVGTransformList transformList;
+
+ int p = 0;
+
+ while (p < parselen)
+ {
+ p = skipwhite(p);
+ DOMString name;
+ int p2 = getWord(p, name);
+ if (p2<0)
+ return false;
+ if (p2<=p)
+ {
+ error("transform: need transform name");
+ //return false;
+ break;
+ }
+ p = p2;
+ //printf("transform name:%s\n", name.c_str());
+
+ //######### MATRIX
+ if (name == "matrix")
+ {
+ p = skipwhite(p);
+ if (get(p++) != '(')
+ {
+ error("matrix transform needs opening '('");
+ return false;
+ }
+ int nrVals = 0;
+ double vals[6];
+ bool seenBrace = false;
+ while (p < parselen && nrVals < 6)
+ {
+ p = skipwhite(p);
+ double val = 0.0;
+ p2 = getNumber(p, val);
+ if (p2<0)
+ return false;
+ if (p2<=p)
+ {
+ error("matrix() expected number");
+ return false;
+ }
+ vals[nrVals++] = val;
+ p = skipwhite(p2);
+ XMLCh ch = get(p);
+ if (ch == ',')
+ {
+ p++;
+ p = skipwhite(p);
+ ch = get(p);
+ }
+ if (ch == ')')
+ {
+ seenBrace = true;
+ p++;
+ break;
+ }
+ }
+ if (!seenBrace)
+ {
+ error("matrix() needs closing brace");
+ return false;
+ }
+ if (nrVals != 6)
+ {
+ error("matrix() requires exactly 6 arguments");
+ return false;
+ }
+ //We got our arguments
+ //printf("translate: %f %f %f %f %f %f\n",
+ // vals[0], vals[1], vals[2], vals[3], vals[4], vals[5]);
+ SVGMatrix matrix(vals[0], vals[1], vals[2],
+ vals[3], vals[4], vals[5]);
+ SVGTransform transform;
+ transform.setMatrix(matrix);
+ transformList.appendItem(transform);
+ }
+
+ //######### TRANSLATE
+ else if (name == "translate")
+ {
+ p = skipwhite(p);
+ if (get(p++) != '(')
+ {
+ error("matrix transform needs opening '('");
+ return false;
+ }
+ p = skipwhite(p);
+ double x = 0.0;
+ p2 = getNumber(p, x);
+ if (p2<0)
+ return false;
+ if (p2<=p)
+ {
+ error("translate() expected 'x' value");
+ return false;
+ }
+ p = skipwhite(p2);
+ if (get(p) == ',')
+ {
+ p++;
+ p = skipwhite(p);
+ }
+ double y = 0.0;
+ p2 = getNumber(p, y);
+ if (p2<0)
+ return false;
+ if (p2<=p) //no y specified. use default
+ y = 0.0;
+ p = skipwhite(p2);
+ if (get(p++) != ')')
+ {
+ error("translate() needs closing ')'");
+ return false;
+ }
+ //printf("translate: %f %f\n", x, y);
+ SVGTransform transform;
+ transform.setTranslate(x, y);
+ transformList.appendItem(transform);
+ }
+
+ //######### SCALE
+ else if (name == "scale")
+ {
+ p = skipwhite(p);
+ if (get(p++) != '(')
+ {
+ error("scale transform needs opening '('");
+ return false;
+ }
+ p = skipwhite(p);
+ double x = 0.0;
+ p2 = getNumber(p, x);
+ if (p2<0)
+ return false;
+ if (p2<=p)
+ {
+ error("scale() expected 'x' value");
+ return false;
+ }
+ p = skipwhite(p2);
+ if (get(p) == ',')
+ {
+ p++;
+ p = skipwhite(p);
+ }
+ double y = 0.0;
+ p2 = getNumber(p, y);
+ if (p2<0)
+ return false;
+ if (p2<=p) //no y specified. use default
+ y = x; // y is same as x. uniform scaling
+ p = skipwhite(p2);
+ if (get(p++) != ')')
+ {
+ error("scale() needs closing ')'");
+ return false;
+ }
+ //printf("scale: %f %f\n", x, y);
+ SVGTransform transform;
+ transform.setScale(x, y);
+ transformList.appendItem(transform);
+ }
+
+ //######### ROTATE
+ else if (name == "rotate")
+ {
+ p = skipwhite(p);
+ if (get(p++) != '(')
+ {
+ error("rotate transform needs opening '('");
+ return false;
+ }
+ p = skipwhite(p);
+ double angle = 0.0;
+ p2 = getNumber(p, angle);
+ if (p2<0)
+ return false;
+ if (p2<=p)
+ {
+ error("rotate() expected 'angle' value");
+ return false;
+ }
+ p = skipwhite(p2);
+ if (get(p) == ',')
+ {
+ p++;
+ p = skipwhite(p);
+ }
+ double cx = 0.0;
+ double cy = 0.0;
+ p2 = getNumber(p, cx);
+ if (p2>p)
+ {
+ p = skipwhite(p2);
+ if (get(p) == ',')
+ {
+ p++;
+ p = skipwhite(p);
+ }
+ p2 = getNumber(p, cy);
+ if (p2<0)
+ return false;
+ if (p2<=p)
+ {
+ error("rotate() arguments should be either rotate(angle) or rotate(angle, cx, cy)");
+ return false;
+ }
+ p = skipwhite(p2);
+ }
+ if (get(p++) != ')')
+ {
+ error("rotate() needs closing ')'");
+ return false;
+ }
+ //printf("rotate: %f %f %f\n", angle, cx, cy);
+ SVGTransform transform;
+ transform.setRotate(angle, cx, cy);
+ transformList.appendItem(transform);
+ }
+
+ //######### SKEWX
+ else if (name == "skewX")
+ {
+ p = skipwhite(p);
+ if (get(p++) != '(')
+ {
+ error("skewX transform needs opening '('");
+ return false;
+ }
+ p = skipwhite(p);
+ double x = 0.0;
+ p2 = getNumber(p, x);
+ if (p2<0)
+ return false;
+ if (p2<=p)
+ {
+ error("skewX() expected 'x' value");
+ return false;
+ }
+ p = skipwhite(p2);
+ if (get(p++) != ')')
+ {
+ error("skewX() needs closing ')'");
+ return false;
+ }
+ //printf("skewX: %f\n", x);
+ SVGTransform transform;
+ transform.setSkewX(x);
+ transformList.appendItem(transform);
+ }
+
+ //######### SKEWY
+ else if (name == "skewY")
+ {
+ p = skipwhite(p);
+ if (get(p++) != '(')
+ {
+ error("skewY transform needs opening '('");
+ return false;
+ }
+ p = skipwhite(p);
+ double y = 0.0;
+ p2 = getNumber(p, y);
+ if (p2<0)
+ return false;
+ if (p2<=p)
+ {
+ error("skewY() expected 'y' value");
+ return false;
+ }
+ p = skipwhite(p2);
+ if (get(p++) != ')')
+ {
+ error("skewY() needs closing ')'");
+ return false;
+ }
+ //printf("skewY: %f\n", y);
+ SVGTransform transform;
+ transform.setSkewY(y);
+ transformList.appendItem(transform);
+ }
+
+ //### NONE OF THE ABOVE
+ else
+ {
+ error("unknown transform type:'%s'", name.c_str());
+ }
+
+ p = skipwhite(p);
+ XMLCh ch = get(p);
+ if (ch == ',')
+ {
+ p++;
+ p = skipwhite(p);
+ }
+
+ }//WHILE p<parselen
+
+ return true;
+}
+
+
+/**
+ *
+ */
+bool SvgParser::parseElement(SVGElementImplPtr parent,
+ ElementImplPtr sourceElem)
+{
+ if (!parent || !sourceElem)
+ {
+ error("NULL source element");
+ return false;
+ }
+
+ DOMString namespaceURI = sourceElem->getNamespaceURI();
+ //printf("namespaceURI:%s\n", namespaceURI.c_str());
+ DOMString tagName = sourceElem->getTagName();
+ printf("tag name:%s\n", tagName.c_str());
+
+ ElementImplPtr newElement = NULL;
+ if (namespaceURI != SVG_NAMESPACE)
+ {
+ newElement = new SVGSVGElementImpl();
+ newElement->assign(*sourceElem);
+ parent->appendChild(newElement);
+ }
+ else //## SVG!!
+ {
+
+ //####################################################
+ //## ATTRIBUTES
+ //####################################################
+ DOMString style = sourceElem->getAttribute("style");
+ if (style.size() > 0)
+ {
+ css::CssParser parser;
+ style.insert(0, "{");
+ style.append("}");
+ //printf("CSS:%s\n", style.c_str());
+ if (!parser.parse(style))
+ {
+ error("parsing style attribute");
+ }
+ else
+ {
+ //printf("##parsed!\n");
+ }
+ }
+
+ DOMString transform = sourceElem->getAttribute("transform");
+ if (transform.size() > 0)
+ {
+ if (!parseTransform(transform))
+ {
+ error("parsing transform attribute");
+ }
+ else
+ {
+ //printf("##parsed!\n");
+ }
+ }
+
+ //####################################################
+ //## ELEMENT - SPECIFIC
+ //####################################################
+ if (tagName == "svg")
+ {
+ newElement = new SVGSVGElementImpl();
+ newElement->assign(*sourceElem);
+ parent->appendChild(newElement);
+ }
+ else if (tagName == "title")
+ {
+ newElement = new SVGTitleElementImpl();
+ newElement->assign(*sourceElem);
+ parent->appendChild(newElement);
+ }
+ else if (tagName == "desc")
+ {
+ newElement = new SVGDescElementImpl();
+ newElement->assign(*sourceElem);
+ parent->appendChild(newElement);
+ }
+ else if (tagName == "defs")
+ {
+ newElement = new SVGDefsElementImpl();
+ newElement->assign(*sourceElem);
+ parent->appendChild(newElement);
+ }
+ else if (tagName == "style")
+ {
+ newElement = new SVGStyleElementImpl();
+ newElement->assign(*sourceElem);
+ parent->appendChild(newElement);
+ }
+ else if (tagName == "g")
+ {
+ newElement = new SVGGElementImpl();
+ newElement->assign(*sourceElem);
+ parent->appendChild(newElement);
+ }
+ else if (tagName == "path")
+ {
+ newElement = new SVGPathElementImpl();
+ newElement->assign(*sourceElem);
+ parent->appendChild(newElement);
+ }
+ }
+
+ NodeList children = sourceElem->getChildNodes();
+ int nodeCount = children.getLength();
+ for (int i=0 ; i<nodeCount ; i++)
+ {
+ NodePtr child = children.item(i);
+ int typ = child->getNodeType();
+ if (typ == Node::TEXT_NODE)
+ {
+ NodePtr newNode = doc->createTextNode(child->getNodeValue());
+ parent->appendChild(newNode);
+ }
+ else if (typ == Node::CDATA_SECTION_NODE)
+ {
+ NodePtr newNode = doc->createCDATASection(child->getNodeValue());
+ parent->appendChild(newNode);
+ }
+ else if (newElement.get() && typ == Node::ELEMENT_NODE)
+ {
+ //ElementImplPtr childElement = dynamic_cast<ElementImpl *>(child.get());
+ //parseElement(newElement, childElement);
+ }
+ }
+ return true;
+}
+
+
+/**
+ *
+ */
+SVGDocumentPtr SvgParser::parse(const DocumentPtr src)
+{
+ if (!src)
+ {
+ error("NULL source document");
+ return NULL;
+ }
+
+ DOMImplementationImpl impl;
+ doc = new SVGDocumentImpl(&impl, SVG_NAMESPACE, "svg" , NULL);
+
+ SVGElementImplPtr destElem = dynamic_cast<SVGElementImpl *>(doc->getRootElement().get());
+ ElementImplPtr srcElem = dynamic_cast<ElementImpl *>(src->getDocumentElement().get());
+ if (!parseElement(destElem, srcElem))
+ {
+ return NULL;
+ }
+
+ return doc;
+}
+
+
+
+
+} //namespace svg
+} //namespace dom
+} //namespace w3c
+} //namespace org
+
+/*#########################################################################
+## E N D O F F I L E
+#########################################################################*/
+
diff --git a/src/dom/svgparser.h b/src/dom/svgparser.h
--- /dev/null
+++ b/src/dom/svgparser.h
@@ -0,0 +1,156 @@
+#ifndef __SVGPARSER_H__
+#define __SVGPARSER_H__
+
+/**
+ * Phoebe DOM Implementation.
+ *
+ * This is a C++ approximation of the W3C DOM model, which follows
+ * fairly closely the specifications in the various .idl files, copies of
+ * which are provided for reference. Most important is this one:
+ *
+ * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2005-2007 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#include "svgimpl.h"
+
+namespace org
+{
+namespace w3c
+{
+namespace dom
+{
+namespace svg
+{
+
+
+class SvgParser
+{
+public:
+
+ /**
+ *
+ */
+ SvgParser()
+ {
+ }
+
+ /**
+ *
+ */
+ SvgParser(const SvgParser &/*other*/)
+ {
+ }
+
+ /**
+ *
+ */
+ virtual ~SvgParser()
+ {
+ }
+
+ /**
+ *
+ */
+ SVGDocumentPtr parse(const DocumentPtr sourceDoc);
+
+
+
+
+private:
+
+ /**
+ * Get the next character in the parse buf, 0 if out
+ * of range
+ */
+ XMLCh get(int p);
+
+ /**
+ * Test if the given substring exists at the given position
+ * in parsebuf. Use get() in case of out-of-bounds
+ */
+ bool match(int pos, char const *str);
+
+ /**
+ *
+ */
+ int skipwhite(int p);
+
+ /**
+ * get a word from the buffer
+ */
+ int getWord(int p, DOMString &result);
+
+ /**
+ * get a word from the buffer
+ */
+ int getNumber(int p0, double &result);
+
+
+ /**
+ *
+ */
+ bool parseTransform(const DOMString &str);
+
+
+ /**
+ *
+ */
+ bool parseElement(SVGElementImplPtr destElem,
+ ElementImplPtr sourceElem);
+
+
+ /**
+ *
+ */
+ void error(char const *format, ...)
+ #ifdef G_GNUC_PRINTF
+ G_GNUC_PRINTF(2, 3)
+ #endif
+ ;
+
+
+
+ DOMString parsebuf;
+ int parselen;
+ int lastPosition;
+
+ SVGDocumentImplPtr doc;
+
+};
+
+
+
+
+
+} //namespace svg
+} //namespace dom
+} //namespace w3c
+} //namespace org
+
+#endif /* __SVGPARSER_H__ */
+/*#########################################################################
+## E N D O F F I L E
+#########################################################################*/
+
+
+
diff --git a/src/dom/svgtypes.h b/src/dom/svgtypes.h
--- /dev/null
+++ b/src/dom/svgtypes.h
@@ -0,0 +1,6889 @@
+#ifndef __SVGTYPES_H__
+#define __SVGTYPES_H__
+
+/**
+ * Phoebe DOM Implementation.
+ *
+ * This is a C++ approximation of the W3C DOM model, which follows
+ * fairly closely the specifications in the various .idl files, copies of
+ * which are provided for reference. Most important is this one:
+ *
+ * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
+ *
+ * Authors:
+ * Bob Jamison
+ *
+ * Copyright (C) 2006 Bob Jamison
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+// For access to DOM2 core
+#include "dom/dom.h"
+
+// For access to DOM2 events
+#include "dom/events.h"
+
+// For access to those parts from DOM2 CSS OM used by SVG DOM.
+#include "dom/css.h"
+
+// For access to those parts from DOM2 Views OM used by SVG DOM.
+#include "dom/views.h"
+
+// For access to the SMIL OM used by SVG DOM.
+#include "dom/smil.h"
+
+
+#include <math.h>
+
+
+
+namespace org {
+namespace w3c {
+namespace dom {
+namespace svg {
+
+
+
+
+//local definitions
+typedef dom::DOMString DOMString;
+typedef dom::DOMException DOMException;
+typedef dom::Element Element;
+typedef dom::Document Document;
+typedef dom::NodeList NodeList;
+
+
+class SVGElement;
+class SVGUseElement;
+class SVGAnimatedPreserveAspectRatio;
+
+
+/*#########################################################################
+## SVGException
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGException
+{
+public:
+ // unsigned short code; //inherited
+};
+
+ /**
+ * SVGExceptionCode
+ */
+ typedef enum
+ {
+ SVG_WRONG_TYPE_ERR = 0,
+ SVG_INVALID_VALUE_ERR = 1,
+ SVG_MATRIX_NOT_INVERTABLE = 2
+ } SVGExceptionCode;
+
+
+
+
+
+/*#########################################################################
+## SVGMatrix
+#########################################################################*/
+
+/**
+ * In SVG, a Matrix is defined like this:
+ *
+ * | a c e |
+ * | b d f |
+ * | 0 0 1 |
+ *
+ */
+class SVGMatrix
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual double getA()
+ { return a; }
+
+ /**
+ *
+ */
+ virtual void setA(double val) throw (DOMException)
+ { a = val; }
+
+ /**
+ *
+ */
+ virtual double getB()
+ { return b; }
+
+ /**
+ *
+ */
+ virtual void setB(double val) throw (DOMException)
+ { b = val; }
+
+ /**
+ *
+ */
+ virtual double getC()
+ { return c; }
+
+ /**
+ *
+ */
+ virtual void setC(double val) throw (DOMException)
+ { c = val; }
+
+ /**
+ *
+ */
+ virtual double getD()
+ { return d; }
+
+ /**
+ *
+ */
+ virtual void setD(double val) throw (DOMException)
+ { d = val; }
+ /**
+ *
+ */
+ virtual double getE()
+ { return e; }
+
+ /**
+ *
+ */
+ virtual void setE(double val) throw (DOMException)
+ { e = val; }
+ /**
+ *
+ */
+ virtual double getF()
+ { return f; }
+
+ /**
+ *
+ */
+ virtual void setF(double val) throw (DOMException)
+ { f = val; }
+
+
+ /**
+ * Return the result of postmultiplying this matrix with another.
+ */
+ virtual SVGMatrix multiply(const SVGMatrix &other)
+ {
+ SVGMatrix result;
+ result.a = a * other.a + c * other.b;
+ result.b = b * other.a + d * other.b;
+ result.c = a * other.c + c * other.d;
+ result.d = b * other.c + d * other.d;
+ result.e = a * other.e + c * other.f + e;
+ result.f = b * other.e + d * other.f + f;
+ return result;
+ }
+
+ /**
+ * Calculate the inverse of this matrix
+ *
+ */
+ virtual SVGMatrix inverse( ) throw( SVGException )
+ {
+ /*###########################################
+ The determinant of a 3x3 matrix E
+ (let's use our own notation for a bit)
+
+ A B C
+ D E F
+ G H I
+ is
+ AEI - AFH - BDI + BFG + CDH - CEG
+
+ Since in our affine transforms, G and H==0 and I==1,
+ this reduces to:
+ AE - BD
+ In SVG's naming scheme, that is: a * d - c * b . SIMPLE!
+
+ In a similar method of attack, SVG's adjunct matrix is:
+
+ d -c cf-ed
+ -b a eb-af
+ 0 0 ad-cb
+
+ To get the inverse matrix, we divide the adjunct matrix by
+ the determinant. Notice that (ad-cb)/(ad-cb)==1. Very cool.
+ So what we end up with is this:
+
+ a = d/(ad-cb) c = -c/(ad-cb) e = (cf-ed)/(ad-cb)
+ b = -b/(ad-cb) d = a/(ad-cb) f = (eb-af)/(ad-cb)
+
+ (Since this would be in all SVG-DOM implementations,
+ somebody needed to document this! ^^ )
+ #############################################*/
+
+ SVGMatrix result;
+ double determinant = a * d - c * b;
+ if (determinant < 1.0e-18)//invertible?
+ {
+ result.identity();//cop out
+ return result;
+ }
+
+ double idet = 1.0 / determinant;
+ result.a = d * idet;
+ result.b = -b * idet;
+ result.c = -c * idet;
+ result.d = a * idet;
+ result.e = (c*f - e*d) * idet;
+ result.f = (e*b - a*f) * idet;
+ return result;
+ }
+
+ /**
+ * Equivalent to multiplying by:
+ * | 1 0 x |
+ * | 0 1 y |
+ * | 0 0 1 |
+ *
+ */
+ virtual SVGMatrix translate(double x, double y )
+ {
+ SVGMatrix result;
+ result.a = a;
+ result.b = b;
+ result.c = c;
+ result.d = d;
+ result.e = a * x + c * y + e;
+ result.f = b * x + d * y + f;
+ return result;
+ }
+
+ /**
+ * Equivalent to multiplying by:
+ * | scale 0 0 |
+ * | 0 scale 0 |
+ * | 0 0 1 |
+ *
+ */
+ virtual SVGMatrix scale(double scale)
+ {
+ SVGMatrix result;
+ result.a = a * scale;
+ result.b = b * scale;
+ result.c = c * scale;
+ result.d = d * scale;
+ result.e = e;
+ result.f = f;
+ return result;
+ }
+
+ /**
+ * Equivalent to multiplying by:
+ * | scaleX 0 0 |
+ * | 0 scaleY 0 |
+ * | 0 0 1 |
+ *
+ */
+ virtual SVGMatrix scaleNonUniform(double scaleX,
+ double scaleY )
+ {
+ SVGMatrix result;
+ result.a = a * scaleX;
+ result.b = b * scaleX;
+ result.c = c * scaleY;
+ result.d = d * scaleY;
+ result.e = e;
+ result.f = f;
+ return result;
+ }
+
+ /**
+ * Equivalent to multiplying by:
+ * | cos(a) -sin(a) 0 |
+ * | sin(a) cos(a) 0 |
+ * | 0 0 1 |
+ *
+ */
+ virtual SVGMatrix rotate (double angle)
+ {
+ double sina = sin(angle);
+ double msina = -sina;
+ double cosa = cos(angle);
+ SVGMatrix result;
+ result.a = a * cosa + c * sina;
+ result.b = b * cosa + d + sina;
+ result.c = a * msina + c * cosa;
+ result.d = b * msina + d * cosa;
+ result.e = e;
+ result.f = f;
+ return result;
+ }
+
+ /**
+ * Equivalent to multiplying by:
+ * | cos(a) -sin(a) 0 |
+ * | sin(a) cos(a) 0 |
+ * | 0 0 1 |
+ * In this case, angle 'a' is computed as the artangent
+ * of the slope y/x . It is negative if the slope is negative.
+ */
+ virtual SVGMatrix rotateFromVector(double x, double y)
+ throw( SVGException )
+ {
+ double angle = atan(y / x);
+ if (y < 0.0)
+ angle = -angle;
+ SVGMatrix result;
+ double sina = sin(angle);
+ double msina = -sina;
+ double cosa = cos(angle);
+ result.a = a * cosa + c * sina;
+ result.b = b * cosa + d + sina;
+ result.c = a * msina + c * cosa;
+ result.d = b * msina + d * cosa;
+ result.e = e;
+ result.f = f;
+ return result;
+ }
+
+ /**
+ * Equivalent to multiplying by:
+ * | -1 0 0 |
+ * | 0 1 0 |
+ * | 0 0 1 |
+ *
+ */
+ virtual SVGMatrix flipX( )
+ {
+ SVGMatrix result;
+ result.a = -a;
+ result.b = -b;
+ result.c = c;
+ result.d = d;
+ result.e = e;
+ result.f = f;
+ return result;
+ }
+
+ /**
+ * Equivalent to multiplying by:
+ * | 1 0 0 |
+ * | 0 -1 0 |
+ * | 0 0 1 |
+ *
+ */
+ virtual SVGMatrix flipY( )
+ {
+ SVGMatrix result;
+ result.a = a;
+ result.b = b;
+ result.c = -c;
+ result.d = -d;
+ result.e = e;
+ result.f = f;
+ return result;
+ }
+
+ /**
+ * | 1 tan(a) 0 |
+ * | 0 1 0 |
+ * | 0 0 1 |
+ *
+ */
+ virtual SVGMatrix skewX(double angle)
+ {
+ double tana = tan(angle);
+ SVGMatrix result;
+ result.a = a;
+ result.b = b;
+ result.c = a * tana + c;
+ result.d = b * tana + d;
+ result.e = e;
+ result.f = f;
+ return result;
+ }
+
+ /**
+ * Equivalent to multiplying by:
+ * | 1 0 0 |
+ * | tan(a) 1 0 |
+ * | 0 0 1 |
+ *
+ */
+ virtual SVGMatrix skewY(double angle)
+ {
+ double tana = tan(angle);
+ SVGMatrix result;
+ result.a = a + c * tana;
+ result.b = b + d * tana;
+ result.c = c;
+ result.d = d;
+ result.e = e;
+ result.f = f;
+ return result;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGMatrix()
+ {
+ identity();
+ }
+
+ /**
+ *
+ */
+ SVGMatrix(double aArg, double bArg, double cArg,
+ double dArg, double eArg, double fArg )
+ {
+ a = aArg; b = bArg; c = cArg;
+ d = dArg; e = eArg; f = fArg;
+ }
+
+ /**
+ * Copy constructor
+ */
+ SVGMatrix(const SVGMatrix &other)
+ {
+ a = other.a;
+ b = other.b;
+ c = other.c;
+ d = other.d;
+ e = other.e;
+ f = other.f;
+ }
+
+
+
+ /**
+ *
+ */
+ virtual ~SVGMatrix() {}
+
+protected:
+
+friend class SVGTransform;
+
+ /*
+ * Set to the identify matrix
+ */
+ void identity()
+ {
+ a = 1.0;
+ b = 0.0;
+ c = 0.0;
+ d = 1.0;
+ e = 0.0;
+ f = 0.0;
+ }
+
+ double a, b, c, d, e, f;
+
+};
+
+
+/*#########################################################################
+## SVGTransform
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTransform
+{
+public:
+
+ /**
+ * Transform Types
+ */
+ typedef enum
+ {
+ SVG_TRANSFORM_UNKNOWN = 0,
+ SVG_TRANSFORM_MATRIX = 1,
+ SVG_TRANSFORM_TRANSLATE = 2,
+ SVG_TRANSFORM_SCALE = 3,
+ SVG_TRANSFORM_ROTATE = 4,
+ SVG_TRANSFORM_SKEWX = 5,
+ SVG_TRANSFORM_SKEWY = 6,
+ } TransformType;
+
+ /**
+ *
+ */
+ virtual unsigned short getType()
+ { return type; }
+
+
+ /**
+ *
+ */
+ virtual SVGMatrix getMatrix()
+ {
+ return matrix;
+ }
+
+ /**
+ *
+ */
+ virtual double getAngle()
+ {
+ return angle;
+ }
+
+
+ /**
+ *
+ */
+ virtual void setMatrix(const SVGMatrix &matrixArg)
+ {
+ type = SVG_TRANSFORM_MATRIX;
+ matrix = matrixArg;
+ }
+
+ /**
+ *
+ */
+ virtual void setTranslate (double tx, double ty )
+ {
+ type = SVG_TRANSFORM_TRANSLATE;
+ matrix.setA(1.0);
+ matrix.setB(0.0);
+ matrix.setC(0.0);
+ matrix.setD(1.0);
+ matrix.setE(tx);
+ matrix.setF(ty);
+ }
+
+ /**
+ *
+ */
+ virtual void setScale (double sx, double sy )
+ {
+ type = SVG_TRANSFORM_SCALE;
+ matrix.setA(sx);
+ matrix.setB(0.0);
+ matrix.setC(0.0);
+ matrix.setD(sy);
+ matrix.setE(0.0);
+ matrix.setF(0.0);
+ }
+
+ /**
+ *
+ */
+ virtual void setRotate (double angleArg, double cx, double cy)
+ {
+ angle = angleArg;
+ setTranslate(cx, cy);
+ type = SVG_TRANSFORM_ROTATE;
+ matrix.rotate(angle);
+ }
+
+ /**
+ *
+ */
+ virtual void setSkewX (double angleArg)
+ {
+ angle = angleArg;
+ type = SVG_TRANSFORM_SKEWX;
+ matrix.identity();
+ matrix.skewX(angle);
+ }
+
+ /**
+ *
+ */
+ virtual void setSkewY (double angleArg)
+ {
+ angle = angleArg;
+ type = SVG_TRANSFORM_SKEWY;
+ matrix.identity();
+ matrix.skewY(angle);
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGTransform()
+ {
+ type = SVG_TRANSFORM_UNKNOWN;
+ angle = 0.0;
+ }
+
+ /**
+ *
+ */
+ SVGTransform(const SVGTransform &other)
+ {
+ type = other.type;
+ angle = other.angle;
+ matrix = other.matrix;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGTransform()
+ {}
+
+protected:
+
+ int type;
+ double angle;
+
+ SVGMatrix matrix;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGTransformList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTransformList
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual unsigned long getNumberOfItems()
+ { return items.size(); }
+
+
+ /**
+ *
+ */
+ virtual void clear( ) throw( DOMException )
+ { items.clear(); }
+
+ /**
+ *
+ */
+ virtual SVGTransform initialize (const SVGTransform &newItem)
+ throw( DOMException, SVGException )
+ {
+ items.clear();
+ items.push_back(newItem);
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform getItem (unsigned long index )
+ throw( DOMException )
+ {
+ if (index>=items.size())
+ {
+ SVGTransform transform;
+ return transform;
+ }
+ return items[index];
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform insertItemBefore (const SVGTransform &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index > items.size())
+ items.push_back(newItem);
+ else
+ {
+ std::vector<SVGTransform>::iterator iter = items.begin() + index;
+ items.insert(iter, newItem);
+ }
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform replaceItem (const SVGTransform &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index>=items.size())
+ {
+ SVGTransform transform;
+ return transform;
+ }
+ else
+ {
+ std::vector<SVGTransform>::iterator iter = items.begin() + index;
+ *iter = newItem;
+ }
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform removeItem (unsigned long index )
+ throw( DOMException )
+ {
+ if (index>=items.size())
+ {
+ SVGTransform transform;
+ return transform;
+ }
+ std::vector<SVGTransform>::iterator iter = items.begin() + index;
+ SVGTransform oldItem = *iter;
+ items.erase(iter);
+ return oldItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform appendItem (const SVGTransform &newItem)
+ throw( DOMException, SVGException )
+ {
+ items.push_back(newItem);
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix)
+ {
+ SVGTransform transform;
+ transform.setMatrix(matrix);
+ return transform;
+ }
+
+ /**
+ *
+ */
+ virtual SVGTransform consolidate()
+ {
+ SVGMatrix matrix;
+ for (unsigned int i=0 ; i<items.size() ; i++)
+ matrix = matrix.multiply(items[i].getMatrix());
+ SVGTransform transform;
+ transform.setMatrix(matrix);
+ items.clear();
+ items.push_back(transform);
+ return transform;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGTransformList()
+ {}
+
+ /**
+ *
+ */
+ SVGTransformList(const SVGTransformList &other)
+ {
+ items = other.items;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGTransformList() {}
+
+protected:
+
+ std::vector<SVGTransform> items;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedTransformList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedTransformList
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGTransformList getBaseVal()
+ { return baseVal; }
+
+ /**
+ *
+ */
+ virtual SVGTransformList getAnimVal()
+ { return animVal; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedTransformList()
+ {}
+
+ /**
+ *
+ */
+ SVGAnimatedTransformList(const SVGAnimatedTransformList &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedTransformList() {}
+
+protected:
+
+ SVGTransformList baseVal;
+ SVGTransformList animVal;
+
+};
+
+
+
+
+/*#########################################################################
+## SVGAnimatedBoolean
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedBoolean
+{
+public:
+
+ /**
+ *
+ */
+ virtual bool getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual void setBaseVal(bool val) throw (DOMException)
+ {
+ baseVal = val;
+ }
+
+ /**
+ *
+ */
+ virtual bool getAnimVal()
+ {
+ return animVal;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedBoolean()
+ {
+ baseVal = animVal = false;
+ }
+
+ /**
+ *
+ */
+ SVGAnimatedBoolean(const SVGAnimatedBoolean &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedBoolean() {}
+
+protected:
+
+ bool baseVal, animVal;
+
+};
+
+
+
+
+/*#########################################################################
+## SVGAnimatedString
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedString
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual void setBaseVal(const DOMString &val)
+ throw (DOMException)
+ {
+ baseVal = val;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString getAnimVal()
+ {
+ return animVal;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGAnimatedString()
+ {
+ baseVal = "";
+ animVal = "";
+ }
+
+ /**
+ *
+ */
+ SVGAnimatedString(const SVGAnimatedString &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedString() {}
+
+protected:
+
+ DOMString baseVal, animVal;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGStringList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGStringList
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual unsigned long getNumberOfItems()
+ {
+ return items.size();
+ }
+
+ /**
+ *
+ */
+ virtual void clear () throw( DOMException )
+ {
+ items.clear();
+ }
+
+ /**
+ *
+ */
+ virtual DOMString initialize ( const DOMString& newItem )
+ throw( DOMException, SVGException )
+ {
+ items.clear();
+ items.push_back(newItem);
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString getItem ( unsigned long index )
+ throw( DOMException )
+ {
+ if (index >= items.size())
+ return "";
+ return items[index];
+ }
+
+ /**
+ *
+ */
+ virtual DOMString insertItemBefore ( const DOMString& newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index>=items.size())
+ {
+ items.push_back(newItem);
+ }
+ else
+ {
+ std::vector<DOMString>::iterator iter = items.begin() + index;
+ items.insert(iter, newItem);
+ }
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString replaceItem ( const DOMString& newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index>=items.size())
+ return "";
+ std::vector<DOMString>::iterator iter = items.begin() + index;
+ *iter = newItem;
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString removeItem ( unsigned long index )
+ throw( DOMException )
+ {
+ if (index>=items.size())
+ return "";
+ std::vector<DOMString>::iterator iter = items.begin() + index;
+ DOMString oldstr = *iter;
+ items.erase(iter);
+ return oldstr;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString appendItem ( const DOMString& newItem )
+ throw( DOMException, SVGException )
+ {
+ items.push_back(newItem);
+ return newItem;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGStringList() {}
+
+ /**
+ *
+ */
+ SVGStringList(const SVGStringList &other)
+ {
+ items = other.items;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGStringList() {}
+
+protected:
+
+ std::vector<DOMString>items;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedEnumeration
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedEnumeration
+{
+public:
+
+ /**
+ *
+ */
+ virtual unsigned short getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual void setBaseVal(unsigned short val)
+ throw (DOMException)
+ {
+ baseVal = val;
+ }
+
+ /**
+ *
+ */
+ virtual unsigned short getAnimVal()
+ {
+ return animVal;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGAnimatedEnumeration()
+ {
+ baseVal = animVal = 0;
+ }
+
+ /**
+ *
+ */
+ SVGAnimatedEnumeration(const SVGAnimatedEnumeration &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedEnumeration() {}
+
+protected:
+
+ int baseVal, animVal;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedInteger
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedInteger
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual long getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual void setBaseVal(long val) throw (DOMException)
+ {
+ baseVal = val;
+ }
+
+ /**
+ *
+ */
+ virtual long getAnimVal()
+ {
+ return animVal;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGAnimatedInteger()
+ { baseVal = animVal = 0L;}
+
+
+ /**
+ *
+ */
+ SVGAnimatedInteger(long value)
+ {
+ baseVal = value;
+ animVal = 0L;
+ }
+
+ /**
+ *
+ */
+ SVGAnimatedInteger(long baseValArg, long animValArg)
+ {
+ baseVal = baseValArg;
+ animVal = animValArg;
+ }
+
+
+ /**
+ *
+ */
+ SVGAnimatedInteger(const SVGAnimatedInteger &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedInteger() {}
+
+protected:
+
+ long baseVal, animVal;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGNumber
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGNumber
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual double getValue()
+ {
+ return value;
+ }
+
+ /**
+ *
+ */
+ virtual void setValue(double val) throw (DOMException)
+ {
+ value = val;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGNumber()
+ {
+ value = 0.0;
+ }
+
+ /**
+ *
+ */
+ SVGNumber(const SVGNumber &other)
+ {
+ value = other.value;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGNumber() {}
+
+protected:
+
+ double value;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedNumber
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedNumber
+{
+public:
+
+
+
+ /**
+ *
+ */
+ virtual double getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual void setBaseVal(double val) throw (DOMException)
+ {
+ baseVal = val;
+ }
+
+ /**
+ *
+ */
+ virtual double getAnimVal()
+ {
+ return animVal;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedNumber()
+ {
+ baseVal = animVal = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGAnimatedNumber(double val)
+ {
+ baseVal = val;
+ animVal = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGAnimatedNumber(double baseValArg, double animValArg)
+ {
+ baseVal = baseValArg;
+ animVal = animValArg;
+ }
+
+ /**
+ *
+ */
+ SVGAnimatedNumber(const SVGAnimatedNumber &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedNumber() {}
+
+protected:
+
+ double baseVal, animVal;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGNumberList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGNumberList
+{
+public:
+
+ /**
+ *
+ */
+ virtual unsigned long getNumberOfItems()
+ {
+ return items.size();
+ }
+
+
+ /**
+ *
+ */
+ virtual void clear() throw( DOMException )
+ {
+ items.clear();
+ }
+
+ /**
+ *
+ */
+ virtual SVGNumber initialize (const SVGNumber &newItem)
+ throw( DOMException, SVGException )
+ {
+ items.clear();
+ items.push_back(newItem);
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGNumber getItem ( unsigned long index )
+ throw( DOMException )
+ {
+ if (index>=items.size())
+ {
+ SVGNumber num;
+ return num;
+ }
+ return items[index];
+ }
+
+ /**
+ *
+ */
+ virtual SVGNumber insertItemBefore ( const SVGNumber &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index>=items.size())
+ {
+ items.push_back(newItem);
+ }
+ else
+ {
+ std::vector<SVGNumber>::iterator iter = items.begin() + index;
+ items.insert(iter, newItem);
+ }
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGNumber replaceItem ( const SVGNumber &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index>=items.size())
+ {
+ SVGNumber num;
+ return num;
+ }
+ std::vector<SVGNumber>::iterator iter = items.begin() + index;
+ *iter = newItem;
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGNumber removeItem ( unsigned long index )
+ throw( DOMException )
+ {
+ if (index>=items.size())
+ {
+ SVGNumber num;
+ return num;
+ }
+ std::vector<SVGNumber>::iterator iter = items.begin() + index;
+ SVGNumber oldval = *iter;
+ items.erase(iter);
+ return oldval;
+ }
+
+ /**
+ *
+ */
+ virtual SVGNumber appendItem ( const SVGNumber &newItem )
+ throw( DOMException, SVGException )
+ {
+ items.push_back(newItem);
+ return newItem;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGNumberList() {}
+
+ /**
+ *
+ */
+ SVGNumberList(const SVGNumberList &other)
+ {
+ items = other.items;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGNumberList() {}
+
+protected:
+
+ std::vector<SVGNumber>items;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedNumberList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedNumberList
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGNumberList &getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual SVGNumberList &getAnimVal()
+ {
+ return animVal;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedNumberList() {}
+
+ /**
+ *
+ */
+ SVGAnimatedNumberList(const SVGAnimatedNumberList &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedNumberList() {}
+
+protected:
+
+ SVGNumberList baseVal;
+ SVGNumberList animVal;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGLength
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGLength
+{
+public:
+
+ /**
+ * Length Unit Types
+ */
+ typedef enum
+ {
+ SVG_LENGTHTYPE_UNKNOWN = 0,
+ SVG_LENGTHTYPE_NUMBER = 1,
+ SVG_LENGTHTYPE_PERCENTAGE = 2,
+ SVG_LENGTHTYPE_EMS = 3,
+ SVG_LENGTHTYPE_EXS = 4,
+ SVG_LENGTHTYPE_PX = 5,
+ SVG_LENGTHTYPE_CM = 6,
+ SVG_LENGTHTYPE_MM = 7,
+ SVG_LENGTHTYPE_IN = 8,
+ SVG_LENGTHTYPE_PT = 9,
+ SVG_LENGTHTYPE_PC = 10
+ } LengthUnitType;
+
+
+ /**
+ *
+ */
+ virtual unsigned short getUnitType( )
+ {
+ return unitType;
+ }
+
+ /**
+ *
+ */
+ virtual double getValue( )
+ {
+ return value;
+ }
+
+ /**
+ *
+ */
+ virtual void setValue( double val ) throw (DOMException)
+ {
+ value = val;
+ }
+
+ /**
+ *
+ */
+ virtual double getValueInSpecifiedUnits( )
+ {
+ double result = 0.0;
+ //fill this in
+ return result;
+ }
+
+ /**
+ *
+ */
+ virtual void setValueInSpecifiedUnits( double /*val*/ )
+ throw (DOMException)
+ {
+ //fill this in
+ }
+
+ /**
+ *
+ */
+ virtual DOMString getValueAsString( )
+ {
+ DOMString ret;
+ char buf[32];
+ snprintf(buf, 31, "%f", value);
+ ret.append(buf);
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual void setValueAsString( const DOMString& /*val*/ )
+ throw (DOMException)
+ {
+ }
+
+
+ /**
+ *
+ */
+ virtual void newValueSpecifiedUnits ( unsigned short /*unitType*/, double /*val*/ )
+ {
+ }
+
+ /**
+ *
+ */
+ virtual void convertToSpecifiedUnits ( unsigned short /*unitType*/ )
+ {
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGLength()
+ {
+ unitType = SVG_LENGTHTYPE_UNKNOWN;
+ value = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGLength(const SVGLength &other)
+ {
+ unitType = other.unitType;
+ value = other.value;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGLength() {}
+
+protected:
+
+ int unitType;
+
+ double value;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedLength
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedLength
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGLength &getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual SVGLength &getAnimVal()
+ {
+ return animVal;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedLength() {}
+
+ /**
+ *
+ */
+ SVGAnimatedLength(const SVGAnimatedLength &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedLength() {}
+
+protected:
+
+ SVGLength baseVal, animVal;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGLengthList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGLengthList
+{
+public:
+
+ /**
+ *
+ */
+ virtual unsigned long getNumberOfItems()
+ {
+ return items.size();
+ }
+
+
+ /**
+ *
+ */
+ virtual void clear ( ) throw( DOMException )
+ {
+ items.clear();
+ }
+
+ /**
+ *
+ */
+ virtual SVGLength initialize (const SVGLength &newItem )
+ throw( DOMException, SVGException )
+ {
+ items.clear();
+ items.push_back(newItem);
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGLength getItem (unsigned long index)
+ throw( DOMException )
+ {
+ if (index>=items.size())
+ {
+ SVGLength ret;
+ return ret;
+ }
+ return items[index];
+ }
+
+ /**
+ *
+ */
+ virtual SVGLength insertItemBefore (const SVGLength &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index>=items.size())
+ {
+ items.push_back(newItem);
+ }
+ else
+ {
+ std::vector<SVGLength>::iterator iter = items.begin() + index;
+ items.insert(iter, newItem);
+ }
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGLength replaceItem (const SVGLength &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index>=items.size())
+ {
+ SVGLength ret;
+ return ret;
+ }
+ std::vector<SVGLength>::iterator iter = items.begin() + index;
+ *iter = newItem;
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGLength removeItem (unsigned long index )
+ throw( DOMException )
+ {
+ if (index>=items.size())
+ {
+ SVGLength ret;
+ return ret;
+ }
+ std::vector<SVGLength>::iterator iter = items.begin() + index;
+ SVGLength oldval = *iter;
+ items.erase(iter);
+ return oldval;
+ }
+
+ /**
+ *
+ */
+ virtual SVGLength appendItem (const SVGLength &newItem )
+ throw( DOMException, SVGException )
+ {
+ items.push_back(newItem);
+ return newItem;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGLengthList() {}
+
+ /**
+ *
+ */
+ SVGLengthList(const SVGLengthList &other)
+ {
+ items = other.items;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGLengthList() {}
+
+protected:
+
+ std::vector<SVGLength>items;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedLengthList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedLengthList
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGLengthList &getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual SVGLengthList &getAnimVal()
+ {
+ return animVal;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedLengthList() {}
+
+ /**
+ *
+ */
+ SVGAnimatedLengthList(const SVGAnimatedLengthList &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedLengthList() {}
+
+protected:
+
+ SVGLengthList baseVal, animVal;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAngle
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAngle
+{
+public:
+
+ /**
+ * Angle Unit Types
+ */
+ typedef enum
+ {
+ SVG_ANGLETYPE_UNKNOWN = 0,
+ SVG_ANGLETYPE_UNSPECIFIED = 1,
+ SVG_ANGLETYPE_DEG = 2,
+ SVG_ANGLETYPE_RAD = 3,
+ SVG_ANGLETYPE_GRAD = 4
+ } AngleUnitType;
+
+
+
+ /**
+ *
+ */
+ virtual unsigned short getUnitType()
+ {
+ return unitType;
+ }
+
+ /**
+ *
+ */
+ virtual double getValue()
+ {
+ return value;
+ }
+
+ /**
+ *
+ */
+ virtual void setValue(double val) throw (DOMException)
+ {
+ value = val;
+ }
+
+ /**
+ *
+ */
+ virtual double getValueInSpecifiedUnits()
+ {
+ double result = 0.0;
+ //convert here
+ return result;
+ }
+
+ /**
+ *
+ */
+ virtual void setValueInSpecifiedUnits(double /*val*/)
+ throw (DOMException)
+ {
+ //do conversion
+ }
+
+ /**
+ *
+ */
+ virtual DOMString getValueAsString()
+ {
+ DOMString result;
+ char buf[32];
+ snprintf(buf, 31, "%f", value);
+ result.append(buf);
+ return result;
+ }
+
+ /**
+ *
+ */
+ virtual void setValueAsString(const DOMString &/*val*/)
+ throw (DOMException)
+ {
+ //convert here
+ }
+
+
+ /**
+ *
+ */
+ virtual void newValueSpecifiedUnits (unsigned short /*unitType*/,
+ double /*valueInSpecifiedUnits*/ )
+ {
+ //convert here
+ }
+
+ /**
+ *
+ */
+ virtual void convertToSpecifiedUnits (unsigned short /*unitType*/ )
+ {
+ //convert here
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAngle()
+ {
+ unitType = SVG_ANGLETYPE_UNKNOWN;
+ value = 0.0;
+ }
+
+ /**
+ *
+ */
+ SVGAngle(const SVGAngle &other)
+ {
+ unitType = other.unitType;
+ value = other.value;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAngle() {}
+
+protected:
+
+ int unitType;
+
+ double value;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedAngle
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedAngle
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAngle getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual SVGAngle getAnimVal()
+ {
+ return animVal;
+ }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedAngle() {}
+
+ /**
+ *
+ */
+ SVGAnimatedAngle(const SVGAngle &angle)
+ { baseVal = angle; }
+
+ /**
+ *
+ */
+ SVGAnimatedAngle(const SVGAnimatedAngle &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedAngle() {}
+
+protected:
+
+ SVGAngle baseVal, animVal;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGICCColor
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGICCColor
+{
+public:
+
+ /**
+ *
+ */
+ virtual DOMString getColorProfile()
+ {
+ return colorProfile;
+ }
+
+ /**
+ *
+ */
+ virtual void setColorProfile(const DOMString &val) throw (DOMException)
+ {
+ colorProfile = val;
+ }
+
+ /**
+ *
+ */
+ virtual SVGNumberList &getColors()
+ {
+ return colors;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGICCColor() {}
+
+ /**
+ *
+ */
+ SVGICCColor(const SVGICCColor &other)
+ {
+ colorProfile = other.colorProfile;
+ colors = other.colors;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGICCColor() {}
+
+protected:
+
+ DOMString colorProfile;
+
+ SVGNumberList colors;
+
+};
+
+
+/*#########################################################################
+## SVGColor
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGColor : virtual public css::CSSValue
+{
+public:
+
+
+ /**
+ * Color Types
+ */
+ typedef enum
+ {
+ SVG_COLORTYPE_UNKNOWN = 0,
+ SVG_COLORTYPE_RGBCOLOR = 1,
+ SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2,
+ SVG_COLORTYPE_CURRENTCOLOR = 3
+ } ColorType;
+
+
+ /**
+ *
+ */
+ virtual unsigned short getColorType()
+ {
+ return colorType;
+ }
+
+ /**
+ *
+ */
+ virtual css::RGBColor getRgbColor()
+ {
+ css::RGBColor col;
+ return col;
+ }
+
+ /**
+ *
+ */
+ virtual SVGICCColor getIccColor()
+ {
+ SVGICCColor col;
+ return col;
+ }
+
+
+ /**
+ *
+ */
+ virtual void setRGBColor (const DOMString& /*rgbColor*/ )
+ throw( SVGException )
+ {
+ }
+
+ /**
+ *
+ */
+ virtual void setRGBColorICCColor (const DOMString& /*rgbColor*/,
+ const DOMString& /*iccColor*/ )
+ throw( SVGException )
+ {
+ }
+
+ /**
+ *
+ */
+ virtual void setColor (unsigned short /*colorType*/,
+ const DOMString& /*rgbColor*/,
+ const DOMString& /*iccColor*/ )
+ throw( SVGException )
+ {
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGColor()
+ {
+ colorType = SVG_COLORTYPE_UNKNOWN;
+ }
+
+ /**
+ *
+ */
+ SVGColor(const SVGColor &other) : css::CSSValue(other)
+ {
+ colorType = other.colorType;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGColor() {}
+
+protected:
+
+ int colorType;
+
+};
+
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGRect
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGRect
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ {
+ return x;
+ }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ {
+ x = val;
+ }
+
+ /**
+ *
+ */
+ virtual double getY()
+ {
+ return y;
+ }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ {
+ y = val;
+ }
+
+ /**
+ *
+ */
+ virtual double getWidth()
+ {
+ return width;
+ }
+
+ /**
+ *
+ */
+ virtual void setWidth(double val) throw (DOMException)
+ {
+ width = val;
+ }
+
+ /**
+ *
+ */
+ virtual double getHeight()
+ {
+ return height;
+ }
+
+ /**
+ *
+ */
+ virtual void setHeight(double val) throw (DOMException)
+ {
+ height = val;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGRect()
+ {
+ x = y = width = height = 0.0;
+ }
+
+ /**
+ *
+ */
+ SVGRect(const SVGRect &other)
+ {
+ x = other.x;
+ y = other.y;
+ width = other.width;
+ height = other.height;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGRect() {}
+
+protected:
+
+ double x, y, width, height;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedRect
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedRect
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGRect &getBaseVal()
+ {
+ return baseVal;
+ }
+
+ /**
+ *
+ */
+ virtual SVGRect &getAnimVal()
+ {
+ return animVal;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedRect()
+ {
+ }
+
+ /**
+ *
+ */
+ SVGAnimatedRect(const SVGAnimatedRect &other)
+ {
+ baseVal = other.baseVal;
+ animVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedRect() {}
+
+protected:
+
+ SVGRect baseVal, animVal;
+
+};
+
+
+
+/*#########################################################################
+## SVGPoint
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPoint
+{
+public:
+
+
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual SVGPoint matrixTransform(const SVGMatrix &/*matrix*/)
+ {
+ SVGPoint point;
+ return point;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPoint()
+ { x = y = 0; }
+
+ /**
+ *
+ */
+ SVGPoint(const SVGPoint &other)
+ {
+ x = other.x;
+ y = other.y;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPoint() {}
+
+protected:
+
+ double x, y;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPointList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPointList
+{
+public:
+
+ /**
+ *
+ */
+ virtual unsigned long getNumberOfItems()
+ { return items.size(); }
+
+ /**
+ *
+ */
+ virtual void clear() throw( DOMException )
+ { items.clear(); }
+
+ /**
+ *
+ */
+ virtual SVGPoint initialize(const SVGPoint &newItem)
+ throw( DOMException, SVGException )
+ {
+ items.clear();
+ items.push_back(newItem);
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPoint getItem(unsigned long index )
+ throw( DOMException )
+ {
+ if (index >= items.size())
+ {
+ SVGPoint point;
+ return point;
+ }
+ return items[index];
+ }
+
+ /**
+ *
+ */
+ virtual SVGPoint insertItemBefore(const SVGPoint &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index >= items.size())
+ items.push_back(newItem);
+ else
+ {
+ std::vector<SVGPoint>::iterator iter = items.begin() + index;
+ items.insert(iter, newItem);
+ }
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPoint replaceItem(const SVGPoint &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index >= items.size())
+ {
+ SVGPoint point;
+ return point;
+ }
+ std::vector<SVGPoint>::iterator iter = items.begin() + index;
+ *iter = newItem;
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPoint removeItem(unsigned long index )
+ throw( DOMException )
+ {
+ if (index >= items.size())
+ {
+ SVGPoint point;
+ return point;
+ }
+ std::vector<SVGPoint>::iterator iter = items.begin() + index;
+ SVGPoint oldItem = *iter;
+ items.erase(iter);
+ return oldItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPoint appendItem(const SVGPoint &newItem)
+ throw( DOMException, SVGException )
+ {
+ items.push_back(newItem);
+ return newItem;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPointList() {}
+
+
+ /**
+ *
+ */
+ SVGPointList(const SVGPointList &other)
+ {
+ items = other.items;
+ }
+
+
+ /**
+ *
+ */
+ virtual ~SVGPointList() {}
+
+protected:
+
+ std::vector<SVGPoint> items;
+
+};
+
+
+
+
+/*#########################################################################
+## SVGUnitTypes
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGUnitTypes
+{
+public:
+
+ /**
+ * Unit Types
+ */
+ typedef enum
+ {
+ SVG_UNIT_TYPE_UNKNOWN = 0,
+ SVG_UNIT_TYPE_USERSPACEONUSE = 1,
+ SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2
+ } UnitType;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGUnitTypes() {}
+
+ /**
+ *
+ */
+ virtual ~SVGUnitTypes() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGStylable
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGStylable
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getClassName()
+ {
+ return className;
+ }
+
+ /**
+ *
+ */
+ virtual css::CSSStyleDeclaration getStyle()
+ {
+ return style;
+ }
+
+
+ /**
+ *
+ */
+ virtual css::CSSValue getPresentationAttribute (const DOMString& /*name*/ )
+ {
+ css::CSSValue val;
+ //perform a lookup
+ return val;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGStylable() {}
+
+ /**
+ *
+ */
+ SVGStylable(const SVGStylable &other)
+ {
+ className = other.className;
+ style = other.style;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGStylable() {}
+
+protected:
+
+ SVGAnimatedString className;
+ css::CSSStyleDeclaration style;
+
+};
+
+
+/*#########################################################################
+## SVGLocatable
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGLocatable
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGElement *getNearestViewportElement()
+ {
+ SVGElement *result = NULL;
+ return result;
+ }
+
+ /**
+ *
+ */
+ virtual SVGElement *getFarthestViewportElement()
+ {
+ SVGElement *result = NULL;
+ return result;
+ }
+
+ /**
+ *
+ */
+ virtual SVGRect getBBox ( )
+ {
+ return bbox;
+ }
+
+ /**
+ *
+ */
+ virtual SVGMatrix getCTM ( )
+ {
+ return ctm;
+ }
+
+ /**
+ *
+ */
+ virtual SVGMatrix getScreenCTM ( )
+ {
+ return screenCtm;
+ }
+
+ /**
+ *
+ */
+ virtual SVGMatrix getTransformToElement (const SVGElement &/*element*/)
+ throw( SVGException )
+ {
+ SVGMatrix result;
+ //do calculations
+ return result;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGLocatable() {}
+
+ /**
+ *
+ */
+ SVGLocatable(const SVGLocatable &/*other*/)
+ {
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGLocatable() {}
+
+protected:
+
+ SVGRect bbox;
+ SVGMatrix ctm;
+ SVGMatrix screenCtm;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGTransformable
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTransformable : public SVGLocatable
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedTransformList &getTransform()
+ {
+ return transforms;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGTransformable() {}
+
+ /**
+ *
+ */
+ SVGTransformable(const SVGTransformable &other) : SVGLocatable(other)
+ {
+ transforms = other.transforms;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGTransformable() {}
+
+protected:
+
+ SVGAnimatedTransformList transforms;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGTests
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGTests
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGStringList &getRequiredFeatures()
+ {
+ return requiredFeatures;
+ }
+
+ /**
+ *
+ */
+ virtual SVGStringList &getRequiredExtensions()
+ {
+ return requiredExtensions;
+ }
+
+ /**
+ *
+ */
+ virtual SVGStringList &getSystemLanguage()
+ {
+ return systemLanguage;
+ }
+
+
+ /**
+ *
+ */
+ virtual bool hasExtension (const DOMString& /*extension*/ )
+ {
+ return false;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGTests() {}
+
+ /**
+ *
+ */
+ SVGTests(const SVGTests &other)
+ {
+ requiredFeatures = other.requiredFeatures;
+ requiredExtensions = other.requiredExtensions;
+ systemLanguage = other.systemLanguage;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGTests() {}
+
+protected:
+
+ SVGStringList requiredFeatures;
+ SVGStringList requiredExtensions;
+ SVGStringList systemLanguage;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGLangSpace
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGLangSpace
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual DOMString getXmllang()
+ {
+ return xmlLang;
+ }
+
+ /**
+ *
+ */
+ virtual void setXmllang(const DOMString &val)
+ throw (DOMException)
+ {
+ xmlLang = val;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString getXmlspace()
+ {
+ return xmlSpace;
+ }
+
+ /**
+ *
+ */
+ virtual void setXmlspace(const DOMString &val)
+ throw (DOMException)
+ {
+ xmlSpace = val;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGLangSpace() {}
+
+ /**
+ *
+ */
+ SVGLangSpace(const SVGLangSpace &other)
+ {
+ xmlLang = other.xmlLang;
+ xmlSpace = other.xmlSpace;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGLangSpace() {}
+
+protected:
+
+ DOMString xmlLang;
+ DOMString xmlSpace;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGExternalResourcesRequired
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGExternalResourcesRequired
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedBoolean getExternalResourcesRequired()
+ { return required; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGExternalResourcesRequired()
+ { }
+
+
+ /**
+ *
+ */
+ SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other)
+ {
+ required = other.required;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGExternalResourcesRequired() {}
+
+protected:
+
+ SVGAnimatedBoolean required;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPreserveAspectRatio
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPreserveAspectRatio
+{
+public:
+
+
+ /**
+ * Alignment Types
+ */
+ typedef enum
+ {
+ SVG_PRESERVEASPECTRATIO_UNKNOWN = 0,
+ SVG_PRESERVEASPECTRATIO_NONE = 1,
+ SVG_PRESERVEASPECTRATIO_XMINYMIN = 2,
+ SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3,
+ SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4,
+ SVG_PRESERVEASPECTRATIO_XMINYMID = 5,
+ SVG_PRESERVEASPECTRATIO_XMIDYMID = 6,
+ SVG_PRESERVEASPECTRATIO_XMAXYMID = 7,
+ SVG_PRESERVEASPECTRATIO_XMINYMAX = 8,
+ SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9,
+ SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10
+ } AlignmentType;
+
+
+ /**
+ * Meet-or-slice Types
+ */
+ typedef enum
+ {
+ SVG_MEETORSLICE_UNKNOWN = 0,
+ SVG_MEETORSLICE_MEET = 1,
+ SVG_MEETORSLICE_SLICE = 2
+ } MeetOrSliceType;
+
+
+ /**
+ *
+ */
+ virtual unsigned short getAlign()
+ { return align; }
+
+ /**
+ *
+ */
+ virtual void setAlign(unsigned short val) throw (DOMException)
+ { align = val; }
+
+ /**
+ *
+ */
+ virtual unsigned short getMeetOrSlice()
+ { return meetOrSlice; }
+
+ /**
+ *
+ */
+ virtual void setMeetOrSlice(unsigned short val) throw (DOMException)
+ { meetOrSlice = val; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPreserveAspectRatio()
+ {
+ align = SVG_PRESERVEASPECTRATIO_UNKNOWN;
+ meetOrSlice = SVG_MEETORSLICE_UNKNOWN;
+ }
+
+ /**
+ *
+ */
+ SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other)
+ {
+ align = other.align;
+ meetOrSlice = other.meetOrSlice;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPreserveAspectRatio() {}
+
+protected:
+
+ unsigned short align;
+ unsigned short meetOrSlice;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedPreserveAspectRatio
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedPreserveAspectRatio
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual SVGPreserveAspectRatio getBaseVal()
+ { return baseVal; }
+
+ /**
+ *
+ */
+ virtual SVGPreserveAspectRatio getAnimVal()
+ { return animVal; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedPreserveAspectRatio() {}
+
+ /**
+ *
+ */
+ SVGAnimatedPreserveAspectRatio(const SVGAnimatedPreserveAspectRatio &other)
+ {
+ baseVal = other.baseVal;
+ baseVal = other.animVal;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedPreserveAspectRatio() {}
+
+protected:
+
+ SVGPreserveAspectRatio baseVal;
+ SVGPreserveAspectRatio animVal;
+
+};
+
+
+
+
+/*#########################################################################
+## SVGFitToViewBox
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFitToViewBox
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedRect getViewBox()
+ { return viewBox; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()
+ { return preserveAspectRatio; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGFitToViewBox()
+ {}
+
+ /**
+ *
+ */
+
+ SVGFitToViewBox(const SVGFitToViewBox &other)
+ {
+ viewBox = other.viewBox;
+ preserveAspectRatio = other.preserveAspectRatio;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGFitToViewBox() {}
+
+protected:
+
+ SVGAnimatedRect viewBox;
+
+ SVGAnimatedPreserveAspectRatio preserveAspectRatio;
+
+};
+
+
+/*#########################################################################
+## SVGZoomAndPan
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGZoomAndPan
+{
+public:
+
+
+ /**
+ * Zoom and Pan Types
+ */
+ typedef enum
+ {
+ SVG_ZOOMANDPAN_UNKNOWN = 0,
+ SVG_ZOOMANDPAN_DISABLE = 1,
+ SVG_ZOOMANDPAN_MAGNIFY = 2
+ } ZoomAndPanType;
+
+
+ /**
+ *
+ */
+ virtual unsigned short getZoomAndPan()
+ { return zoomAndPan; }
+
+ /**
+ *
+ */
+ virtual void setZoomAndPan(unsigned short val) throw (DOMException)
+ { zoomAndPan = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGZoomAndPan()
+ { zoomAndPan = SVG_ZOOMANDPAN_UNKNOWN; }
+
+ /**
+ *
+ */
+ SVGZoomAndPan(const SVGZoomAndPan &other)
+ { zoomAndPan = other.zoomAndPan; }
+
+ /**
+ *
+ */
+ virtual ~SVGZoomAndPan() {}
+
+protected:
+
+ unsigned short zoomAndPan;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGViewSpec
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGViewSpec : public SVGZoomAndPan,
+ public SVGFitToViewBox
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGTransformList getTransform()
+ { return transform; }
+
+ /**
+ *
+ */
+ virtual SVGElement *getViewTarget()
+ { return viewTarget; }
+
+ /**
+ *
+ */
+ virtual DOMString getViewBoxString()
+ {
+ DOMString ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString getPreserveAspectRatioString()
+ {
+ DOMString ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString getTransformString()
+ {
+ DOMString ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual DOMString getViewTargetString()
+ {
+ DOMString ret;
+ return ret;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGViewSpec()
+ {
+ viewTarget = NULL;
+ }
+
+ /**
+ *
+ */
+ SVGViewSpec(const SVGViewSpec &other) : SVGZoomAndPan(other), SVGFitToViewBox(other)
+ {
+ viewTarget = other.viewTarget;
+ transform = other.transform;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGViewSpec() {}
+
+protected:
+
+ SVGElement *viewTarget;
+ SVGTransformList transform;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGURIReference
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGURIReference
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getHref()
+ { return href; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGURIReference() {}
+
+ /**
+ *
+ */
+ SVGURIReference(const SVGURIReference &other)
+ {
+ href = other.href;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGURIReference() {}
+
+protected:
+
+ SVGAnimatedString href;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGCSSRule
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGCSSRule : public css::CSSRule
+{
+public:
+
+
+ /**
+ * Additional CSS RuleType to support ICC color specifications
+ */
+ typedef enum
+ {
+ COLOR_PROFILE_RULE = 7
+ } ColorProfileRuleType;
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGCSSRule()
+ { type = COLOR_PROFILE_RULE; }
+
+ /**
+ *
+ */
+ SVGCSSRule(const SVGCSSRule &other) : css::CSSRule(other)
+ { type = COLOR_PROFILE_RULE; }
+
+ /**
+ *
+ */
+ virtual ~SVGCSSRule() {}
+
+};
+
+
+
+/*#########################################################################
+## SVGRenderingIntent
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGRenderingIntent
+{
+public:
+
+ /**
+ * Rendering Intent Types
+ */
+ typedef enum
+ {
+ RENDERING_INTENT_UNKNOWN = 0,
+ RENDERING_INTENT_AUTO = 1,
+ RENDERING_INTENT_PERCEPTUAL = 2,
+ RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3,
+ RENDERING_INTENT_SATURATION = 4,
+ RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5
+ } RenderingIntentType;
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGRenderingIntent()
+ {
+ renderingIntentType = RENDERING_INTENT_UNKNOWN;
+ }
+
+ /**
+ *
+ */
+ SVGRenderingIntent(const SVGRenderingIntent &other)
+ {
+ renderingIntentType = other.renderingIntentType;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGRenderingIntent() {}
+
+protected:
+
+ unsigned short renderingIntentType;
+};
+
+
+
+
+
+
+
+/*#########################################################################
+###########################################################################
+## P A T H S E G M E N T S
+###########################################################################
+#########################################################################*/
+
+static char const *const pathSegLetters[] =
+{
+ "@", // PATHSEG_UNKNOWN,
+ "z", // PATHSEG_CLOSEPATH
+ "M", // PATHSEG_MOVETO_ABS
+ "m", // PATHSEG_MOVETO_REL,
+ "L", // PATHSEG_LINETO_ABS
+ "l", // PATHSEG_LINETO_REL
+ "C", // PATHSEG_CURVETO_CUBIC_ABS
+ "c", // PATHSEG_CURVETO_CUBIC_REL
+ "Q", // PATHSEG_CURVETO_QUADRATIC_ABS,
+ "q", // PATHSEG_CURVETO_QUADRATIC_REL
+ "A", // PATHSEG_ARC_ABS
+ "a", // PATHSEG_ARC_REL,
+ "H", // PATHSEG_LINETO_HORIZONTAL_ABS,
+ "h", // PATHSEG_LINETO_HORIZONTAL_REL
+ "V", // PATHSEG_LINETO_VERTICAL_ABS
+ "v", // PATHSEG_LINETO_VERTICAL_REL
+ "S", // PATHSEG_CURVETO_CUBIC_SMOOTH_ABS
+ "s", // PATHSEG_CURVETO_CUBIC_SMOOTH_REL
+ "T", // PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS
+ "t" // PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL
+};
+
+/*#########################################################################
+## SVGPathSeg
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSeg
+{
+public:
+
+
+
+ /**
+ * Path Segment Types
+ */
+ typedef enum
+ {
+ PATHSEG_UNKNOWN = 0,
+ PATHSEG_CLOSEPATH = 1,
+ PATHSEG_MOVETO_ABS = 2,
+ PATHSEG_MOVETO_REL = 3,
+ PATHSEG_LINETO_ABS = 4,
+ PATHSEG_LINETO_REL = 5,
+ PATHSEG_CURVETO_CUBIC_ABS = 6,
+ PATHSEG_CURVETO_CUBIC_REL = 7,
+ PATHSEG_CURVETO_QUADRATIC_ABS = 8,
+ PATHSEG_CURVETO_QUADRATIC_REL = 9,
+ PATHSEG_ARC_ABS = 10,
+ PATHSEG_ARC_REL = 11,
+ PATHSEG_LINETO_HORIZONTAL_ABS = 12,
+ PATHSEG_LINETO_HORIZONTAL_REL = 13,
+ PATHSEG_LINETO_VERTICAL_ABS = 14,
+ PATHSEG_LINETO_VERTICAL_REL = 15,
+ PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16,
+ PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17,
+ PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18,
+ PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19
+ } PathSegmentType;
+
+ /**
+ *
+ */
+ virtual unsigned short getPathSegType()
+ { return type; }
+
+ /**
+ *
+ */
+ virtual DOMString getPathSegTypeAsLetter()
+ {
+ int typ = type;
+ if (typ<0 || typ>PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL)
+ typ = PATHSEG_UNKNOWN;
+ char const *ch = pathSegLetters[typ];
+ DOMString letter = ch;
+ return letter;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSeg()
+ { type = PATHSEG_UNKNOWN; }
+
+ /**
+ *
+ */
+ SVGPathSeg(const SVGPathSeg &other)
+ {
+ type = other.type;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSeg() {}
+
+protected:
+
+ int type;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegClosePath
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegClosePath : public SVGPathSeg
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegClosePath()
+ {
+ type = PATHSEG_CLOSEPATH;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegClosePath(const SVGPathSegClosePath &other) : SVGPathSeg(other)
+ {
+ type = PATHSEG_CLOSEPATH;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegClosePath() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGPathSegMovetoAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegMovetoAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegMovetoAbs()
+ {
+ type = PATHSEG_MOVETO_ABS;
+ x = y = 0.0;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegMovetoAbs(double xArg, double yArg)
+ {
+ type = PATHSEG_MOVETO_ABS;
+ x = xArg; y = yArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegMovetoAbs(const SVGPathSegMovetoAbs &other) : SVGPathSeg(other)
+ {
+ type = PATHSEG_MOVETO_ABS;
+ x = other.x; y = other.y;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegMovetoAbs() {}
+
+protected:
+
+ double x,y;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegMovetoRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegMovetoRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegMovetoRel()
+ {
+ type = PATHSEG_MOVETO_REL;
+ x = y = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegMovetoRel(double xArg, double yArg)
+ {
+ type = PATHSEG_MOVETO_REL;
+ x = xArg; y = yArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegMovetoRel(const SVGPathSegMovetoRel &other) : SVGPathSeg(other)
+ {
+ type = PATHSEG_MOVETO_REL;
+ x = other.x; y = other.y;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegMovetoRel() {}
+
+protected:
+
+ double x,y;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegLinetoAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegLinetoAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegLinetoAbs()
+ {
+ type = PATHSEG_LINETO_ABS;
+ x = y = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegLinetoAbs(double xArg, double yArg)
+ {
+ type = PATHSEG_LINETO_ABS;
+ x = xArg; y = yArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegLinetoAbs(const SVGPathSegLinetoAbs &other) : SVGPathSeg(other)
+ {
+ type = PATHSEG_LINETO_ABS;
+ x = other.x; y = other.y;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegLinetoAbs() {}
+
+protected:
+
+ double x,y;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegLinetoRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegLinetoRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegLinetoRel()
+ {
+ type = PATHSEG_LINETO_REL;
+ x = y = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegLinetoRel(double xArg, double yArg)
+ {
+ type = PATHSEG_LINETO_REL;
+ x = xArg; y = yArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegLinetoRel(const SVGPathSegLinetoRel &other) : SVGPathSeg(other)
+ {
+ type = PATHSEG_LINETO_REL;
+ x = other.x; y = other.y;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegLinetoRel() {}
+
+protected:
+
+ double x,y;
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegCurvetoCubicAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegCurvetoCubicAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getX1()
+ { return x1; }
+
+ /**
+ *
+ */
+ virtual void setX1(double val) throw (DOMException)
+ { x1 = val; }
+
+ /**
+ *
+ */
+ virtual double getY1()
+ { return y1; }
+
+ /**
+ *
+ */
+ virtual void setY1(double val) throw (DOMException)
+ { y1 = val; }
+
+
+ /**
+ *
+ */
+ virtual double getX2()
+ { return x2; }
+
+ /**
+ *
+ */
+ virtual void setX2(double val) throw (DOMException)
+ { x2 = val; }
+
+ /**
+ *
+ */
+ virtual double getY2()
+ { return y2; }
+
+ /**
+ *
+ */
+ virtual void setY2(double val) throw (DOMException)
+ { y2 = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicAbs()
+ {
+ type = PATHSEG_CURVETO_CUBIC_ABS;
+ x = y = x1 = y1 = x2 = y2 = 0.0;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicAbs(double xArg, double yArg,
+ double x1Arg, double y1Arg,
+ double x2Arg, double y2Arg)
+ {
+ type = PATHSEG_CURVETO_CUBIC_ABS;
+ x = xArg; y = yArg;
+ x1 = x1Arg; y1 = y1Arg;
+ x2 = x2Arg; y2 = y2Arg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicAbs(const SVGPathSegCurvetoCubicAbs &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_CURVETO_CUBIC_ABS;
+ x = other.x; y = other.y;
+ x1 = other.x1; y1 = other.y1;
+ x2 = other.x2; y2 = other.y2;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegCurvetoCubicAbs() {}
+
+protected:
+
+ double x, y, x1, y1, x2, y2;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegCurvetoCubicRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegCurvetoCubicRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getX1()
+ { return x1; }
+
+ /**
+ *
+ */
+ virtual void setX1(double val) throw (DOMException)
+ { x1 = val; }
+
+ /**
+ *
+ */
+ virtual double getY1()
+ { return y1; }
+
+ /**
+ *
+ */
+ virtual void setY1(double val) throw (DOMException)
+ { y1 = val; }
+
+
+ /**
+ *
+ */
+ virtual double getX2()
+ { return x2; }
+
+ /**
+ *
+ */
+ virtual void setX2(double val) throw (DOMException)
+ { x2 = val; }
+
+ /**
+ *
+ */
+ virtual double getY2()
+ { return y2; }
+
+ /**
+ *
+ */
+ virtual void setY2(double val) throw (DOMException)
+ { y2 = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicRel()
+ {
+ type = PATHSEG_CURVETO_CUBIC_REL;
+ x = y = x1 = y1 = x2 = y2 = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicRel(double xArg, double yArg,
+ double x1Arg, double y1Arg,
+ double x2Arg, double y2Arg)
+ {
+ type = PATHSEG_CURVETO_CUBIC_REL;
+ x = xArg; y = yArg;
+ x1 = x1Arg; y1 = y1Arg;
+ x2 = x2Arg; y2 = y2Arg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicRel(const SVGPathSegCurvetoCubicRel &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_CURVETO_CUBIC_REL;
+ x = other.x; y = other.y;
+ x1 = other.x1; y1 = other.y1;
+ x2 = other.x2; y2 = other.y2;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegCurvetoCubicRel() {}
+
+protected:
+
+ double x, y, x1, y1, x2, y2;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegCurvetoQuadraticAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegCurvetoQuadraticAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getX1()
+ { return x1; }
+
+ /**
+ *
+ */
+ virtual void setX1(double val) throw (DOMException)
+ { x1 = val; }
+
+ /**
+ *
+ */
+ virtual double getY1()
+ { return y1; }
+
+ /**
+ *
+ */
+ virtual void setY1(double val) throw (DOMException)
+ { y1 = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticAbs()
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_ABS;
+ x = y = x1 = y1 = 0.0;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticAbs(double xArg, double yArg,
+ double x1Arg, double y1Arg)
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_ABS;
+ x = xArg; y = yArg;
+ x1 = x1Arg; y1 = y1Arg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticAbs(const SVGPathSegCurvetoQuadraticAbs &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_ABS;
+ x = other.x; y = other.y;
+ x1 = other.x1; y1 = other.y1;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegCurvetoQuadraticAbs() {}
+
+protected:
+
+ double x, y, x1, y1;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegCurvetoQuadraticRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegCurvetoQuadraticRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getX1()
+ { return x1; }
+
+ /**
+ *
+ */
+ virtual void setX1(double val) throw (DOMException)
+ { x1 = val; }
+
+ /**
+ *
+ */
+ virtual double getY1()
+ { return y1; }
+
+ /**
+ *
+ */
+ virtual void setY1(double val) throw (DOMException)
+ { y1 = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticRel()
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_REL;
+ x = y = x1 = y1 = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticRel(double xArg, double yArg,
+ double x1Arg, double y1Arg)
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_REL;
+ x = xArg; y = yArg;
+ x1 = x1Arg; y1 = y1Arg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticRel(const SVGPathSegCurvetoQuadraticRel &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_REL;
+ x = other.x; y = other.y;
+ x1 = other.x1; y1 = other.y1;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegCurvetoQuadraticRel() {}
+
+protected:
+
+ double x, y, x1, y1;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegArcAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegArcAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getR1()
+ { return r1; }
+
+ /**
+ *
+ */
+ virtual void setR1(double val) throw (DOMException)
+ { r1 = val; }
+
+ /**
+ *
+ */
+ virtual double getR2()
+ { return r2; }
+
+ /**
+ *
+ */
+ virtual void setR2(double val) throw (DOMException)
+ { r2 = val; }
+
+ /**
+ *
+ */
+ virtual double getAngle()
+ { return angle; }
+
+ /**
+ *
+ */
+ virtual void setAngle(double val) throw (DOMException)
+ { angle = val; }
+
+ /**
+ *
+ */
+ virtual bool getLargeArcFlag()
+ { return largeArcFlag; }
+
+ /**
+ *
+ */
+ virtual void setLargeArcFlag(bool val) throw (DOMException)
+ { largeArcFlag = val; }
+
+ /**
+ *
+ */
+ virtual bool getSweepFlag()
+ { return sweepFlag; }
+
+ /**
+ *
+ */
+ virtual void setSweepFlag(bool val) throw (DOMException)
+ { sweepFlag = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGPathSegArcAbs()
+ {
+ type = PATHSEG_ARC_ABS;
+ x = y = r1 = r2 = angle = 0.0;
+ largeArcFlag = sweepFlag = false;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegArcAbs(double xArg, double yArg,
+ double r1Arg, double r2Arg,
+ double angleArg,
+ bool largeArcFlagArg,
+ bool sweepFlagArg )
+
+ {
+ type = PATHSEG_ARC_ABS;
+ x = xArg; y = yArg;
+ r1 = r1Arg; r2 = r2Arg;
+ angle = angleArg;
+ largeArcFlag = largeArcFlagArg;
+ sweepFlag = sweepFlagArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegArcAbs(const SVGPathSegArcAbs &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_ARC_ABS;
+ x = other.x; y = other.y;
+ r1 = other.r1; r2 = other.r2;
+ angle = other.angle;
+ largeArcFlag = other.largeArcFlag;
+ sweepFlag = other.sweepFlag;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegArcAbs() {}
+
+protected:
+
+ double x, y, r1, r2, angle;
+ bool largeArcFlag;
+ bool sweepFlag;
+
+};
+
+
+
+/*#########################################################################
+## SVGPathSegArcRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegArcRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getR1()
+ { return r1; }
+
+ /**
+ *
+ */
+ virtual void setR1(double val) throw (DOMException)
+ { r1 = val; }
+
+ /**
+ *
+ */
+ virtual double getR2()
+ { return r2; }
+
+ /**
+ *
+ */
+ virtual void setR2(double val) throw (DOMException)
+ { r2 = val; }
+
+ /**
+ *
+ */
+ virtual double getAngle()
+ { return angle; }
+
+ /**
+ *
+ */
+ virtual void setAngle(double val) throw (DOMException)
+ { angle = val; }
+
+ /**
+ *
+ */
+ virtual bool getLargeArcFlag()
+ { return largeArcFlag; }
+
+ /**
+ *
+ */
+ virtual void setLargeArcFlag(bool val) throw (DOMException)
+ { largeArcFlag = val; }
+
+ /**
+ *
+ */
+ virtual bool getSweepFlag()
+ { return sweepFlag; }
+
+ /**
+ *
+ */
+ virtual void setSweepFlag(bool val) throw (DOMException)
+ { sweepFlag = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGPathSegArcRel()
+ {
+ type = PATHSEG_ARC_REL;
+ x = y = r1 = r2 = angle = 0.0;
+ largeArcFlag = sweepFlag = false;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegArcRel(double xArg, double yArg,
+ double r1Arg, double r2Arg,
+ double angleArg,
+ bool largeArcFlagArg,
+ bool sweepFlagArg )
+
+ {
+ type = PATHSEG_ARC_REL;
+ x = xArg; y = yArg;
+ r1 = r1Arg; r2 = r2Arg;
+ angle = angleArg;
+ largeArcFlag = largeArcFlagArg;
+ sweepFlag = sweepFlagArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegArcRel(const SVGPathSegArcRel &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_ARC_REL;
+ x = other.x; y = other.y;
+ r1 = other.r1; r2 = other.r2;
+ angle = other.angle;
+ largeArcFlag = other.largeArcFlag;
+ sweepFlag = other.sweepFlag;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegArcRel() {}
+
+protected:
+
+ double x, y, r1, r2, angle;
+ bool largeArcFlag;
+ bool sweepFlag;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegLinetoHorizontalAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegLinetoHorizontalAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegLinetoHorizontalAbs()
+ {
+ type = PATHSEG_LINETO_HORIZONTAL_ABS;
+ x = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegLinetoHorizontalAbs(double xArg)
+ {
+ type = PATHSEG_LINETO_HORIZONTAL_ABS;
+ x = xArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegLinetoHorizontalAbs(const SVGPathSegLinetoHorizontalAbs &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_LINETO_HORIZONTAL_ABS;
+ x = other.x;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegLinetoHorizontalAbs() {}
+
+protected:
+
+ double x;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegLinetoHorizontalRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegLinetoHorizontalRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegLinetoHorizontalRel()
+ {
+ type = PATHSEG_LINETO_HORIZONTAL_REL;
+ x = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegLinetoHorizontalRel(double xArg)
+ {
+ type = PATHSEG_LINETO_HORIZONTAL_REL;
+ x = xArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegLinetoHorizontalRel(const SVGPathSegLinetoHorizontalRel &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_LINETO_HORIZONTAL_REL;
+ x = other.x;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegLinetoHorizontalRel() {}
+
+protected:
+
+ double x;
+
+};
+
+
+
+/*#########################################################################
+## SVGPathSegLinetoVerticalAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegLinetoVerticalAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegLinetoVerticalAbs()
+ {
+ type = PATHSEG_LINETO_VERTICAL_ABS;
+ y = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegLinetoVerticalAbs(double yArg)
+ {
+ type = PATHSEG_LINETO_VERTICAL_ABS;
+ y = yArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegLinetoVerticalAbs(const SVGPathSegLinetoVerticalAbs &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_LINETO_VERTICAL_ABS;
+ y = other.y;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegLinetoVerticalAbs() {}
+
+protected:
+
+ double y;
+
+};
+
+
+
+/*#########################################################################
+## SVGPathSegLinetoVerticalRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegLinetoVerticalRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegLinetoVerticalRel()
+ {
+ type = PATHSEG_LINETO_VERTICAL_REL;
+ y = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegLinetoVerticalRel(double yArg)
+ {
+ type = PATHSEG_LINETO_VERTICAL_REL;
+ y = yArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegLinetoVerticalRel(const SVGPathSegLinetoVerticalRel &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_LINETO_VERTICAL_REL;
+ y = other.y;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegLinetoVerticalRel() {}
+
+protected:
+
+ double y;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegCurvetoCubicSmoothAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegCurvetoCubicSmoothAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getX2()
+ { return x2; }
+
+ /**
+ *
+ */
+ virtual void setX2(double val) throw (DOMException)
+ { x2 = val; }
+
+ /**
+ *
+ */
+ virtual double getY2()
+ { return y2; }
+
+ /**
+ *
+ */
+ virtual void setY2(double val) throw (DOMException)
+ { y2 = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicSmoothAbs()
+ {
+ type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
+ x = y = x2 = y2 = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicSmoothAbs(double xArg, double yArg,
+ double x2Arg, double y2Arg)
+ {
+ type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
+ x = xArg; y = yArg;
+ x2 = x2Arg; y2 = y2Arg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicSmoothAbs(const SVGPathSegCurvetoCubicSmoothAbs &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
+ x = other.x; y = other.y;
+ x2 = other.x2; y2 = other.y2;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegCurvetoCubicSmoothAbs() {}
+
+protected:
+
+ double x, y, x2, y2;
+
+};
+
+
+
+/*#########################################################################
+## SVGPathSegCurvetoCubicSmoothRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegCurvetoCubicSmoothRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+ /**
+ *
+ */
+ virtual double getX2()
+ { return x2; }
+
+ /**
+ *
+ */
+ virtual void setX2(double val) throw (DOMException)
+ { x2 = val; }
+
+ /**
+ *
+ */
+ virtual double getY2()
+ { return y2; }
+
+ /**
+ *
+ */
+ virtual void setY2(double val) throw (DOMException)
+ { y2 = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicSmoothRel()
+ {
+ type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
+ x = y = x2 = y2 = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicSmoothRel(double xArg, double yArg,
+ double x2Arg, double y2Arg)
+ {
+ type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
+ x = xArg; y = yArg;
+ x2 = x2Arg; y2 = y2Arg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoCubicSmoothRel(const SVGPathSegCurvetoCubicSmoothRel &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
+ x = other.x; y = other.y;
+ x2 = other.x2; y2 = other.y2;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegCurvetoCubicSmoothRel() {}
+
+protected:
+
+ double x, y, x2, y2;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegCurvetoQuadraticSmoothAbs
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegCurvetoQuadraticSmoothAbs : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticSmoothAbs()
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
+ x = y = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticSmoothAbs(double xArg, double yArg)
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
+ x = xArg; y = yArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticSmoothAbs(const SVGPathSegCurvetoQuadraticSmoothAbs &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
+ x = y = 0.0;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegCurvetoQuadraticSmoothAbs() {}
+
+protected:
+
+ double x, y;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegCurvetoQuadraticSmoothRel
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegCurvetoQuadraticSmoothRel : public SVGPathSeg
+{
+public:
+
+ /**
+ *
+ */
+ virtual double getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual void setX(double val) throw (DOMException)
+ { x = val; }
+
+ /**
+ *
+ */
+ virtual double getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual void setY(double val) throw (DOMException)
+ { y = val; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticSmoothRel()
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
+ x = y = 0.0;
+ }
+
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticSmoothRel(double xArg, double yArg)
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
+ x = xArg; y = yArg;
+ }
+
+ /**
+ *
+ */
+ SVGPathSegCurvetoQuadraticSmoothRel(const SVGPathSegCurvetoQuadraticSmoothRel &other)
+ : SVGPathSeg(other)
+ {
+ type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
+ x = y = 0.0;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegCurvetoQuadraticSmoothRel() {}
+
+protected:
+
+ double x, y;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGPathSegList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPathSegList
+{
+public:
+
+ /**
+ *
+ */
+ virtual unsigned long getNumberOfItems()
+ { return items.size(); }
+
+
+ /**
+ *
+ */
+ virtual void clear () throw( DOMException )
+ { items.clear(); }
+
+ /**
+ *
+ */
+ virtual SVGPathSeg initialize (const SVGPathSeg &newItem)
+ throw( DOMException, SVGException )
+ {
+ items.clear();
+ items.push_back(newItem);
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSeg getItem (unsigned long index)
+ throw( DOMException )
+ {
+ if (index >= items.size())
+ {
+ SVGPathSeg seg;
+ return seg;
+ }
+ return items[index];
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSeg insertItemBefore(const SVGPathSeg &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index >= items.size())
+ items.push_back(newItem);
+ else
+ {
+ std::vector<SVGPathSeg>::iterator iter = items.begin() + index;
+ items.insert(iter, newItem);
+ }
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSeg replaceItem(const SVGPathSeg &newItem,
+ unsigned long index )
+ throw( DOMException, SVGException )
+ {
+ if (index >= items.size())
+ {
+ SVGPathSeg seg;
+ return seg;
+ }
+ std::vector<SVGPathSeg>::iterator iter = items.begin() + index;
+ *iter = newItem;
+ return newItem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSeg removeItem (unsigned long index)
+ throw (DOMException)
+ {
+ if (index >= items.size())
+ {
+ SVGPathSeg seg;
+ return seg;
+ }
+ std::vector<SVGPathSeg>::iterator iter = items.begin() + index;
+ SVGPathSeg olditem = *iter;
+ items.erase(iter);
+ return olditem;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSeg appendItem (const SVGPathSeg &newItem)
+ throw( DOMException, SVGException )
+ {
+ items.push_back(newItem);
+ return newItem;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPathSegList() {}
+
+
+ /**
+ *
+ */
+ SVGPathSegList(const SVGPathSegList &other)
+ {
+ items = other.items;
+ }
+
+
+ /**
+ *
+ */
+ virtual ~SVGPathSegList() {}
+
+protected:
+
+ std::vector<SVGPathSeg> items;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedPathData
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedPathData
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGPathSegList getPathSegList()
+ {
+ SVGPathSegList list;
+ return list;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegList getNormalizedPathSegList()
+ {
+ SVGPathSegList list;
+ return list;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegList getAnimatedPathSegList()
+ {
+ SVGPathSegList list;
+ return list;
+ }
+
+ /**
+ *
+ */
+ virtual SVGPathSegList getAnimatedNormalizedPathSegList()
+ {
+ SVGPathSegList list;
+ return list;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedPathData()
+ {}
+
+ /**
+ *
+ */
+ SVGAnimatedPathData(const SVGAnimatedPathData &/*other*/)
+ {
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedPathData() {}
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGAnimatedPoints
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGAnimatedPoints
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGPointList getPoints()
+ { return points; }
+
+ /**
+ *
+ */
+ virtual SVGPointList getAnimatedPoints()
+ { return animatedPoints; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGAnimatedPoints() {}
+
+ /**
+ *
+ */
+ SVGAnimatedPoints(const SVGAnimatedPoints &other)
+ {
+ points = other.points;
+ animatedPoints = other.animatedPoints;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGAnimatedPoints() {}
+
+protected:
+
+ SVGPointList points;
+ SVGPointList animatedPoints;
+
+};
+
+
+
+
+
+/*#########################################################################
+## SVGPaint
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGPaint : public SVGColor
+{
+public:
+
+
+ /**
+ * Paint Types
+ */
+ typedef enum
+ {
+ SVG_PAINTTYPE_UNKNOWN = 0,
+ SVG_PAINTTYPE_RGBCOLOR = 1,
+ SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2,
+ SVG_PAINTTYPE_NONE = 101,
+ SVG_PAINTTYPE_CURRENTCOLOR = 102,
+ SVG_PAINTTYPE_URI_NONE = 103,
+ SVG_PAINTTYPE_URI_CURRENTCOLOR = 104,
+ SVG_PAINTTYPE_URI_RGBCOLOR = 105,
+ SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106,
+ SVG_PAINTTYPE_URI = 107
+ } PaintType;
+
+
+ /**
+ *
+ */
+ virtual unsigned short getPaintType()
+ { return paintType; }
+
+ /**
+ *
+ */
+ virtual DOMString getUri()
+ { return uri; }
+
+ /**
+ *
+ */
+ virtual void setUri (const DOMString& uriArg )
+ { uri = uriArg; }
+
+ /**
+ *
+ */
+ virtual void setPaint (unsigned short paintTypeArg,
+ const DOMString& uriArg,
+ const DOMString& /*rgbColor*/,
+ const DOMString& /*iccColor*/ )
+ throw( SVGException )
+ {
+ paintType = paintTypeArg;
+ uri = uriArg;
+ //do something with rgbColor
+ //do something with iccColor;
+ }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGPaint()
+ {
+ uri = "";
+ paintType = SVG_PAINTTYPE_UNKNOWN;
+ }
+
+ /**
+ *
+ */
+ SVGPaint(const SVGPaint &other) : css::CSSValue(other), SVGColor(other)
+ {
+ uri = "";
+ paintType = SVG_PAINTTYPE_UNKNOWN;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGPaint() {}
+
+protected:
+
+ unsigned int paintType;
+ DOMString uri;
+
+};
+
+
+
+
+/*#########################################################################
+## SVGColorProfileRule
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGColorProfileRule : public SVGCSSRule,
+ public SVGRenderingIntent
+{
+
+public:
+ /**
+ *
+ */
+ virtual DOMString getSrc()
+ { return src; }
+
+ /**
+ *
+ */
+ virtual void setSrc(const DOMString &val) throw (DOMException)
+ { src = val; }
+
+ /**
+ *
+ */
+ virtual DOMString getName()
+ { return name; }
+
+ /**
+ *
+ */
+ virtual void setName(const DOMString &val) throw (DOMException)
+ { name = val; }
+
+ /**
+ *
+ */
+ virtual unsigned short getRenderingIntent()
+ { return renderingIntent; }
+
+ /**
+ *
+ */
+ virtual void setRenderingIntent(unsigned short val) throw (DOMException)
+ { renderingIntent = val; }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGColorProfileRule() {}
+
+ /**
+ *
+ */
+ SVGColorProfileRule(const SVGColorProfileRule &other)
+ : SVGCSSRule(other), SVGRenderingIntent(other)
+ {
+ renderingIntent = other.renderingIntent;
+ src = other.src;
+ name = other.name;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGColorProfileRule() {}
+
+protected:
+
+ unsigned short renderingIntent;
+ DOMString src;
+ DOMString name;
+
+};
+
+
+
+/*#########################################################################
+## SVGFilterPrimitiveStandardAttributes
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGFilterPrimitiveStandardAttributes : public SVGStylable
+{
+public:
+
+
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getX()
+ { return x; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getY()
+ { return y; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getWidth()
+ { return width; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedLength getHeight()
+ { return height; }
+
+ /**
+ *
+ */
+ virtual SVGAnimatedString getResult()
+ { return result; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+
+ /**
+ *
+ */
+ SVGFilterPrimitiveStandardAttributes()
+ {}
+
+ /**
+ *
+ */
+ SVGFilterPrimitiveStandardAttributes(const SVGFilterPrimitiveStandardAttributes &other)
+ : SVGStylable(other)
+ {
+ x = other.x;
+ y = other.y;
+ width = other.width;
+ height = other.height;
+ result = other.result;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGFilterPrimitiveStandardAttributes() {}
+
+protected:
+
+ SVGAnimatedLength x;
+ SVGAnimatedLength y;
+ SVGAnimatedLength width;
+ SVGAnimatedLength height;
+ SVGAnimatedString result;
+
+};
+
+
+
+
+
+
+
+
+
+
+
+/*#########################################################################
+## SVGEvent
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGEvent : events::Event
+{
+public:
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGEvent() {}
+
+ /**
+ *
+ */
+ SVGEvent(const SVGEvent &other) : events::Event(other)
+ {}
+
+ /**
+ *
+ */
+ virtual ~SVGEvent() {}
+
+};
+
+
+
+
+/*#########################################################################
+## SVGZoomEvent
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGZoomEvent : events::UIEvent
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGRect getZoomRectScreen()
+ { return zoomRectScreen; }
+
+ /**
+ *
+ */
+ virtual double getPreviousScale()
+ { return previousScale; }
+
+ /**
+ *
+ */
+ virtual SVGPoint getPreviousTranslate()
+ { return previousTranslate; }
+
+ /**
+ *
+ */
+ virtual double getNewScale()
+ { return newScale; }
+
+ /**
+ *
+ */
+ virtual SVGPoint getNewTranslate()
+ { return newTranslate; }
+
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGZoomEvent()
+ {}
+
+ /**
+ *
+ */
+ SVGZoomEvent(const SVGZoomEvent &other) : events::Event(other),
+ events::UIEvent(other)
+ {
+ zoomRectScreen = other.zoomRectScreen;
+ previousScale = other.previousScale;
+ previousTranslate = other.previousTranslate;
+ newScale = other.newScale;
+ newTranslate = other.newTranslate;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGZoomEvent() {}
+
+protected:
+
+ SVGRect zoomRectScreen;
+ double previousScale;
+ SVGPoint previousTranslate;
+ double newScale;
+ SVGPoint newTranslate;
+
+};
+
+
+
+/*#########################################################################
+## SVGElementInstance
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGElementInstance : public events::EventTarget
+{
+public:
+
+ /**
+ *
+ */
+ virtual SVGElement *getCorrespondingElement()
+ { return correspondingElement; }
+
+ /**
+ *
+ */
+ virtual SVGUseElement *getCorrespondingUseElement()
+ { return correspondingUseElement; }
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getParentNode()
+ {
+ SVGElementInstance ret;
+ return ret;
+ }
+
+ /**
+ * Since we are using stack types and this is a circular definition,
+ * we will instead implement this as a global function below:
+ * SVGElementInstanceList getChildNodes(const SVGElementInstance instance);
+ */
+ //virtual SVGElementInstanceList getChildNodes();
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getFirstChild()
+ {
+ SVGElementInstance ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getLastChild()
+ {
+ SVGElementInstance ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getPreviousSibling()
+ {
+ SVGElementInstance ret;
+ return ret;
+ }
+
+ /**
+ *
+ */
+ virtual SVGElementInstance getNextSibling()
+ {
+ SVGElementInstance ret;
+ return ret;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGElementInstance() {}
+
+ /**
+ *
+ */
+ SVGElementInstance(const SVGElementInstance &other)
+ : events::EventTarget(other)
+ {
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGElementInstance() {}
+
+protected:
+
+ SVGElement *correspondingElement;
+ SVGUseElement *correspondingUseElement;
+
+};
+
+
+
+
+
+
+/*#########################################################################
+## SVGElementInstanceList
+#########################################################################*/
+
+/**
+ *
+ */
+class SVGElementInstanceList
+{
+public:
+
+
+ /**
+ *
+ */
+ virtual unsigned long getLength()
+ { return items.size(); }
+
+ /**
+ *
+ */
+ virtual SVGElementInstance item (unsigned long index )
+ {
+ if (index >= items.size())
+ {
+ SVGElementInstance ret;
+ return ret;
+ }
+ return items[index];
+ }
+
+ /**
+ * This static method replaces the circular definition of:
+ * SVGElementInstanceList SVGElementInstance::getChildNodes()
+ *
+ */
+ static SVGElementInstanceList getChildNodes(const SVGElementInstance &/*instance*/)
+ {
+ SVGElementInstanceList list;
+ return list;
+ }
+
+
+ //##################
+ //# Non-API methods
+ //##################
+
+ /**
+ *
+ */
+ SVGElementInstanceList() {}
+
+ /**
+ *
+ */
+ SVGElementInstanceList(const SVGElementInstanceList &other)
+ {
+ items = other.items;
+ }
+
+ /**
+ *
+ */
+ virtual ~SVGElementInstanceList() {}
+
+protected:
+
+ std::vector<SVGElementInstance> items;
+
+
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+} //namespace svg
+} //namespace dom
+} //namespace w3c
+} //namespace org
+
+#endif /* __SVGTYPES_H__ */
+/*#########################################################################
+## E N D O F F I L E
+#########################################################################*/
+
diff --git a/src/dom/work/svg.idl b/src/dom/work/svg.idl
--- /dev/null
+++ b/src/dom/work/svg.idl
@@ -0,0 +1,1751 @@
+// File: svg.idl\r
+#ifndef _SVG_IDL_\r
+#define _SVG_IDL_\r
+\r
+\r
+// For access to DOM2 core\r
+#include "dom.idl"\r
+\r
+// For access to DOM2 events\r
+#include "events.idl"\r
+\r
+// For access to those parts from DOM2 CSS OM used by SVG DOM.\r
+#include "css.idl"\r
+\r
+// For access to those parts from DOM2 Views OM used by SVG DOM.\r
+#include "views.idl"\r
+\r
+// For access to the SMIL OM used by SVG DOM.\r
+#include "smil.idl"\r
+\r
+#pragma prefix "dom.w3c.org"\r
+#pragma javaPackage "org.w3c.dom"\r
+module svg\r
+{\r
+ typedef dom::DOMString DOMString;\r
+ typedef dom::DOMException DOMException;\r
+ typedef dom::Element Element;\r
+ typedef dom::Document Document;\r
+ typedef dom::NodeList NodeList;\r
+\r
+ // Predeclarations\r
+ interface SVGElement;\r
+ interface SVGLangSpace;\r
+ interface SVGExternalResourcesRequired;\r
+ interface SVGTests;\r
+ interface SVGFitToViewBox;\r
+ interface SVGZoomAndPan;\r
+ interface SVGViewSpec;\r
+ interface SVGURIReference;\r
+ interface SVGPoint;\r
+ interface SVGMatrix;\r
+ interface SVGPreserveAspectRatio;\r
+ interface SVGAnimatedPreserveAspectRatio;\r
+ interface SVGTransformList;\r
+ interface SVGAnimatedTransformList;\r
+ interface SVGTransform;\r
+ interface SVGICCColor;\r
+ interface SVGColor;\r
+ interface SVGPaint;\r
+ interface SVGTransformable;\r
+ interface SVGDocument;\r
+ interface SVGSVGElement;\r
+ interface SVGElementInstance;\r
+ interface SVGElementInstanceList;\r
+\r
+\r
+ exception SVGException {\r
+ unsigned short code;\r
+ };\r
+\r
+ // SVGExceptionCode\r
+ const unsigned short SVG_WRONG_TYPE_ERR = 0;\r
+ const unsigned short SVG_INVALID_VALUE_ERR = 1;\r
+ const unsigned short SVG_MATRIX_NOT_INVERTABLE = 2;\r
+\r
+ interface SVGElement : Element { \r
+ attribute DOMString id;\r
+ // raises DOMException on setting\r
+ attribute DOMString xmlbase;\r
+ // raises DOMException on setting\r
+ readonly attribute SVGSVGElement ownerSVGElement;\r
+ readonly attribute SVGElement viewportElement;\r
+ };\r
+\r
+ interface SVGAnimatedBoolean { \r
+\r
+ attribute boolean baseVal;\r
+ // raises DOMException on setting\r
+ readonly attribute boolean animVal;\r
+ };\r
+\r
+ interface SVGAnimatedString { \r
+\r
+ attribute DOMString baseVal;\r
+ // raises DOMException on setting\r
+ readonly attribute DOMString animVal;\r
+ };\r
+\r
+ interface SVGStringList { \r
+\r
+ readonly attribute unsigned long numberOfItems;\r
+\r
+ void clear ( )\r
+ raises( DOMException );\r
+ DOMString initialize ( in DOMString newItem )\r
+ raises( DOMException, SVGException );\r
+ DOMString getItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ DOMString insertItemBefore ( in DOMString newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ DOMString replaceItem ( in DOMString newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ DOMString removeItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ DOMString appendItem ( in DOMString newItem )\r
+ raises( DOMException, SVGException );\r
+ };\r
+\r
+ interface SVGAnimatedEnumeration { \r
+\r
+ attribute unsigned short baseVal;\r
+ // raises DOMException on setting\r
+ readonly attribute unsigned short animVal;\r
+ };\r
+\r
+ interface SVGAnimatedInteger { \r
+\r
+ attribute long baseVal;\r
+ // raises DOMException on setting\r
+ readonly attribute long animVal;\r
+ };\r
+\r
+ interface SVGNumber { \r
+\r
+ attribute float value;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGAnimatedNumber { \r
+\r
+ attribute float baseVal;\r
+ // raises DOMException on setting\r
+ readonly attribute float animVal;\r
+ };\r
+\r
+ interface SVGNumberList { \r
+\r
+ readonly attribute unsigned long numberOfItems;\r
+\r
+ void clear ( )\r
+ raises( DOMException );\r
+ SVGNumber initialize ( in SVGNumber newItem )\r
+ raises( DOMException, SVGException );\r
+ SVGNumber getItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGNumber insertItemBefore ( in SVGNumber newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGNumber replaceItem ( in SVGNumber newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGNumber removeItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGNumber appendItem ( in SVGNumber newItem )\r
+ raises( DOMException, SVGException );\r
+ };\r
+\r
+ interface SVGAnimatedNumberList { \r
+\r
+ readonly attribute SVGNumberList baseVal;\r
+ readonly attribute SVGNumberList animVal;\r
+ };\r
+\r
+ interface SVGLength { \r
+\r
+ // Length Unit Types\r
+ const unsigned short SVG_LENGTHTYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_LENGTHTYPE_NUMBER = 1;\r
+ const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2;\r
+ const unsigned short SVG_LENGTHTYPE_EMS = 3;\r
+ const unsigned short SVG_LENGTHTYPE_EXS = 4;\r
+ const unsigned short SVG_LENGTHTYPE_PX = 5;\r
+ const unsigned short SVG_LENGTHTYPE_CM = 6;\r
+ const unsigned short SVG_LENGTHTYPE_MM = 7;\r
+ const unsigned short SVG_LENGTHTYPE_IN = 8;\r
+ const unsigned short SVG_LENGTHTYPE_PT = 9;\r
+ const unsigned short SVG_LENGTHTYPE_PC = 10;\r
+\r
+ readonly attribute unsigned short unitType;\r
+ attribute float value;\r
+ // raises DOMException on setting\r
+ attribute float valueInSpecifiedUnits;\r
+ // raises DOMException on setting\r
+ attribute DOMString valueAsString;\r
+ // raises DOMException on setting\r
+\r
+ void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits );\r
+ void convertToSpecifiedUnits ( in unsigned short unitType );\r
+ };\r
+\r
+ interface SVGAnimatedLength { \r
+\r
+ readonly attribute SVGLength baseVal;\r
+ readonly attribute SVGLength animVal;\r
+ };\r
+\r
+ interface SVGLengthList { \r
+\r
+ readonly attribute unsigned long numberOfItems;\r
+\r
+ void clear ( )\r
+ raises( DOMException );\r
+ SVGLength initialize ( in SVGLength newItem )\r
+ raises( DOMException, SVGException );\r
+ SVGLength getItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGLength insertItemBefore ( in SVGLength newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGLength replaceItem ( in SVGLength newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGLength removeItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGLength appendItem ( in SVGLength newItem )\r
+ raises( DOMException, SVGException );\r
+ };\r
+\r
+ interface SVGAnimatedLengthList { \r
+\r
+ readonly attribute SVGLengthList baseVal;\r
+ readonly attribute SVGLengthList animVal;\r
+ };\r
+\r
+ interface SVGAngle { \r
+\r
+ // Angle Unit Types\r
+ const unsigned short SVG_ANGLETYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1;\r
+ const unsigned short SVG_ANGLETYPE_DEG = 2;\r
+ const unsigned short SVG_ANGLETYPE_RAD = 3;\r
+ const unsigned short SVG_ANGLETYPE_GRAD = 4;\r
+\r
+ readonly attribute unsigned short unitType;\r
+ attribute float value;\r
+ // raises DOMException on setting\r
+ attribute float valueInSpecifiedUnits;\r
+ // raises DOMException on setting\r
+ attribute DOMString valueAsString;\r
+ // raises DOMException on setting\r
+\r
+ void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits );\r
+ void convertToSpecifiedUnits ( in unsigned short unitType );\r
+ };\r
+\r
+ interface SVGAnimatedAngle { \r
+\r
+ readonly attribute SVGAngle baseVal;\r
+ readonly attribute SVGAngle animVal;\r
+ };\r
+\r
+ interface SVGColor : css::CSSValue { \r
+ // Color Types\r
+ const unsigned short SVG_COLORTYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_COLORTYPE_RGBCOLOR = 1;\r
+ const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2;\r
+ const unsigned short SVG_COLORTYPE_CURRENTCOLOR = 3;\r
+\r
+ readonly attribute unsigned short colorType;\r
+ readonly attribute css::RGBColor rgbColor;\r
+ readonly attribute SVGICCColor iccColor;\r
+\r
+ void setRGBColor ( in DOMString rgbColor )\r
+ raises( SVGException );\r
+ void setRGBColorICCColor ( in DOMString rgbColor, in DOMString iccColor )\r
+ raises( SVGException );\r
+ void setColor ( in unsigned short colorType, in DOMString rgbColor, in DOMString iccColor )\r
+ raises( SVGException );\r
+ };\r
+\r
+ interface SVGICCColor { \r
+\r
+ attribute DOMString colorProfile;\r
+ // raises DOMException on setting\r
+ readonly attribute SVGNumberList colors;\r
+ };\r
+\r
+ interface SVGRect { \r
+\r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float width;\r
+ // raises DOMException on setting\r
+ attribute float height;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGAnimatedRect { \r
+\r
+ readonly attribute SVGRect baseVal;\r
+ readonly attribute SVGRect animVal;\r
+ };\r
+\r
+ interface SVGUnitTypes { \r
+\r
+ // Unit Types\r
+ const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_UNIT_TYPE_USERSPACEONUSE = 1;\r
+ const unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2;\r
+ };\r
+\r
+ interface SVGStylable { \r
+\r
+ readonly attribute SVGAnimatedString className;\r
+ readonly attribute css::CSSStyleDeclaration style;\r
+\r
+ css::CSSValue getPresentationAttribute ( in DOMString name );\r
+ };\r
+\r
+ interface SVGLocatable { \r
+\r
+ readonly attribute SVGElement nearestViewportElement;\r
+ readonly attribute SVGElement farthestViewportElement;\r
+\r
+ SVGRect getBBox ( );\r
+ SVGMatrix getCTM ( );\r
+ SVGMatrix getScreenCTM ( );\r
+ SVGMatrix getTransformToElement ( in SVGElement element )\r
+ raises( SVGException );\r
+ };\r
+\r
+ interface SVGTransformable : SVGLocatable { \r
+ readonly attribute SVGAnimatedTransformList transform;\r
+ };\r
+\r
+ interface SVGTests { \r
+\r
+ readonly attribute SVGStringList requiredFeatures;\r
+ readonly attribute SVGStringList requiredExtensions;\r
+ readonly attribute SVGStringList systemLanguage;\r
+\r
+ boolean hasExtension ( in DOMString extension );\r
+ };\r
+\r
+ interface SVGLangSpace { \r
+\r
+ attribute DOMString xmllang;\r
+ // raises DOMException on setting\r
+ attribute DOMString xmlspace;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGExternalResourcesRequired { \r
+\r
+ readonly attribute SVGAnimatedBoolean externalResourcesRequired;\r
+ };\r
+\r
+ interface SVGFitToViewBox { \r
+\r
+ readonly attribute SVGAnimatedRect viewBox;\r
+ readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;\r
+ };\r
+\r
+ interface SVGZoomAndPan { \r
+\r
+ // Zoom and Pan Types\r
+ const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0;\r
+ const unsigned short SVG_ZOOMANDPAN_DISABLE = 1;\r
+ const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2;\r
+\r
+ attribute unsigned short zoomAndPan;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGViewSpec : \r
+ SVGZoomAndPan,\r
+ SVGFitToViewBox { \r
+\r
+ readonly attribute SVGTransformList transform;\r
+ readonly attribute SVGElement viewTarget;\r
+ readonly attribute DOMString viewBoxString;\r
+ readonly attribute DOMString preserveAspectRatioString;\r
+ readonly attribute DOMString transformString;\r
+ readonly attribute DOMString viewTargetString;\r
+ };\r
+\r
+ interface SVGURIReference { \r
+\r
+ readonly attribute SVGAnimatedString href;\r
+ };\r
+\r
+ interface SVGCSSRule : css::CSSRule { \r
+ // Additional CSS RuleType to support ICC color specifications\r
+ const unsigned short COLOR_PROFILE_RULE = 7;\r
+ };\r
+\r
+ interface SVGRenderingIntent { \r
+\r
+ // Rendering Intent Types\r
+ const unsigned short RENDERING_INTENT_UNKNOWN = 0;\r
+ const unsigned short RENDERING_INTENT_AUTO = 1;\r
+ const unsigned short RENDERING_INTENT_PERCEPTUAL = 2;\r
+ const unsigned short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3;\r
+ const unsigned short RENDERING_INTENT_SATURATION = 4;\r
+ const unsigned short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5;\r
+ };\r
+\r
+ interface SVGDocument : \r
+ Document,\r
+ events::DocumentEvent { \r
+\r
+ readonly attribute DOMString title;\r
+ readonly attribute DOMString referrer;\r
+ readonly attribute DOMString domain;\r
+ readonly attribute DOMString URL;\r
+ readonly attribute SVGSVGElement rootElement;\r
+ };\r
+\r
+ interface SVGSVGElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGLocatable,\r
+ SVGFitToViewBox,\r
+ SVGZoomAndPan,\r
+ events::EventTarget,\r
+ events::DocumentEvent,\r
+ css::ViewCSS,\r
+ css::DocumentCSS { \r
+\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ attribute DOMString contentScriptType;\r
+ // raises DOMException on setting\r
+ attribute DOMString contentStyleType;\r
+ // raises DOMException on setting\r
+ readonly attribute SVGRect viewport;\r
+ readonly attribute float pixelUnitToMillimeterX;\r
+ readonly attribute float pixelUnitToMillimeterY;\r
+ readonly attribute float screenPixelToMillimeterX;\r
+ readonly attribute float screenPixelToMillimeterY;\r
+ attribute boolean useCurrentView;\r
+ // raises DOMException on setting\r
+ readonly attribute SVGViewSpec currentView;\r
+ attribute float currentScale;\r
+ // raises DOMException on setting\r
+ readonly attribute SVGPoint currentTranslate;\r
+\r
+ unsigned long suspendRedraw ( in unsigned long max_wait_milliseconds );\r
+ void unsuspendRedraw ( in unsigned long suspend_handle_id )\r
+ raises( DOMException );\r
+ void unsuspendRedrawAll ( );\r
+ void forceRedraw ( );\r
+ void pauseAnimations ( );\r
+ void unpauseAnimations ( );\r
+ boolean animationsPaused ( );\r
+ float getCurrentTime ( );\r
+ void setCurrentTime ( in float seconds );\r
+ NodeList getIntersectionList ( in SVGRect rect, in SVGElement referenceElement );\r
+ NodeList getEnclosureList ( in SVGRect rect, in SVGElement referenceElement );\r
+ boolean checkIntersection ( in SVGElement element, in SVGRect rect );\r
+ boolean checkEnclosure ( in SVGElement element, in SVGRect rect );\r
+ void deselectAll ( );\r
+ SVGNumber createSVGNumber ( );\r
+ SVGLength createSVGLength ( );\r
+ SVGAngle createSVGAngle ( );\r
+ SVGPoint createSVGPoint ( );\r
+ SVGMatrix createSVGMatrix ( );\r
+ SVGRect createSVGRect ( );\r
+ SVGTransform createSVGTransform ( );\r
+ SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix );\r
+ Element getElementById ( in DOMString elementId );\r
+ };\r
+\r
+ interface SVGGElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget {};\r
+\r
+ interface SVGDefsElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget {};\r
+\r
+ interface SVGDescElement : \r
+ SVGElement,\r
+ SVGLangSpace,\r
+ SVGStylable {};\r
+\r
+ interface SVGTitleElement : \r
+ SVGElement,\r
+ SVGLangSpace,\r
+ SVGStylable {};\r
+\r
+ interface SVGSymbolElement : \r
+ SVGElement,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGFitToViewBox,\r
+ events::EventTarget {};\r
+\r
+ interface SVGUseElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ readonly attribute SVGElementInstance instanceRoot;\r
+ readonly attribute SVGElementInstance animatedInstanceRoot;\r
+ };\r
+\r
+ interface SVGElementInstance : events::EventTarget { \r
+ readonly attribute SVGElement correspondingElement;\r
+ readonly attribute SVGUseElement correspondingUseElement;\r
+ readonly attribute SVGElementInstance parentNode;\r
+ readonly attribute SVGElementInstanceList childNodes;\r
+ readonly attribute SVGElementInstance firstChild;\r
+ readonly attribute SVGElementInstance lastChild;\r
+ readonly attribute SVGElementInstance previousSibling;\r
+ readonly attribute SVGElementInstance nextSibling;\r
+ };\r
+\r
+ interface SVGElementInstanceList { \r
+\r
+ readonly attribute unsigned long length;\r
+\r
+ SVGElementInstance item ( in unsigned long index );\r
+ };\r
+\r
+ interface SVGImageElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;\r
+ };\r
+\r
+ interface SVGSwitchElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget {};\r
+\r
+ interface GetSVGDocument { \r
+\r
+ SVGDocument getSVGDocument ( )\r
+ raises( DOMException );\r
+ };\r
+\r
+ interface SVGStyleElement : SVGElement { \r
+ attribute DOMString xmlspace;\r
+ // raises DOMException on setting\r
+ attribute DOMString type;\r
+ // raises DOMException on setting\r
+ attribute DOMString media;\r
+ // raises DOMException on setting\r
+ attribute DOMString title;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPoint { \r
+\r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+\r
+ SVGPoint matrixTransform ( in SVGMatrix matrix );\r
+ };\r
+\r
+ interface SVGPointList { \r
+\r
+ readonly attribute unsigned long numberOfItems;\r
+\r
+ void clear ( )\r
+ raises( DOMException );\r
+ SVGPoint initialize ( in SVGPoint newItem )\r
+ raises( DOMException, SVGException );\r
+ SVGPoint getItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGPoint insertItemBefore ( in SVGPoint newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGPoint replaceItem ( in SVGPoint newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGPoint removeItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGPoint appendItem ( in SVGPoint newItem )\r
+ raises( DOMException, SVGException );\r
+ };\r
+\r
+ interface SVGMatrix { \r
+\r
+ attribute float a;\r
+ // raises DOMException on setting\r
+ attribute float b;\r
+ // raises DOMException on setting\r
+ attribute float c;\r
+ // raises DOMException on setting\r
+ attribute float d;\r
+ // raises DOMException on setting\r
+ attribute float e;\r
+ // raises DOMException on setting\r
+ attribute float f;\r
+ // raises DOMException on setting\r
+\r
+ SVGMatrix multiply ( in SVGMatrix secondMatrix );\r
+ SVGMatrix inverse ( )\r
+ raises( SVGException );\r
+ SVGMatrix translate ( in float x, in float y );\r
+ SVGMatrix scale ( in float scaleFactor );\r
+ SVGMatrix scaleNonUniform ( in float scaleFactorX, in float scaleFactorY );\r
+ SVGMatrix rotate ( in float angle );\r
+ SVGMatrix rotateFromVector ( in float x, in float y )\r
+ raises( SVGException );\r
+ SVGMatrix flipX ( );\r
+ SVGMatrix flipY ( );\r
+ SVGMatrix skewX ( in float angle );\r
+ SVGMatrix skewY ( in float angle );\r
+ };\r
+\r
+ interface SVGTransform { \r
+\r
+ // Transform Types\r
+ const unsigned short SVG_TRANSFORM_UNKNOWN = 0;\r
+ const unsigned short SVG_TRANSFORM_MATRIX = 1;\r
+ const unsigned short SVG_TRANSFORM_TRANSLATE = 2;\r
+ const unsigned short SVG_TRANSFORM_SCALE = 3;\r
+ const unsigned short SVG_TRANSFORM_ROTATE = 4;\r
+ const unsigned short SVG_TRANSFORM_SKEWX = 5;\r
+ const unsigned short SVG_TRANSFORM_SKEWY = 6;\r
+\r
+ readonly attribute unsigned short type;\r
+ readonly attribute SVGMatrix matrix;\r
+ readonly attribute float angle;\r
+\r
+ void setMatrix ( in SVGMatrix matrix );\r
+ void setTranslate ( in float tx, in float ty );\r
+ void setScale ( in float sx, in float sy );\r
+ void setRotate ( in float angle, in float cx, in float cy );\r
+ void setSkewX ( in float angle );\r
+ void setSkewY ( in float angle );\r
+ };\r
+\r
+ interface SVGTransformList { \r
+\r
+ readonly attribute unsigned long numberOfItems;\r
+\r
+ void clear ( )\r
+ raises( DOMException );\r
+ SVGTransform initialize ( in SVGTransform newItem )\r
+ raises( DOMException, SVGException );\r
+ SVGTransform getItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGTransform insertItemBefore ( in SVGTransform newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGTransform replaceItem ( in SVGTransform newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGTransform removeItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGTransform appendItem ( in SVGTransform newItem )\r
+ raises( DOMException, SVGException );\r
+ SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix );\r
+ SVGTransform consolidate ( );\r
+ };\r
+\r
+ interface SVGAnimatedTransformList { \r
+\r
+ readonly attribute SVGTransformList baseVal;\r
+ readonly attribute SVGTransformList animVal;\r
+ };\r
+\r
+ interface SVGPreserveAspectRatio { \r
+\r
+ // Alignment Types\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_NONE = 1;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;\r
+ const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;\r
+ // Meet-or-slice Types\r
+ const unsigned short SVG_MEETORSLICE_UNKNOWN = 0;\r
+ const unsigned short SVG_MEETORSLICE_MEET = 1;\r
+ const unsigned short SVG_MEETORSLICE_SLICE = 2;\r
+\r
+ attribute unsigned short align;\r
+ // raises DOMException on setting\r
+ attribute unsigned short meetOrSlice;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGAnimatedPreserveAspectRatio { \r
+\r
+ readonly attribute SVGPreserveAspectRatio baseVal;\r
+ readonly attribute SVGPreserveAspectRatio animVal;\r
+ };\r
+\r
+ interface SVGPathSeg { \r
+\r
+ // Path Segment Types\r
+ const unsigned short PATHSEG_UNKNOWN = 0;\r
+ const unsigned short PATHSEG_CLOSEPATH = 1;\r
+ const unsigned short PATHSEG_MOVETO_ABS = 2;\r
+ const unsigned short PATHSEG_MOVETO_REL = 3;\r
+ const unsigned short PATHSEG_LINETO_ABS = 4;\r
+ const unsigned short PATHSEG_LINETO_REL = 5;\r
+ const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6;\r
+ const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7;\r
+ const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8;\r
+ const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9;\r
+ const unsigned short PATHSEG_ARC_ABS = 10;\r
+ const unsigned short PATHSEG_ARC_REL = 11;\r
+ const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12;\r
+ const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13;\r
+ const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14;\r
+ const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15;\r
+ const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\r
+ const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\r
+ const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\r
+ const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;\r
+\r
+ readonly attribute unsigned short pathSegType;\r
+ readonly attribute DOMString pathSegTypeAsLetter;\r
+ };\r
+\r
+ interface SVGPathSegClosePath : SVGPathSeg {};\r
+\r
+ interface SVGPathSegMovetoAbs : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegMovetoRel : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegLinetoAbs : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegLinetoRel : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegCurvetoCubicAbs : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float x1;\r
+ // raises DOMException on setting\r
+ attribute float y1;\r
+ // raises DOMException on setting\r
+ attribute float x2;\r
+ // raises DOMException on setting\r
+ attribute float y2;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegCurvetoCubicRel : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float x1;\r
+ // raises DOMException on setting\r
+ attribute float y1;\r
+ // raises DOMException on setting\r
+ attribute float x2;\r
+ // raises DOMException on setting\r
+ attribute float y2;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float x1;\r
+ // raises DOMException on setting\r
+ attribute float y1;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float x1;\r
+ // raises DOMException on setting\r
+ attribute float y1;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegArcAbs : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float r1;\r
+ // raises DOMException on setting\r
+ attribute float r2;\r
+ // raises DOMException on setting\r
+ attribute float angle;\r
+ // raises DOMException on setting\r
+ attribute boolean largeArcFlag;\r
+ // raises DOMException on setting\r
+ attribute boolean sweepFlag;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegArcRel : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float r1;\r
+ // raises DOMException on setting\r
+ attribute float r2;\r
+ // raises DOMException on setting\r
+ attribute float angle;\r
+ // raises DOMException on setting\r
+ attribute boolean largeArcFlag;\r
+ // raises DOMException on setting\r
+ attribute boolean sweepFlag;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegLinetoHorizontalRel : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegLinetoVerticalAbs : SVGPathSeg { \r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegLinetoVerticalRel : SVGPathSeg { \r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float x2;\r
+ // raises DOMException on setting\r
+ attribute float y2;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float x2;\r
+ // raises DOMException on setting\r
+ attribute float y2;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg { \r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPathSegList { \r
+\r
+ readonly attribute unsigned long numberOfItems;\r
+\r
+ void clear ( )\r
+ raises( DOMException );\r
+ SVGPathSeg initialize ( in SVGPathSeg newItem )\r
+ raises( DOMException, SVGException );\r
+ SVGPathSeg getItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGPathSeg insertItemBefore ( in SVGPathSeg newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGPathSeg replaceItem ( in SVGPathSeg newItem, in unsigned long index )\r
+ raises( DOMException, SVGException );\r
+ SVGPathSeg removeItem ( in unsigned long index )\r
+ raises( DOMException );\r
+ SVGPathSeg appendItem ( in SVGPathSeg newItem )\r
+ raises( DOMException, SVGException );\r
+ };\r
+\r
+ interface SVGAnimatedPathData { \r
+\r
+ readonly attribute SVGPathSegList pathSegList;\r
+ readonly attribute SVGPathSegList normalizedPathSegList;\r
+ readonly attribute SVGPathSegList animatedPathSegList;\r
+ readonly attribute SVGPathSegList animatedNormalizedPathSegList;\r
+ };\r
+\r
+ interface SVGPathElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget,\r
+ SVGAnimatedPathData { \r
+\r
+ readonly attribute SVGAnimatedNumber pathLength;\r
+\r
+ float getTotalLength ( );\r
+ SVGPoint getPointAtLength ( in float distance );\r
+ unsigned long getPathSegAtLength ( in float distance );\r
+ SVGPathSegClosePath createSVGPathSegClosePath ( );\r
+ SVGPathSegMovetoAbs createSVGPathSegMovetoAbs ( in float x, in float y );\r
+ SVGPathSegMovetoRel createSVGPathSegMovetoRel ( in float x, in float y );\r
+ SVGPathSegLinetoAbs createSVGPathSegLinetoAbs ( in float x, in float y );\r
+ SVGPathSegLinetoRel createSVGPathSegLinetoRel ( in float x, in float y );\r
+ SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 );\r
+ SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 );\r
+ SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs ( in float x, in float y, in float x1, in float y1 );\r
+ SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel ( in float x, in float y, in float x1, in float y1 );\r
+ SVGPathSegArcAbs createSVGPathSegArcAbs ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag );\r
+ SVGPathSegArcRel createSVGPathSegArcRel ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag );\r
+ SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs ( in float x );\r
+ SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel ( in float x );\r
+ SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs ( in float y );\r
+ SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel ( in float y );\r
+ SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs ( in float x, in float y, in float x2, in float y2 );\r
+ SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel ( in float x, in float y, in float x2, in float y2 );\r
+ SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs ( in float x, in float y );\r
+ SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel ( in float x, in float y );\r
+ };\r
+\r
+ interface SVGRectElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ readonly attribute SVGAnimatedLength rx;\r
+ readonly attribute SVGAnimatedLength ry;\r
+ };\r
+\r
+ interface SVGCircleElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGAnimatedLength cx;\r
+ readonly attribute SVGAnimatedLength cy;\r
+ readonly attribute SVGAnimatedLength r;\r
+ };\r
+\r
+ interface SVGEllipseElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGAnimatedLength cx;\r
+ readonly attribute SVGAnimatedLength cy;\r
+ readonly attribute SVGAnimatedLength rx;\r
+ readonly attribute SVGAnimatedLength ry;\r
+ };\r
+\r
+ interface SVGLineElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGAnimatedLength x1;\r
+ readonly attribute SVGAnimatedLength y1;\r
+ readonly attribute SVGAnimatedLength x2;\r
+ readonly attribute SVGAnimatedLength y2;\r
+ };\r
+\r
+ interface SVGAnimatedPoints { \r
+\r
+ readonly attribute SVGPointList points;\r
+ readonly attribute SVGPointList animatedPoints;\r
+ };\r
+\r
+ interface SVGPolylineElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget,\r
+ SVGAnimatedPoints {};\r
+\r
+ interface SVGPolygonElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget,\r
+ SVGAnimatedPoints {};\r
+\r
+ interface SVGTextContentElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ events::EventTarget { \r
+\r
+ // lengthAdjust Types\r
+ const unsigned short LENGTHADJUST_UNKNOWN = 0;\r
+ const unsigned short LENGTHADJUST_SPACING = 1;\r
+ const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2;\r
+\r
+ readonly attribute SVGAnimatedLength textLength;\r
+ readonly attribute SVGAnimatedEnumeration lengthAdjust;\r
+\r
+ long getNumberOfChars ( );\r
+ float getComputedTextLength ( );\r
+ float getSubStringLength ( in unsigned long charnum, in unsigned long nchars )\r
+ raises( DOMException );\r
+ SVGPoint getStartPositionOfChar ( in unsigned long charnum )\r
+ raises( DOMException );\r
+ SVGPoint getEndPositionOfChar ( in unsigned long charnum )\r
+ raises( DOMException );\r
+ SVGRect getExtentOfChar ( in unsigned long charnum )\r
+ raises( DOMException );\r
+ float getRotationOfChar ( in unsigned long charnum )\r
+ raises( DOMException );\r
+ long getCharNumAtPosition ( in SVGPoint point );\r
+ void selectSubString ( in unsigned long charnum, in unsigned long nchars )\r
+ raises( DOMException );\r
+ };\r
+\r
+ interface SVGTextPositioningElement : SVGTextContentElement { \r
+ readonly attribute SVGAnimatedLengthList x;\r
+ readonly attribute SVGAnimatedLengthList y;\r
+ readonly attribute SVGAnimatedLengthList dx;\r
+ readonly attribute SVGAnimatedLengthList dy;\r
+ readonly attribute SVGAnimatedNumberList rotate;\r
+ };\r
+\r
+ interface SVGTextElement : \r
+ SVGTextPositioningElement,\r
+ SVGTransformable {};\r
+\r
+ interface SVGTSpanElement : SVGTextPositioningElement {};\r
+\r
+ interface SVGTRefElement : \r
+ SVGTextPositioningElement,\r
+ SVGURIReference {};\r
+\r
+ interface SVGTextPathElement : \r
+ SVGTextContentElement,\r
+ SVGURIReference { \r
+\r
+ // textPath Method Types\r
+ const unsigned short TEXTPATH_METHODTYPE_UNKNOWN = 0;\r
+ const unsigned short TEXTPATH_METHODTYPE_ALIGN = 1;\r
+ const unsigned short TEXTPATH_METHODTYPE_STRETCH = 2;\r
+ // textPath Spacing Types\r
+ const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN = 0;\r
+ const unsigned short TEXTPATH_SPACINGTYPE_AUTO = 1;\r
+ const unsigned short TEXTPATH_SPACINGTYPE_EXACT = 2;\r
+\r
+ readonly attribute SVGAnimatedLength startOffset;\r
+ readonly attribute SVGAnimatedEnumeration method;\r
+ readonly attribute SVGAnimatedEnumeration spacing;\r
+ };\r
+\r
+ interface SVGAltGlyphElement : \r
+ SVGTextPositioningElement,\r
+ SVGURIReference { \r
+\r
+ attribute DOMString glyphRef;\r
+ // raises DOMException on setting\r
+ attribute DOMString format;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGAltGlyphDefElement : SVGElement {};\r
+\r
+ interface SVGAltGlyphItemElement : SVGElement {};\r
+\r
+ interface SVGGlyphRefElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGStylable { \r
+\r
+ attribute DOMString glyphRef;\r
+ // raises DOMException on setting\r
+ attribute DOMString format;\r
+ // raises DOMException on setting\r
+ attribute float x;\r
+ // raises DOMException on setting\r
+ attribute float y;\r
+ // raises DOMException on setting\r
+ attribute float dx;\r
+ // raises DOMException on setting\r
+ attribute float dy;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGPaint : SVGColor { \r
+ // Paint Types\r
+ const unsigned short SVG_PAINTTYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_PAINTTYPE_RGBCOLOR = 1;\r
+ const unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2;\r
+ const unsigned short SVG_PAINTTYPE_NONE = 101;\r
+ const unsigned short SVG_PAINTTYPE_CURRENTCOLOR = 102;\r
+ const unsigned short SVG_PAINTTYPE_URI_NONE = 103;\r
+ const unsigned short SVG_PAINTTYPE_URI_CURRENTCOLOR = 104;\r
+ const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR = 105;\r
+ const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106;\r
+ const unsigned short SVG_PAINTTYPE_URI = 107;\r
+\r
+ readonly attribute unsigned short paintType;\r
+ readonly attribute DOMString uri;\r
+\r
+ void setUri ( in DOMString uri );\r
+ void setPaint ( in unsigned short paintType, in DOMString uri, in DOMString rgbColor, in DOMString iccColor )\r
+ raises( SVGException );\r
+ };\r
+\r
+ interface SVGMarkerElement : \r
+ SVGElement,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGFitToViewBox { \r
+\r
+ // Marker Unit Types\r
+ const unsigned short SVG_MARKERUNITS_UNKNOWN = 0;\r
+ const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1;\r
+ const unsigned short SVG_MARKERUNITS_STROKEWIDTH = 2;\r
+ // Marker Orientation Types\r
+ const unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0;\r
+ const unsigned short SVG_MARKER_ORIENT_AUTO = 1;\r
+ const unsigned short SVG_MARKER_ORIENT_ANGLE = 2;\r
+\r
+ readonly attribute SVGAnimatedLength refX;\r
+ readonly attribute SVGAnimatedLength refY;\r
+ readonly attribute SVGAnimatedEnumeration markerUnits;\r
+ readonly attribute SVGAnimatedLength markerWidth;\r
+ readonly attribute SVGAnimatedLength markerHeight;\r
+ readonly attribute SVGAnimatedEnumeration orientType;\r
+ readonly attribute SVGAnimatedAngle orientAngle;\r
+\r
+ void setOrientToAuto ( );\r
+ void setOrientToAngle ( in SVGAngle angle );\r
+ };\r
+\r
+ interface SVGColorProfileElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGRenderingIntent { \r
+\r
+ attribute DOMString local;\r
+ // raises DOMException on setting\r
+ attribute DOMString name;\r
+ // raises DOMException on setting\r
+ attribute unsigned short renderingIntent;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGColorProfileRule : \r
+ SVGCSSRule,\r
+ SVGRenderingIntent { \r
+\r
+ attribute DOMString src;\r
+ // raises DOMException on setting\r
+ attribute DOMString name;\r
+ // raises DOMException on setting\r
+ attribute unsigned short renderingIntent;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGGradientElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGUnitTypes { \r
+\r
+ // Spread Method Types\r
+ const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0;\r
+ const unsigned short SVG_SPREADMETHOD_PAD = 1;\r
+ const unsigned short SVG_SPREADMETHOD_REFLECT = 2;\r
+ const unsigned short SVG_SPREADMETHOD_REPEAT = 3;\r
+\r
+ readonly attribute SVGAnimatedEnumeration gradientUnits;\r
+ readonly attribute SVGAnimatedTransformList gradientTransform;\r
+ readonly attribute SVGAnimatedEnumeration spreadMethod;\r
+ };\r
+\r
+ interface SVGLinearGradientElement : SVGGradientElement { \r
+ readonly attribute SVGAnimatedLength x1;\r
+ readonly attribute SVGAnimatedLength y1;\r
+ readonly attribute SVGAnimatedLength x2;\r
+ readonly attribute SVGAnimatedLength y2;\r
+ };\r
+\r
+ interface SVGRadialGradientElement : SVGGradientElement { \r
+ readonly attribute SVGAnimatedLength cx;\r
+ readonly attribute SVGAnimatedLength cy;\r
+ readonly attribute SVGAnimatedLength r;\r
+ readonly attribute SVGAnimatedLength fx;\r
+ readonly attribute SVGAnimatedLength fy;\r
+ };\r
+\r
+ interface SVGStopElement : \r
+ SVGElement,\r
+ SVGStylable { \r
+\r
+ readonly attribute SVGAnimatedNumber offset;\r
+ };\r
+\r
+ interface SVGPatternElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGFitToViewBox,\r
+ SVGUnitTypes { \r
+\r
+ readonly attribute SVGAnimatedEnumeration patternUnits;\r
+ readonly attribute SVGAnimatedEnumeration patternContentUnits;\r
+ readonly attribute SVGAnimatedTransformList patternTransform;\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ };\r
+\r
+ interface SVGClipPathElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ SVGUnitTypes { \r
+\r
+ readonly attribute SVGAnimatedEnumeration clipPathUnits;\r
+ };\r
+\r
+ interface SVGMaskElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGUnitTypes { \r
+\r
+ readonly attribute SVGAnimatedEnumeration maskUnits;\r
+ readonly attribute SVGAnimatedEnumeration maskContentUnits;\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ };\r
+\r
+ interface SVGFilterElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGUnitTypes { \r
+\r
+ readonly attribute SVGAnimatedEnumeration filterUnits;\r
+ readonly attribute SVGAnimatedEnumeration primitiveUnits;\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ readonly attribute SVGAnimatedInteger filterResX;\r
+ readonly attribute SVGAnimatedInteger filterResY;\r
+\r
+ void setFilterRes ( in unsigned long filterResX, in unsigned long filterResY );\r
+ };\r
+\r
+ interface SVGFilterPrimitiveStandardAttributes : SVGStylable { \r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ readonly attribute SVGAnimatedString result;\r
+ };\r
+\r
+ interface SVGFEBlendElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ // Blend Mode Types\r
+ const unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0;\r
+ const unsigned short SVG_FEBLEND_MODE_NORMAL = 1;\r
+ const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2;\r
+ const unsigned short SVG_FEBLEND_MODE_SCREEN = 3;\r
+ const unsigned short SVG_FEBLEND_MODE_DARKEN = 4;\r
+ const unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5;\r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedString in2;\r
+ readonly attribute SVGAnimatedEnumeration mode;\r
+ };\r
+\r
+ interface SVGFEColorMatrixElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ // Color Matrix Types\r
+ const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1;\r
+ const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2;\r
+ const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3;\r
+ const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4;\r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedEnumeration type;\r
+ readonly attribute SVGAnimatedNumberList values;\r
+ };\r
+\r
+ interface SVGFEComponentTransferElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ };\r
+\r
+ interface SVGComponentTransferFunctionElement : SVGElement { \r
+ // Component Transfer Types\r
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;\r
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2;\r
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3;\r
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4;\r
+ const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5;\r
+\r
+ readonly attribute SVGAnimatedEnumeration type;\r
+ readonly attribute SVGAnimatedNumberList tableValues;\r
+ readonly attribute SVGAnimatedNumber slope;\r
+ readonly attribute SVGAnimatedNumber intercept;\r
+ readonly attribute SVGAnimatedNumber amplitude;\r
+ readonly attribute SVGAnimatedNumber exponent;\r
+ readonly attribute SVGAnimatedNumber offset;\r
+ };\r
+\r
+ interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {};\r
+\r
+ interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {};\r
+\r
+ interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {};\r
+\r
+ interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {};\r
+\r
+ interface SVGFECompositeElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ // Composite Operators\r
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0;\r
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1;\r
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2;\r
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3;\r
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4;\r
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_XOR = 5;\r
+ const unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6;\r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedString in2;\r
+ readonly attribute SVGAnimatedEnumeration operator;\r
+ readonly attribute SVGAnimatedNumber k1;\r
+ readonly attribute SVGAnimatedNumber k2;\r
+ readonly attribute SVGAnimatedNumber k3;\r
+ readonly attribute SVGAnimatedNumber k4;\r
+ };\r
+\r
+ interface SVGFEConvolveMatrixElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ // Edge Mode Values\r
+ const unsigned short SVG_EDGEMODE_UNKNOWN = 0;\r
+ const unsigned short SVG_EDGEMODE_DUPLICATE = 1;\r
+ const unsigned short SVG_EDGEMODE_WRAP = 2;\r
+ const unsigned short SVG_EDGEMODE_NONE = 3;\r
+\r
+ readonly attribute SVGAnimatedInteger orderX;\r
+ readonly attribute SVGAnimatedInteger orderY;\r
+ readonly attribute SVGAnimatedNumberList kernelMatrix;\r
+ readonly attribute SVGAnimatedNumber divisor;\r
+ readonly attribute SVGAnimatedNumber bias;\r
+ readonly attribute SVGAnimatedInteger targetX;\r
+ readonly attribute SVGAnimatedInteger targetY;\r
+ readonly attribute SVGAnimatedEnumeration edgeMode;\r
+ readonly attribute SVGAnimatedLength kernelUnitLengthX;\r
+ readonly attribute SVGAnimatedLength kernelUnitLengthY;\r
+ readonly attribute SVGAnimatedBoolean preserveAlpha;\r
+ };\r
+\r
+ interface SVGFEDiffuseLightingElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedNumber surfaceScale;\r
+ readonly attribute SVGAnimatedNumber diffuseConstant;\r
+ };\r
+\r
+ interface SVGFEDistantLightElement : SVGElement { \r
+ readonly attribute SVGAnimatedNumber azimuth;\r
+ readonly attribute SVGAnimatedNumber elevation;\r
+ };\r
+\r
+ interface SVGFEPointLightElement : SVGElement { \r
+ readonly attribute SVGAnimatedNumber x;\r
+ readonly attribute SVGAnimatedNumber y;\r
+ readonly attribute SVGAnimatedNumber z;\r
+ };\r
+\r
+ interface SVGFESpotLightElement : SVGElement { \r
+ readonly attribute SVGAnimatedNumber x;\r
+ readonly attribute SVGAnimatedNumber y;\r
+ readonly attribute SVGAnimatedNumber z;\r
+ readonly attribute SVGAnimatedNumber pointsAtX;\r
+ readonly attribute SVGAnimatedNumber pointsAtY;\r
+ readonly attribute SVGAnimatedNumber pointsAtZ;\r
+ readonly attribute SVGAnimatedNumber specularExponent;\r
+ readonly attribute SVGAnimatedNumber limitingConeAngle;\r
+ };\r
+\r
+ interface SVGFEDisplacementMapElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ // Channel Selectors\r
+ const unsigned short SVG_CHANNEL_UNKNOWN = 0;\r
+ const unsigned short SVG_CHANNEL_R = 1;\r
+ const unsigned short SVG_CHANNEL_G = 2;\r
+ const unsigned short SVG_CHANNEL_B = 3;\r
+ const unsigned short SVG_CHANNEL_A = 4;\r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedString in2;\r
+ readonly attribute SVGAnimatedNumber scale;\r
+ readonly attribute SVGAnimatedEnumeration xChannelSelector;\r
+ readonly attribute SVGAnimatedEnumeration yChannelSelector;\r
+ };\r
+\r
+ interface SVGFEFloodElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ };\r
+\r
+ interface SVGFEGaussianBlurElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedNumber stdDeviationX;\r
+ readonly attribute SVGAnimatedNumber stdDeviationY;\r
+\r
+ void setStdDeviation ( in float stdDeviationX, in float stdDeviationY );\r
+ };\r
+\r
+ interface SVGFEImageElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGFilterPrimitiveStandardAttributes {};\r
+\r
+ interface SVGFEMergeElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes {};\r
+\r
+ interface SVGFEMergeNodeElement : SVGElement { \r
+ readonly attribute SVGAnimatedString in1;\r
+ };\r
+\r
+ interface SVGFEMorphologyElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ // Morphology Operators\r
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0;\r
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1;\r
+ const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2;\r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedEnumeration operator;\r
+ readonly attribute SVGAnimatedLength radiusX;\r
+ readonly attribute SVGAnimatedLength radiusY;\r
+ };\r
+\r
+ interface SVGFEOffsetElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedNumber dx;\r
+ readonly attribute SVGAnimatedNumber dy;\r
+ };\r
+\r
+ interface SVGFESpecularLightingElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ readonly attribute SVGAnimatedNumber surfaceScale;\r
+ readonly attribute SVGAnimatedNumber specularConstant;\r
+ readonly attribute SVGAnimatedNumber specularExponent;\r
+ };\r
+\r
+ interface SVGFETileElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ readonly attribute SVGAnimatedString in1;\r
+ };\r
+\r
+ interface SVGFETurbulenceElement : \r
+ SVGElement,\r
+ SVGFilterPrimitiveStandardAttributes { \r
+\r
+ // Turbulence Types\r
+ const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;\r
+ const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2;\r
+ // Stitch Options\r
+ const unsigned short SVG_STITCHTYPE_UNKNOWN = 0;\r
+ const unsigned short SVG_STITCHTYPE_STITCH = 1;\r
+ const unsigned short SVG_STITCHTYPE_NOSTITCH = 2;\r
+\r
+ readonly attribute SVGAnimatedNumber baseFrequencyX;\r
+ readonly attribute SVGAnimatedNumber baseFrequencyY;\r
+ readonly attribute SVGAnimatedInteger numOctaves;\r
+ readonly attribute SVGAnimatedNumber seed;\r
+ readonly attribute SVGAnimatedEnumeration stitchTiles;\r
+ readonly attribute SVGAnimatedEnumeration type;\r
+ };\r
+\r
+ interface SVGCursorElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGTests,\r
+ SVGExternalResourcesRequired { \r
+\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ };\r
+\r
+ interface SVGAElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGAnimatedString target;\r
+ };\r
+\r
+ interface SVGViewElement : \r
+ SVGElement,\r
+ SVGExternalResourcesRequired,\r
+ SVGFitToViewBox,\r
+ SVGZoomAndPan { \r
+\r
+ readonly attribute SVGStringList viewTarget;\r
+ };\r
+\r
+ interface SVGScriptElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGExternalResourcesRequired { \r
+\r
+ attribute DOMString type;\r
+ // raises DOMException on setting\r
+ };\r
+\r
+ interface SVGEvent : events::Event {};\r
+\r
+ interface SVGZoomEvent : events::UIEvent { \r
+ readonly attribute SVGRect zoomRectScreen;\r
+ readonly attribute float previousScale;\r
+ readonly attribute SVGPoint previousTranslate;\r
+ readonly attribute float newScale;\r
+ readonly attribute SVGPoint newTranslate;\r
+ };\r
+\r
+ interface SVGAnimationElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGExternalResourcesRequired,\r
+ smil::ElementTimeControl,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGElement targetElement;\r
+\r
+ float getStartTime ( );\r
+ float getCurrentTime ( );\r
+ float getSimpleDuration ( )\r
+ raises( DOMException );\r
+ };\r
+\r
+ interface SVGAnimateElement : SVGAnimationElement {};\r
+\r
+ interface SVGSetElement : SVGAnimationElement {};\r
+\r
+ interface SVGAnimateMotionElement : SVGAnimationElement {};\r
+\r
+ interface SVGMPathElement : \r
+ SVGElement,\r
+ SVGURIReference,\r
+ SVGExternalResourcesRequired {};\r
+\r
+ interface SVGAnimateColorElement : SVGAnimationElement {};\r
+\r
+ interface SVGAnimateTransformElement : SVGAnimationElement {};\r
+\r
+ interface SVGFontElement : \r
+ SVGElement,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable {};\r
+\r
+ interface SVGGlyphElement : \r
+ SVGElement,\r
+ SVGStylable {};\r
+\r
+ interface SVGMissingGlyphElement : \r
+ SVGElement,\r
+ SVGStylable {};\r
+\r
+ interface SVGHKernElement : SVGElement {};\r
+\r
+ interface SVGVKernElement : SVGElement {};\r
+\r
+ interface SVGFontFaceElement : SVGElement {};\r
+\r
+ interface SVGFontFaceSrcElement : SVGElement {};\r
+\r
+ interface SVGFontFaceUriElement : SVGElement {};\r
+\r
+ interface SVGFontFaceFormatElement : SVGElement {};\r
+\r
+ interface SVGFontFaceNameElement : SVGElement {};\r
+\r
+ interface SVGDefinitionSrcElement : SVGElement {};\r
+\r
+ interface SVGMetadataElement : SVGElement {};\r
+\r
+ interface SVGForeignObjectElement : \r
+ SVGElement,\r
+ SVGTests,\r
+ SVGLangSpace,\r
+ SVGExternalResourcesRequired,\r
+ SVGStylable,\r
+ SVGTransformable,\r
+ events::EventTarget { \r
+\r
+ readonly attribute SVGAnimatedLength x;\r
+ readonly attribute SVGAnimatedLength y;\r
+ readonly attribute SVGAnimatedLength width;\r
+ readonly attribute SVGAnimatedLength height;\r
+ };\r
+\r
+\r
+};\r
+\r
+#endif // _SVG_IDL_
\ No newline at end of file