summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 589fbad)
raw | patch | inline | side by side (parent: 589fbad)
author | ishmal <ishmal@users.sourceforge.net> | |
Sat, 14 Jun 2008 19:51:16 +0000 (19:51 +0000) | ||
committer | ishmal <ishmal@users.sourceforge.net> | |
Sat, 14 Jun 2008 19:51:16 +0000 (19:51 +0000) |
src/dom/svg2.h | [new file with mode: 0644] | patch | blob |
diff --git a/src/dom/svg2.h b/src/dom/svg2.h
--- /dev/null
+++ b/src/dom/svg2.h
@@ -0,0 +1,3488 @@
+#ifndef __SVG_H__\r
+#define __SVG_H__\r
+\r
+/**\r
+ * Phoebe DOM Implementation.\r
+ *\r
+ * This is a C++ approximation of the W3C DOM model, which follows\r
+ * fairly closely the specifications in the various .idl files, copies of\r
+ * which are provided for reference. Most important is this one:\r
+ *\r
+ * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html\r
+ *\r
+ * Authors:\r
+ * Bob Jamison\r
+ *\r
+ * Copyright(C) 2005-2008 Bob Jamison\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or(at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\r
+ *\r
+ * =======================================================================\r
+ * NOTES\r
+ *\r
+ * This API follows:\r
+ * http://www.w3.org/TR/SVG11/svgdom.html\r
+ *\r
+ * This file defines the main SVG-DOM Node types. Other non-Node types are\r
+ * defined in svgtypes.h.\r
+ * \r
+ */\r
+\r
+\r
+// For access to DOM2 core\r
+#include "dom/dom.h"\r
+\r
+// For access to DOM2 events\r
+#include "dom/events.h"\r
+\r
+// For access to those parts from DOM2 CSS OM used by SVG DOM.\r
+#include "dom/css.h"\r
+\r
+// For access to those parts from DOM2 Views OM used by SVG DOM.\r
+#include "dom/views.h"\r
+\r
+// For access to the SMIL OM used by SVG DOM.\r
+#include "dom/smil.h"\r
+\r
+\r
+\r
+#include "svgtypes.h"\r
+\r
+#include <math.h>\r
+\r
+#define SVG_NAMESPACE "http://www.w3.org/2000/svg"\r
+\r
+\r
+namespace org\r
+{\r
+namespace w3c\r
+{\r
+namespace dom\r
+{\r
+namespace svg\r
+{\r
+\r
+\r
+//local definitions\r
+typedef dom::DOMString DOMString;\r
+typedef dom::DOMException DOMException;\r
+typedef dom::Element Element;\r
+typedef dom::ElementPtr ElementPtr;\r
+typedef dom::Document Document;\r
+typedef dom::DocumentPtr DocumentPtr;\r
+typedef dom::NodeList NodeList;\r
+\r
+\r
+\r
+\r
+class SVGElement;\r
+typedef Ptr<SVGElement> SVGElementPtr;\r
+class SVGDocument;\r
+typedef Ptr<SVGDocument> SVGDocumentPtr;\r
+\r
+/*#########################################################################\r
+## Types\r
+#########################################################################*/\r
+\r
+/**\r
+ * Bitmasks for has_an interface for SVGElement\r
+ */ \r
+#define SVG_ANGLE 0x00000001\r
+#define SVG_ANIMATED_ANGLE 0x00000002\r
+#define SVG_ANIMATED_BOOLEAN 0x00000004\r
+#define SVG_ANIMATED_ENUMERATION 0x00000008\r
+#define SVG_ANIMATED_INTEGER 0x00000010\r
+#define SVG_ANIMATED_LENGTH 0x00000020\r
+#define SVG_ANIMATED_LENGTH_LIST 0x00000040\r
+#define SVG_ANIMATED_NUMBER 0x00000080\r
+#define SVG_ANIMATED_NUMBER_LIST 0x00000100\r
+#define SVG_ANIMATED_RECT 0x00000200\r
+#define SVG_ANIMATED_STRING 0x00000400\r
+#define SVG_COLOR 0x00000800\r
+#define SVG_CSS_RULE 0x00001000\r
+#define SVG_EXTERNAL_RESOURCES_REQUIRED 0x00002000\r
+#define SVG_FIT_TO_VIEWBOX 0x00004000\r
+#define SVG_ICCCOLOR 0x00008000\r
+#define SVG_LANG_SPACE 0x00010000\r
+#define SVG_LENGTH 0x00020000\r
+#define SVG_LENGTH_LIST 0x00040000\r
+#define SVG_LOCATABLE 0x00080000\r
+#define SVG_NUMBER 0x00100000\r
+#define SVG_NUMBER_LIST 0x00200000\r
+#define SVG_RECT 0x00400000\r
+#define SVG_RENDERING_INTENT 0x00800000\r
+#define SVG_STRING_LIST 0x01000000\r
+#define SVG_STYLABLE 0x02000000\r
+#define SVG_TESTS 0x04000000\r
+#define SVG_TRANSFORMABLE 0x08000000\r
+#define SVG_UNIT_TYPES 0x10000000\r
+#define SVG_URI_REFERENCE 0x20000000\r
+#define SVG_VIEW_SPEC 0x40000000\r
+#define SVG_ZOOM_AND_PAN 0x80000000\r
+\r
+/**\r
+ * How many above? Quite handy\r
+ */ \r
+#define SVG_NR_INTERFACES 32\r
+\r
+\r
+/**\r
+ * Enumerations for SVGElement types\r
+ */ \r
+typedef enum\r
+{\r
+ SVG_A_ELEMENT = 0,\r
+ SVG_ALTGLYPH_ELEMENT,\r
+ SVG_ALTGLYPHDEF_ELEMENT,\r
+ SVG_ALTGLYPHITEM_ELEMENT,\r
+ SVG_ANIMATE_ELEMENT,\r
+ SVG_ANIMATECOLOR_ELEMENT,\r
+ SVG_ANIMATEMOTION_ELEMENT,\r
+ SVG_ANIMATETRANSFORM_ELEMENT,\r
+ SVG_CIRCLE_ELEMENT,\r
+ SVG_CLIPPATH_ELEMENT,\r
+ SVG_COLOR_PROFILE_ELEMENT,\r
+ SVG_CURSOR_ELEMENT,\r
+ SVG_DEFINITION_SRC_ELEMENT,\r
+ SVG_DEFS_ELEMENT,\r
+ SVG_DESC_ELEMENT,\r
+ SVG_ELLIPSE_ELEMENT,\r
+ SVG_FEBLEND_ELEMENT,\r
+ SVG_FECOLORMATRIX_ELEMENT,\r
+ SVG_FECOMPONENTTRANSFER_ELEMENT,\r
+ SVG_FECOMPOSITE_ELEMENT,\r
+ SVG_FECONVOLVEMATRIX_ELEMENT,\r
+ SVG_FEDIFFUSELIGHTING_ELEMENT,\r
+ SVG_FEDISPLACEMENTMAP_ELEMENT,\r
+ SVG_FEDISTANTLIGHT_ELEMENT,\r
+ SVG_FEFLOOD_ELEMENT,\r
+ SVG_FEFUNCA_ELEMENT,\r
+ SVG_FEFUNCB_ELEMENT,\r
+ SVG_FEFUNCG_ELEMENT,\r
+ SVG_FEFUNCR_ELEMENT,\r
+ SVG_FEGAUSSIANBLUR_ELEMENT,\r
+ SVG_FEIMAGE_ELEMENT,\r
+ SVG_FEMERGE_ELEMENT,\r
+ SVG_FEMERGENODE_ELEMENT,\r
+ SVG_FEMORPHOLOGY_ELEMENT,\r
+ SVG_FEOFFSET_ELEMENT,\r
+ SVG_FEPOINTLIGHT_ELEMENT,\r
+ SVG_FESPECULARLIGHTING_ELEMENT,\r
+ SVG_FESPOTLIGHT_ELEMENT,\r
+ SVG_FETILE_ELEMENT,\r
+ SVG_FETURBULENCE_ELEMENT,\r
+ SVG_FILTER_ELEMENT,\r
+ SVG_FONT_ELEMENT,\r
+ SVG_FONT_FACE_ELEMENT,\r
+ SVG_FONT_FACE_FORMAT_ELEMENT,\r
+ SVG_FONT_FACE_NAME_ELEMENT,\r
+ SVG_FONT_FACE_SRC_ELEMENT,\r
+ SVG_FONT_FACE_URI_ELEMENT,\r
+ SVG_FOREIGNOBJECT_ELEMENT,\r
+ SVG_G_ELEMENT,\r
+ SVG_GLYPH_ELEMENT,\r
+ SVG_GLYPHREF_ELEMENT,\r
+ SVG_HKERN_ELEMENT,\r
+ SVG_IMAGE_ELEMENT,\r
+ SVG_LINE_ELEMENT,\r
+ SVG_LINEARGRADIENT_ELEMENT,\r
+ SVG_MARKER_ELEMENT,\r
+ SVG_MASK_ELEMENT,\r
+ SVG_METADATA_ELEMENT,\r
+ SVG_MISSING_GLYPH_ELEMENT,\r
+ SVG_MPATH_ELEMENT,\r
+ SVG_PATH_ELEMENT,\r
+ SVG_PATTERN_ELEMENT,\r
+ SVG_POLYGON_ELEMENT,\r
+ SVG_POLYLINE_ELEMENT,\r
+ SVG_RADIALGRADIENT_ELEMENT,\r
+ SVG_RECT_ELEMENT,\r
+ SVG_SCRIPT_ELEMENT,\r
+ SVG_SET_ELEMENT,\r
+ SVG_STOP_ELEMENT,\r
+ SVG_STYLE_ELEMENT,\r
+ SVG_SVG_ELEMENT,\r
+ SVG_SWITCH_ELEMENT,\r
+ SVG_SYMBOL_ELEMENT,\r
+ SVG_TEXT_ELEMENT,\r
+ SVG_TEXTPATH_ELEMENT,\r
+ SVG_TITLE_ELEMENT,\r
+ SVG_TREF_ELEMENT,\r
+ SVG_TSPAN_ELEMENT,\r
+ SVG_USE_ELEMENT,\r
+ SVG_VIEW_ELEMENT,\r
+ SVG_VKERN_ELEMENT,\r
+ SVG_MAX_ELEMENT\r
+} SVGElementType;\r
+\r
+\r
+\r
+\r
+/**\r
+ * Look up the SVG Element type enum for a given string\r
+ * Return -1 if not found\r
+ */\r
+int svgElementStrToEnum(const char *str);\r
+\r
+\r
+/**\r
+ * Return the string corresponding to a given SVG element type enum\r
+ * Return "unknown" if not found\r
+ */\r
+const char *svgElementEnumToStr(int type);\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGElement\r
+#########################################################################*/\r
+\r
+/**\r
+ * All of the SVG DOM interfaces that correspond directly to elements in the SVG\r
+ * language(e.g., the SVGPathElement interface corresponds directly to the\r
+ * 'path' element in the language) are derivative from base class SVGElement.\r
+ */\r
+class SVGElement : public Element\r
+{\r
+public:\r
+\r
+ //####################################################################\r
+ //# BASE METHODS FOR SVGElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Get the value of the id attribute on the given element.\r
+ */\r
+ DOMString getId();\r
+\r
+ /**\r
+ * Set the value of the id attribute on the given element.\r
+ */\r
+ void setId(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Corresponds to attribute xml:base on the given element.\r
+ */\r
+ DOMString getXmlBase();\r
+\r
+ /**\r
+ * Corresponds to attribute xml:base on the given element.\r
+ */\r
+ void setXmlBase(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * The nearest ancestor 'svg' element. Null if the given element is the\r
+ * outermost 'svg' element.\r
+ */\r
+ SVGElementPtr getOwnerSVGElement();\r
+\r
+ /**\r
+ * The element which established the current viewport. Often, the nearest\r
+ * ancestor 'svg' element. Null if the given element is the outermost 'svg'\r
+ * element.\r
+ */\r
+ SVGElementPtr getViewportElement();\r
+\r
+\r
+ //####################################################################\r
+ //####################################################################\r
+ //# I N T E R F A C E S\r
+ //####################################################################\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGAngle \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned short getUnitType();\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getValue();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setValue(double val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getValueInSpecifiedUnits();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setValueInSpecifiedUnits(double /*val*/) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getValueAsString();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setValueAsString(const DOMString &/*val*/) throw (DOMException);\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ void newValueSpecifiedUnits(unsigned short /*unitType*/,\r
+ double /*valueInSpecifiedUnits*/);\r
+\r
+ /**\r
+ *\r
+ */\r
+ void convertToSpecifiedUnits(unsigned short /*unitType*/);\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedAngle \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAngle getBaseAngleVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAngle getAnimAngleVal();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedBoolean \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ bool getBaseBooleanVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setBaseBooleanVal(bool val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ bool getAnimBooleanVal();\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedEnumeration \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned short getBaseEnumerationVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setBaseEnumerationVal(unsigned short val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned short getAnimEnumerationVal();\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedInteger \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ long getBaseIntegerVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setBaseIntegerVal(long val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ long getAnimIntegerVal();\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedLength \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLength &getBaseLengthVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLength &getAnimLengthVal();\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedLengthList \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLengthList &getBaseLengthListVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLengthList &getAnimLengthListVal();\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedNumber \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getBaseNumberVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setBaseNumberVal(double val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getAnimNumberVal();\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedNumberList \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumberList &getBaseNumberListVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumberList &getAnimNumberListVal();\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedRect \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGRect &getBaseRectVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGRect &getAnimRectVal();\r
+\r
+ //####################################################################\r
+ //# SVGAnimatedString \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getBaseVal();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setBaseVal(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getAnimVal();\r
+\r
+ //####################################################################\r
+ //# SVGColor \r
+ //####################################################################\r
+\r
+ /**\r
+ * From CSSValue \r
+ * A code defining the type of the value as defined above.\r
+ */\r
+ unsigned short getCssValueType();\r
+\r
+ /**\r
+ * From CSSValue \r
+ * A string representation of the current value.\r
+ */\r
+ DOMString getCssText();\r
+\r
+ /**\r
+ * From CSSValue \r
+ * A string representation of the current value.\r
+ * Note that setting implies parsing. \r
+ */\r
+ void setCssText(const DOMString &val) throw (dom::DOMException);\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned short getColorType();\r
+\r
+ /**\r
+ *\r
+ */\r
+ css::RGBColor getRgbColor();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGICCColor getIccColor();\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setRGBColor(const DOMString& /*rgbColor*/) throw (SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setRGBColorICCColor(const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw (SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setColor(unsigned short /*colorType*/,\r
+ const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw (SVGException);\r
+\r
+ //####################################################################\r
+ //# SVGCSSRule \r
+ //####################################################################\r
+\r
+ /**\r
+ * From CSSRule \r
+ * The type of the rule, as defined above. The expectation is that \r
+ * binding-specific casting methods can be used to cast down from an instance of \r
+ * the CSSRule interface to the specific derived interface implied by the type.\r
+ */\r
+ unsigned short getType();\r
+\r
+ /**\r
+ * From CSSRule \r
+ * The parsable textual representation of the rule. This reflects the current \r
+ * state of the rule and not its initial value.\r
+ */\r
+ DOMString getCssText();\r
+\r
+ /**\r
+ * From CSSRule \r
+ * The parsable textual representation of the rule. This reflects the current \r
+ * state of the rule and not its initial value.\r
+ * Note that setting involves reparsing. \r
+ */\r
+ void setCssText(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * From CSSRule \r
+ * The style sheet that contains this rule.\r
+ */\r
+ css::CSSStyleSheet *getParentStyleSheet();\r
+\r
+ /**\r
+ * From CSSRule \r
+ * If this rule is contained inside another rule(e.g. a style rule inside an \r
+ * @media block), this is the containing rule. If this rule is not nested inside \r
+ * any other rules, this returns null.\r
+ */\r
+ css::CSSRule *getParentRule();\r
+\r
+ //####################################################################\r
+ //# SVGExternalResourcesRequired\r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedBoolean getExternalResourcesRequired();\r
+\r
+ //####################################################################\r
+ //# SVGFitToViewBox \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedRect getViewBox();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();\r
+\r
+ //####################################################################\r
+ //# SVGICCColor \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getColorProfile();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setColorProfile(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumberList &getColors();\r
+\r
+ //####################################################################\r
+ //# SVGLangSpace \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getXmllang();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setXmllang(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getXmlspace();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setXmlspace(const DOMString &val) throw (DOMException);\r
+\r
+ //####################################################################\r
+ //# SVGLength \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned short getUnitType();\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getValue();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setValue(double val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getValueInSpecifiedUnits();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setValueInSpecifiedUnits(double /*val*/) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getValueAsString();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setValueAsString(const DOMString& /*val*/) throw (DOMException);\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ void newValueSpecifiedUnits(unsigned short /*unitType*/, double /*val*/);\r
+\r
+ /**\r
+ *\r
+ */\r
+ void convertToSpecifiedUnits(unsigned short /*unitType*/);\r
+\r
+ //####################################################################\r
+ //# SVGLengthList \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned long getNumberOfItems();\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ void clear() throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLength initialize(const SVGLength &newItem)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLength getItem(unsigned long index) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLength insertItemBefore(const SVGLength &newItem, unsigned long index)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLength replaceItem(const SVGLength &newItem, unsigned long index)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLength removeItem(unsigned long index) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGLength appendItem(const SVGLength &newItem)\r
+ throw (DOMException, SVGException);\r
+\r
+ //####################################################################\r
+ //# SVGLocatable \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGElementPtr getNearestViewportElement();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGElement *getFarthestViewportElement();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGRect getBBox();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGMatrix getCTM();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGMatrix getScreenCTM();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGMatrix getTransformToElement(const SVGElement &/*element*/)\r
+ throw (SVGException);\r
+\r
+ //####################################################################\r
+ //# SVGNumber \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getValue();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setValue(double val) throw (DOMException);\r
+\r
+ //####################################################################\r
+ //# SVGNumberList \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned long getNumberOfItems();\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ void clear() throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumber initialize(const SVGNumber &newItem)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumber getItem(unsigned long index) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumber insertItemBefore(const SVGNumber &newItem, unsigned long index)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumber replaceItem(const SVGNumber &newItem, unsigned long index)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumber removeItem(unsigned long index) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGNumber appendItem(const SVGNumber &newItem)\r
+ throw (DOMException, SVGException);\r
+\r
+ //####################################################################\r
+ //# SVGRect \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getX();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setX(double val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getY();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setY(double val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getWidth();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setWidth(double val) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getHeight();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setHeight(double val) throw (DOMException);\r
+\r
+ //####################################################################\r
+ //# SVGRenderingIntent \r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGStringList \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned long getNumberOfItems();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void clear() throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString initialize(const DOMString& newItem)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getItem(unsigned long index) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString insertItemBefore(const DOMString& newItem, unsigned long index)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString replaceItem(const DOMString& newItem, unsigned long index)\r
+ throw (DOMException, SVGException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString removeItem(unsigned long index) throw (DOMException);\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString appendItem(const DOMString& newItem)\r
+ throw (DOMException, SVGException);\r
+\r
+ //####################################################################\r
+ //# SVGStylable \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getClassName();\r
+\r
+ /**\r
+ *\r
+ */\r
+ css::CSSStyleDeclaration getStyle();\r
+\r
+ /**\r
+ *\r
+ */\r
+ css::CSSValue getPresentationAttribute(const DOMString& /*name*/);\r
+\r
+ //####################################################################\r
+ //# SVGTests \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGStringList &getRequiredFeatures();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGStringList &getRequiredExtensions();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGStringList &getSystemLanguage();\r
+\r
+ /**\r
+ *\r
+ */\r
+ bool hasExtension(const DOMString& /*extension*/);\r
+\r
+ //####################################################################\r
+ //# SVGTransformable \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedTransformList &getTransform();\r
+\r
+ //####################################################################\r
+ //# SVGUnitTypes \r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGURIReference \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getHref();\r
+\r
+ //####################################################################\r
+ //# SVGViewSpec \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGTransformList getTransform();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGElement *getViewTarget();\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getViewBoxString();\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getPreserveAspectRatioString();\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getTransformString();\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getViewTargetString();\r
+\r
+ //####################################################################\r
+ //# SVGZoomAndPan \r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ unsigned short getZoomAndPan();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setZoomAndPan(unsigned short val) throw (DOMException);\r
+\r
+ //####################################################################\r
+ //####################################################################\r
+ //# E L E M E N T S\r
+ //####################################################################\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGAElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getTarget();\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGAltGlyphElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Get the attribute glyphRef on the given element.\r
+ */\r
+ DOMString getGlyphRef();\r
+\r
+ /**\r
+ * Set the attribute glyphRef on the given element.\r
+ */\r
+ void setGlyphRef(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute format on the given element.\r
+ */\r
+ DOMString getFormat();\r
+\r
+ /**\r
+ * Set the attribute format on the given element.\r
+ */\r
+ void setFormat(const DOMString &val) throw (DOMException);\r
+\r
+\r
+ //####################################################################\r
+ //# SVGAltGlyphDefElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGAltGlyphItemElement\r
+ //####################################################################\r
+\r
+\r
+ //####################################################################\r
+ //# SVGAnimateElement\r
+ //####################################################################\r
+\r
+\r
+ //####################################################################\r
+ //# SVGAnimateColorElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGAnimateMotionElement\r
+ //####################################################################\r
+\r
+\r
+ //####################################################################\r
+ //# SVGAnimateTransformElement\r
+ //####################################################################\r
+\r
+\r
+ //####################################################################\r
+ //# SVGAnimationElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGElementPtr getTargetElement();\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getStartTime();\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getCurrentTime();\r
+\r
+ /**\r
+ *\r
+ */\r
+ double getSimpleDuration() throw (DOMException);\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGCircleElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute cx on the given 'circle' element.\r
+ */\r
+ SVGAnimatedLength getCx();\r
+\r
+ /**\r
+ * Corresponds to attribute cy on the given 'circle' element.\r
+ */\r
+ SVGAnimatedLength getCy();\r
+\r
+ /**\r
+ * Corresponds to attribute r on the given 'circle' element.\r
+ */\r
+ SVGAnimatedLength getR();\r
+\r
+ //####################################################################\r
+ //# SVGClipPathElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute clipPathUnits on the given 'clipPath' element.\r
+ * Takes one of the constants defined in SVGUnitTypes.\r
+ */\r
+ SVGAnimatedEnumeration getClipPathUnits();\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGColorProfileElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Get the attribute local on the given element.\r
+ */\r
+ DOMString getLocal();\r
+\r
+ /**\r
+ * Set the attribute local on the given element.\r
+ */\r
+ void setLocal(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute name on the given element.\r
+ */\r
+ DOMString getName();\r
+\r
+ /**\r
+ * Set the attribute name on the given element.\r
+ */\r
+ void setName(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Set the attribute rendering-intent on the given element.\r
+ * The type of rendering intent, identified by one of the\r
+ * SVGRenderingIntent constants.\r
+ */\r
+ unsigned short getRenderingIntent();\r
+\r
+ /**\r
+ * Get the attribute rendering-intent on the given element.\r
+ */\r
+ void setRenderingIntent(unsigned short val) throw (DOMException);\r
+\r
+\r
+ //####################################################################\r
+ //# SVGComponentTransferFunctionElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Component Transfer Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,\r
+ SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,\r
+ SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,\r
+ SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,\r
+ SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,\r
+ SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5\r
+ } ComponentTransferType;\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute type on the given element. Takes one\\r
+ * of the Component Transfer Types.\r
+ */\r
+ SVGAnimatedEnumeration getType();\r
+\r
+ /**\r
+ * Corresponds to attribute tableValues on the given element.\r
+ */\r
+ SVGAnimatedNumberList getTableValues();\r
+\r
+ /**\r
+ * Corresponds to attribute slope on the given element.\r
+ */\r
+ SVGAnimatedNumber getSlope();\r
+\r
+ /**\r
+ * Corresponds to attribute intercept on the given element.\r
+ */\r
+ SVGAnimatedNumber getIntercept();\r
+\r
+ /**\r
+ * Corresponds to attribute amplitude on the given element.\r
+ */\r
+ SVGAnimatedNumber getAmplitude();\r
+\r
+ /**\r
+ * Corresponds to attribute exponent on the given element.\r
+ */\r
+ SVGAnimatedNumber getExponent();\r
+\r
+ /**\r
+ * Corresponds to attribute offset on the given element.\r
+ */\r
+ SVGAnimatedNumber getOffset();\r
+\r
+ //####################################################################\r
+ //# SVGCursorElement\r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGDefinitionSrcElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGDefsElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGDescElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGEllipseElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute cx on the given 'ellipse' element.\r
+ */\r
+ SVGAnimatedLength getCx();\r
+\r
+ /**\r
+ * Corresponds to attribute cy on the given 'ellipse' element.\r
+ */\r
+ SVGAnimatedLength getCy();\r
+\r
+ /**\r
+ * Corresponds to attribute rx on the given 'ellipse' element.\r
+ */\r
+ SVGAnimatedLength getRx();\r
+\r
+ /**\r
+ * Corresponds to attribute ry on the given 'ellipse' element.\r
+ */\r
+ SVGAnimatedLength getRy();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEBlendElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Blend Mode Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_FEBLEND_MODE_UNKNOWN = 0,\r
+ SVG_FEBLEND_MODE_NORMAL = 1,\r
+ SVG_FEBLEND_MODE_MULTIPLY = 2,\r
+ SVG_FEBLEND_MODE_SCREEN = 3,\r
+ SVG_FEBLEND_MODE_DARKEN = 4,\r
+ SVG_FEBLEND_MODE_LIGHTEN = 5\r
+ } BlendModeType;\r
+\r
+ /**\r
+ * Corresponds to attribute in on the given 'feBlend' element.\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+ /**\r
+ * Corresponds to attribute in2 on the given 'feBlend' element.\r
+ */\r
+ SVGAnimatedString getIn2();\r
+\r
+ /**\r
+ * Corresponds to attribute mode on the given 'feBlend' element.\r
+ * Takes one of the Blend Mode Types.\r
+ */\r
+ SVGAnimatedEnumeration getMode();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEColorMatrixElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Color Matrix Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,\r
+ SVG_FECOLORMATRIX_TYPE_MATRIX = 1,\r
+ SVG_FECOLORMATRIX_TYPE_SATURATE = 2,\r
+ SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,\r
+ SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4\r
+ } ColorMatrixType;\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute in on the given 'feColorMatrix' element.\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+ /**\r
+ * Corresponds to attribute type on the given 'feColorMatrix' element.\r
+ * Takes one of the Color Matrix Types.\r
+ */\r
+ SVGAnimatedEnumeration getType();\r
+\r
+ /**\r
+ * Corresponds to attribute values on the given 'feColorMatrix' element.\r
+ * Provides access to the contents of the values attribute.\r
+ */\r
+ SVGAnimatedNumberList getValues();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEComponentTransferElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute in on the given 'feComponentTransfer' element.\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+ //####################################################################\r
+ //# SVGFECompositeElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Composite Operators\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0,\r
+ SVG_FECOMPOSITE_OPERATOR_OVER = 1,\r
+ SVG_FECOMPOSITE_OPERATOR_IN = 2,\r
+ SVG_FECOMPOSITE_OPERATOR_OUT = 3,\r
+ SVG_FECOMPOSITE_OPERATOR_ATOP = 4,\r
+ SVG_FECOMPOSITE_OPERATOR_XOR = 5,\r
+ SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6\r
+ } CompositeOperatorType;\r
+\r
+ /**\r
+ * Corresponds to attribute in on the given 'feComposite' element.\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+ /**\r
+ * Corresponds to attribute in2 on the given 'feComposite' element.\r
+ */\r
+ SVGAnimatedString getIn2();\r
+\r
+ /**\r
+ * Corresponds to attribute operator on the given 'feComposite' element.\r
+ * Takes one of the Composite Operators.\r
+ */\r
+ SVGAnimatedEnumeration getOperator();\r
+\r
+ /**\r
+ * Corresponds to attribute k1 on the given 'feComposite' element.\r
+ */\r
+ SVGAnimatedNumber getK1();\r
+\r
+ /**\r
+ * Corresponds to attribute k2 on the given 'feComposite' element.\r
+ */\r
+ SVGAnimatedNumber getK2();\r
+\r
+ /**\r
+ * Corresponds to attribute k3 on the given 'feComposite' element.\r
+ */\r
+ SVGAnimatedNumber getK3();\r
+\r
+ /**\r
+ * Corresponds to attribute k4 on the given 'feComposite' element.\r
+ */\r
+ SVGAnimatedNumber getK4();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEConvolveMatrixElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Edge Mode Values\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_EDGEMODE_UNKNOWN = 0,\r
+ SVG_EDGEMODE_DUPLICATE = 1,\r
+ SVG_EDGEMODE_WRAP = 2,\r
+ SVG_EDGEMODE_NONE = 3\r
+ } EdgeModeType;\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute order on the given 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedInteger getOrderX();\r
+\r
+ /**\r
+ * Corresponds to attribute order on the given 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedInteger getOrderY();\r
+\r
+ /**\r
+ * Corresponds to attribute kernelMatrix on the given element.\r
+ */\r
+ SVGAnimatedNumberList getKernelMatrix();\r
+\r
+ /**\r
+ * Corresponds to attribute divisor on the given 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedNumber getDivisor();\r
+\r
+ /**\r
+ * Corresponds to attribute bias on the given 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedNumber getBias();\r
+\r
+ /**\r
+ * Corresponds to attribute targetX on the given 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedInteger getTargetX();\r
+\r
+ /**\r
+ * Corresponds to attribute targetY on the given 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedInteger getTargetY();\r
+\r
+ /**\r
+ * Corresponds to attribute edgeMode on the given 'feConvolveMatrix'\r
+ * element. Takes one of the Edge Mode Types.\r
+ */\r
+ SVGAnimatedEnumeration getEdgeMode();\r
+\r
+ /**\r
+ * Corresponds to attribute kernelUnitLength on the\r
+ * given 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedLength getKernelUnitLengthX();\r
+\r
+ /**\r
+ * Corresponds to attribute kernelUnitLength on the given\r
+ * 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedLength getKernelUnitLengthY();\r
+\r
+ /**\r
+ * Corresponds to attribute preserveAlpha on the\r
+ * given 'feConvolveMatrix' element.\r
+ */\r
+ SVGAnimatedBoolean getPreserveAlpha();\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEDiffuseLightingElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute in on the given 'feDiffuseLighting' element.\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+ /**\r
+ * Corresponds to attribute surfaceScale on the given\r
+ * 'feDiffuseLighting' element.\r
+ */\r
+ SVGAnimatedNumber getSurfaceScale();\r
+\r
+ /**\r
+ * Corresponds to attribute diffuseConstant on the given\r
+ * 'feDiffuseLighting' element.\r
+ */\r
+ SVGAnimatedNumber getDiffuseConstant();\r
+\r
+ /**\r
+ * Corresponds to attribute kernelUnitLength on the given\r
+ * 'feDiffuseLighting' element.\r
+ */\r
+ SVGAnimatedNumber getKernelUnitLengthX();\r
+\r
+ /**\r
+ * Corresponds to attribute kernelUnitLength on the given\r
+ * 'feDiffuseLighting' element.\r
+ */\r
+ SVGAnimatedNumber getKernelUnitLengthY();\r
+\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEDisplacementMapElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Channel Selectors\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_CHANNEL_UNKNOWN = 0,\r
+ SVG_CHANNEL_R = 1,\r
+ SVG_CHANNEL_G = 2,\r
+ SVG_CHANNEL_B = 3,\r
+ SVG_CHANNEL_A = 4\r
+ } ChannelSelector;\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getIn2();\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getScale();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedEnumeration getXChannelSelector();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedEnumeration getYChannelSelector();\r
+\r
+ //####################################################################\r
+ //# SVGFEDistantLightElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute azimuth on the given 'feDistantLight' element.\r
+ */\r
+ SVGAnimatedNumber getAzimuth();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute elevation on the given 'feDistantLight'\r
+ * element\r
+ */\r
+ SVGAnimatedNumber getElevation();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEFloodElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEFuncAElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFEFuncBElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFEFuncGElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFEFuncRElement\r
+ //####################################################################\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEGaussianBlurElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getStdDeviationX();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getStdDeviationY();\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setStdDeviation(double stdDeviationX, double stdDeviationY);\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEImageElement\r
+ //####################################################################\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEMergeElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFEMergeNodeElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFEMorphologyElement\r
+ //####################################################################\r
+\r
+\r
+\r
+ /**\r
+ * Morphology Operators\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,\r
+ SVG_MORPHOLOGY_OPERATOR_ERODE = 1,\r
+ SVG_MORPHOLOGY_OPERATOR_DILATE = 2\r
+ } MorphologyOperatorType;\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedEnumeration getOperator();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getRadiusX();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getRadiusY();\r
+\r
+ //####################################################################\r
+ //# SVGFEOffsetElement\r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getDx();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getDy();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFEPointLightElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'fePointLight' element.\r
+ */\r
+ SVGAnimatedNumber getX();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given 'fePointLight' element.\r
+ */\r
+ SVGAnimatedNumber getY();\r
+\r
+ /**\r
+ * Corresponds to attribute z on the given 'fePointLight' element.\r
+ */\r
+ SVGAnimatedNumber getZ();\r
+\r
+ //####################################################################\r
+ //# SVGFESpecularLightingElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getSurfaceScale();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getSpecularConstant();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getSpecularExponent();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFESpotLightElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'feSpotLight' element.\r
+ */\r
+ SVGAnimatedNumber getX();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given 'feSpotLight' element.\r
+ */\r
+ SVGAnimatedNumber getY();\r
+\r
+ /**\r
+ * Corresponds to attribute z on the given 'feSpotLight' element.\r
+ */\r
+ SVGAnimatedNumber getZ();\r
+\r
+ /**\r
+ * Corresponds to attribute pointsAtX on the given 'feSpotLight' element.\r
+ */\r
+ SVGAnimatedNumber getPointsAtX();\r
+\r
+ /**\r
+ * Corresponds to attribute pointsAtY on the given 'feSpotLight' element.\r
+ */\r
+ SVGAnimatedNumber getPointsAtY();\r
+\r
+ /**\r
+ * Corresponds to attribute pointsAtZ on the given 'feSpotLight' element.\r
+ */\r
+ SVGAnimatedNumber getPointsAtZ();\r
+\r
+ /**\r
+ * Corresponds to attribute specularExponent on the\r
+ * given 'feSpotLight' element.\r
+ */\r
+ SVGAnimatedNumber getSpecularExponent();\r
+\r
+ /**\r
+ * Corresponds to attribute limitingConeAngle on the\r
+ * given 'feSpotLight' element.\r
+ */\r
+ SVGAnimatedNumber getLimitingConeAngle();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFETileElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedString getIn1();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFETurbulenceElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Turbulence Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_TURBULENCE_TYPE_UNKNOWN = 0,\r
+ SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,\r
+ SVG_TURBULENCE_TYPE_TURBULENCE = 2\r
+ } TurbulenceType;\r
+\r
+ /**\r
+ * Stitch Options\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_STITCHTYPE_UNKNOWN = 0,\r
+ SVG_STITCHTYPE_STITCH = 1,\r
+ SVG_STITCHTYPE_NOSTITCH = 2\r
+ } StitchOption;\r
+\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getBaseFrequencyX();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getBaseFrequencyY();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedInteger getNumOctaves();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedNumber getSeed();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedEnumeration getStitchTiles();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedEnumeration getType();\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFilterElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute filterUnits on the given 'filter' element. Takes one\r
+ * of the constants defined in SVGUnitTypes.\r
+ */\r
+ SVGAnimatedEnumeration getFilterUnits();\r
+\r
+ /**\r
+ * Corresponds to attribute primitiveUnits on the given 'filter' element. Takes\r
+ * one of the constants defined in SVGUnitTypes.\r
+ */\r
+ SVGAnimatedEnumeration getPrimitiveUnits();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'filter' element.\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given 'filter' element.\r
+ */\r
+ SVGAnimatedLength getWidth();\r
+\r
+ /**\r
+ * Corresponds to attribute height on the given 'filter' element.\r
+ */\r
+ SVGAnimatedLength getHeight();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute filterRes on the given 'filter' element.\r
+ * Contains the X component of attribute filterRes.\r
+ */\r
+ SVGAnimatedInteger getFilterResX();\r
+\r
+ /**\r
+ * Corresponds to attribute filterRes on the given 'filter' element.\r
+ * Contains the Y component(possibly computed automatically)\r
+ * of attribute filterRes.\r
+ */\r
+ SVGAnimatedInteger getFilterResY();\r
+\r
+ /**\r
+ * Sets the values for attribute filterRes.\r
+ */\r
+ void setFilterRes(unsigned long filterResX, unsigned long filterResY);\r
+\r
+\r
+ //####################################################################\r
+ //# SVGFontElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFontFaceElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFontFaceFormatElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFontFaceNameElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFontFaceSrcElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGFontFaceUriElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGForeignObjectElement\r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getWidth();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getHeight();\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGGlyphRefElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Get the attribute glyphRef on the given element.\r
+ */\r
+ DOMString getGlyphRef();\r
+\r
+ /**\r
+ * Set the attribute glyphRef on the given element.\r
+ */\r
+ void setGlyphRef(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute format on the given element.\r
+ */\r
+ DOMString getFormat();\r
+\r
+ /**\r
+ * Set the attribute format on the given element.\r
+ */\r
+ void setFormat(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute x on the given element.\r
+ */\r
+ double getX();\r
+\r
+ /**\r
+ * Set the attribute x on the given element.\r
+ */\r
+ void setX(double val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute y on the given element.\r
+ */\r
+ double getY();\r
+\r
+ /**\r
+ * Set the attribute y on the given element.\r
+ */\r
+ void setY(double val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute dx on the given element.\r
+ */\r
+ double getDx();\r
+\r
+ /**\r
+ * Set the attribute dx on the given element.\r
+ */\r
+ void setDx(double val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute dy on the given element.\r
+ */\r
+ double getDy();\r
+\r
+ /**\r
+ * Set the attribute dy on the given element.\r
+ */\r
+ void setDy(double val) throw (DOMException);\r
+\r
+\r
+ //####################################################################\r
+ //# SVGGradientElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Spread Method Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_SPREADMETHOD_UNKNOWN = 0,\r
+ SVG_SPREADMETHOD_PAD = 1,\r
+ SVG_SPREADMETHOD_REFLECT = 2,\r
+ SVG_SPREADMETHOD_REPEAT = 3\r
+ } SpreadMethodType;\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute gradientUnits on the given element.\r
+ * Takes one of the constants defined in SVGUnitTypes.\r
+ */\r
+ SVGAnimatedEnumeration getGradientUnits();\r
+\r
+ /**\r
+ * Corresponds to attribute gradientTransform on the given element.\r
+ */\r
+ SVGAnimatedTransformList getGradientTransform();\r
+\r
+ /**\r
+ * Corresponds to attribute spreadMethod on the given element.\r
+ * One of the Spread Method Types.\r
+ */\r
+ SVGAnimatedEnumeration getSpreadMethod();\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGHKernElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGImageElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'image' element.\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given 'image' element.\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ * Corresponds to attribute width on the given 'image' element.\r
+ */\r
+ SVGAnimatedLength getWidth();\r
+\r
+ /**\r
+ * Corresponds to attribute height on the given 'image' element.\r
+ */\r
+ SVGAnimatedLength getHeight();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute preserveAspectRatio on the given element.\r
+ */\r
+ SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();\r
+\r
+ //####################################################################\r
+ //# SVGLinearGradientElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute x1 on the given 'linearGradient' element.\r
+ */\r
+ SVGAnimatedLength getX1();\r
+\r
+ /**\r
+ * Corresponds to attribute y1 on the given 'linearGradient' element.\r
+ */\r
+ SVGAnimatedLength getY1();\r
+\r
+ /**\r
+ * Corresponds to attribute x2 on the given 'linearGradient' element.\r
+ */\r
+ SVGAnimatedLength getX2();\r
+\r
+ /**\r
+ * Corresponds to attribute y2 on the given 'linearGradient' element.\r
+ */\r
+ SVGAnimatedLength getY2();\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGLineElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute x1 on the given 'line' element.\r
+ */\r
+ SVGAnimatedLength getX1();\r
+\r
+ /**\r
+ * Corresponds to attribute y1 on the given 'line' element.\r
+ */\r
+ SVGAnimatedLength getY1();\r
+\r
+ /**\r
+ * Corresponds to attribute x2 on the given 'line' element.\r
+ */\r
+ SVGAnimatedLength getX2();\r
+\r
+ /**\r
+ * Corresponds to attribute y2 on the given 'line' element.\r
+ */\r
+ SVGAnimatedLength getY2();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGMarkerElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Marker Unit Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_MARKERUNITS_UNKNOWN = 0,\r
+ SVG_MARKERUNITS_USERSPACEONUSE = 1,\r
+ SVG_MARKERUNITS_STROKEWIDTH = 2\r
+ } MarkerUnitType;\r
+\r
+ /**\r
+ * Marker Orientation Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_MARKER_ORIENT_UNKNOWN = 0,\r
+ SVG_MARKER_ORIENT_AUTO = 1,\r
+ SVG_MARKER_ORIENT_ANGLE = 2\r
+ } MarkerOrientationType;\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute refX on the given 'marker' element.\r
+ */\r
+ SVGAnimatedLength getRefX();\r
+\r
+ /**\r
+ * Corresponds to attribute refY on the given 'marker' element.\r
+ */\r
+ SVGAnimatedLength getRefY();\r
+\r
+ /**\r
+ * Corresponds to attribute markerUnits on the given 'marker' element.\r
+ * One of the Marker Units Types defined above.\r
+ */\r
+ SVGAnimatedEnumeration getMarkerUnits();\r
+\r
+ /**\r
+ * Corresponds to attribute markerWidth on the given 'marker' element.\r
+ */\r
+ SVGAnimatedLength getMarkerWidth();\r
+\r
+ /**\r
+ * Corresponds to attribute markerHeight on the given 'marker' element.\r
+ */\r
+ SVGAnimatedLength getMarkerHeight();\r
+\r
+ /**\r
+ * Corresponds to attribute orient on the given 'marker' element.\r
+ * One of the Marker Orientation Types defined above.\r
+ */\r
+ SVGAnimatedEnumeration getOrientType();\r
+\r
+ /**\r
+ * Corresponds to attribute orient on the given 'marker' element.\r
+ * If markerUnits is SVG_MARKER_ORIENT_ANGLE, the angle value for\r
+ * attribute orient; otherwise, it will be set to zero.\r
+ */\r
+ SVGAnimatedAngle getOrientAngle();\r
+\r
+\r
+ /**\r
+ * Sets the value of attribute orient to 'auto'.\r
+ */\r
+ void setOrientToAuto();\r
+\r
+ /**\r
+ * Sets the value of attribute orient to the given angle.\r
+ */\r
+ void setOrientToAngle(const SVGAngle &angle);\r
+\r
+\r
+ //####################################################################\r
+ //# SVGMaskElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute maskUnits on the given 'mask' element. Takes one of\r
+ * the constants defined in SVGUnitTypes.\r
+ */\r
+ SVGAnimatedEnumeration getMaskUnits();\r
+\r
+ /**\r
+ * Corresponds to attribute maskContentUnits on the given 'mask' element. Takes\r
+ * one of the constants defined in SVGUnitTypes.\r
+ */\r
+ SVGAnimatedEnumeration getMaskContentUnits();\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'mask' element.\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given 'mask' element.\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ * Corresponds to attribute width on the given 'mask' element.\r
+ */\r
+ SVGAnimatedLength getWidth();\r
+\r
+ /**\r
+ * Corresponds to attribute height on the given 'mask' element.\r
+ */\r
+ SVGAnimatedLength getHeight();\r
+\r
+ //####################################################################\r
+ //# SVGMetadataElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGMPathElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGPathElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGPatternElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute patternUnits on the given 'pattern' element.\r
+ * Takes one of the constants defined in SVGUnitTypes.\r
+ */\r
+ SVGAnimatedEnumeration getPatternUnits();\r
+\r
+ /**\r
+ * Corresponds to attribute patternContentUnits on the given 'pattern'\r
+ * element. Takes one of the constants defined in SVGUnitTypes.\r
+ */\r
+ SVGAnimatedEnumeration getPatternContentUnits();\r
+\r
+ /**\r
+ * Corresponds to attribute patternTransform on the given 'pattern' element.\r
+ */\r
+ SVGAnimatedTransformList getPatternTransform();\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'pattern' element.\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ * Corresponds to attribute width on the given 'pattern' element.\r
+ */\r
+ SVGAnimatedLength getWidth();\r
+\r
+ /**\r
+ * Corresponds to attribute height on the given 'pattern' element.\r
+ */\r
+ SVGAnimatedLength getHeight();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGPolyLineElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGPolygonElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGMissingGlyphElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute pathLength on the given 'path' element.\r
+ */\r
+ SVGAnimatedNumber getPathLength();\r
+\r
+ /**\r
+ * Returns the user agent's computed value for the total length of the path using\r
+ * the user agent's distance-along-a-path algorithm, as a distance in the current\r
+ * user coordinate system.\r
+ */\r
+ double getTotalLength();\r
+\r
+ /**\r
+ * Returns the(x,y) coordinate in user space which is distance units along the\r
+ * path, utilizing the user agent's distance-along-a-path algorithm.\r
+ */\r
+ SVGPoint getPointAtLength(double distance);\r
+\r
+ /**\r
+ * Returns the index into pathSegList which is distance units along the path,\r
+ * utilizing the user agent's distance-along-a-path algorithm.\r
+ */\r
+ unsigned long getPathSegAtLength(double distance);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegClosePath object.\r
+ */\r
+ SVGPathSegClosePath\r
+ createSVGPathSegClosePath();\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegMovetoAbs object.\r
+ */\r
+ SVGPathSegMovetoAbs\r
+ createSVGPathSegMovetoAbs(double x, double y);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegMovetoRel object.\r
+ */\r
+ SVGPathSegMovetoRel\r
+ createSVGPathSegMovetoRel(double x, double y);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoAbs object.\r
+ */\r
+ SVGPathSegLinetoAbs\r
+ createSVGPathSegLinetoAbs(double x, double y);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoRel object.\r
+ */\r
+ SVGPathSegLinetoRel\r
+ createSVGPathSegLinetoRel(double x, double y);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicAbs object.\r
+ */\r
+ SVGPathSegCurvetoCubicAbs\r
+ createSVGPathSegCurvetoCubicAbs(double x, double y,\r
+ double x1, double y1, double x2, double y2);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicRel object.\r
+ */\r
+ SVGPathSegCurvetoCubicRel\r
+ createSVGPathSegCurvetoCubicRel(double x, double y,\r
+ double x1, double y1, double x2, double y2);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticAbs object.\r
+ */\r
+ SVGPathSegCurvetoQuadraticAbs\r
+ createSVGPathSegCurvetoQuadraticAbs(double x, double y,\r
+ double x1, double y1);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticRel object.\r
+ */\r
+ SVGPathSegCurvetoQuadraticRel\r
+ createSVGPathSegCurvetoQuadraticRel(double x, double y,\r
+ double x1, double y1);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegArcAbs object.\r
+ */\r
+ SVGPathSegArcAbs\r
+ createSVGPathSegArcAbs(double x, double y,\r
+ double r1, double r2, double angle,\r
+ bool largeArcFlag, bool sweepFlag);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegArcRel object.\r
+ */\r
+ SVGPathSegArcRel\r
+ createSVGPathSegArcRel(double x, double y, double r1,\r
+ double r2, double angle, bool largeArcFlag,\r
+ bool sweepFlag);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalAbs object.\r
+ */\r
+ SVGPathSegLinetoHorizontalAbs\r
+ createSVGPathSegLinetoHorizontalAbs(double x);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalRel object.\r
+ */\r
+ SVGPathSegLinetoHorizontalRel\r
+ createSVGPathSegLinetoHorizontalRel(double x);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoVerticalAbs object.\r
+ */\r
+ SVGPathSegLinetoVerticalAbs\r
+ createSVGPathSegLinetoVerticalAbs(double y);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoVerticalRel object.\r
+ */\r
+ SVGPathSegLinetoVerticalRel\r
+ createSVGPathSegLinetoVerticalRel(double y);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothAbs object.\r
+ */\r
+ SVGPathSegCurvetoCubicSmoothAbs\r
+ createSVGPathSegCurvetoCubicSmoothAbs(double x, double y,\r
+ double x2, double y2);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothRel object.\r
+ */\r
+ SVGPathSegCurvetoCubicSmoothRel\r
+ createSVGPathSegCurvetoCubicSmoothRel(double x, double y,\r
+ double x2, double y2);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothAbs\r
+ * object.\r
+ */\r
+ SVGPathSegCurvetoQuadraticSmoothAbs\r
+ createSVGPathSegCurvetoQuadraticSmoothAbs(double x, double y);\r
+\r
+ /**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothRel\r
+ * object.\r
+ */\r
+ SVGPathSegCurvetoQuadraticSmoothRel\r
+ createSVGPathSegCurvetoQuadraticSmoothRel(double x, double y);\r
+\r
+\r
+ //####################################################################\r
+ //# SVGRadialGradientElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute cx on the given 'radialGradient' element.\r
+ */\r
+ SVGAnimatedLength getCx();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute cy on the given 'radialGradient' element.\r
+ */\r
+ SVGAnimatedLength getCy();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute r on the given 'radialGradient' element.\r
+ */\r
+ SVGAnimatedLength getR();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute fx on the given 'radialGradient' element.\r
+ */\r
+ SVGAnimatedLength getFx();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute fy on the given 'radialGradient' element.\r
+ */\r
+ SVGAnimatedLength getFy();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGRectElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'rect' element.\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given 'rect' element.\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ * Corresponds to attribute width on the given 'rect' element.\r
+ */\r
+ SVGAnimatedLength getWidth();\r
+\r
+ /**\r
+ * Corresponds to attribute height on the given 'rect' element.\r
+ */\r
+ SVGAnimatedLength getHeight();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute rx on the given 'rect' element.\r
+ */\r
+ SVGAnimatedLength getRx();\r
+\r
+ /**\r
+ * Corresponds to attribute ry on the given 'rect' element.\r
+ */\r
+ SVGAnimatedLength getRy();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGScriptElement\r
+ //####################################################################\r
+\r
+ /**\r
+ *\r
+ */\r
+ DOMString getType();\r
+\r
+ /**\r
+ *\r
+ */\r
+ void setType(const DOMString &val) throw (DOMException);\r
+\r
+ //####################################################################\r
+ //# SVGSetElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGStopElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute offset on the given 'stop' element.\r
+ */\r
+ SVGAnimatedNumber getOffset();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGStyleElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Get the attribute xml:space on the given element.\r
+ */\r
+ DOMString getXmlspace();\r
+\r
+ /**\r
+ * Set the attribute xml:space on the given element.\r
+ */\r
+ void setXmlspace(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute type on the given 'style' element.\r
+ */\r
+ DOMString getType();\r
+\r
+ /**\r
+ * Set the attribute type on the given 'style' element.\r
+ */\r
+ void setType(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute media on the given 'style' element.\r
+ */\r
+ DOMString getMedia();\r
+\r
+ /**\r
+ * Set the attribute media on the given 'style' element.\r
+ */\r
+ void setMedia(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * Get the attribute title on the given 'style' element.\r
+ */\r
+ DOMString getTitle();\r
+\r
+ /**\r
+ * Set the attribute title on the given 'style' element.\r
+ */\r
+ void setTitle(const DOMString &val) throw (DOMException);\r
+\r
+ //####################################################################\r
+ //# SVGSymbolElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGSVGElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'svg' element.\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given 'svg' element.\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ * Corresponds to attribute width on the given 'svg' element.\r
+ */\r
+ SVGAnimatedLength getWidth();\r
+\r
+ /**\r
+ * Corresponds to attribute height on the given 'svg' element.\r
+ */\r
+ SVGAnimatedLength getHeight();\r
+\r
+ /**\r
+ * Get the attribute contentScriptType on the given 'svg' element.\r
+ */\r
+ DOMString getContentScriptType();\r
+\r
+ /**\r
+ * Set the attribute contentScriptType on the given 'svg' element.\r
+ */\r
+ void setContentScriptType(const DOMString &val) throw (DOMException);\r
+\r
+\r
+ /**\r
+ * Get the attribute contentStyleType on the given 'svg' element.\r
+ */\r
+ DOMString getContentStyleType();\r
+\r
+ /**\r
+ * Set the attribute contentStyleType on the given 'svg' element.\r
+ */\r
+ void setContentStyleType(const DOMString &val) throw (DOMException);\r
+\r
+ /**\r
+ * The position and size of the viewport(implicit or explicit) that corresponds\r
+ * to this 'svg' element. When the user agent is actually rendering the content,\r
+ * then the position and size values represent the actual values when rendering.\r
+ * The position and size values are unitless values in the coordinate system of\r
+ * the parent element. If no parent element exists(i.e., 'svg' element\r
+ * represents the root of the document tree), if this SVG document is embedded as\r
+ * part of another document(e.g., via the HTML 'object' element), then the\r
+ * position and size are unitless values in the coordinate system of the parent\r
+ * document.(If the parent uses CSS or XSL layout, then unitless values\r
+ * represent pixel units for the current CSS or XSL viewport, as described in the\r
+ * CSS2 specification.) If the parent element does not have a coordinate system,\r
+ * then the user agent should provide reasonable default values for this attribute.\r
+ * */\r
+ SVGRect getViewport();\r
+\r
+ /**\r
+ * Size of a pixel units(as defined by CSS2) along the x-axis of the viewport,\r
+ * which represents a unit somewhere in the range of 70dpi to 120dpi, and, on\r
+ * systems that support this, might actually match the characteristics of the\r
+ * target medium. On systems where it is impossible to know the size of a pixel,\r
+ * a suitable default pixel size is provided.\r
+ */\r
+ double getPixelUnitToMillimeterX();\r
+\r
+ /**\r
+ * Corresponding size of a pixel unit along the y-axis of the viewport.\r
+ */\r
+ double getPixelUnitToMillimeterY();\r
+\r
+ /**\r
+ * User interface(UI) events in DOM Level 2 indicate the screen positions at\r
+ * which the given UI event occurred. When the user agent actually knows the\r
+ * physical size of a "screen unit", this attribute will express that information;\r
+ * otherwise, user agents will provide a suitable default value such as .28mm.\r
+ */\r
+ double getScreenPixelToMillimeterX();\r
+\r
+ /**\r
+ * Corresponding size of a screen pixel along the y-axis of the viewport.\r
+ */\r
+ double getScreenPixelToMillimeterY();\r
+\r
+\r
+ /**\r
+ * The initial view(i.e., before magnification and panning) of the current\r
+ * innermost SVG document fragment can be either the "standard" view(i.e., based\r
+ * on attributes on the 'svg' element such as fitBoxToViewport) or to a "custom"\r
+ * view(i.e., a hyperlink into a particular 'view' or other element - see\r
+ * Linking into SVG content: URI fragments and SVG views). If the initial view is\r
+ * the "standard" view, then this attribute is false. If the initial view is a\r
+ * "custom" view, then this attribute is true.\r
+ */\r
+ bool getUseCurrentView();\r
+\r
+ /**\r
+ * Set the value above\r
+ */\r
+ void setUseCurrentView(bool val) throw (DOMException);\r
+\r
+ /**\r
+ * The definition of the initial view(i.e., before magnification and panning) of\r
+ * the current innermost SVG document fragment. The meaning depends on the\r
+ * situation:\r
+ * \r
+ * * If the initial view was a "standard" view, then:\r
+ * o the values for viewBox, preserveAspectRatio and zoomAndPan within\r
+ * currentView will match the values for the corresponding DOM attributes that\r
+ * are on SVGSVGElement directly\r
+ * o the values for transform and viewTarget within currentView will be null\r
+ * * If the initial view was a link into a 'view' element, then:\r
+ * o the values for viewBox, preserveAspectRatio and zoomAndPan within\r
+ * currentView will correspond to the corresponding attributes for the given\r
+ * 'view' element\r
+ * o the values for transform and viewTarget within currentView will be null\r
+ * * If the initial view was a link into another element(i.e., other than a\r
+ * 'view'), then:\r
+ * o the values for viewBox, preserveAspectRatio and zoomAndPan within\r
+ * currentView will match the values for the corresponding DOM attributes that\r
+ * are on SVGSVGElement directly for the closest ancestor 'svg' element\r
+ * o the values for transform within currentView will be null\r
+ * o the viewTarget within currentView will represent the target of the link\r
+ * * If the initial view was a link into the SVG document fragment using an SVG\r
+ * view specification fragment identifier(i.e., #svgView(...)), then:\r
+ * o the values for viewBox, preserveAspectRatio, zoomAndPan, transform and\r
+ * viewTarget within currentView will correspond to the values from the SVG view\r
+ * specification fragment identifier\r
+ * \r
+ */\r
+ SVGViewSpec getCurrentView();\r
+\r
+\r
+ /**\r
+ * This attribute indicates the current scale factor relative to the initial view\r
+ * to take into account user magnification and panning operations, as described\r
+ * under Magnification and panning. DOM attributes currentScale and\r
+ * currentTranslate are equivalent to the 2x3 matrix [a b c d e f] =\r
+ * [currentScale 0 0 currentScale currentTranslate.x currentTranslate.y]. If\r
+ * "magnification" is enabled(i.e., zoomAndPan="magnify"), then the effect is as\r
+ * if an extra transformation were placed at the outermost level on the SVG\r
+ * document fragment(i.e., outside the outermost 'svg' element).\r
+ */\r
+ double getCurrentScale();\r
+\r
+ /**\r
+ * Set the value above.\r
+ */\r
+ void setCurrentScale(double val) throw (DOMException);\r
+\r
+ /**\r
+ * The corresponding translation factor that takes into account\r
+ * user "magnification".\r
+ */\r
+ SVGPoint getCurrentTranslate();\r
+\r
+ /**\r
+ * Takes a time-out value which indicates that redraw shall not occur until:(a)\r
+ * the corresponding unsuspendRedraw(suspend_handle_id) call has been made,(b)\r
+ * an unsuspendRedrawAll() call has been made, or(c) its timer has timed out. In\r
+ * environments that do not support interactivity(e.g., print media), then\r
+ * redraw shall not be suspended. suspend_handle_id =\r
+ * suspendRedraw(max_wait_milliseconds) and unsuspendRedraw(suspend_handle_id)\r
+ * must be packaged as balanced pairs. When you want to suspend redraw actions as\r
+ * a collection of SVG DOM changes occur, then precede the changes to the SVG DOM\r
+ * with a method call similar to suspend_handle_id =\r
+ * suspendRedraw(max_wait_milliseconds) and follow the changes with a method call\r
+ * similar to unsuspendRedraw(suspend_handle_id). Note that multiple\r
+ * suspendRedraw calls can be used at once and that each such method call is\r
+ * treated independently of the other suspendRedraw method calls.\r
+ */\r
+ unsigned long suspendRedraw(unsigned long max_wait_milliseconds);\r
+\r
+ /**\r
+ * Cancels a specified suspendRedraw() by providing a unique suspend_handle_id.\r
+ */\r
+ void unsuspendRedraw(unsigned long suspend_handle_id) throw (DOMException);\r
+\r
+ /**\r
+ * Cancels all currently active suspendRedraw() method calls. This method is most\r
+ * useful at the very end of a set of SVG DOM calls to ensure that all pending\r
+ * suspendRedraw() method calls have been cancelled.\r
+ */\r
+ void unsuspendRedrawAll();\r
+\r
+ /**\r
+ * In rendering environments supporting interactivity, forces the user agent to\r
+ * immediately redraw all regions of the viewport that require updating.\r
+ */\r
+ void forceRedraw();\r
+\r
+ /**\r
+ * Suspends(i.e., pauses) all currently running animations that are defined\r
+ * within the SVG document fragment corresponding to this 'svg' element, causing\r
+ * the animation clock corresponding to this document fragment to stand still\r
+ * until it is unpaused.\r
+ */\r
+ void pauseAnimations();\r
+\r
+ /**\r
+ * Unsuspends(i.e., unpauses) currently running animations that are defined\r
+ * within the SVG document fragment, causing the animation clock to continue from\r
+ * the time at which it was suspended.\r
+ */\r
+ void unpauseAnimations();\r
+\r
+ /**\r
+ * Returns true if this SVG document fragment is in a paused state.\r
+ */\r
+ bool animationsPaused();\r
+\r
+ /**\r
+ * Returns the current time in seconds relative to the start time for\r
+ * the current SVG document fragment.\r
+ */\r
+ double getCurrentTime();\r
+\r
+ /**\r
+ * Adjusts the clock for this SVG document fragment, establishing\r
+ * a new current time.\r
+ */\r
+ void setCurrentTime(double seconds);\r
+\r
+ /**\r
+ * Returns the list of graphics elements whose rendered content intersects the\r
+ * supplied rectangle, honoring the 'pointer-events' property value on each\r
+ * candidate graphics element.\r
+ */\r
+ NodeList getIntersectionList(const SVGRect &rect,\r
+ const SVGElementPtr referenceElement);\r
+\r
+ /**\r
+ * Returns the list of graphics elements whose rendered content is entirely\r
+ * contained within the supplied rectangle, honoring the 'pointer-events'\r
+ * property value on each candidate graphics element.\r
+ */\r
+ NodeList getEnclosureList(const SVGRect &rect,\r
+ const SVGElementPtr referenceElement);\r
+\r
+ /**\r
+ * Returns true if the rendered content of the given element intersects the\r
+ * supplied rectangle, honoring the 'pointer-events' property value on each\r
+ * candidate graphics element.\r
+ */\r
+ bool checkIntersection(const SVGElementPtr element, const SVGRect &rect);\r
+\r
+ /**\r
+ * Returns true if the rendered content of the given element is entirely\r
+ * contained within the supplied rectangle, honoring the 'pointer-events'\r
+ * property value on each candidate graphics element.\r
+ */\r
+ bool checkEnclosure(const SVGElementPtr element, const SVGRect &rect);\r
+\r
+ /**\r
+ * Unselects any selected objects, including any selections of text\r
+ * strings and type-in bars.\r
+ */\r
+ void deselectAll();\r
+\r
+ /**\r
+ * Creates an SVGNumber object outside of any document trees. The object\r
+ * is initialized to a value of zero.\r
+ */\r
+ SVGNumber createSVGNumber();\r
+\r
+ /**\r
+ * Creates an SVGLength object outside of any document trees. The object\r
+ * is initialized to the value of 0 user units.\r
+ */\r
+ SVGLength createSVGLength();\r
+\r
+ /**\r
+ * Creates an SVGAngle object outside of any document trees. The object\r
+ * is initialized to the value 0 degrees(unitless).\r
+ */\r
+ SVGAngle createSVGAngle();\r
+\r
+ /**\r
+ * Creates an SVGPoint object outside of any document trees. The object\r
+ * is initialized to the point(0,0) in the user coordinate system.\r
+ */\r
+ SVGPoint createSVGPoint();\r
+\r
+ /**\r
+ * Creates an SVGMatrix object outside of any document trees. The object\r
+ * is initialized to the identity matrix.\r
+ */\r
+ SVGMatrix createSVGMatrix();\r
+\r
+ /**\r
+ * Creates an SVGRect object outside of any document trees. The object\r
+ * is initialized such that all values are set to 0 user units.\r
+ */\r
+ SVGRect createSVGRect();\r
+\r
+ /**\r
+ * Creates an SVGTransform object outside of any document trees.\r
+ * The object is initialized to an identity matrix transform\r
+ * (SVG_TRANSFORM_MATRIX).\r
+ */\r
+ SVGTransform createSVGTransform();\r
+\r
+ /**\r
+ * Creates an SVGTransform object outside of any document trees.\r
+ * The object is initialized to the given matrix transform\r
+ * (i.e., SVG_TRANSFORM_MATRIX).\r
+ */\r
+ SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix);\r
+\r
+ /**\r
+ * Searches this SVG document fragment(i.e., the search is restricted to a\r
+ * subset of the document tree) for an Element whose id is given by elementId. If\r
+ * an Element is found, that Element is returned. If no such element exists,\r
+ * returns null. Behavior is not defined if more than one element has this id.\r
+ */\r
+ ElementPtr getElementById(const DOMString& elementId);\r
+\r
+\r
+ //####################################################################\r
+ //# SVGTextElement\r
+ //####################################################################\r
+\r
+\r
+ //####################################################################\r
+ //# SVGTextContentElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * lengthAdjust Types\r
+ */\r
+ typedef enum\r
+ {\r
+ LENGTHADJUST_UNKNOWN = 0,\r
+ LENGTHADJUST_SPACING = 1,\r
+ LENGTHADJUST_SPACINGANDGLYPHS = 2\r
+ } LengthAdjustType;\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute textLength on the given element.\r
+ */\r
+ SVGAnimatedLength getTextLength();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute lengthAdjust on the given element. The value must be\r
+ * one of the length adjust constants specified above.\r
+ */\r
+ SVGAnimatedEnumeration getLengthAdjust();\r
+\r
+\r
+ /**\r
+ * Returns the total number of characters to be rendered within the current\r
+ * element. Includes characters which are included via a 'tref' reference.\r
+ */\r
+ long getNumberOfChars();\r
+\r
+ /**\r
+ * The total sum of all of the advance values from rendering all of the\r
+ * characters within this element, including the advance value on the glyphs\r
+ *(horizontal or vertical), the effect of properties 'kerning', 'letter-spacing'\r
+ * and 'word-spacing' and adjustments due to attributes dx and dy on 'tspan'\r
+ * elements. For non-rendering environments, the user agent shall make reasonable\r
+ * assumptions about glyph metrics.\r
+ */\r
+ double getComputedTextLength();\r
+\r
+ /**\r
+ * The total sum of all of the advance values from rendering the specified\r
+ * substring of the characters, including the advance value on the glyphs\r
+ *(horizontal or vertical), the effect of properties 'kerning', 'letter-spacing'\r
+ * and 'word-spacing' and adjustments due to attributes dx and dy on 'tspan'\r
+ * elements. For non-rendering environments, the user agent shall make reasonable\r
+ * assumptions about glyph metrics.\r
+ */\r
+ double getSubStringLength(unsigned long charnum, unsigned long nchars)\r
+ throw (DOMException);\r
+\r
+ /**\r
+ * Returns the current text position before rendering the character in the user\r
+ * coordinate system for rendering the glyph(s) that correspond to the specified\r
+ * character. The current text position has already taken into account the\r
+ * effects of any inter-character adjustments due to properties 'kerning',\r
+ * 'letter-spacing' and 'word-spacing' and adjustments due to attributes x, y, dx\r
+ * and dy. If multiple consecutive characters are rendered inseparably(e.g., as\r
+ * a single glyph or a sequence of glyphs), then each of the inseparable\r
+ * characters will return the start position for the first glyph.\r
+ */\r
+ SVGPoint getStartPositionOfChar(unsigned long charnum) throw (DOMException);\r
+\r
+ /**\r
+ * Returns the current text position after rendering the character in the user\r
+ * coordinate system for rendering the glyph(s) that correspond to the specified\r
+ * character. This current text position does not take into account the effects\r
+ * of any inter-character adjustments to prepare for the next character, such as\r
+ * properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due\r
+ * to attributes x, y, dx and dy. If multiple consecutive characters are rendered\r
+ * inseparably(e.g., as a single glyph or a sequence of glyphs), then each of\r
+ * the inseparable characters will return the end position for the last glyph.\r
+ */\r
+ SVGPoint getEndPositionOfChar(unsigned long charnum) throw (DOMException);\r
+\r
+ /**\r
+ * Returns a tightest rectangle which defines the minimum and maximum X and Y\r
+ * values in the user coordinate system for rendering the glyph(s) that\r
+ * correspond to the specified character. The calculations assume that all glyphs\r
+ * occupy the full standard glyph cell for the font. If multiple consecutive\r
+ * characters are rendered inseparably(e.g., as a single glyph or a sequence of\r
+ * glyphs), then each of the inseparable characters will return the same extent.\r
+ */\r
+ SVGRect getExtentOfChar(unsigned long charnum) throw (DOMException);\r
+\r
+ /**\r
+ * Returns the rotation value relative to the current user coordinate system used\r
+ * to render the glyph(s) corresponding to the specified character. If multiple\r
+ * glyph(s) are used to render the given character and the glyphs each have\r
+ * different rotations(e.g., due to text-on-a-path), the user agent shall return\r
+ * an average value(e.g., the rotation angle at the midpoint along the path for\r
+ * all glyphs used to render this character). The rotation value represents the\r
+ * rotation that is supplemental to any rotation due to properties\r
+ * 'glyph-orientation-horizontal' and 'glyph-orientation-vertical'; thus, any\r
+ * glyph rotations due to these properties are not included into the returned\r
+ * rotation value. If multiple consecutive characters are rendered inseparably\r
+ *(e.g., as a single glyph or a sequence of glyphs), then each of the\r
+ * inseparable characters will return the same rotation value.\r
+ */\r
+ double getRotationOfChar(unsigned long charnum) throw (DOMException);\r
+\r
+ /**\r
+ * Returns the index of the character whose corresponding glyph cell bounding box\r
+ * contains the specified point. The calculations assume that all glyphs occupy\r
+ * the full standard glyph cell for the font. If no such character exists, a\r
+ * value of -1 is returned. If multiple such characters exist, the character\r
+ * within the element whose glyphs were rendered last(i.e., take into account\r
+ * any reordering such as for bidirectional text) is used. If multiple\r
+ * consecutive characters are rendered inseparably(e.g., as a single glyph or a\r
+ * sequence of glyphs), then the user agent shall allocate an equal percentage of\r
+ * the text advance amount to each of the contributing characters in determining\r
+ * which of the characters is chosen.\r
+ */\r
+ long getCharNumAtPosition(const SVGPoint &point);\r
+\r
+ /**\r
+ * Causes the specified substring to be selected just as if the user\r
+ * selected the substring interactively.\r
+ */\r
+ void selectSubString(unsigned long charnum, unsigned long nchars)\r
+ throw (DOMException);\r
+\r
+\r
+\r
+\r
+\r
+ //####################################################################\r
+ //# SVGTextPathElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * textPath Method Types\r
+ */\r
+ typedef enum\r
+ {\r
+ TEXTPATH_METHODTYPE_UNKNOWN = 0,\r
+ TEXTPATH_METHODTYPE_ALIGN = 1,\r
+ TEXTPATH_METHODTYPE_STRETCH = 2\r
+ } TextPathMethodType;\r
+\r
+ /**\r
+ * textPath Spacing Types\r
+ */\r
+ typedef enum\r
+ {\r
+ TEXTPATH_SPACINGTYPE_UNKNOWN = 0,\r
+ TEXTPATH_SPACINGTYPE_AUTO = 1,\r
+ TEXTPATH_SPACINGTYPE_EXACT = 2\r
+ } TextPathSpacingType;\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute startOffset on the given 'textPath' element.\r
+ */\r
+ SVGAnimatedLength getStartOffset();\r
+\r
+ /**\r
+ * Corresponds to attribute method on the given 'textPath' element. The value\r
+ * must be one of the method type constants specified above.\r
+ */\r
+ SVGAnimatedEnumeration getMethod();\r
+\r
+ /**\r
+ * Corresponds to attribute spacing on the given 'textPath' element.\r
+ * The value must be one of the spacing type constants specified above.\r
+ */\r
+ SVGAnimatedEnumeration getSpacing();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGTextPositioningElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given element.\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given element.\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ * Corresponds to attribute dx on the given element.\r
+ */\r
+ SVGAnimatedLength getDx();\r
+\r
+ /**\r
+ * Corresponds to attribute dy on the given element.\r
+ */\r
+ SVGAnimatedLength getDy();\r
+\r
+\r
+ /**\r
+ * Corresponds to attribute rotate on the given element.\r
+ */\r
+ SVGAnimatedNumberList getRotate();\r
+\r
+\r
+ //####################################################################\r
+ //# SVGTitleElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGTRefElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGTSpanElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGSwitchElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGUseElement\r
+ //####################################################################\r
+\r
+ /**\r
+ * Corresponds to attribute x on the given 'use' element.\r
+ */\r
+ SVGAnimatedLength getX();\r
+\r
+ /**\r
+ * Corresponds to attribute y on the given 'use' element.\r
+ */\r
+ SVGAnimatedLength getY();\r
+\r
+ /**\r
+ * Corresponds to attribute width on the given 'use' element.\r
+ */\r
+ SVGAnimatedLength getWidth();\r
+\r
+ /**\r
+ * Corresponds to attribute height on the given 'use' element.\r
+ */\r
+ SVGAnimatedLength getHeight();\r
+\r
+ /**\r
+ * The root of the "instance tree". See description of SVGElementInstance for\r
+ * a discussion on the instance tree.\r
+ * */\r
+ SVGElementInstance getInstanceRoot();\r
+\r
+ /**\r
+ * If the 'href' attribute is being animated, contains the current animated root\r
+ * of the "instance tree". If the 'href' attribute is not currently being\r
+ * animated, contains the same value as 'instanceRoot'. The root of the "instance\r
+ * tree". See description of SVGElementInstance for a discussion on the instance\r
+ * tree.\r
+ */\r
+ SVGElementInstance getAnimatedInstanceRoot();\r
+\r
+ //####################################################################\r
+ //# SVGVKernElement\r
+ //####################################################################\r
+\r
+ //####################################################################\r
+ //# SVGViewElement\r
+ //####################################################################\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGStringList getViewTarget();\r
+\r
+\r
+\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
+\r
+\r
+ /**\r
+ *\r
+ */\r
+ ~SVGElement() {}\r
+\r
+\r
+};\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGDocument\r
+#########################################################################*/\r
+\r
+/**\r
+ * When an 'svg' element is embedded inline as a component of a document from\r
+ * another namespace, such as when an 'svg' element is embedded inline within an\r
+ * XHTML document [XHTML], then an SVGDocument object will not exist; instead,\r
+ * the root object in the document object hierarchy will be a Document object of\r
+ * a different type, such as an HTMLDocument object.\r
+ *\r
+ * However, an SVGDocument object will indeed exist when the root element of the\r
+ * XML document hierarchy is an 'svg' element, such as when viewing a stand-alone\r
+ * SVG file(i.e., a file with MIME type "image/svg+xml"). In this case, the\r
+ * SVGDocument object will be the root object of the document object model\r
+ * hierarchy.\r
+ *\r
+ * In the case where an SVG document is embedded by reference, such as when an\r
+ * XHTML document has an 'object' element whose href attribute references an SVG\r
+ * document(i.e., a document whose MIME type is "image/svg+xml" and whose root\r
+ * element is thus an 'svg' element), there will exist two distinct DOM\r
+ * hierarchies. The first DOM hierarchy will be for the referencing document\r
+ *(e.g., an XHTML document). The second DOM hierarchy will be for the referenced\r
+ * SVG document. In this second DOM hierarchy, the root object of the document\r
+ * object model hierarchy is an SVGDocument object.\r
+ */\r
+class SVGDocument : public Document,\r
+ public events::DocumentEvent\r
+{\r
+public:\r
+\r
+\r
+ /**\r
+ * The title of a document as specified by the title sub-element of the 'svg'\r
+ * root element(i.e., <svg><title>Here is the title</title>...</svg>)\r
+ */\r
+ DOMString getTitle();\r
+\r
+ /**\r
+ * Returns the URI of the page that linked to this page. The value is an empty\r
+ * string if the user navigated to the page directly(not through a link, but,\r
+ * for example, via a bookmark).\r
+ */\r
+ DOMString getReferrer();\r
+\r
+ /**\r
+ * The domain name of the server that served the document, or a null string if\r
+ * the server cannot be identified by a domain name.\r
+ */\r
+ DOMString getDomain();\r
+\r
+ /**\r
+ * The complete URI of the document.\r
+ */\r
+ DOMString getURL();\r
+\r
+ /**\r
+ * The root 'svg' element in the document hierarchy.\r
+ */\r
+ SVGElementPtr getRootElement();\r
+\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
+\r
+ /**\r
+ *\r
+ */\r
+ ~SVGDocument() {}\r
+\r
+};\r
+\r
+\r
+\r
+/*#########################################################################\r
+## GetSVGDocument\r
+#########################################################################*/\r
+\r
+/**\r
+ * In the case where an SVG document is embedded by reference, such as when an\r
+ * XHTML document has an 'object' element whose href(or equivalent) attribute\r
+ * references an SVG document(i.e., a document whose MIME type is\r
+ * "image/svg+xml" and whose root element is thus an 'svg' element), the SVG user\r
+ * agent is required to implement the GetSVGDocument interface for the element\r
+ * which references the SVG document(e.g., the HTML 'object' or comparable\r
+ * referencing elements).\r
+ */\r
+class GetSVGDocument\r
+{\r
+public:\r
+\r
+ /**\r
+ * Returns the SVGDocument object for the referenced SVG document.\r
+ */\r
+ SVGDocumentPtr getSVGDocument()\r
+ throw (DOMException);\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
+\r
+ /**\r
+ *\r
+ */\r
+ ~GetSVGDocument() {}\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+} //namespace svg\r
+} //namespace dom\r
+} //namespace w3c\r
+} //namespace org\r
+\r
+#endif // __SVG_H__\r
+/*#########################################################################\r
+## E N D O F F I L E\r
+#########################################################################*/\r
+\r