From: ishmal Date: Tue, 18 Mar 2008 20:57:50 +0000 (+0000) Subject: Raise SVG c++ files to main dom directory. They belong there nos. X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=4c115a33a8e13f7d06fef793656c38fd956994e6;p=inkscape.git Raise SVG c++ files to main dom directory. They belong there nos. --- diff --git a/src/dom/Makefile.mingw b/src/dom/Makefile.mingw index 987a668af..1266bb71c 100644 --- a/src/dom/Makefile.mingw +++ b/src/dom/Makefile.mingw @@ -161,131 +161,12 @@ io/stringstream.o \ 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 = \ @@ -296,7 +177,7 @@ work/testuri.o \ 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 diff --git a/src/dom/Makefile_insert b/src/dom/Makefile_insert index da748b2b8..730b2d44a 100644 --- a/src/dom/Makefile_insert +++ b/src/dom/Makefile_insert @@ -29,6 +29,12 @@ dom_libdom_a_SOURCES = \ 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 \ @@ -63,12 +69,6 @@ dom_libdom_a_SOURCES = \ 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 new file mode 100644 index 000000000..c5f3309b5 --- /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 + + + +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 SVGElementPtr; +class SVGSVGElement; +typedef Ptr SVGSVGElementPtr; +class SVGDocument; +typedef Ptr 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 deleted file mode 100644 index c5f3309b5..000000000 --- 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 - - - -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 SVGElementPtr; -class SVGSVGElement; -typedef Ptr SVGSVGElementPtr; -class SVGDocument; -typedef Ptr 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 deleted file mode 100644 index 1a30dd3be..000000000 --- a/src/dom/svg/svg.idl +++ /dev/null @@ -1,1751 +0,0 @@ -// File: svg.idl -#ifndef _SVG_IDL_ -#define _SVG_IDL_ - - -// For access to DOM2 core -#include "dom.idl" - -// For access to DOM2 events -#include "events.idl" - -// For access to those parts from DOM2 CSS OM used by SVG DOM. -#include "css.idl" - -// For access to those parts from DOM2 Views OM used by SVG DOM. -#include "views.idl" - -// For access to the SMIL OM used by SVG DOM. -#include "smil.idl" - -#pragma prefix "dom.w3c.org" -#pragma javaPackage "org.w3c.dom" -module svg -{ - typedef dom::DOMString DOMString; - typedef dom::DOMException DOMException; - typedef dom::Element Element; - typedef dom::Document Document; - typedef dom::NodeList NodeList; - - // Predeclarations - interface SVGElement; - interface SVGLangSpace; - interface SVGExternalResourcesRequired; - interface SVGTests; - interface SVGFitToViewBox; - interface SVGZoomAndPan; - interface SVGViewSpec; - interface SVGURIReference; - interface SVGPoint; - interface SVGMatrix; - interface SVGPreserveAspectRatio; - interface SVGAnimatedPreserveAspectRatio; - interface SVGTransformList; - interface SVGAnimatedTransformList; - interface SVGTransform; - interface SVGICCColor; - interface SVGColor; - interface SVGPaint; - interface SVGTransformable; - interface SVGDocument; - interface SVGSVGElement; - interface SVGElementInstance; - interface SVGElementInstanceList; - - - exception SVGException { - unsigned short code; - }; - - // SVGExceptionCode - const unsigned short SVG_WRONG_TYPE_ERR = 0; - const unsigned short SVG_INVALID_VALUE_ERR = 1; - const unsigned short SVG_MATRIX_NOT_INVERTABLE = 2; - - interface SVGElement : Element { - attribute DOMString id; - // raises DOMException on setting - attribute DOMString xmlbase; - // raises DOMException on setting - readonly attribute SVGSVGElement ownerSVGElement; - readonly attribute SVGElement viewportElement; - }; - - interface SVGAnimatedBoolean { - - attribute boolean baseVal; - // raises DOMException on setting - readonly attribute boolean animVal; - }; - - interface SVGAnimatedString { - - attribute DOMString baseVal; - // raises DOMException on setting - readonly attribute DOMString animVal; - }; - - interface SVGStringList { - - readonly attribute unsigned long numberOfItems; - - void clear ( ) - raises( DOMException ); - DOMString initialize ( in DOMString newItem ) - raises( DOMException, SVGException ); - DOMString getItem ( in unsigned long index ) - raises( DOMException ); - DOMString insertItemBefore ( in DOMString newItem, in unsigned long index ) - raises( DOMException, SVGException ); - DOMString replaceItem ( in DOMString newItem, in unsigned long index ) - raises( DOMException, SVGException ); - DOMString removeItem ( in unsigned long index ) - raises( DOMException ); - DOMString appendItem ( in DOMString newItem ) - raises( DOMException, SVGException ); - }; - - interface SVGAnimatedEnumeration { - - attribute unsigned short baseVal; - // raises DOMException on setting - readonly attribute unsigned short animVal; - }; - - interface SVGAnimatedInteger { - - attribute long baseVal; - // raises DOMException on setting - readonly attribute long animVal; - }; - - interface SVGNumber { - - attribute float value; - // raises DOMException on setting - }; - - interface SVGAnimatedNumber { - - attribute float baseVal; - // raises DOMException on setting - readonly attribute float animVal; - }; - - interface SVGNumberList { - - readonly attribute unsigned long numberOfItems; - - void clear ( ) - raises( DOMException ); - SVGNumber initialize ( in SVGNumber newItem ) - raises( DOMException, SVGException ); - SVGNumber getItem ( in unsigned long index ) - raises( DOMException ); - SVGNumber insertItemBefore ( in SVGNumber newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGNumber replaceItem ( in SVGNumber newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGNumber removeItem ( in unsigned long index ) - raises( DOMException ); - SVGNumber appendItem ( in SVGNumber newItem ) - raises( DOMException, SVGException ); - }; - - interface SVGAnimatedNumberList { - - readonly attribute SVGNumberList baseVal; - readonly attribute SVGNumberList animVal; - }; - - interface SVGLength { - - // Length Unit Types - const unsigned short SVG_LENGTHTYPE_UNKNOWN = 0; - const unsigned short SVG_LENGTHTYPE_NUMBER = 1; - const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2; - const unsigned short SVG_LENGTHTYPE_EMS = 3; - const unsigned short SVG_LENGTHTYPE_EXS = 4; - const unsigned short SVG_LENGTHTYPE_PX = 5; - const unsigned short SVG_LENGTHTYPE_CM = 6; - const unsigned short SVG_LENGTHTYPE_MM = 7; - const unsigned short SVG_LENGTHTYPE_IN = 8; - const unsigned short SVG_LENGTHTYPE_PT = 9; - const unsigned short SVG_LENGTHTYPE_PC = 10; - - readonly attribute unsigned short unitType; - attribute float value; - // raises DOMException on setting - attribute float valueInSpecifiedUnits; - // raises DOMException on setting - attribute DOMString valueAsString; - // raises DOMException on setting - - void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits ); - void convertToSpecifiedUnits ( in unsigned short unitType ); - }; - - interface SVGAnimatedLength { - - readonly attribute SVGLength baseVal; - readonly attribute SVGLength animVal; - }; - - interface SVGLengthList { - - readonly attribute unsigned long numberOfItems; - - void clear ( ) - raises( DOMException ); - SVGLength initialize ( in SVGLength newItem ) - raises( DOMException, SVGException ); - SVGLength getItem ( in unsigned long index ) - raises( DOMException ); - SVGLength insertItemBefore ( in SVGLength newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGLength replaceItem ( in SVGLength newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGLength removeItem ( in unsigned long index ) - raises( DOMException ); - SVGLength appendItem ( in SVGLength newItem ) - raises( DOMException, SVGException ); - }; - - interface SVGAnimatedLengthList { - - readonly attribute SVGLengthList baseVal; - readonly attribute SVGLengthList animVal; - }; - - interface SVGAngle { - - // Angle Unit Types - const unsigned short SVG_ANGLETYPE_UNKNOWN = 0; - const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1; - const unsigned short SVG_ANGLETYPE_DEG = 2; - const unsigned short SVG_ANGLETYPE_RAD = 3; - const unsigned short SVG_ANGLETYPE_GRAD = 4; - - readonly attribute unsigned short unitType; - attribute float value; - // raises DOMException on setting - attribute float valueInSpecifiedUnits; - // raises DOMException on setting - attribute DOMString valueAsString; - // raises DOMException on setting - - void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits ); - void convertToSpecifiedUnits ( in unsigned short unitType ); - }; - - interface SVGAnimatedAngle { - - readonly attribute SVGAngle baseVal; - readonly attribute SVGAngle animVal; - }; - - interface SVGColor : css::CSSValue { - // Color Types - const unsigned short SVG_COLORTYPE_UNKNOWN = 0; - const unsigned short SVG_COLORTYPE_RGBCOLOR = 1; - const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2; - const unsigned short SVG_COLORTYPE_CURRENTCOLOR = 3; - - readonly attribute unsigned short colorType; - readonly attribute css::RGBColor rgbColor; - readonly attribute SVGICCColor iccColor; - - void setRGBColor ( in DOMString rgbColor ) - raises( SVGException ); - void setRGBColorICCColor ( in DOMString rgbColor, in DOMString iccColor ) - raises( SVGException ); - void setColor ( in unsigned short colorType, in DOMString rgbColor, in DOMString iccColor ) - raises( SVGException ); - }; - - interface SVGICCColor { - - attribute DOMString colorProfile; - // raises DOMException on setting - readonly attribute SVGNumberList colors; - }; - - interface SVGRect { - - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float width; - // raises DOMException on setting - attribute float height; - // raises DOMException on setting - }; - - interface SVGAnimatedRect { - - readonly attribute SVGRect baseVal; - readonly attribute SVGRect animVal; - }; - - interface SVGUnitTypes { - - // Unit Types - const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0; - const unsigned short SVG_UNIT_TYPE_USERSPACEONUSE = 1; - const unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2; - }; - - interface SVGStylable { - - readonly attribute SVGAnimatedString className; - readonly attribute css::CSSStyleDeclaration style; - - css::CSSValue getPresentationAttribute ( in DOMString name ); - }; - - interface SVGLocatable { - - readonly attribute SVGElement nearestViewportElement; - readonly attribute SVGElement farthestViewportElement; - - SVGRect getBBox ( ); - SVGMatrix getCTM ( ); - SVGMatrix getScreenCTM ( ); - SVGMatrix getTransformToElement ( in SVGElement element ) - raises( SVGException ); - }; - - interface SVGTransformable : SVGLocatable { - readonly attribute SVGAnimatedTransformList transform; - }; - - interface SVGTests { - - readonly attribute SVGStringList requiredFeatures; - readonly attribute SVGStringList requiredExtensions; - readonly attribute SVGStringList systemLanguage; - - boolean hasExtension ( in DOMString extension ); - }; - - interface SVGLangSpace { - - attribute DOMString xmllang; - // raises DOMException on setting - attribute DOMString xmlspace; - // raises DOMException on setting - }; - - interface SVGExternalResourcesRequired { - - readonly attribute SVGAnimatedBoolean externalResourcesRequired; - }; - - interface SVGFitToViewBox { - - readonly attribute SVGAnimatedRect viewBox; - readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; - }; - - interface SVGZoomAndPan { - - // Zoom and Pan Types - const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0; - const unsigned short SVG_ZOOMANDPAN_DISABLE = 1; - const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2; - - attribute unsigned short zoomAndPan; - // raises DOMException on setting - }; - - interface SVGViewSpec : - SVGZoomAndPan, - SVGFitToViewBox { - - readonly attribute SVGTransformList transform; - readonly attribute SVGElement viewTarget; - readonly attribute DOMString viewBoxString; - readonly attribute DOMString preserveAspectRatioString; - readonly attribute DOMString transformString; - readonly attribute DOMString viewTargetString; - }; - - interface SVGURIReference { - - readonly attribute SVGAnimatedString href; - }; - - interface SVGCSSRule : css::CSSRule { - // Additional CSS RuleType to support ICC color specifications - const unsigned short COLOR_PROFILE_RULE = 7; - }; - - interface SVGRenderingIntent { - - // Rendering Intent Types - const unsigned short RENDERING_INTENT_UNKNOWN = 0; - const unsigned short RENDERING_INTENT_AUTO = 1; - const unsigned short RENDERING_INTENT_PERCEPTUAL = 2; - const unsigned short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3; - const unsigned short RENDERING_INTENT_SATURATION = 4; - const unsigned short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5; - }; - - interface SVGDocument : - Document, - events::DocumentEvent { - - readonly attribute DOMString title; - readonly attribute DOMString referrer; - readonly attribute DOMString domain; - readonly attribute DOMString URL; - readonly attribute SVGSVGElement rootElement; - }; - - interface SVGSVGElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGLocatable, - SVGFitToViewBox, - SVGZoomAndPan, - events::EventTarget, - events::DocumentEvent, - css::ViewCSS, - css::DocumentCSS { - - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - attribute DOMString contentScriptType; - // raises DOMException on setting - attribute DOMString contentStyleType; - // raises DOMException on setting - readonly attribute SVGRect viewport; - readonly attribute float pixelUnitToMillimeterX; - readonly attribute float pixelUnitToMillimeterY; - readonly attribute float screenPixelToMillimeterX; - readonly attribute float screenPixelToMillimeterY; - attribute boolean useCurrentView; - // raises DOMException on setting - readonly attribute SVGViewSpec currentView; - attribute float currentScale; - // raises DOMException on setting - readonly attribute SVGPoint currentTranslate; - - unsigned long suspendRedraw ( in unsigned long max_wait_milliseconds ); - void unsuspendRedraw ( in unsigned long suspend_handle_id ) - raises( DOMException ); - void unsuspendRedrawAll ( ); - void forceRedraw ( ); - void pauseAnimations ( ); - void unpauseAnimations ( ); - boolean animationsPaused ( ); - float getCurrentTime ( ); - void setCurrentTime ( in float seconds ); - NodeList getIntersectionList ( in SVGRect rect, in SVGElement referenceElement ); - NodeList getEnclosureList ( in SVGRect rect, in SVGElement referenceElement ); - boolean checkIntersection ( in SVGElement element, in SVGRect rect ); - boolean checkEnclosure ( in SVGElement element, in SVGRect rect ); - void deselectAll ( ); - SVGNumber createSVGNumber ( ); - SVGLength createSVGLength ( ); - SVGAngle createSVGAngle ( ); - SVGPoint createSVGPoint ( ); - SVGMatrix createSVGMatrix ( ); - SVGRect createSVGRect ( ); - SVGTransform createSVGTransform ( ); - SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix ); - Element getElementById ( in DOMString elementId ); - }; - - interface SVGGElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget {}; - - interface SVGDefsElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget {}; - - interface SVGDescElement : - SVGElement, - SVGLangSpace, - SVGStylable {}; - - interface SVGTitleElement : - SVGElement, - SVGLangSpace, - SVGStylable {}; - - interface SVGSymbolElement : - SVGElement, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGFitToViewBox, - events::EventTarget {}; - - interface SVGUseElement : - SVGElement, - SVGURIReference, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget { - - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - readonly attribute SVGElementInstance instanceRoot; - readonly attribute SVGElementInstance animatedInstanceRoot; - }; - - interface SVGElementInstance : events::EventTarget { - readonly attribute SVGElement correspondingElement; - readonly attribute SVGUseElement correspondingUseElement; - readonly attribute SVGElementInstance parentNode; - readonly attribute SVGElementInstanceList childNodes; - readonly attribute SVGElementInstance firstChild; - readonly attribute SVGElementInstance lastChild; - readonly attribute SVGElementInstance previousSibling; - readonly attribute SVGElementInstance nextSibling; - }; - - interface SVGElementInstanceList { - - readonly attribute unsigned long length; - - SVGElementInstance item ( in unsigned long index ); - }; - - interface SVGImageElement : - SVGElement, - SVGURIReference, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget { - - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; - }; - - interface SVGSwitchElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget {}; - - interface GetSVGDocument { - - SVGDocument getSVGDocument ( ) - raises( DOMException ); - }; - - interface SVGStyleElement : SVGElement { - attribute DOMString xmlspace; - // raises DOMException on setting - attribute DOMString type; - // raises DOMException on setting - attribute DOMString media; - // raises DOMException on setting - attribute DOMString title; - // raises DOMException on setting - }; - - interface SVGPoint { - - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - - SVGPoint matrixTransform ( in SVGMatrix matrix ); - }; - - interface SVGPointList { - - readonly attribute unsigned long numberOfItems; - - void clear ( ) - raises( DOMException ); - SVGPoint initialize ( in SVGPoint newItem ) - raises( DOMException, SVGException ); - SVGPoint getItem ( in unsigned long index ) - raises( DOMException ); - SVGPoint insertItemBefore ( in SVGPoint newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGPoint replaceItem ( in SVGPoint newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGPoint removeItem ( in unsigned long index ) - raises( DOMException ); - SVGPoint appendItem ( in SVGPoint newItem ) - raises( DOMException, SVGException ); - }; - - interface SVGMatrix { - - attribute float a; - // raises DOMException on setting - attribute float b; - // raises DOMException on setting - attribute float c; - // raises DOMException on setting - attribute float d; - // raises DOMException on setting - attribute float e; - // raises DOMException on setting - attribute float f; - // raises DOMException on setting - - SVGMatrix multiply ( in SVGMatrix secondMatrix ); - SVGMatrix inverse ( ) - raises( SVGException ); - SVGMatrix translate ( in float x, in float y ); - SVGMatrix scale ( in float scaleFactor ); - SVGMatrix scaleNonUniform ( in float scaleFactorX, in float scaleFactorY ); - SVGMatrix rotate ( in float angle ); - SVGMatrix rotateFromVector ( in float x, in float y ) - raises( SVGException ); - SVGMatrix flipX ( ); - SVGMatrix flipY ( ); - SVGMatrix skewX ( in float angle ); - SVGMatrix skewY ( in float angle ); - }; - - interface SVGTransform { - - // Transform Types - const unsigned short SVG_TRANSFORM_UNKNOWN = 0; - const unsigned short SVG_TRANSFORM_MATRIX = 1; - const unsigned short SVG_TRANSFORM_TRANSLATE = 2; - const unsigned short SVG_TRANSFORM_SCALE = 3; - const unsigned short SVG_TRANSFORM_ROTATE = 4; - const unsigned short SVG_TRANSFORM_SKEWX = 5; - const unsigned short SVG_TRANSFORM_SKEWY = 6; - - readonly attribute unsigned short type; - readonly attribute SVGMatrix matrix; - readonly attribute float angle; - - void setMatrix ( in SVGMatrix matrix ); - void setTranslate ( in float tx, in float ty ); - void setScale ( in float sx, in float sy ); - void setRotate ( in float angle, in float cx, in float cy ); - void setSkewX ( in float angle ); - void setSkewY ( in float angle ); - }; - - interface SVGTransformList { - - readonly attribute unsigned long numberOfItems; - - void clear ( ) - raises( DOMException ); - SVGTransform initialize ( in SVGTransform newItem ) - raises( DOMException, SVGException ); - SVGTransform getItem ( in unsigned long index ) - raises( DOMException ); - SVGTransform insertItemBefore ( in SVGTransform newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGTransform replaceItem ( in SVGTransform newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGTransform removeItem ( in unsigned long index ) - raises( DOMException ); - SVGTransform appendItem ( in SVGTransform newItem ) - raises( DOMException, SVGException ); - SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix ); - SVGTransform consolidate ( ); - }; - - interface SVGAnimatedTransformList { - - readonly attribute SVGTransformList baseVal; - readonly attribute SVGTransformList animVal; - }; - - interface SVGPreserveAspectRatio { - - // Alignment Types - const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0; - const unsigned short SVG_PRESERVEASPECTRATIO_NONE = 1; - const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2; - const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3; - const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4; - const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5; - const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6; - const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7; - const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8; - const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9; - const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10; - // Meet-or-slice Types - const unsigned short SVG_MEETORSLICE_UNKNOWN = 0; - const unsigned short SVG_MEETORSLICE_MEET = 1; - const unsigned short SVG_MEETORSLICE_SLICE = 2; - - attribute unsigned short align; - // raises DOMException on setting - attribute unsigned short meetOrSlice; - // raises DOMException on setting - }; - - interface SVGAnimatedPreserveAspectRatio { - - readonly attribute SVGPreserveAspectRatio baseVal; - readonly attribute SVGPreserveAspectRatio animVal; - }; - - interface SVGPathSeg { - - // Path Segment Types - const unsigned short PATHSEG_UNKNOWN = 0; - const unsigned short PATHSEG_CLOSEPATH = 1; - const unsigned short PATHSEG_MOVETO_ABS = 2; - const unsigned short PATHSEG_MOVETO_REL = 3; - const unsigned short PATHSEG_LINETO_ABS = 4; - const unsigned short PATHSEG_LINETO_REL = 5; - const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6; - const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7; - const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8; - const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9; - const unsigned short PATHSEG_ARC_ABS = 10; - const unsigned short PATHSEG_ARC_REL = 11; - const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12; - const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13; - const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14; - const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15; - const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16; - const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17; - const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18; - const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; - - readonly attribute unsigned short pathSegType; - readonly attribute DOMString pathSegTypeAsLetter; - }; - - interface SVGPathSegClosePath : SVGPathSeg {}; - - interface SVGPathSegMovetoAbs : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - }; - - interface SVGPathSegMovetoRel : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - }; - - interface SVGPathSegLinetoAbs : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - }; - - interface SVGPathSegLinetoRel : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - }; - - interface SVGPathSegCurvetoCubicAbs : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float x1; - // raises DOMException on setting - attribute float y1; - // raises DOMException on setting - attribute float x2; - // raises DOMException on setting - attribute float y2; - // raises DOMException on setting - }; - - interface SVGPathSegCurvetoCubicRel : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float x1; - // raises DOMException on setting - attribute float y1; - // raises DOMException on setting - attribute float x2; - // raises DOMException on setting - attribute float y2; - // raises DOMException on setting - }; - - interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float x1; - // raises DOMException on setting - attribute float y1; - // raises DOMException on setting - }; - - interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float x1; - // raises DOMException on setting - attribute float y1; - // raises DOMException on setting - }; - - interface SVGPathSegArcAbs : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float r1; - // raises DOMException on setting - attribute float r2; - // raises DOMException on setting - attribute float angle; - // raises DOMException on setting - attribute boolean largeArcFlag; - // raises DOMException on setting - attribute boolean sweepFlag; - // raises DOMException on setting - }; - - interface SVGPathSegArcRel : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float r1; - // raises DOMException on setting - attribute float r2; - // raises DOMException on setting - attribute float angle; - // raises DOMException on setting - attribute boolean largeArcFlag; - // raises DOMException on setting - attribute boolean sweepFlag; - // raises DOMException on setting - }; - - interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg { - attribute float x; - // raises DOMException on setting - }; - - interface SVGPathSegLinetoHorizontalRel : SVGPathSeg { - attribute float x; - // raises DOMException on setting - }; - - interface SVGPathSegLinetoVerticalAbs : SVGPathSeg { - attribute float y; - // raises DOMException on setting - }; - - interface SVGPathSegLinetoVerticalRel : SVGPathSeg { - attribute float y; - // raises DOMException on setting - }; - - interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float x2; - // raises DOMException on setting - attribute float y2; - // raises DOMException on setting - }; - - interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float x2; - // raises DOMException on setting - attribute float y2; - // raises DOMException on setting - }; - - interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - }; - - interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg { - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - }; - - interface SVGPathSegList { - - readonly attribute unsigned long numberOfItems; - - void clear ( ) - raises( DOMException ); - SVGPathSeg initialize ( in SVGPathSeg newItem ) - raises( DOMException, SVGException ); - SVGPathSeg getItem ( in unsigned long index ) - raises( DOMException ); - SVGPathSeg insertItemBefore ( in SVGPathSeg newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGPathSeg replaceItem ( in SVGPathSeg newItem, in unsigned long index ) - raises( DOMException, SVGException ); - SVGPathSeg removeItem ( in unsigned long index ) - raises( DOMException ); - SVGPathSeg appendItem ( in SVGPathSeg newItem ) - raises( DOMException, SVGException ); - }; - - interface SVGAnimatedPathData { - - readonly attribute SVGPathSegList pathSegList; - readonly attribute SVGPathSegList normalizedPathSegList; - readonly attribute SVGPathSegList animatedPathSegList; - readonly attribute SVGPathSegList animatedNormalizedPathSegList; - }; - - interface SVGPathElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget, - SVGAnimatedPathData { - - readonly attribute SVGAnimatedNumber pathLength; - - float getTotalLength ( ); - SVGPoint getPointAtLength ( in float distance ); - unsigned long getPathSegAtLength ( in float distance ); - SVGPathSegClosePath createSVGPathSegClosePath ( ); - SVGPathSegMovetoAbs createSVGPathSegMovetoAbs ( in float x, in float y ); - SVGPathSegMovetoRel createSVGPathSegMovetoRel ( in float x, in float y ); - SVGPathSegLinetoAbs createSVGPathSegLinetoAbs ( in float x, in float y ); - SVGPathSegLinetoRel createSVGPathSegLinetoRel ( in float x, in float y ); - SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 ); - SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 ); - SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs ( in float x, in float y, in float x1, in float y1 ); - SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel ( in float x, in float y, in float x1, in float y1 ); - SVGPathSegArcAbs createSVGPathSegArcAbs ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag ); - SVGPathSegArcRel createSVGPathSegArcRel ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag ); - SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs ( in float x ); - SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel ( in float x ); - SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs ( in float y ); - SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel ( in float y ); - SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs ( in float x, in float y, in float x2, in float y2 ); - SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel ( in float x, in float y, in float x2, in float y2 ); - SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs ( in float x, in float y ); - SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel ( in float x, in float y ); - }; - - interface SVGRectElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget { - - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - readonly attribute SVGAnimatedLength rx; - readonly attribute SVGAnimatedLength ry; - }; - - interface SVGCircleElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget { - - readonly attribute SVGAnimatedLength cx; - readonly attribute SVGAnimatedLength cy; - readonly attribute SVGAnimatedLength r; - }; - - interface SVGEllipseElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget { - - readonly attribute SVGAnimatedLength cx; - readonly attribute SVGAnimatedLength cy; - readonly attribute SVGAnimatedLength rx; - readonly attribute SVGAnimatedLength ry; - }; - - interface SVGLineElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget { - - readonly attribute SVGAnimatedLength x1; - readonly attribute SVGAnimatedLength y1; - readonly attribute SVGAnimatedLength x2; - readonly attribute SVGAnimatedLength y2; - }; - - interface SVGAnimatedPoints { - - readonly attribute SVGPointList points; - readonly attribute SVGPointList animatedPoints; - }; - - interface SVGPolylineElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget, - SVGAnimatedPoints {}; - - interface SVGPolygonElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget, - SVGAnimatedPoints {}; - - interface SVGTextContentElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - events::EventTarget { - - // lengthAdjust Types - const unsigned short LENGTHADJUST_UNKNOWN = 0; - const unsigned short LENGTHADJUST_SPACING = 1; - const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2; - - readonly attribute SVGAnimatedLength textLength; - readonly attribute SVGAnimatedEnumeration lengthAdjust; - - long getNumberOfChars ( ); - float getComputedTextLength ( ); - float getSubStringLength ( in unsigned long charnum, in unsigned long nchars ) - raises( DOMException ); - SVGPoint getStartPositionOfChar ( in unsigned long charnum ) - raises( DOMException ); - SVGPoint getEndPositionOfChar ( in unsigned long charnum ) - raises( DOMException ); - SVGRect getExtentOfChar ( in unsigned long charnum ) - raises( DOMException ); - float getRotationOfChar ( in unsigned long charnum ) - raises( DOMException ); - long getCharNumAtPosition ( in SVGPoint point ); - void selectSubString ( in unsigned long charnum, in unsigned long nchars ) - raises( DOMException ); - }; - - interface SVGTextPositioningElement : SVGTextContentElement { - readonly attribute SVGAnimatedLengthList x; - readonly attribute SVGAnimatedLengthList y; - readonly attribute SVGAnimatedLengthList dx; - readonly attribute SVGAnimatedLengthList dy; - readonly attribute SVGAnimatedNumberList rotate; - }; - - interface SVGTextElement : - SVGTextPositioningElement, - SVGTransformable {}; - - interface SVGTSpanElement : SVGTextPositioningElement {}; - - interface SVGTRefElement : - SVGTextPositioningElement, - SVGURIReference {}; - - interface SVGTextPathElement : - SVGTextContentElement, - SVGURIReference { - - // textPath Method Types - const unsigned short TEXTPATH_METHODTYPE_UNKNOWN = 0; - const unsigned short TEXTPATH_METHODTYPE_ALIGN = 1; - const unsigned short TEXTPATH_METHODTYPE_STRETCH = 2; - // textPath Spacing Types - const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN = 0; - const unsigned short TEXTPATH_SPACINGTYPE_AUTO = 1; - const unsigned short TEXTPATH_SPACINGTYPE_EXACT = 2; - - readonly attribute SVGAnimatedLength startOffset; - readonly attribute SVGAnimatedEnumeration method; - readonly attribute SVGAnimatedEnumeration spacing; - }; - - interface SVGAltGlyphElement : - SVGTextPositioningElement, - SVGURIReference { - - attribute DOMString glyphRef; - // raises DOMException on setting - attribute DOMString format; - // raises DOMException on setting - }; - - interface SVGAltGlyphDefElement : SVGElement {}; - - interface SVGAltGlyphItemElement : SVGElement {}; - - interface SVGGlyphRefElement : - SVGElement, - SVGURIReference, - SVGStylable { - - attribute DOMString glyphRef; - // raises DOMException on setting - attribute DOMString format; - // raises DOMException on setting - attribute float x; - // raises DOMException on setting - attribute float y; - // raises DOMException on setting - attribute float dx; - // raises DOMException on setting - attribute float dy; - // raises DOMException on setting - }; - - interface SVGPaint : SVGColor { - // Paint Types - const unsigned short SVG_PAINTTYPE_UNKNOWN = 0; - const unsigned short SVG_PAINTTYPE_RGBCOLOR = 1; - const unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2; - const unsigned short SVG_PAINTTYPE_NONE = 101; - const unsigned short SVG_PAINTTYPE_CURRENTCOLOR = 102; - const unsigned short SVG_PAINTTYPE_URI_NONE = 103; - const unsigned short SVG_PAINTTYPE_URI_CURRENTCOLOR = 104; - const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR = 105; - const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106; - const unsigned short SVG_PAINTTYPE_URI = 107; - - readonly attribute unsigned short paintType; - readonly attribute DOMString uri; - - void setUri ( in DOMString uri ); - void setPaint ( in unsigned short paintType, in DOMString uri, in DOMString rgbColor, in DOMString iccColor ) - raises( SVGException ); - }; - - interface SVGMarkerElement : - SVGElement, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGFitToViewBox { - - // Marker Unit Types - const unsigned short SVG_MARKERUNITS_UNKNOWN = 0; - const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1; - const unsigned short SVG_MARKERUNITS_STROKEWIDTH = 2; - // Marker Orientation Types - const unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0; - const unsigned short SVG_MARKER_ORIENT_AUTO = 1; - const unsigned short SVG_MARKER_ORIENT_ANGLE = 2; - - readonly attribute SVGAnimatedLength refX; - readonly attribute SVGAnimatedLength refY; - readonly attribute SVGAnimatedEnumeration markerUnits; - readonly attribute SVGAnimatedLength markerWidth; - readonly attribute SVGAnimatedLength markerHeight; - readonly attribute SVGAnimatedEnumeration orientType; - readonly attribute SVGAnimatedAngle orientAngle; - - void setOrientToAuto ( ); - void setOrientToAngle ( in SVGAngle angle ); - }; - - interface SVGColorProfileElement : - SVGElement, - SVGURIReference, - SVGRenderingIntent { - - attribute DOMString local; - // raises DOMException on setting - attribute DOMString name; - // raises DOMException on setting - attribute unsigned short renderingIntent; - // raises DOMException on setting - }; - - interface SVGColorProfileRule : - SVGCSSRule, - SVGRenderingIntent { - - attribute DOMString src; - // raises DOMException on setting - attribute DOMString name; - // raises DOMException on setting - attribute unsigned short renderingIntent; - // raises DOMException on setting - }; - - interface SVGGradientElement : - SVGElement, - SVGURIReference, - SVGExternalResourcesRequired, - SVGStylable, - SVGUnitTypes { - - // Spread Method Types - const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0; - const unsigned short SVG_SPREADMETHOD_PAD = 1; - const unsigned short SVG_SPREADMETHOD_REFLECT = 2; - const unsigned short SVG_SPREADMETHOD_REPEAT = 3; - - readonly attribute SVGAnimatedEnumeration gradientUnits; - readonly attribute SVGAnimatedTransformList gradientTransform; - readonly attribute SVGAnimatedEnumeration spreadMethod; - }; - - interface SVGLinearGradientElement : SVGGradientElement { - readonly attribute SVGAnimatedLength x1; - readonly attribute SVGAnimatedLength y1; - readonly attribute SVGAnimatedLength x2; - readonly attribute SVGAnimatedLength y2; - }; - - interface SVGRadialGradientElement : SVGGradientElement { - readonly attribute SVGAnimatedLength cx; - readonly attribute SVGAnimatedLength cy; - readonly attribute SVGAnimatedLength r; - readonly attribute SVGAnimatedLength fx; - readonly attribute SVGAnimatedLength fy; - }; - - interface SVGStopElement : - SVGElement, - SVGStylable { - - readonly attribute SVGAnimatedNumber offset; - }; - - interface SVGPatternElement : - SVGElement, - SVGURIReference, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGFitToViewBox, - SVGUnitTypes { - - readonly attribute SVGAnimatedEnumeration patternUnits; - readonly attribute SVGAnimatedEnumeration patternContentUnits; - readonly attribute SVGAnimatedTransformList patternTransform; - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - }; - - interface SVGClipPathElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - SVGUnitTypes { - - readonly attribute SVGAnimatedEnumeration clipPathUnits; - }; - - interface SVGMaskElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGUnitTypes { - - readonly attribute SVGAnimatedEnumeration maskUnits; - readonly attribute SVGAnimatedEnumeration maskContentUnits; - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - }; - - interface SVGFilterElement : - SVGElement, - SVGURIReference, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGUnitTypes { - - readonly attribute SVGAnimatedEnumeration filterUnits; - readonly attribute SVGAnimatedEnumeration primitiveUnits; - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - readonly attribute SVGAnimatedInteger filterResX; - readonly attribute SVGAnimatedInteger filterResY; - - void setFilterRes ( in unsigned long filterResX, in unsigned long filterResY ); - }; - - interface SVGFilterPrimitiveStandardAttributes : SVGStylable { - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - readonly attribute SVGAnimatedString result; - }; - - interface SVGFEBlendElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - // Blend Mode Types - const unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0; - const unsigned short SVG_FEBLEND_MODE_NORMAL = 1; - const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2; - const unsigned short SVG_FEBLEND_MODE_SCREEN = 3; - const unsigned short SVG_FEBLEND_MODE_DARKEN = 4; - const unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5; - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedString in2; - readonly attribute SVGAnimatedEnumeration mode; - }; - - interface SVGFEColorMatrixElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - // Color Matrix Types - const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0; - const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1; - const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2; - const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3; - const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4; - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedEnumeration type; - readonly attribute SVGAnimatedNumberList values; - }; - - interface SVGFEComponentTransferElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - readonly attribute SVGAnimatedString in1; - }; - - interface SVGComponentTransferFunctionElement : SVGElement { - // Component Transfer Types - const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0; - const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1; - const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2; - const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3; - const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4; - const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5; - - readonly attribute SVGAnimatedEnumeration type; - readonly attribute SVGAnimatedNumberList tableValues; - readonly attribute SVGAnimatedNumber slope; - readonly attribute SVGAnimatedNumber intercept; - readonly attribute SVGAnimatedNumber amplitude; - readonly attribute SVGAnimatedNumber exponent; - readonly attribute SVGAnimatedNumber offset; - }; - - interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {}; - - interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {}; - - interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {}; - - interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {}; - - interface SVGFECompositeElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - // Composite Operators - const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0; - const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1; - const unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2; - const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3; - const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4; - const unsigned short SVG_FECOMPOSITE_OPERATOR_XOR = 5; - const unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6; - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedString in2; - readonly attribute SVGAnimatedEnumeration operator; - readonly attribute SVGAnimatedNumber k1; - readonly attribute SVGAnimatedNumber k2; - readonly attribute SVGAnimatedNumber k3; - readonly attribute SVGAnimatedNumber k4; - }; - - interface SVGFEConvolveMatrixElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - // Edge Mode Values - const unsigned short SVG_EDGEMODE_UNKNOWN = 0; - const unsigned short SVG_EDGEMODE_DUPLICATE = 1; - const unsigned short SVG_EDGEMODE_WRAP = 2; - const unsigned short SVG_EDGEMODE_NONE = 3; - - readonly attribute SVGAnimatedInteger orderX; - readonly attribute SVGAnimatedInteger orderY; - readonly attribute SVGAnimatedNumberList kernelMatrix; - readonly attribute SVGAnimatedNumber divisor; - readonly attribute SVGAnimatedNumber bias; - readonly attribute SVGAnimatedInteger targetX; - readonly attribute SVGAnimatedInteger targetY; - readonly attribute SVGAnimatedEnumeration edgeMode; - readonly attribute SVGAnimatedLength kernelUnitLengthX; - readonly attribute SVGAnimatedLength kernelUnitLengthY; - readonly attribute SVGAnimatedBoolean preserveAlpha; - }; - - interface SVGFEDiffuseLightingElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedNumber surfaceScale; - readonly attribute SVGAnimatedNumber diffuseConstant; - }; - - interface SVGFEDistantLightElement : SVGElement { - readonly attribute SVGAnimatedNumber azimuth; - readonly attribute SVGAnimatedNumber elevation; - }; - - interface SVGFEPointLightElement : SVGElement { - readonly attribute SVGAnimatedNumber x; - readonly attribute SVGAnimatedNumber y; - readonly attribute SVGAnimatedNumber z; - }; - - interface SVGFESpotLightElement : SVGElement { - readonly attribute SVGAnimatedNumber x; - readonly attribute SVGAnimatedNumber y; - readonly attribute SVGAnimatedNumber z; - readonly attribute SVGAnimatedNumber pointsAtX; - readonly attribute SVGAnimatedNumber pointsAtY; - readonly attribute SVGAnimatedNumber pointsAtZ; - readonly attribute SVGAnimatedNumber specularExponent; - readonly attribute SVGAnimatedNumber limitingConeAngle; - }; - - interface SVGFEDisplacementMapElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - // Channel Selectors - const unsigned short SVG_CHANNEL_UNKNOWN = 0; - const unsigned short SVG_CHANNEL_R = 1; - const unsigned short SVG_CHANNEL_G = 2; - const unsigned short SVG_CHANNEL_B = 3; - const unsigned short SVG_CHANNEL_A = 4; - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedString in2; - readonly attribute SVGAnimatedNumber scale; - readonly attribute SVGAnimatedEnumeration xChannelSelector; - readonly attribute SVGAnimatedEnumeration yChannelSelector; - }; - - interface SVGFEFloodElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - readonly attribute SVGAnimatedString in1; - }; - - interface SVGFEGaussianBlurElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedNumber stdDeviationX; - readonly attribute SVGAnimatedNumber stdDeviationY; - - void setStdDeviation ( in float stdDeviationX, in float stdDeviationY ); - }; - - interface SVGFEImageElement : - SVGElement, - SVGURIReference, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGFilterPrimitiveStandardAttributes {}; - - interface SVGFEMergeElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes {}; - - interface SVGFEMergeNodeElement : SVGElement { - readonly attribute SVGAnimatedString in1; - }; - - interface SVGFEMorphologyElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - // Morphology Operators - const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0; - const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1; - const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2; - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedEnumeration operator; - readonly attribute SVGAnimatedLength radiusX; - readonly attribute SVGAnimatedLength radiusY; - }; - - interface SVGFEOffsetElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedNumber dx; - readonly attribute SVGAnimatedNumber dy; - }; - - interface SVGFESpecularLightingElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - readonly attribute SVGAnimatedString in1; - readonly attribute SVGAnimatedNumber surfaceScale; - readonly attribute SVGAnimatedNumber specularConstant; - readonly attribute SVGAnimatedNumber specularExponent; - }; - - interface SVGFETileElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - readonly attribute SVGAnimatedString in1; - }; - - interface SVGFETurbulenceElement : - SVGElement, - SVGFilterPrimitiveStandardAttributes { - - // Turbulence Types - const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0; - const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1; - const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2; - // Stitch Options - const unsigned short SVG_STITCHTYPE_UNKNOWN = 0; - const unsigned short SVG_STITCHTYPE_STITCH = 1; - const unsigned short SVG_STITCHTYPE_NOSTITCH = 2; - - readonly attribute SVGAnimatedNumber baseFrequencyX; - readonly attribute SVGAnimatedNumber baseFrequencyY; - readonly attribute SVGAnimatedInteger numOctaves; - readonly attribute SVGAnimatedNumber seed; - readonly attribute SVGAnimatedEnumeration stitchTiles; - readonly attribute SVGAnimatedEnumeration type; - }; - - interface SVGCursorElement : - SVGElement, - SVGURIReference, - SVGTests, - SVGExternalResourcesRequired { - - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - }; - - interface SVGAElement : - SVGElement, - SVGURIReference, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget { - - readonly attribute SVGAnimatedString target; - }; - - interface SVGViewElement : - SVGElement, - SVGExternalResourcesRequired, - SVGFitToViewBox, - SVGZoomAndPan { - - readonly attribute SVGStringList viewTarget; - }; - - interface SVGScriptElement : - SVGElement, - SVGURIReference, - SVGExternalResourcesRequired { - - attribute DOMString type; - // raises DOMException on setting - }; - - interface SVGEvent : events::Event {}; - - interface SVGZoomEvent : events::UIEvent { - readonly attribute SVGRect zoomRectScreen; - readonly attribute float previousScale; - readonly attribute SVGPoint previousTranslate; - readonly attribute float newScale; - readonly attribute SVGPoint newTranslate; - }; - - interface SVGAnimationElement : - SVGElement, - SVGTests, - SVGExternalResourcesRequired, - smil::ElementTimeControl, - events::EventTarget { - - readonly attribute SVGElement targetElement; - - float getStartTime ( ); - float getCurrentTime ( ); - float getSimpleDuration ( ) - raises( DOMException ); - }; - - interface SVGAnimateElement : SVGAnimationElement {}; - - interface SVGSetElement : SVGAnimationElement {}; - - interface SVGAnimateMotionElement : SVGAnimationElement {}; - - interface SVGMPathElement : - SVGElement, - SVGURIReference, - SVGExternalResourcesRequired {}; - - interface SVGAnimateColorElement : SVGAnimationElement {}; - - interface SVGAnimateTransformElement : SVGAnimationElement {}; - - interface SVGFontElement : - SVGElement, - SVGExternalResourcesRequired, - SVGStylable {}; - - interface SVGGlyphElement : - SVGElement, - SVGStylable {}; - - interface SVGMissingGlyphElement : - SVGElement, - SVGStylable {}; - - interface SVGHKernElement : SVGElement {}; - - interface SVGVKernElement : SVGElement {}; - - interface SVGFontFaceElement : SVGElement {}; - - interface SVGFontFaceSrcElement : SVGElement {}; - - interface SVGFontFaceUriElement : SVGElement {}; - - interface SVGFontFaceFormatElement : SVGElement {}; - - interface SVGFontFaceNameElement : SVGElement {}; - - interface SVGDefinitionSrcElement : SVGElement {}; - - interface SVGMetadataElement : SVGElement {}; - - interface SVGForeignObjectElement : - SVGElement, - SVGTests, - SVGLangSpace, - SVGExternalResourcesRequired, - SVGStylable, - SVGTransformable, - events::EventTarget { - - readonly attribute SVGAnimatedLength x; - readonly attribute SVGAnimatedLength y; - readonly attribute SVGAnimatedLength width; - readonly attribute SVGAnimatedLength height; - }; - - -}; - -#endif // _SVG_IDL_ \ No newline at end of file diff --git a/src/dom/svg/svgimpl.cpp b/src/dom/svg/svgimpl.cpp deleted file mode 100644 index 03d42e515..000000000 --- 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 deleted file mode 100644 index 5c2e78f1b..000000000 --- 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 - - - -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 SVGSVGElementImplPtr; -class SVGElementImpl; -typedef Ptr SVGElementImplPtr; -class SVGDocumentImpl; -typedef Ptr 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 deleted file mode 100644 index 186fd40ff..000000000 --- a/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 - -#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+=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'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 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 pgetNamespaceURI(); - //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 ; igetNodeType(); - 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(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(doc->getRootElement().get()); - ElementImplPtr srcElem = dynamic_cast(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 deleted file mode 100644 index cb3ac15d4..000000000 --- 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 deleted file mode 100644 index 36bb1fcdf..000000000 --- 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 - - - -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::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::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::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; - -}; - - - - - - -/*######################################################################### -## 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::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::iterator iter = items.begin() + index; - *iter = newItem; - return newItem; - } - - /** - * - */ - virtual DOMString removeItem ( unsigned long index ) - throw( DOMException ) - { - if (index>=items.size()) - return ""; - std::vector::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::vectoritems; - -}; - - - - - -/*######################################################################### -## 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::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::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::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::vectoritems; - -}; - - - - - -/*######################################################################### -## 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::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::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::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::vectoritems; - -}; - - - - - - -/*######################################################################### -## 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::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::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::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 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::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::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::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 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 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 new file mode 100644 index 000000000..03d42e515 --- /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 new file mode 100644 index 000000000..5c2e78f1b --- /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 + + + +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 SVGSVGElementImplPtr; +class SVGElementImpl; +typedef Ptr SVGElementImplPtr; +class SVGDocumentImpl; +typedef Ptr 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 new file mode 100644 index 000000000..186fd40ff --- /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 + +#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+=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'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 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 pgetNamespaceURI(); + //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 ; igetNodeType(); + 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(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(doc->getRootElement().get()); + ElementImplPtr srcElem = dynamic_cast(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 new file mode 100644 index 000000000..cb3ac15d4 --- /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 new file mode 100644 index 000000000..36bb1fcdf --- /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 + + + +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::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::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::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; + +}; + + + + + + +/*######################################################################### +## 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::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::iterator iter = items.begin() + index; + *iter = newItem; + return newItem; + } + + /** + * + */ + virtual DOMString removeItem ( unsigned long index ) + throw( DOMException ) + { + if (index>=items.size()) + return ""; + std::vector::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::vectoritems; + +}; + + + + + +/*######################################################################### +## 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::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::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::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::vectoritems; + +}; + + + + + +/*######################################################################### +## 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::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::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::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::vectoritems; + +}; + + + + + + +/*######################################################################### +## 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::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::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::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 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::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::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::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 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 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 new file mode 100644 index 000000000..1a30dd3be --- /dev/null +++ b/src/dom/work/svg.idl @@ -0,0 +1,1751 @@ +// File: svg.idl +#ifndef _SVG_IDL_ +#define _SVG_IDL_ + + +// For access to DOM2 core +#include "dom.idl" + +// For access to DOM2 events +#include "events.idl" + +// For access to those parts from DOM2 CSS OM used by SVG DOM. +#include "css.idl" + +// For access to those parts from DOM2 Views OM used by SVG DOM. +#include "views.idl" + +// For access to the SMIL OM used by SVG DOM. +#include "smil.idl" + +#pragma prefix "dom.w3c.org" +#pragma javaPackage "org.w3c.dom" +module svg +{ + typedef dom::DOMString DOMString; + typedef dom::DOMException DOMException; + typedef dom::Element Element; + typedef dom::Document Document; + typedef dom::NodeList NodeList; + + // Predeclarations + interface SVGElement; + interface SVGLangSpace; + interface SVGExternalResourcesRequired; + interface SVGTests; + interface SVGFitToViewBox; + interface SVGZoomAndPan; + interface SVGViewSpec; + interface SVGURIReference; + interface SVGPoint; + interface SVGMatrix; + interface SVGPreserveAspectRatio; + interface SVGAnimatedPreserveAspectRatio; + interface SVGTransformList; + interface SVGAnimatedTransformList; + interface SVGTransform; + interface SVGICCColor; + interface SVGColor; + interface SVGPaint; + interface SVGTransformable; + interface SVGDocument; + interface SVGSVGElement; + interface SVGElementInstance; + interface SVGElementInstanceList; + + + exception SVGException { + unsigned short code; + }; + + // SVGExceptionCode + const unsigned short SVG_WRONG_TYPE_ERR = 0; + const unsigned short SVG_INVALID_VALUE_ERR = 1; + const unsigned short SVG_MATRIX_NOT_INVERTABLE = 2; + + interface SVGElement : Element { + attribute DOMString id; + // raises DOMException on setting + attribute DOMString xmlbase; + // raises DOMException on setting + readonly attribute SVGSVGElement ownerSVGElement; + readonly attribute SVGElement viewportElement; + }; + + interface SVGAnimatedBoolean { + + attribute boolean baseVal; + // raises DOMException on setting + readonly attribute boolean animVal; + }; + + interface SVGAnimatedString { + + attribute DOMString baseVal; + // raises DOMException on setting + readonly attribute DOMString animVal; + }; + + interface SVGStringList { + + readonly attribute unsigned long numberOfItems; + + void clear ( ) + raises( DOMException ); + DOMString initialize ( in DOMString newItem ) + raises( DOMException, SVGException ); + DOMString getItem ( in unsigned long index ) + raises( DOMException ); + DOMString insertItemBefore ( in DOMString newItem, in unsigned long index ) + raises( DOMException, SVGException ); + DOMString replaceItem ( in DOMString newItem, in unsigned long index ) + raises( DOMException, SVGException ); + DOMString removeItem ( in unsigned long index ) + raises( DOMException ); + DOMString appendItem ( in DOMString newItem ) + raises( DOMException, SVGException ); + }; + + interface SVGAnimatedEnumeration { + + attribute unsigned short baseVal; + // raises DOMException on setting + readonly attribute unsigned short animVal; + }; + + interface SVGAnimatedInteger { + + attribute long baseVal; + // raises DOMException on setting + readonly attribute long animVal; + }; + + interface SVGNumber { + + attribute float value; + // raises DOMException on setting + }; + + interface SVGAnimatedNumber { + + attribute float baseVal; + // raises DOMException on setting + readonly attribute float animVal; + }; + + interface SVGNumberList { + + readonly attribute unsigned long numberOfItems; + + void clear ( ) + raises( DOMException ); + SVGNumber initialize ( in SVGNumber newItem ) + raises( DOMException, SVGException ); + SVGNumber getItem ( in unsigned long index ) + raises( DOMException ); + SVGNumber insertItemBefore ( in SVGNumber newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGNumber replaceItem ( in SVGNumber newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGNumber removeItem ( in unsigned long index ) + raises( DOMException ); + SVGNumber appendItem ( in SVGNumber newItem ) + raises( DOMException, SVGException ); + }; + + interface SVGAnimatedNumberList { + + readonly attribute SVGNumberList baseVal; + readonly attribute SVGNumberList animVal; + }; + + interface SVGLength { + + // Length Unit Types + const unsigned short SVG_LENGTHTYPE_UNKNOWN = 0; + const unsigned short SVG_LENGTHTYPE_NUMBER = 1; + const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2; + const unsigned short SVG_LENGTHTYPE_EMS = 3; + const unsigned short SVG_LENGTHTYPE_EXS = 4; + const unsigned short SVG_LENGTHTYPE_PX = 5; + const unsigned short SVG_LENGTHTYPE_CM = 6; + const unsigned short SVG_LENGTHTYPE_MM = 7; + const unsigned short SVG_LENGTHTYPE_IN = 8; + const unsigned short SVG_LENGTHTYPE_PT = 9; + const unsigned short SVG_LENGTHTYPE_PC = 10; + + readonly attribute unsigned short unitType; + attribute float value; + // raises DOMException on setting + attribute float valueInSpecifiedUnits; + // raises DOMException on setting + attribute DOMString valueAsString; + // raises DOMException on setting + + void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits ); + void convertToSpecifiedUnits ( in unsigned short unitType ); + }; + + interface SVGAnimatedLength { + + readonly attribute SVGLength baseVal; + readonly attribute SVGLength animVal; + }; + + interface SVGLengthList { + + readonly attribute unsigned long numberOfItems; + + void clear ( ) + raises( DOMException ); + SVGLength initialize ( in SVGLength newItem ) + raises( DOMException, SVGException ); + SVGLength getItem ( in unsigned long index ) + raises( DOMException ); + SVGLength insertItemBefore ( in SVGLength newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGLength replaceItem ( in SVGLength newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGLength removeItem ( in unsigned long index ) + raises( DOMException ); + SVGLength appendItem ( in SVGLength newItem ) + raises( DOMException, SVGException ); + }; + + interface SVGAnimatedLengthList { + + readonly attribute SVGLengthList baseVal; + readonly attribute SVGLengthList animVal; + }; + + interface SVGAngle { + + // Angle Unit Types + const unsigned short SVG_ANGLETYPE_UNKNOWN = 0; + const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1; + const unsigned short SVG_ANGLETYPE_DEG = 2; + const unsigned short SVG_ANGLETYPE_RAD = 3; + const unsigned short SVG_ANGLETYPE_GRAD = 4; + + readonly attribute unsigned short unitType; + attribute float value; + // raises DOMException on setting + attribute float valueInSpecifiedUnits; + // raises DOMException on setting + attribute DOMString valueAsString; + // raises DOMException on setting + + void newValueSpecifiedUnits ( in unsigned short unitType, in float valueInSpecifiedUnits ); + void convertToSpecifiedUnits ( in unsigned short unitType ); + }; + + interface SVGAnimatedAngle { + + readonly attribute SVGAngle baseVal; + readonly attribute SVGAngle animVal; + }; + + interface SVGColor : css::CSSValue { + // Color Types + const unsigned short SVG_COLORTYPE_UNKNOWN = 0; + const unsigned short SVG_COLORTYPE_RGBCOLOR = 1; + const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2; + const unsigned short SVG_COLORTYPE_CURRENTCOLOR = 3; + + readonly attribute unsigned short colorType; + readonly attribute css::RGBColor rgbColor; + readonly attribute SVGICCColor iccColor; + + void setRGBColor ( in DOMString rgbColor ) + raises( SVGException ); + void setRGBColorICCColor ( in DOMString rgbColor, in DOMString iccColor ) + raises( SVGException ); + void setColor ( in unsigned short colorType, in DOMString rgbColor, in DOMString iccColor ) + raises( SVGException ); + }; + + interface SVGICCColor { + + attribute DOMString colorProfile; + // raises DOMException on setting + readonly attribute SVGNumberList colors; + }; + + interface SVGRect { + + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float width; + // raises DOMException on setting + attribute float height; + // raises DOMException on setting + }; + + interface SVGAnimatedRect { + + readonly attribute SVGRect baseVal; + readonly attribute SVGRect animVal; + }; + + interface SVGUnitTypes { + + // Unit Types + const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0; + const unsigned short SVG_UNIT_TYPE_USERSPACEONUSE = 1; + const unsigned short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2; + }; + + interface SVGStylable { + + readonly attribute SVGAnimatedString className; + readonly attribute css::CSSStyleDeclaration style; + + css::CSSValue getPresentationAttribute ( in DOMString name ); + }; + + interface SVGLocatable { + + readonly attribute SVGElement nearestViewportElement; + readonly attribute SVGElement farthestViewportElement; + + SVGRect getBBox ( ); + SVGMatrix getCTM ( ); + SVGMatrix getScreenCTM ( ); + SVGMatrix getTransformToElement ( in SVGElement element ) + raises( SVGException ); + }; + + interface SVGTransformable : SVGLocatable { + readonly attribute SVGAnimatedTransformList transform; + }; + + interface SVGTests { + + readonly attribute SVGStringList requiredFeatures; + readonly attribute SVGStringList requiredExtensions; + readonly attribute SVGStringList systemLanguage; + + boolean hasExtension ( in DOMString extension ); + }; + + interface SVGLangSpace { + + attribute DOMString xmllang; + // raises DOMException on setting + attribute DOMString xmlspace; + // raises DOMException on setting + }; + + interface SVGExternalResourcesRequired { + + readonly attribute SVGAnimatedBoolean externalResourcesRequired; + }; + + interface SVGFitToViewBox { + + readonly attribute SVGAnimatedRect viewBox; + readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; + }; + + interface SVGZoomAndPan { + + // Zoom and Pan Types + const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0; + const unsigned short SVG_ZOOMANDPAN_DISABLE = 1; + const unsigned short SVG_ZOOMANDPAN_MAGNIFY = 2; + + attribute unsigned short zoomAndPan; + // raises DOMException on setting + }; + + interface SVGViewSpec : + SVGZoomAndPan, + SVGFitToViewBox { + + readonly attribute SVGTransformList transform; + readonly attribute SVGElement viewTarget; + readonly attribute DOMString viewBoxString; + readonly attribute DOMString preserveAspectRatioString; + readonly attribute DOMString transformString; + readonly attribute DOMString viewTargetString; + }; + + interface SVGURIReference { + + readonly attribute SVGAnimatedString href; + }; + + interface SVGCSSRule : css::CSSRule { + // Additional CSS RuleType to support ICC color specifications + const unsigned short COLOR_PROFILE_RULE = 7; + }; + + interface SVGRenderingIntent { + + // Rendering Intent Types + const unsigned short RENDERING_INTENT_UNKNOWN = 0; + const unsigned short RENDERING_INTENT_AUTO = 1; + const unsigned short RENDERING_INTENT_PERCEPTUAL = 2; + const unsigned short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3; + const unsigned short RENDERING_INTENT_SATURATION = 4; + const unsigned short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5; + }; + + interface SVGDocument : + Document, + events::DocumentEvent { + + readonly attribute DOMString title; + readonly attribute DOMString referrer; + readonly attribute DOMString domain; + readonly attribute DOMString URL; + readonly attribute SVGSVGElement rootElement; + }; + + interface SVGSVGElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGLocatable, + SVGFitToViewBox, + SVGZoomAndPan, + events::EventTarget, + events::DocumentEvent, + css::ViewCSS, + css::DocumentCSS { + + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + attribute DOMString contentScriptType; + // raises DOMException on setting + attribute DOMString contentStyleType; + // raises DOMException on setting + readonly attribute SVGRect viewport; + readonly attribute float pixelUnitToMillimeterX; + readonly attribute float pixelUnitToMillimeterY; + readonly attribute float screenPixelToMillimeterX; + readonly attribute float screenPixelToMillimeterY; + attribute boolean useCurrentView; + // raises DOMException on setting + readonly attribute SVGViewSpec currentView; + attribute float currentScale; + // raises DOMException on setting + readonly attribute SVGPoint currentTranslate; + + unsigned long suspendRedraw ( in unsigned long max_wait_milliseconds ); + void unsuspendRedraw ( in unsigned long suspend_handle_id ) + raises( DOMException ); + void unsuspendRedrawAll ( ); + void forceRedraw ( ); + void pauseAnimations ( ); + void unpauseAnimations ( ); + boolean animationsPaused ( ); + float getCurrentTime ( ); + void setCurrentTime ( in float seconds ); + NodeList getIntersectionList ( in SVGRect rect, in SVGElement referenceElement ); + NodeList getEnclosureList ( in SVGRect rect, in SVGElement referenceElement ); + boolean checkIntersection ( in SVGElement element, in SVGRect rect ); + boolean checkEnclosure ( in SVGElement element, in SVGRect rect ); + void deselectAll ( ); + SVGNumber createSVGNumber ( ); + SVGLength createSVGLength ( ); + SVGAngle createSVGAngle ( ); + SVGPoint createSVGPoint ( ); + SVGMatrix createSVGMatrix ( ); + SVGRect createSVGRect ( ); + SVGTransform createSVGTransform ( ); + SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix ); + Element getElementById ( in DOMString elementId ); + }; + + interface SVGGElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget {}; + + interface SVGDefsElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget {}; + + interface SVGDescElement : + SVGElement, + SVGLangSpace, + SVGStylable {}; + + interface SVGTitleElement : + SVGElement, + SVGLangSpace, + SVGStylable {}; + + interface SVGSymbolElement : + SVGElement, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGFitToViewBox, + events::EventTarget {}; + + interface SVGUseElement : + SVGElement, + SVGURIReference, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget { + + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + readonly attribute SVGElementInstance instanceRoot; + readonly attribute SVGElementInstance animatedInstanceRoot; + }; + + interface SVGElementInstance : events::EventTarget { + readonly attribute SVGElement correspondingElement; + readonly attribute SVGUseElement correspondingUseElement; + readonly attribute SVGElementInstance parentNode; + readonly attribute SVGElementInstanceList childNodes; + readonly attribute SVGElementInstance firstChild; + readonly attribute SVGElementInstance lastChild; + readonly attribute SVGElementInstance previousSibling; + readonly attribute SVGElementInstance nextSibling; + }; + + interface SVGElementInstanceList { + + readonly attribute unsigned long length; + + SVGElementInstance item ( in unsigned long index ); + }; + + interface SVGImageElement : + SVGElement, + SVGURIReference, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget { + + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; + }; + + interface SVGSwitchElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget {}; + + interface GetSVGDocument { + + SVGDocument getSVGDocument ( ) + raises( DOMException ); + }; + + interface SVGStyleElement : SVGElement { + attribute DOMString xmlspace; + // raises DOMException on setting + attribute DOMString type; + // raises DOMException on setting + attribute DOMString media; + // raises DOMException on setting + attribute DOMString title; + // raises DOMException on setting + }; + + interface SVGPoint { + + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + + SVGPoint matrixTransform ( in SVGMatrix matrix ); + }; + + interface SVGPointList { + + readonly attribute unsigned long numberOfItems; + + void clear ( ) + raises( DOMException ); + SVGPoint initialize ( in SVGPoint newItem ) + raises( DOMException, SVGException ); + SVGPoint getItem ( in unsigned long index ) + raises( DOMException ); + SVGPoint insertItemBefore ( in SVGPoint newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGPoint replaceItem ( in SVGPoint newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGPoint removeItem ( in unsigned long index ) + raises( DOMException ); + SVGPoint appendItem ( in SVGPoint newItem ) + raises( DOMException, SVGException ); + }; + + interface SVGMatrix { + + attribute float a; + // raises DOMException on setting + attribute float b; + // raises DOMException on setting + attribute float c; + // raises DOMException on setting + attribute float d; + // raises DOMException on setting + attribute float e; + // raises DOMException on setting + attribute float f; + // raises DOMException on setting + + SVGMatrix multiply ( in SVGMatrix secondMatrix ); + SVGMatrix inverse ( ) + raises( SVGException ); + SVGMatrix translate ( in float x, in float y ); + SVGMatrix scale ( in float scaleFactor ); + SVGMatrix scaleNonUniform ( in float scaleFactorX, in float scaleFactorY ); + SVGMatrix rotate ( in float angle ); + SVGMatrix rotateFromVector ( in float x, in float y ) + raises( SVGException ); + SVGMatrix flipX ( ); + SVGMatrix flipY ( ); + SVGMatrix skewX ( in float angle ); + SVGMatrix skewY ( in float angle ); + }; + + interface SVGTransform { + + // Transform Types + const unsigned short SVG_TRANSFORM_UNKNOWN = 0; + const unsigned short SVG_TRANSFORM_MATRIX = 1; + const unsigned short SVG_TRANSFORM_TRANSLATE = 2; + const unsigned short SVG_TRANSFORM_SCALE = 3; + const unsigned short SVG_TRANSFORM_ROTATE = 4; + const unsigned short SVG_TRANSFORM_SKEWX = 5; + const unsigned short SVG_TRANSFORM_SKEWY = 6; + + readonly attribute unsigned short type; + readonly attribute SVGMatrix matrix; + readonly attribute float angle; + + void setMatrix ( in SVGMatrix matrix ); + void setTranslate ( in float tx, in float ty ); + void setScale ( in float sx, in float sy ); + void setRotate ( in float angle, in float cx, in float cy ); + void setSkewX ( in float angle ); + void setSkewY ( in float angle ); + }; + + interface SVGTransformList { + + readonly attribute unsigned long numberOfItems; + + void clear ( ) + raises( DOMException ); + SVGTransform initialize ( in SVGTransform newItem ) + raises( DOMException, SVGException ); + SVGTransform getItem ( in unsigned long index ) + raises( DOMException ); + SVGTransform insertItemBefore ( in SVGTransform newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGTransform replaceItem ( in SVGTransform newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGTransform removeItem ( in unsigned long index ) + raises( DOMException ); + SVGTransform appendItem ( in SVGTransform newItem ) + raises( DOMException, SVGException ); + SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix ); + SVGTransform consolidate ( ); + }; + + interface SVGAnimatedTransformList { + + readonly attribute SVGTransformList baseVal; + readonly attribute SVGTransformList animVal; + }; + + interface SVGPreserveAspectRatio { + + // Alignment Types + const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0; + const unsigned short SVG_PRESERVEASPECTRATIO_NONE = 1; + const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2; + const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3; + const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4; + const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMID = 5; + const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6; + const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7; + const unsigned short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8; + const unsigned short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9; + const unsigned short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10; + // Meet-or-slice Types + const unsigned short SVG_MEETORSLICE_UNKNOWN = 0; + const unsigned short SVG_MEETORSLICE_MEET = 1; + const unsigned short SVG_MEETORSLICE_SLICE = 2; + + attribute unsigned short align; + // raises DOMException on setting + attribute unsigned short meetOrSlice; + // raises DOMException on setting + }; + + interface SVGAnimatedPreserveAspectRatio { + + readonly attribute SVGPreserveAspectRatio baseVal; + readonly attribute SVGPreserveAspectRatio animVal; + }; + + interface SVGPathSeg { + + // Path Segment Types + const unsigned short PATHSEG_UNKNOWN = 0; + const unsigned short PATHSEG_CLOSEPATH = 1; + const unsigned short PATHSEG_MOVETO_ABS = 2; + const unsigned short PATHSEG_MOVETO_REL = 3; + const unsigned short PATHSEG_LINETO_ABS = 4; + const unsigned short PATHSEG_LINETO_REL = 5; + const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6; + const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7; + const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8; + const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9; + const unsigned short PATHSEG_ARC_ABS = 10; + const unsigned short PATHSEG_ARC_REL = 11; + const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12; + const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13; + const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14; + const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15; + const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16; + const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17; + const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18; + const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; + + readonly attribute unsigned short pathSegType; + readonly attribute DOMString pathSegTypeAsLetter; + }; + + interface SVGPathSegClosePath : SVGPathSeg {}; + + interface SVGPathSegMovetoAbs : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + }; + + interface SVGPathSegMovetoRel : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + }; + + interface SVGPathSegLinetoAbs : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + }; + + interface SVGPathSegLinetoRel : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + }; + + interface SVGPathSegCurvetoCubicAbs : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float x1; + // raises DOMException on setting + attribute float y1; + // raises DOMException on setting + attribute float x2; + // raises DOMException on setting + attribute float y2; + // raises DOMException on setting + }; + + interface SVGPathSegCurvetoCubicRel : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float x1; + // raises DOMException on setting + attribute float y1; + // raises DOMException on setting + attribute float x2; + // raises DOMException on setting + attribute float y2; + // raises DOMException on setting + }; + + interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float x1; + // raises DOMException on setting + attribute float y1; + // raises DOMException on setting + }; + + interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float x1; + // raises DOMException on setting + attribute float y1; + // raises DOMException on setting + }; + + interface SVGPathSegArcAbs : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float r1; + // raises DOMException on setting + attribute float r2; + // raises DOMException on setting + attribute float angle; + // raises DOMException on setting + attribute boolean largeArcFlag; + // raises DOMException on setting + attribute boolean sweepFlag; + // raises DOMException on setting + }; + + interface SVGPathSegArcRel : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float r1; + // raises DOMException on setting + attribute float r2; + // raises DOMException on setting + attribute float angle; + // raises DOMException on setting + attribute boolean largeArcFlag; + // raises DOMException on setting + attribute boolean sweepFlag; + // raises DOMException on setting + }; + + interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg { + attribute float x; + // raises DOMException on setting + }; + + interface SVGPathSegLinetoHorizontalRel : SVGPathSeg { + attribute float x; + // raises DOMException on setting + }; + + interface SVGPathSegLinetoVerticalAbs : SVGPathSeg { + attribute float y; + // raises DOMException on setting + }; + + interface SVGPathSegLinetoVerticalRel : SVGPathSeg { + attribute float y; + // raises DOMException on setting + }; + + interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float x2; + // raises DOMException on setting + attribute float y2; + // raises DOMException on setting + }; + + interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float x2; + // raises DOMException on setting + attribute float y2; + // raises DOMException on setting + }; + + interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + }; + + interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg { + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + }; + + interface SVGPathSegList { + + readonly attribute unsigned long numberOfItems; + + void clear ( ) + raises( DOMException ); + SVGPathSeg initialize ( in SVGPathSeg newItem ) + raises( DOMException, SVGException ); + SVGPathSeg getItem ( in unsigned long index ) + raises( DOMException ); + SVGPathSeg insertItemBefore ( in SVGPathSeg newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGPathSeg replaceItem ( in SVGPathSeg newItem, in unsigned long index ) + raises( DOMException, SVGException ); + SVGPathSeg removeItem ( in unsigned long index ) + raises( DOMException ); + SVGPathSeg appendItem ( in SVGPathSeg newItem ) + raises( DOMException, SVGException ); + }; + + interface SVGAnimatedPathData { + + readonly attribute SVGPathSegList pathSegList; + readonly attribute SVGPathSegList normalizedPathSegList; + readonly attribute SVGPathSegList animatedPathSegList; + readonly attribute SVGPathSegList animatedNormalizedPathSegList; + }; + + interface SVGPathElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget, + SVGAnimatedPathData { + + readonly attribute SVGAnimatedNumber pathLength; + + float getTotalLength ( ); + SVGPoint getPointAtLength ( in float distance ); + unsigned long getPathSegAtLength ( in float distance ); + SVGPathSegClosePath createSVGPathSegClosePath ( ); + SVGPathSegMovetoAbs createSVGPathSegMovetoAbs ( in float x, in float y ); + SVGPathSegMovetoRel createSVGPathSegMovetoRel ( in float x, in float y ); + SVGPathSegLinetoAbs createSVGPathSegLinetoAbs ( in float x, in float y ); + SVGPathSegLinetoRel createSVGPathSegLinetoRel ( in float x, in float y ); + SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 ); + SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel ( in float x, in float y, in float x1, in float y1, in float x2, in float y2 ); + SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs ( in float x, in float y, in float x1, in float y1 ); + SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel ( in float x, in float y, in float x1, in float y1 ); + SVGPathSegArcAbs createSVGPathSegArcAbs ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag ); + SVGPathSegArcRel createSVGPathSegArcRel ( in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag ); + SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs ( in float x ); + SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel ( in float x ); + SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs ( in float y ); + SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel ( in float y ); + SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs ( in float x, in float y, in float x2, in float y2 ); + SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel ( in float x, in float y, in float x2, in float y2 ); + SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs ( in float x, in float y ); + SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel ( in float x, in float y ); + }; + + interface SVGRectElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget { + + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + readonly attribute SVGAnimatedLength rx; + readonly attribute SVGAnimatedLength ry; + }; + + interface SVGCircleElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget { + + readonly attribute SVGAnimatedLength cx; + readonly attribute SVGAnimatedLength cy; + readonly attribute SVGAnimatedLength r; + }; + + interface SVGEllipseElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget { + + readonly attribute SVGAnimatedLength cx; + readonly attribute SVGAnimatedLength cy; + readonly attribute SVGAnimatedLength rx; + readonly attribute SVGAnimatedLength ry; + }; + + interface SVGLineElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget { + + readonly attribute SVGAnimatedLength x1; + readonly attribute SVGAnimatedLength y1; + readonly attribute SVGAnimatedLength x2; + readonly attribute SVGAnimatedLength y2; + }; + + interface SVGAnimatedPoints { + + readonly attribute SVGPointList points; + readonly attribute SVGPointList animatedPoints; + }; + + interface SVGPolylineElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget, + SVGAnimatedPoints {}; + + interface SVGPolygonElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget, + SVGAnimatedPoints {}; + + interface SVGTextContentElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + events::EventTarget { + + // lengthAdjust Types + const unsigned short LENGTHADJUST_UNKNOWN = 0; + const unsigned short LENGTHADJUST_SPACING = 1; + const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2; + + readonly attribute SVGAnimatedLength textLength; + readonly attribute SVGAnimatedEnumeration lengthAdjust; + + long getNumberOfChars ( ); + float getComputedTextLength ( ); + float getSubStringLength ( in unsigned long charnum, in unsigned long nchars ) + raises( DOMException ); + SVGPoint getStartPositionOfChar ( in unsigned long charnum ) + raises( DOMException ); + SVGPoint getEndPositionOfChar ( in unsigned long charnum ) + raises( DOMException ); + SVGRect getExtentOfChar ( in unsigned long charnum ) + raises( DOMException ); + float getRotationOfChar ( in unsigned long charnum ) + raises( DOMException ); + long getCharNumAtPosition ( in SVGPoint point ); + void selectSubString ( in unsigned long charnum, in unsigned long nchars ) + raises( DOMException ); + }; + + interface SVGTextPositioningElement : SVGTextContentElement { + readonly attribute SVGAnimatedLengthList x; + readonly attribute SVGAnimatedLengthList y; + readonly attribute SVGAnimatedLengthList dx; + readonly attribute SVGAnimatedLengthList dy; + readonly attribute SVGAnimatedNumberList rotate; + }; + + interface SVGTextElement : + SVGTextPositioningElement, + SVGTransformable {}; + + interface SVGTSpanElement : SVGTextPositioningElement {}; + + interface SVGTRefElement : + SVGTextPositioningElement, + SVGURIReference {}; + + interface SVGTextPathElement : + SVGTextContentElement, + SVGURIReference { + + // textPath Method Types + const unsigned short TEXTPATH_METHODTYPE_UNKNOWN = 0; + const unsigned short TEXTPATH_METHODTYPE_ALIGN = 1; + const unsigned short TEXTPATH_METHODTYPE_STRETCH = 2; + // textPath Spacing Types + const unsigned short TEXTPATH_SPACINGTYPE_UNKNOWN = 0; + const unsigned short TEXTPATH_SPACINGTYPE_AUTO = 1; + const unsigned short TEXTPATH_SPACINGTYPE_EXACT = 2; + + readonly attribute SVGAnimatedLength startOffset; + readonly attribute SVGAnimatedEnumeration method; + readonly attribute SVGAnimatedEnumeration spacing; + }; + + interface SVGAltGlyphElement : + SVGTextPositioningElement, + SVGURIReference { + + attribute DOMString glyphRef; + // raises DOMException on setting + attribute DOMString format; + // raises DOMException on setting + }; + + interface SVGAltGlyphDefElement : SVGElement {}; + + interface SVGAltGlyphItemElement : SVGElement {}; + + interface SVGGlyphRefElement : + SVGElement, + SVGURIReference, + SVGStylable { + + attribute DOMString glyphRef; + // raises DOMException on setting + attribute DOMString format; + // raises DOMException on setting + attribute float x; + // raises DOMException on setting + attribute float y; + // raises DOMException on setting + attribute float dx; + // raises DOMException on setting + attribute float dy; + // raises DOMException on setting + }; + + interface SVGPaint : SVGColor { + // Paint Types + const unsigned short SVG_PAINTTYPE_UNKNOWN = 0; + const unsigned short SVG_PAINTTYPE_RGBCOLOR = 1; + const unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2; + const unsigned short SVG_PAINTTYPE_NONE = 101; + const unsigned short SVG_PAINTTYPE_CURRENTCOLOR = 102; + const unsigned short SVG_PAINTTYPE_URI_NONE = 103; + const unsigned short SVG_PAINTTYPE_URI_CURRENTCOLOR = 104; + const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR = 105; + const unsigned short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106; + const unsigned short SVG_PAINTTYPE_URI = 107; + + readonly attribute unsigned short paintType; + readonly attribute DOMString uri; + + void setUri ( in DOMString uri ); + void setPaint ( in unsigned short paintType, in DOMString uri, in DOMString rgbColor, in DOMString iccColor ) + raises( SVGException ); + }; + + interface SVGMarkerElement : + SVGElement, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGFitToViewBox { + + // Marker Unit Types + const unsigned short SVG_MARKERUNITS_UNKNOWN = 0; + const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1; + const unsigned short SVG_MARKERUNITS_STROKEWIDTH = 2; + // Marker Orientation Types + const unsigned short SVG_MARKER_ORIENT_UNKNOWN = 0; + const unsigned short SVG_MARKER_ORIENT_AUTO = 1; + const unsigned short SVG_MARKER_ORIENT_ANGLE = 2; + + readonly attribute SVGAnimatedLength refX; + readonly attribute SVGAnimatedLength refY; + readonly attribute SVGAnimatedEnumeration markerUnits; + readonly attribute SVGAnimatedLength markerWidth; + readonly attribute SVGAnimatedLength markerHeight; + readonly attribute SVGAnimatedEnumeration orientType; + readonly attribute SVGAnimatedAngle orientAngle; + + void setOrientToAuto ( ); + void setOrientToAngle ( in SVGAngle angle ); + }; + + interface SVGColorProfileElement : + SVGElement, + SVGURIReference, + SVGRenderingIntent { + + attribute DOMString local; + // raises DOMException on setting + attribute DOMString name; + // raises DOMException on setting + attribute unsigned short renderingIntent; + // raises DOMException on setting + }; + + interface SVGColorProfileRule : + SVGCSSRule, + SVGRenderingIntent { + + attribute DOMString src; + // raises DOMException on setting + attribute DOMString name; + // raises DOMException on setting + attribute unsigned short renderingIntent; + // raises DOMException on setting + }; + + interface SVGGradientElement : + SVGElement, + SVGURIReference, + SVGExternalResourcesRequired, + SVGStylable, + SVGUnitTypes { + + // Spread Method Types + const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0; + const unsigned short SVG_SPREADMETHOD_PAD = 1; + const unsigned short SVG_SPREADMETHOD_REFLECT = 2; + const unsigned short SVG_SPREADMETHOD_REPEAT = 3; + + readonly attribute SVGAnimatedEnumeration gradientUnits; + readonly attribute SVGAnimatedTransformList gradientTransform; + readonly attribute SVGAnimatedEnumeration spreadMethod; + }; + + interface SVGLinearGradientElement : SVGGradientElement { + readonly attribute SVGAnimatedLength x1; + readonly attribute SVGAnimatedLength y1; + readonly attribute SVGAnimatedLength x2; + readonly attribute SVGAnimatedLength y2; + }; + + interface SVGRadialGradientElement : SVGGradientElement { + readonly attribute SVGAnimatedLength cx; + readonly attribute SVGAnimatedLength cy; + readonly attribute SVGAnimatedLength r; + readonly attribute SVGAnimatedLength fx; + readonly attribute SVGAnimatedLength fy; + }; + + interface SVGStopElement : + SVGElement, + SVGStylable { + + readonly attribute SVGAnimatedNumber offset; + }; + + interface SVGPatternElement : + SVGElement, + SVGURIReference, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGFitToViewBox, + SVGUnitTypes { + + readonly attribute SVGAnimatedEnumeration patternUnits; + readonly attribute SVGAnimatedEnumeration patternContentUnits; + readonly attribute SVGAnimatedTransformList patternTransform; + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + }; + + interface SVGClipPathElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + SVGUnitTypes { + + readonly attribute SVGAnimatedEnumeration clipPathUnits; + }; + + interface SVGMaskElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGUnitTypes { + + readonly attribute SVGAnimatedEnumeration maskUnits; + readonly attribute SVGAnimatedEnumeration maskContentUnits; + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + }; + + interface SVGFilterElement : + SVGElement, + SVGURIReference, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGUnitTypes { + + readonly attribute SVGAnimatedEnumeration filterUnits; + readonly attribute SVGAnimatedEnumeration primitiveUnits; + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + readonly attribute SVGAnimatedInteger filterResX; + readonly attribute SVGAnimatedInteger filterResY; + + void setFilterRes ( in unsigned long filterResX, in unsigned long filterResY ); + }; + + interface SVGFilterPrimitiveStandardAttributes : SVGStylable { + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + readonly attribute SVGAnimatedString result; + }; + + interface SVGFEBlendElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + // Blend Mode Types + const unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0; + const unsigned short SVG_FEBLEND_MODE_NORMAL = 1; + const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2; + const unsigned short SVG_FEBLEND_MODE_SCREEN = 3; + const unsigned short SVG_FEBLEND_MODE_DARKEN = 4; + const unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5; + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedString in2; + readonly attribute SVGAnimatedEnumeration mode; + }; + + interface SVGFEColorMatrixElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + // Color Matrix Types + const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0; + const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1; + const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2; + const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3; + const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4; + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedEnumeration type; + readonly attribute SVGAnimatedNumberList values; + }; + + interface SVGFEComponentTransferElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + readonly attribute SVGAnimatedString in1; + }; + + interface SVGComponentTransferFunctionElement : SVGElement { + // Component Transfer Types + const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0; + const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1; + const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2; + const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3; + const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4; + const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5; + + readonly attribute SVGAnimatedEnumeration type; + readonly attribute SVGAnimatedNumberList tableValues; + readonly attribute SVGAnimatedNumber slope; + readonly attribute SVGAnimatedNumber intercept; + readonly attribute SVGAnimatedNumber amplitude; + readonly attribute SVGAnimatedNumber exponent; + readonly attribute SVGAnimatedNumber offset; + }; + + interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {}; + + interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {}; + + interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {}; + + interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {}; + + interface SVGFECompositeElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + // Composite Operators + const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0; + const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1; + const unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2; + const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3; + const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4; + const unsigned short SVG_FECOMPOSITE_OPERATOR_XOR = 5; + const unsigned short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6; + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedString in2; + readonly attribute SVGAnimatedEnumeration operator; + readonly attribute SVGAnimatedNumber k1; + readonly attribute SVGAnimatedNumber k2; + readonly attribute SVGAnimatedNumber k3; + readonly attribute SVGAnimatedNumber k4; + }; + + interface SVGFEConvolveMatrixElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + // Edge Mode Values + const unsigned short SVG_EDGEMODE_UNKNOWN = 0; + const unsigned short SVG_EDGEMODE_DUPLICATE = 1; + const unsigned short SVG_EDGEMODE_WRAP = 2; + const unsigned short SVG_EDGEMODE_NONE = 3; + + readonly attribute SVGAnimatedInteger orderX; + readonly attribute SVGAnimatedInteger orderY; + readonly attribute SVGAnimatedNumberList kernelMatrix; + readonly attribute SVGAnimatedNumber divisor; + readonly attribute SVGAnimatedNumber bias; + readonly attribute SVGAnimatedInteger targetX; + readonly attribute SVGAnimatedInteger targetY; + readonly attribute SVGAnimatedEnumeration edgeMode; + readonly attribute SVGAnimatedLength kernelUnitLengthX; + readonly attribute SVGAnimatedLength kernelUnitLengthY; + readonly attribute SVGAnimatedBoolean preserveAlpha; + }; + + interface SVGFEDiffuseLightingElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedNumber surfaceScale; + readonly attribute SVGAnimatedNumber diffuseConstant; + }; + + interface SVGFEDistantLightElement : SVGElement { + readonly attribute SVGAnimatedNumber azimuth; + readonly attribute SVGAnimatedNumber elevation; + }; + + interface SVGFEPointLightElement : SVGElement { + readonly attribute SVGAnimatedNumber x; + readonly attribute SVGAnimatedNumber y; + readonly attribute SVGAnimatedNumber z; + }; + + interface SVGFESpotLightElement : SVGElement { + readonly attribute SVGAnimatedNumber x; + readonly attribute SVGAnimatedNumber y; + readonly attribute SVGAnimatedNumber z; + readonly attribute SVGAnimatedNumber pointsAtX; + readonly attribute SVGAnimatedNumber pointsAtY; + readonly attribute SVGAnimatedNumber pointsAtZ; + readonly attribute SVGAnimatedNumber specularExponent; + readonly attribute SVGAnimatedNumber limitingConeAngle; + }; + + interface SVGFEDisplacementMapElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + // Channel Selectors + const unsigned short SVG_CHANNEL_UNKNOWN = 0; + const unsigned short SVG_CHANNEL_R = 1; + const unsigned short SVG_CHANNEL_G = 2; + const unsigned short SVG_CHANNEL_B = 3; + const unsigned short SVG_CHANNEL_A = 4; + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedString in2; + readonly attribute SVGAnimatedNumber scale; + readonly attribute SVGAnimatedEnumeration xChannelSelector; + readonly attribute SVGAnimatedEnumeration yChannelSelector; + }; + + interface SVGFEFloodElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + readonly attribute SVGAnimatedString in1; + }; + + interface SVGFEGaussianBlurElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedNumber stdDeviationX; + readonly attribute SVGAnimatedNumber stdDeviationY; + + void setStdDeviation ( in float stdDeviationX, in float stdDeviationY ); + }; + + interface SVGFEImageElement : + SVGElement, + SVGURIReference, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGFilterPrimitiveStandardAttributes {}; + + interface SVGFEMergeElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes {}; + + interface SVGFEMergeNodeElement : SVGElement { + readonly attribute SVGAnimatedString in1; + }; + + interface SVGFEMorphologyElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + // Morphology Operators + const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0; + const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1; + const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2; + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedEnumeration operator; + readonly attribute SVGAnimatedLength radiusX; + readonly attribute SVGAnimatedLength radiusY; + }; + + interface SVGFEOffsetElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedNumber dx; + readonly attribute SVGAnimatedNumber dy; + }; + + interface SVGFESpecularLightingElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + readonly attribute SVGAnimatedString in1; + readonly attribute SVGAnimatedNumber surfaceScale; + readonly attribute SVGAnimatedNumber specularConstant; + readonly attribute SVGAnimatedNumber specularExponent; + }; + + interface SVGFETileElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + readonly attribute SVGAnimatedString in1; + }; + + interface SVGFETurbulenceElement : + SVGElement, + SVGFilterPrimitiveStandardAttributes { + + // Turbulence Types + const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0; + const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1; + const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2; + // Stitch Options + const unsigned short SVG_STITCHTYPE_UNKNOWN = 0; + const unsigned short SVG_STITCHTYPE_STITCH = 1; + const unsigned short SVG_STITCHTYPE_NOSTITCH = 2; + + readonly attribute SVGAnimatedNumber baseFrequencyX; + readonly attribute SVGAnimatedNumber baseFrequencyY; + readonly attribute SVGAnimatedInteger numOctaves; + readonly attribute SVGAnimatedNumber seed; + readonly attribute SVGAnimatedEnumeration stitchTiles; + readonly attribute SVGAnimatedEnumeration type; + }; + + interface SVGCursorElement : + SVGElement, + SVGURIReference, + SVGTests, + SVGExternalResourcesRequired { + + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + }; + + interface SVGAElement : + SVGElement, + SVGURIReference, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget { + + readonly attribute SVGAnimatedString target; + }; + + interface SVGViewElement : + SVGElement, + SVGExternalResourcesRequired, + SVGFitToViewBox, + SVGZoomAndPan { + + readonly attribute SVGStringList viewTarget; + }; + + interface SVGScriptElement : + SVGElement, + SVGURIReference, + SVGExternalResourcesRequired { + + attribute DOMString type; + // raises DOMException on setting + }; + + interface SVGEvent : events::Event {}; + + interface SVGZoomEvent : events::UIEvent { + readonly attribute SVGRect zoomRectScreen; + readonly attribute float previousScale; + readonly attribute SVGPoint previousTranslate; + readonly attribute float newScale; + readonly attribute SVGPoint newTranslate; + }; + + interface SVGAnimationElement : + SVGElement, + SVGTests, + SVGExternalResourcesRequired, + smil::ElementTimeControl, + events::EventTarget { + + readonly attribute SVGElement targetElement; + + float getStartTime ( ); + float getCurrentTime ( ); + float getSimpleDuration ( ) + raises( DOMException ); + }; + + interface SVGAnimateElement : SVGAnimationElement {}; + + interface SVGSetElement : SVGAnimationElement {}; + + interface SVGAnimateMotionElement : SVGAnimationElement {}; + + interface SVGMPathElement : + SVGElement, + SVGURIReference, + SVGExternalResourcesRequired {}; + + interface SVGAnimateColorElement : SVGAnimationElement {}; + + interface SVGAnimateTransformElement : SVGAnimationElement {}; + + interface SVGFontElement : + SVGElement, + SVGExternalResourcesRequired, + SVGStylable {}; + + interface SVGGlyphElement : + SVGElement, + SVGStylable {}; + + interface SVGMissingGlyphElement : + SVGElement, + SVGStylable {}; + + interface SVGHKernElement : SVGElement {}; + + interface SVGVKernElement : SVGElement {}; + + interface SVGFontFaceElement : SVGElement {}; + + interface SVGFontFaceSrcElement : SVGElement {}; + + interface SVGFontFaceUriElement : SVGElement {}; + + interface SVGFontFaceFormatElement : SVGElement {}; + + interface SVGFontFaceNameElement : SVGElement {}; + + interface SVGDefinitionSrcElement : SVGElement {}; + + interface SVGMetadataElement : SVGElement {}; + + interface SVGForeignObjectElement : + SVGElement, + SVGTests, + SVGLangSpace, + SVGExternalResourcesRequired, + SVGStylable, + SVGTransformable, + events::EventTarget { + + readonly attribute SVGAnimatedLength x; + readonly attribute SVGAnimatedLength y; + readonly attribute SVGAnimatedLength width; + readonly attribute SVGAnimatedLength height; + }; + + +}; + +#endif // _SVG_IDL_ \ No newline at end of file