summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 796e4d2)
raw | patch | inline | side by side (parent: 796e4d2)
author | ishmal <ishmal@users.sourceforge.net> | |
Tue, 17 Jun 2008 21:18:19 +0000 (21:18 +0000) | ||
committer | ishmal <ishmal@users.sourceforge.net> | |
Tue, 17 Jun 2008 21:18:19 +0000 (21:18 +0000) |
src/dom/svg2.h | patch | blob | history | |
src/dom/work/svg2.cpp | [new file with mode: 0644] | patch | blob |
diff --git a/src/dom/svg2.h b/src/dom/svg2.h
index 4f9b78ecb56172a7cb7af4c6b36aeceab30bd0f5..97a534d049183406790a9fd3ae1d7d302606200c 100644 (file)
--- a/src/dom/svg2.h
+++ b/src/dom/svg2.h
class SVGDocument;\r
typedef Ptr<SVGDocument> SVGDocumentPtr;\r
\r
+\r
+\r
//########################################################################\r
//########################################################################\r
-//########################################################################\r
-//# I N T E R F A C E S\r
-//########################################################################\r
+//# V A L U E S\r
//########################################################################\r
//########################################################################\r
\r
\r
\r
+\r
+\r
/*#########################################################################\r
-## SVGMatrix\r
+## SVGAngle\r
#########################################################################*/\r
\r
/**\r
- * In SVG, a Matrix is defined like this:\r
- *\r
- * | a c e |\r
- * | b d f |\r
- * | 0 0 1 |\r
*\r
*/\r
-class SVGMatrix\r
+class SVGAngle\r
{\r
public:\r
\r
+ /**\r
+ * Angle Unit Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_ANGLETYPE_UNKNOWN = 0,\r
+ SVG_ANGLETYPE_UNSPECIFIED = 1,\r
+ SVG_ANGLETYPE_DEG = 2,\r
+ SVG_ANGLETYPE_RAD = 3,\r
+ SVG_ANGLETYPE_GRAD = 4\r
+ } AngleUnitType;\r
+\r
+\r
\r
/**\r
*\r
*/\r
- virtual double getA()\r
- { return a; }\r
+ unsigned short getUnitType();\r
\r
/**\r
*\r
*/\r
- virtual void setA(double val) throw (DOMException)\r
- { a = val; }\r
+ double getValue();\r
\r
/**\r
*\r
*/\r
- virtual double getB()\r
- { return b; }\r
+ void setValue(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setB(double val) throw (DOMException)\r
- { b = val; }\r
+ double getValueInSpecifiedUnits();\r
\r
/**\r
*\r
*/\r
- virtual double getC()\r
- { return c; }\r
+ void setValueInSpecifiedUnits(double /*val*/)\r
+ throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setC(double val) throw (DOMException)\r
- { c = val; }\r
+ DOMString getValueAsString();\r
\r
/**\r
*\r
*/\r
- virtual double getD()\r
- { return d; }\r
+ void setValueAsString(const DOMString &/*val*/)\r
+ throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setD(double val) throw (DOMException)\r
- { d = val; }\r
+ void newValueSpecifiedUnits(unsigned short /*unitType*/,\r
+ double /*valueInSpecifiedUnits*/);\r
+\r
/**\r
*\r
*/\r
- virtual double getE()\r
- { return e; }\r
+ void convertToSpecifiedUnits(unsigned short /*unitType*/);\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
\r
/**\r
*\r
*/\r
- virtual void setE(double val) throw (DOMException)\r
- { e = val; }\r
+ SVGAngle();\r
+\r
/**\r
*\r
*/\r
- virtual double getF()\r
- { return f; }\r
+ SVGAngle(const SVGAngle &other);\r
\r
/**\r
*\r
*/\r
- virtual void setF(double val) throw (DOMException)\r
- { f = val; }\r
+ ~SVGAngle();\r
+\r
+protected:\r
+\r
+ int unitType;\r
+\r
+ double value;\r
+\r
+};\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGColor\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGColor : public css::CSSValue\r
+{\r
+public:\r
\r
\r
/**\r
- * Return the result of postmultiplying this matrix with another.\r
+ * Color Types\r
*/\r
- virtual SVGMatrix multiply(const SVGMatrix &other)\r
+ typedef enum\r
{\r
- SVGMatrix result;\r
- result.a = a * other.a + c * other.b;\r
- result.b = b * other.a + d * other.b;\r
- result.c = a * other.c + c * other.d;\r
- result.d = b * other.c + d * other.d;\r
- result.e = a * other.e + c * other.f + e;\r
- result.f = b * other.e + d * other.f + f;\r
- return result;\r
- }\r
+ SVG_COLORTYPE_UNKNOWN = 0,\r
+ SVG_COLORTYPE_RGBCOLOR = 1,\r
+ SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2,\r
+ SVG_COLORTYPE_CURRENTCOLOR = 3\r
+ } ColorType;\r
+\r
\r
/**\r
- * Calculate the inverse of this matrix\r
*\r
*/\r
- virtual SVGMatrix inverse( ) throw( SVGException )\r
- {\r
- /*###########################################\r
- The determinant of a 3x3 matrix E\r
- (let's use our own notation for a bit)\r
-\r
- A B C\r
- D E F\r
- G H I\r
- is\r
- AEI - AFH - BDI + BFG + CDH - CEG\r
-\r
- Since in our affine transforms, G and H==0 and I==1,\r
- this reduces to:\r
- AE - BD\r
- In SVG's naming scheme, that is: a * d - c * b . SIMPLE!\r
-\r
- In a similar method of attack, SVG's adjunct matrix is:\r
-\r
- d -c cf-ed\r
- -b a eb-af\r
- 0 0 ad-cb\r
-\r
- To get the inverse matrix, we divide the adjunct matrix by\r
- the determinant. Notice that (ad-cb)/(ad-cb)==1. Very cool.\r
- So what we end up with is this:\r
-\r
- a = d/(ad-cb) c = -c/(ad-cb) e = (cf-ed)/(ad-cb)\r
- b = -b/(ad-cb) d = a/(ad-cb) f = (eb-af)/(ad-cb)\r
-\r
- (Since this would be in all SVG-DOM implementations,\r
- somebody needed to document this! ^^ )\r
- #############################################*/\r
-\r
- SVGMatrix result;\r
- double determinant = a * d - c * b;\r
- if (determinant < 1.0e-18)//invertible?\r
- {\r
- result.identity();//cop out\r
- return result;\r
- }\r
-\r
- double idet = 1.0 / determinant;\r
- result.a = d * idet;\r
- result.b = -b * idet;\r
- result.c = -c * idet;\r
- result.d = a * idet;\r
- result.e = (c*f - e*d) * idet;\r
- result.f = (e*b - a*f) * idet;\r
- return result;\r
- }\r
+ unsigned short getColorType();\r
\r
/**\r
- * Equivalent to multiplying by:\r
- * | 1 0 x |\r
- * | 0 1 y |\r
- * | 0 0 1 |\r
*\r
*/\r
- virtual SVGMatrix translate(double x, double y )\r
- {\r
- SVGMatrix result;\r
- result.a = a;\r
- result.b = b;\r
- result.c = c;\r
- result.d = d;\r
- result.e = a * x + c * y + e;\r
- result.f = b * x + d * y + f;\r
- return result;\r
- }\r
+ css::RGBColor getRgbColor();\r
\r
/**\r
- * Equivalent to multiplying by:\r
- * | scale 0 0 |\r
- * | 0 scale 0 |\r
- * | 0 0 1 |\r
*\r
*/\r
- virtual SVGMatrix scale(double scale)\r
- {\r
- SVGMatrix result;\r
- result.a = a * scale;\r
- result.b = b * scale;\r
- result.c = c * scale;\r
- result.d = d * scale;\r
- result.e = e;\r
- result.f = f;\r
- return result;\r
- }\r
+ SVGICCColor getIccColor();\r
+\r
\r
/**\r
- * Equivalent to multiplying by:\r
- * | scaleX 0 0 |\r
- * | 0 scaleY 0 |\r
- * | 0 0 1 |\r
*\r
*/\r
- virtual SVGMatrix scaleNonUniform(double scaleX,\r
- double scaleY )\r
- {\r
- SVGMatrix result;\r
- result.a = a * scaleX;\r
- result.b = b * scaleX;\r
- result.c = c * scaleY;\r
- result.d = d * scaleY;\r
- result.e = e;\r
- result.f = f;\r
- return result;\r
- }\r
+ void setRGBColor(const DOMString& /*rgbColor*/)\r
+ throw(SVGException);\r
\r
/**\r
- * Equivalent to multiplying by:\r
- * | cos(a) -sin(a) 0 |\r
- * | sin(a) cos(a) 0 |\r
- * | 0 0 1 |\r
*\r
*/\r
- virtual SVGMatrix rotate (double angle)\r
- {\r
- double sina = sin(angle);\r
- double msina = -sina;\r
- double cosa = cos(angle);\r
- SVGMatrix result;\r
- result.a = a * cosa + c * sina;\r
- result.b = b * cosa + d + sina;\r
- result.c = a * msina + c * cosa;\r
- result.d = b * msina + d * cosa;\r
- result.e = e;\r
- result.f = f;\r
- return result;\r
- }\r
+ void setRGBColorICCColor(const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw(SVGException);\r
\r
/**\r
- * Equivalent to multiplying by:\r
- * | cos(a) -sin(a) 0 |\r
- * | sin(a) cos(a) 0 |\r
- * | 0 0 1 |\r
- * In this case, angle 'a' is computed as the artangent\r
- * of the slope y/x . It is negative if the slope is negative.\r
+ *\r
*/\r
- virtual SVGMatrix rotateFromVector(double x, double y)\r
- throw( SVGException )\r
- {\r
- double angle = atan(y / x);\r
- if (y < 0.0)\r
- angle = -angle;\r
- SVGMatrix result;\r
- double sina = sin(angle);\r
- double msina = -sina;\r
- double cosa = cos(angle);\r
- result.a = a * cosa + c * sina;\r
- result.b = b * cosa + d + sina;\r
- result.c = a * msina + c * cosa;\r
- result.d = b * msina + d * cosa;\r
- result.e = e;\r
- result.f = f;\r
- return result;\r
- }\r
+ void setColor(unsigned short /*colorType*/,\r
+ const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw(SVGException);\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
\r
/**\r
- * Equivalent to multiplying by:\r
- * | -1 0 0 |\r
- * | 0 1 0 |\r
- * | 0 0 1 |\r
*\r
*/\r
- virtual SVGMatrix flipX( )\r
- {\r
- SVGMatrix result;\r
- result.a = -a;\r
- result.b = -b;\r
- result.c = c;\r
- result.d = d;\r
- result.e = e;\r
- result.f = f;\r
- return result;\r
- }\r
+ SVGColor();\r
\r
/**\r
- * Equivalent to multiplying by:\r
- * | 1 0 0 |\r
- * | 0 -1 0 |\r
- * | 0 0 1 |\r
*\r
*/\r
- virtual SVGMatrix flipY( )\r
- {\r
- SVGMatrix result;\r
- result.a = a;\r
- result.b = b;\r
- result.c = -c;\r
- result.d = -d;\r
- result.e = e;\r
- result.f = f;\r
- return result;\r
- }\r
+ SVGColor(const SVGColor &other) : css::CSSValue(other);\r
\r
/**\r
- * | 1 tan(a) 0 |\r
- * | 0 1 0 |\r
- * | 0 0 1 |\r
*\r
*/\r
- virtual SVGMatrix skewX(double angle)\r
- {\r
- double tana = tan(angle);\r
- SVGMatrix result;\r
- result.a = a;\r
- result.b = b;\r
- result.c = a * tana + c;\r
- result.d = b * tana + d;\r
- result.e = e;\r
- result.f = f;\r
- return result;\r
- }\r
+ ~SVGColor();\r
+\r
+protected:\r
+\r
+ int colorType;\r
+\r
+};\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGICCColor\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGICCColor\r
+{\r
+public:\r
\r
/**\r
- * Equivalent to multiplying by:\r
- * | 1 0 0 |\r
- * | tan(a) 1 0 |\r
- * | 0 0 1 |\r
*\r
*/\r
- virtual SVGMatrix skewY(double angle)\r
- {\r
- double tana = tan(angle);\r
- SVGMatrix result;\r
- result.a = a + c * tana;\r
- result.b = b + d * tana;\r
- result.c = c;\r
- result.d = d;\r
- result.e = e;\r
- result.f = f;\r
- return result;\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
\r
/**\r
*\r
*/\r
- SVGMatrix()\r
- {\r
- identity();\r
- }\r
+ SVGICCColor();\r
\r
/**\r
*\r
*/\r
- SVGMatrix(double aArg, double bArg, double cArg,\r
- double dArg, double eArg, double fArg )\r
- {\r
- a = aArg; b = bArg; c = cArg;\r
- d = dArg; e = eArg; f = fArg;\r
- }\r
-\r
- /**\r
- * Copy constructor\r
- */\r
- SVGMatrix(const SVGMatrix &other)\r
- {\r
- a = other.a;\r
- b = other.b;\r
- c = other.c;\r
- d = other.d;\r
- e = other.e;\r
- f = other.f;\r
- }\r
-\r
-\r
+ SVGICCColor(const SVGICCColor &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGMatrix() {}\r
+ ~SVGICCColor();\r
\r
protected:\r
\r
-friend class SVGTransform;\r
-\r
- /*\r
- * Set to the identify matrix\r
- */\r
- void identity()\r
- {\r
- a = 1.0;\r
- b = 0.0;\r
- c = 0.0;\r
- d = 1.0;\r
- e = 0.0;\r
- f = 0.0;\r
- }\r
+ DOMString colorProfile;\r
\r
- double a, b, c, d, e, f;\r
+ SVGNumberList colors;\r
\r
};\r
\r
\r
/*#########################################################################\r
-## SVGTransform\r
+## SVGLength\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGTransform\r
+class SVGLength\r
{\r
public:\r
\r
/**\r
- * Transform Types\r
+ * Length Unit Types\r
*/\r
typedef enum\r
{\r
- SVG_TRANSFORM_UNKNOWN = 0,\r
- SVG_TRANSFORM_MATRIX = 1,\r
- SVG_TRANSFORM_TRANSLATE = 2,\r
- SVG_TRANSFORM_SCALE = 3,\r
- SVG_TRANSFORM_ROTATE = 4,\r
- SVG_TRANSFORM_SKEWX = 5,\r
- SVG_TRANSFORM_SKEWY = 6,\r
- } TransformType;\r
+ SVG_LENGTHTYPE_UNKNOWN = 0,\r
+ SVG_LENGTHTYPE_NUMBER = 1,\r
+ SVG_LENGTHTYPE_PERCENTAGE = 2,\r
+ SVG_LENGTHTYPE_EMS = 3,\r
+ SVG_LENGTHTYPE_EXS = 4,\r
+ SVG_LENGTHTYPE_PX = 5,\r
+ SVG_LENGTHTYPE_CM = 6,\r
+ SVG_LENGTHTYPE_MM = 7,\r
+ SVG_LENGTHTYPE_IN = 8,\r
+ SVG_LENGTHTYPE_PT = 9,\r
+ SVG_LENGTHTYPE_PC = 10\r
+ } LengthUnitType;\r
\r
/**\r
*\r
*/\r
- virtual unsigned short getType()\r
- { return type; }\r
-\r
+ unsigned short getUnitType();\r
\r
/**\r
*\r
*/\r
- virtual SVGMatrix getMatrix()\r
- {\r
- return matrix;\r
- }\r
+ double getValue();\r
\r
/**\r
*\r
*/\r
- virtual double getAngle()\r
- {\r
- return angle;\r
- }\r
-\r
+ void setValue(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setMatrix(const SVGMatrix &matrixArg)\r
- {\r
- type = SVG_TRANSFORM_MATRIX;\r
- matrix = matrixArg;\r
- }\r
+ double getValueInSpecifiedUnits();\r
\r
/**\r
*\r
*/\r
- virtual void setTranslate (double tx, double ty )\r
- {\r
- type = SVG_TRANSFORM_TRANSLATE;\r
- matrix.setA(1.0);\r
- matrix.setB(0.0);\r
- matrix.setC(0.0);\r
- matrix.setD(1.0);\r
- matrix.setE(tx);\r
- matrix.setF(ty);\r
- }\r
+ void setValueInSpecifiedUnits(double /*val*/) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setScale (double sx, double sy )\r
- {\r
- type = SVG_TRANSFORM_SCALE;\r
- matrix.setA(sx);\r
- matrix.setB(0.0);\r
- matrix.setC(0.0);\r
- matrix.setD(sy);\r
- matrix.setE(0.0);\r
- matrix.setF(0.0);\r
- }\r
+ DOMString getValueAsString();\r
\r
/**\r
*\r
*/\r
- virtual void setRotate (double angleArg, double cx, double cy)\r
- {\r
- angle = angleArg;\r
- setTranslate(cx, cy);\r
- type = SVG_TRANSFORM_ROTATE;\r
- matrix.rotate(angle);\r
- }\r
+ void setValueAsString(const DOMString& /*val*/) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setSkewX (double angleArg)\r
- {\r
- angle = angleArg;\r
- type = SVG_TRANSFORM_SKEWX;\r
- matrix.identity();\r
- matrix.skewX(angle);\r
- }\r
+ void newValueSpecifiedUnits(unsigned short /*unitType*/, double /*val*/);\r
\r
/**\r
*\r
*/\r
- virtual void setSkewY (double angleArg)\r
- {\r
- angle = angleArg;\r
- type = SVG_TRANSFORM_SKEWY;\r
- matrix.identity();\r
- matrix.skewY(angle);\r
- }\r
-\r
+ void convertToSpecifiedUnits(unsigned short /*unitType*/);\r
\r
//##################\r
//# Non-API methods\r
/**\r
*\r
*/\r
- SVGTransform()\r
- {\r
- type = SVG_TRANSFORM_UNKNOWN;\r
- angle = 0.0;\r
- }\r
+ SVGLength();\r
\r
/**\r
*\r
*/\r
- SVGTransform(const SVGTransform &other)\r
- {\r
- type = other.type;\r
- angle = other.angle;\r
- matrix = other.matrix;\r
- }\r
+ SVGLength(const SVGLength &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGTransform()\r
- {}\r
+ ~SVGLength();\r
\r
protected:\r
\r
- int type;\r
- double angle;\r
-\r
- SVGMatrix matrix;\r
-};\r
-\r
-\r
-\r
+ int unitType;\r
\r
+ double value;\r
\r
+};\r
\r
/*#########################################################################\r
-## SVGTransformList\r
+## SVGMatrix\r
#########################################################################*/\r
\r
/**\r
+ * In SVG, a Matrix is defined like this:\r
+ *\r
+ * | a c e |\r
+ * | b d f |\r
+ * | 0 0 1 |\r
*\r
*/\r
-class SVGTransformList\r
+class SVGMatrix\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual unsigned long getNumberOfItems()\r
- { return items.size(); }\r
-\r
+ double getA();\r
\r
/**\r
*\r
*/\r
- virtual void clear( ) throw( DOMException )\r
- { items.clear(); }\r
+ void setA(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual SVGTransform initialize (const SVGTransform &newItem)\r
- throw( DOMException, SVGException )\r
- {\r
- items.clear();\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
+ double getB();\r
\r
/**\r
*\r
*/\r
- virtual SVGTransform getItem (unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGTransform transform;\r
- return transform;\r
- }\r
- return items[index];\r
- }\r
+ void setB(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual SVGTransform insertItemBefore (const SVGTransform &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index > items.size())\r
- items.push_back(newItem);\r
- else\r
- {\r
- std::vector<SVGTransform>::iterator iter = items.begin() + index;\r
- items.insert(iter, newItem);\r
- }\r
- return newItem;\r
- }\r
+ double getC();\r
\r
/**\r
*\r
*/\r
- virtual SVGTransform replaceItem (const SVGTransform &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGTransform transform;\r
- return transform;\r
- }\r
- else\r
- {\r
- std::vector<SVGTransform>::iterator iter = items.begin() + index;\r
- *iter = newItem;\r
- }\r
- return newItem;\r
- }\r
+ void setC(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual SVGTransform removeItem (unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGTransform transform;\r
- return transform;\r
- }\r
- std::vector<SVGTransform>::iterator iter = items.begin() + index;\r
- SVGTransform oldItem = *iter;\r
- items.erase(iter);\r
- return oldItem;\r
- }\r
+ double getD();\r
\r
/**\r
*\r
*/\r
- virtual SVGTransform appendItem (const SVGTransform &newItem)\r
- throw( DOMException, SVGException )\r
- {\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
+ void setD(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix)\r
- {\r
- SVGTransform transform;\r
- transform.setMatrix(matrix);\r
- return transform;\r
- }\r
+ double getE();\r
\r
/**\r
*\r
*/\r
- virtual SVGTransform consolidate()\r
- {\r
- SVGMatrix matrix;\r
- for (unsigned int i=0 ; i<items.size() ; i++)\r
- matrix = matrix.multiply(items[i].getMatrix());\r
- SVGTransform transform;\r
- transform.setMatrix(matrix);\r
- items.clear();\r
- items.push_back(transform);\r
- return transform;\r
- }\r
+ void setE(double val) throw(DOMException);\r
\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
+ /**\r
+ *\r
+ */\r
+ double getF();\r
\r
/**\r
*\r
*/\r
- SVGTransformList()\r
- {}\r
+ void setF(double val) throw(DOMException);\r
\r
- /**\r
- *\r
- */\r
- SVGTransformList(const SVGTransformList &other)\r
- {\r
- items = other.items;\r
- }\r
\r
/**\r
- *\r
+ * Return the result of postmultiplying this matrix with another.\r
*/\r
- virtual ~SVGTransformList() {}\r
-\r
-protected:\r
-\r
- std::vector<SVGTransform> items;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedTransformList\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedTransformList\r
-{\r
-public:\r
+ SVGMatrix multiply(const SVGMatrix &other);\r
\r
/**\r
+ * Calculate the inverse of this matrix\r
*\r
- */\r
- virtual SVGTransformList getBaseVal()\r
- { return baseVal; }\r
-\r
- /**\r
*\r
- */\r
- virtual SVGTransformList getAnimVal()\r
- { return animVal; }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
+ * The determinant of a 3x3 matrix E\r
+ * (let's use our own notation for a bit)\r
*\r
- */\r
- SVGAnimatedTransformList()\r
- {}\r
-\r
- /**\r
+ * A B C\r
+ * D E F\r
+ * G H I\r
+ * is\r
+ * AEI - AFH - BDI + BFG + CDH - CEG\r
*\r
- */\r
- SVGAnimatedTransformList(const SVGAnimatedTransformList &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
-\r
- /**\r
+ * Since in our affine transforms, G and H==0 and I==1,\r
+ * this reduces to:\r
+ * AE - BD\r
+ * In SVG's naming scheme, that is: a * d - c * b . SIMPLE!\r
+ *\r
+ * In a similar method of attack, SVG's adjunct matrix is:\r
+ *\r
+ * d -c cf-ed\r
+ * -b a eb-af\r
+ * 0 0 ad-cb\r
+ *\r
+ * To get the inverse matrix, we divide the adjunct matrix by\r
+ * the determinant. Notice that(ad-cb)/(ad-cb)==1. Very cool.\r
+ * So what we end up with is this:\r
+ *\r
+ * a = d/(ad-cb) c = -c/(ad-cb) e =(cf-ed)/(ad-cb)\r
+ * b = -b/(ad-cb) d = a/(ad-cb) f =(eb-af)/(ad-cb)\r
+ *\r
+ * (Since this would be in all SVG-DOM implementations,\r
+ * somebody needed to document this! ^^)\r
*\r
*/\r
- virtual ~SVGAnimatedTransformList() {}\r
-\r
-protected:\r
-\r
- SVGTransformList baseVal;\r
- SVGTransformList animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedBoolean\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedBoolean\r
-{\r
-public:\r
+ SVGMatrix inverse() throw(SVGException);\r
\r
/**\r
+ * Equivalent to multiplying by:\r
+ * | 1 0 x |\r
+ * | 0 1 y |\r
+ * | 0 0 1 |\r
*\r
*/\r
- virtual bool getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
+ SVGMatrix translate(double x, double y);\r
\r
/**\r
+ * Equivalent to multiplying by:\r
+ * | scale 0 0 |\r
+ * | 0 scale 0 |\r
+ * | 0 0 1 |\r
*\r
*/\r
- virtual void setBaseVal(bool val) throw (DOMException)\r
- {\r
- baseVal = val;\r
- }\r
+ SVGMatrix scale(double scale);\r
\r
/**\r
+ * Equivalent to multiplying by:\r
+ * | scaleX 0 0 |\r
+ * | 0 scaleY 0 |\r
+ * | 0 0 1 |\r
*\r
*/\r
- virtual bool getAnimVal()\r
- {\r
- return animVal;\r
- }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
+ SVGMatrix scaleNonUniform(double scaleX, double scaleY);\r
\r
/**\r
+ * Equivalent to multiplying by:\r
+ * | cos(a) -sin(a) 0 |\r
+ * | sin(a) cos(a) 0 |\r
+ * | 0 0 1 |\r
*\r
*/\r
- SVGAnimatedBoolean()\r
- {\r
- baseVal = animVal = false;\r
- }\r
+ SVGMatrix rotate(double angle);\r
\r
/**\r
- *\r
+ * Equivalent to multiplying by:\r
+ * | cos(a) -sin(a) 0 |\r
+ * | sin(a) cos(a) 0 |\r
+ * | 0 0 1 |\r
+ * In this case, angle 'a' is computed as the artangent\r
+ * of the slope y/x . It is negative if the slope is negative.\r
*/\r
- SVGAnimatedBoolean(const SVGAnimatedBoolean &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
+ SVGMatrix rotateFromVector(double x, double y) throw(SVGException);\r
\r
/**\r
+ * Equivalent to multiplying by:\r
+ * | -1 0 0 |\r
+ * | 0 1 0 |\r
+ * | 0 0 1 |\r
*\r
*/\r
- virtual ~SVGAnimatedBoolean() {}\r
-\r
-protected:\r
-\r
- bool baseVal, animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedString\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedString\r
-{\r
-public:\r
+ SVGMatrix flipX();\r
\r
/**\r
+ * Equivalent to multiplying by:\r
+ * | 1 0 0 |\r
+ * | 0 -1 0 |\r
+ * | 0 0 1 |\r
*\r
*/\r
- virtual DOMString getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
+ SVGMatrix flipY();\r
\r
/**\r
+ * | 1 tan(a) 0 |\r
+ * | 0 1 0 |\r
+ * | 0 0 1 |\r
*\r
*/\r
- virtual void setBaseVal(const DOMString &val)\r
- throw (DOMException)\r
- {\r
- baseVal = val;\r
- }\r
+ SVGMatrix skewX(double angle);\r
\r
/**\r
+ * Equivalent to multiplying by:\r
+ * | 1 0 0 |\r
+ * | tan(a) 1 0 |\r
+ * | 0 0 1 |\r
*\r
*/\r
- virtual DOMString getAnimVal()\r
- {\r
- return animVal;\r
- }\r
+ SVGMatrix skewY(double angle);\r
\r
\r
//##################\r
//# Non-API methods\r
//##################\r
\r
-\r
/**\r
*\r
*/\r
- SVGAnimatedString()\r
- {\r
- baseVal = "";\r
- animVal = "";\r
- }\r
+ SVGMatrix();\r
\r
/**\r
*\r
*/\r
- SVGAnimatedString(const SVGAnimatedString &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
+ SVGMatrix(double aArg, double bArg, double cArg,\r
+ double dArg, double eArg, double fArg);\r
+\r
+ /**\r
+ * Copy constructor\r
+ */\r
+ SVGMatrix(const SVGMatrix &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGAnimatedString() {}\r
+ ~SVGMatrix() {}\r
\r
protected:\r
\r
- DOMString baseVal, animVal;\r
-\r
-};\r
+friend class SVGTransform;\r
\r
+ /*\r
+ * Set to the identify matrix\r
+ */\r
+ void identity();\r
\r
+ double a, b, c, d, e, f;\r
\r
+};\r
\r
\r
/*#########################################################################\r
-## SVGStringList\r
+## SVGNumber\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGStringList\r
+class SVGNumber\r
{\r
public:\r
\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned long getNumberOfItems()\r
- {\r
- return items.size();\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void clear () throw( DOMException )\r
- {\r
- items.clear();\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString initialize ( const DOMString& newItem )\r
- throw( DOMException, SVGException )\r
- {\r
- items.clear();\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getItem ( unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index >= items.size())\r
- return "";\r
- return items[index];\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString insertItemBefore ( const DOMString& newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index>=items.size())\r
- {\r
- items.push_back(newItem);\r
- }\r
- else\r
- {\r
- std::vector<DOMString>::iterator iter = items.begin() + index;\r
- items.insert(iter, newItem);\r
- }\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString replaceItem ( const DOMString& newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index>=items.size())\r
- return "";\r
- std::vector<DOMString>::iterator iter = items.begin() + index;\r
- *iter = newItem;\r
- return newItem;\r
- }\r
-\r
/**\r
*\r
*/\r
- virtual DOMString removeItem ( unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index>=items.size())\r
- return "";\r
- std::vector<DOMString>::iterator iter = items.begin() + index;\r
- DOMString oldstr = *iter;\r
- items.erase(iter);\r
- return oldstr;\r
- }\r
+ double getValue();\r
\r
/**\r
*\r
*/\r
- virtual DOMString appendItem ( const DOMString& newItem )\r
- throw( DOMException, SVGException )\r
- {\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
-\r
+ void setValue(double val) throw(DOMException);\r
\r
//##################\r
//# Non-API methods\r
@@ -1169,2894 +722,100 @@ public:
/**\r
*\r
*/\r
- SVGStringList() {}\r
+ SVGNumber();\r
\r
/**\r
*\r
*/\r
- SVGStringList(const SVGStringList &other)\r
- {\r
- items = other.items;\r
- }\r
+ SVGNumber(const SVGNumber &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGStringList() {}\r
+ ~SVGNumber();\r
\r
protected:\r
\r
- std::vector<DOMString>items;\r
+ double value;\r
\r
};\r
\r
-\r
-\r
-\r
-\r
/*#########################################################################\r
-## SVGAnimatedEnumeration\r
+## SVGPoint\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGAnimatedEnumeration\r
+class SVGPoint\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual unsigned short getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
+ double getX();\r
\r
/**\r
*\r
*/\r
- virtual void setBaseVal(unsigned short val)\r
- throw (DOMException)\r
- {\r
- baseVal = val;\r
- }\r
+ void setX(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual unsigned short getAnimVal()\r
- {\r
- return animVal;\r
- }\r
+ double getY();\r
\r
+ /**\r
+ *\r
+ */\r
+ void setY(double val) throw(DOMException);\r
\r
+ /**\r
+ *\r
+ */\r
+ SVGPoint matrixTransform(const SVGMatrix &/*matrix*/);\r
\r
//##################\r
//# Non-API methods\r
//##################\r
\r
-\r
/**\r
*\r
*/\r
- SVGAnimatedEnumeration()\r
- {\r
- baseVal = animVal = 0;\r
- }\r
+ SVGPoint();\r
\r
/**\r
*\r
*/\r
- SVGAnimatedEnumeration(const SVGAnimatedEnumeration &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
+ SVGPoint(const SVGPoint &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGAnimatedEnumeration() {}\r
+ ~SVGPoint();\r
\r
protected:\r
\r
- int baseVal, animVal;\r
-\r
+ double x, y;\r
};\r
\r
\r
-\r
-\r
-\r
/*#########################################################################\r
-## SVGAnimatedInteger\r
+## SVGPathSeg\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGAnimatedInteger\r
+class SVGPathSeg\r
{\r
public:\r
\r
-\r
- /**\r
- *\r
- */\r
- virtual long getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setBaseVal(long val) throw (DOMException)\r
- {\r
- baseVal = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual long getAnimVal()\r
- {\r
- return animVal;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedInteger()\r
- { baseVal = animVal = 0L;}\r
-\r
-\r
/**\r
- *\r
+ * Path Segment Types\r
*/\r
- SVGAnimatedInteger(long value)\r
- {\r
- baseVal = value;\r
- animVal = 0L;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedInteger(long baseValArg, long animValArg)\r
- {\r
- baseVal = baseValArg;\r
- animVal = animValArg;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedInteger(const SVGAnimatedInteger &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAnimatedInteger() {}\r
-\r
-protected:\r
-\r
- long baseVal, animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGNumber\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGNumber\r
-{\r
-public:\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual double getValue()\r
- {\r
- return value;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setValue(double val) throw (DOMException)\r
- {\r
- value = val;\r
- }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGNumber()\r
- {\r
- value = 0.0;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGNumber(const SVGNumber &other)\r
- {\r
- value = other.value;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGNumber() {}\r
-\r
-protected:\r
-\r
- double value;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedNumber\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedNumber\r
-{\r
-public:\r
-\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual double getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setBaseVal(double val) throw (DOMException)\r
- {\r
- baseVal = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getAnimVal()\r
- {\r
- return animVal;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedNumber()\r
- {\r
- baseVal = animVal = 0.0;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedNumber(double val)\r
- {\r
- baseVal = val;\r
- animVal = 0.0;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedNumber(double baseValArg, double animValArg)\r
- {\r
- baseVal = baseValArg;\r
- animVal = animValArg;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedNumber(const SVGAnimatedNumber &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAnimatedNumber() {}\r
-\r
-protected:\r
-\r
- double baseVal, animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGNumberList\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGNumberList\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned long getNumberOfItems()\r
- {\r
- return items.size();\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual void clear() throw( DOMException )\r
- {\r
- items.clear();\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumber initialize (const SVGNumber &newItem)\r
- throw( DOMException, SVGException )\r
- {\r
- items.clear();\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumber getItem ( unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGNumber num;\r
- return num;\r
- }\r
- return items[index];\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumber insertItemBefore ( const SVGNumber &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index>=items.size())\r
- {\r
- items.push_back(newItem);\r
- }\r
- else\r
- {\r
- std::vector<SVGNumber>::iterator iter = items.begin() + index;\r
- items.insert(iter, newItem);\r
- }\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumber replaceItem ( const SVGNumber &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGNumber num;\r
- return num;\r
- }\r
- std::vector<SVGNumber>::iterator iter = items.begin() + index;\r
- *iter = newItem;\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumber removeItem ( unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGNumber num;\r
- return num;\r
- }\r
- std::vector<SVGNumber>::iterator iter = items.begin() + index;\r
- SVGNumber oldval = *iter;\r
- items.erase(iter);\r
- return oldval;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumber appendItem ( const SVGNumber &newItem )\r
- throw( DOMException, SVGException )\r
- {\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGNumberList() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGNumberList(const SVGNumberList &other)\r
- {\r
- items = other.items;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGNumberList() {}\r
-\r
-protected:\r
-\r
- std::vector<SVGNumber>items;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedNumberList\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedNumberList\r
-{\r
-public:\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumberList &getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumberList &getAnimVal()\r
- {\r
- return animVal;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedNumberList() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedNumberList(const SVGAnimatedNumberList &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAnimatedNumberList() {}\r
-\r
-protected:\r
-\r
- SVGNumberList baseVal;\r
- SVGNumberList animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGLength\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGLength\r
-{\r
-public:\r
-\r
- /**\r
- * Length Unit Types\r
- */\r
- typedef enum\r
- {\r
- SVG_LENGTHTYPE_UNKNOWN = 0,\r
- SVG_LENGTHTYPE_NUMBER = 1,\r
- SVG_LENGTHTYPE_PERCENTAGE = 2,\r
- SVG_LENGTHTYPE_EMS = 3,\r
- SVG_LENGTHTYPE_EXS = 4,\r
- SVG_LENGTHTYPE_PX = 5,\r
- SVG_LENGTHTYPE_CM = 6,\r
- SVG_LENGTHTYPE_MM = 7,\r
- SVG_LENGTHTYPE_IN = 8,\r
- SVG_LENGTHTYPE_PT = 9,\r
- SVG_LENGTHTYPE_PC = 10\r
- } LengthUnitType;\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned short getUnitType( )\r
- {\r
- return unitType;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getValue( )\r
- {\r
- return value;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setValue( double val ) throw (DOMException)\r
- {\r
- value = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getValueInSpecifiedUnits( )\r
- {\r
- double result = 0.0;\r
- //fill this in\r
- return result;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setValueInSpecifiedUnits( double /*val*/ )\r
- throw (DOMException)\r
- {\r
- //fill this in\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getValueAsString( )\r
- {\r
- DOMString ret;\r
- char buf[32];\r
- snprintf(buf, 31, "%f", value);\r
- ret.append(buf);\r
- return ret;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setValueAsString( const DOMString& /*val*/ )\r
- throw (DOMException)\r
- {\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual void newValueSpecifiedUnits ( unsigned short /*unitType*/, double /*val*/ )\r
- {\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void convertToSpecifiedUnits ( unsigned short /*unitType*/ )\r
- {\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGLength()\r
- {\r
- unitType = SVG_LENGTHTYPE_UNKNOWN;\r
- value = 0.0;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGLength(const SVGLength &other)\r
- {\r
- unitType = other.unitType;\r
- value = other.value;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGLength() {}\r
-\r
-protected:\r
-\r
- int unitType;\r
-\r
- double value;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedLength\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedLength\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLength &getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLength &getAnimVal()\r
- {\r
- return animVal;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedLength() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedLength(const SVGAnimatedLength &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAnimatedLength() {}\r
-\r
-protected:\r
-\r
- SVGLength baseVal, animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGLengthList\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGLengthList\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned long getNumberOfItems()\r
- {\r
- return items.size();\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual void clear ( ) throw( DOMException )\r
- {\r
- items.clear();\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLength initialize (const SVGLength &newItem )\r
- throw( DOMException, SVGException )\r
- {\r
- items.clear();\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLength getItem (unsigned long index)\r
- throw( DOMException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGLength ret;\r
- return ret;\r
- }\r
- return items[index];\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLength insertItemBefore (const SVGLength &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index>=items.size())\r
- {\r
- items.push_back(newItem);\r
- }\r
- else\r
- {\r
- std::vector<SVGLength>::iterator iter = items.begin() + index;\r
- items.insert(iter, newItem);\r
- }\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLength replaceItem (const SVGLength &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGLength ret;\r
- return ret;\r
- }\r
- std::vector<SVGLength>::iterator iter = items.begin() + index;\r
- *iter = newItem;\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLength removeItem (unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index>=items.size())\r
- {\r
- SVGLength ret;\r
- return ret;\r
- }\r
- std::vector<SVGLength>::iterator iter = items.begin() + index;\r
- SVGLength oldval = *iter;\r
- items.erase(iter);\r
- return oldval;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLength appendItem (const SVGLength &newItem )\r
- throw( DOMException, SVGException )\r
- {\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGLengthList() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGLengthList(const SVGLengthList &other)\r
- {\r
- items = other.items;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGLengthList() {}\r
-\r
-protected:\r
-\r
- std::vector<SVGLength>items;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedLengthList\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedLengthList\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLengthList &getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGLengthList &getAnimVal()\r
- {\r
- return animVal;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedLengthList() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedLengthList(const SVGAnimatedLengthList &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAnimatedLengthList() {}\r
-\r
-protected:\r
-\r
- SVGLengthList baseVal, animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAngle\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAngle\r
-{\r
-public:\r
-\r
- /**\r
- * Angle Unit Types\r
- */\r
- typedef enum\r
- {\r
- SVG_ANGLETYPE_UNKNOWN = 0,\r
- SVG_ANGLETYPE_UNSPECIFIED = 1,\r
- SVG_ANGLETYPE_DEG = 2,\r
- SVG_ANGLETYPE_RAD = 3,\r
- SVG_ANGLETYPE_GRAD = 4\r
- } AngleUnitType;\r
-\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned short getUnitType()\r
- {\r
- return unitType;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getValue()\r
- {\r
- return value;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setValue(double val) throw (DOMException)\r
- {\r
- value = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getValueInSpecifiedUnits()\r
- {\r
- double result = 0.0;\r
- //convert here\r
- return result;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setValueInSpecifiedUnits(double /*val*/)\r
- throw (DOMException)\r
- {\r
- //do conversion\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getValueAsString()\r
- {\r
- DOMString result;\r
- char buf[32];\r
- snprintf(buf, 31, "%f", value);\r
- result.append(buf);\r
- return result;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setValueAsString(const DOMString &/*val*/)\r
- throw (DOMException)\r
- {\r
- //convert here\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual void newValueSpecifiedUnits (unsigned short /*unitType*/,\r
- double /*valueInSpecifiedUnits*/ )\r
- {\r
- //convert here\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void convertToSpecifiedUnits (unsigned short /*unitType*/ )\r
- {\r
- //convert here\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGAngle()\r
- {\r
- unitType = SVG_ANGLETYPE_UNKNOWN;\r
- value = 0.0;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGAngle(const SVGAngle &other)\r
- {\r
- unitType = other.unitType;\r
- value = other.value;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAngle() {}\r
-\r
-protected:\r
-\r
- int unitType;\r
-\r
- double value;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedAngle\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedAngle\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGAngle getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGAngle getAnimVal()\r
- {\r
- return animVal;\r
- }\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedAngle() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedAngle(const SVGAngle &angle)\r
- { baseVal = angle; }\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedAngle(const SVGAnimatedAngle &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAnimatedAngle() {}\r
-\r
-protected:\r
-\r
- SVGAngle baseVal, animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGICCColor\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGICCColor\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getColorProfile()\r
- {\r
- return colorProfile;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setColorProfile(const DOMString &val) throw (DOMException)\r
- {\r
- colorProfile = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGNumberList &getColors()\r
- {\r
- return colors;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGICCColor() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGICCColor(const SVGICCColor &other)\r
- {\r
- colorProfile = other.colorProfile;\r
- colors = other.colors;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGICCColor() {}\r
-\r
-protected:\r
-\r
- DOMString colorProfile;\r
-\r
- SVGNumberList colors;\r
-\r
-};\r
-\r
-\r
-/*#########################################################################\r
-## SVGColor\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGColor : virtual public css::CSSValue\r
-{\r
-public:\r
-\r
-\r
- /**\r
- * Color Types\r
- */\r
- typedef enum\r
- {\r
- SVG_COLORTYPE_UNKNOWN = 0,\r
- SVG_COLORTYPE_RGBCOLOR = 1,\r
- SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2,\r
- SVG_COLORTYPE_CURRENTCOLOR = 3\r
- } ColorType;\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned short getColorType()\r
- {\r
- return colorType;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual css::RGBColor getRgbColor()\r
- {\r
- css::RGBColor col;\r
- return col;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGICCColor getIccColor()\r
- {\r
- SVGICCColor col;\r
- return col;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual void setRGBColor (const DOMString& /*rgbColor*/ )\r
- throw( SVGException )\r
- {\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setRGBColorICCColor (const DOMString& /*rgbColor*/,\r
- const DOMString& /*iccColor*/ )\r
- throw( SVGException )\r
- {\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setColor (unsigned short /*colorType*/,\r
- const DOMString& /*rgbColor*/,\r
- const DOMString& /*iccColor*/ )\r
- throw( SVGException )\r
- {\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGColor()\r
- {\r
- colorType = SVG_COLORTYPE_UNKNOWN;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGColor(const SVGColor &other) : css::CSSValue(other)\r
- {\r
- colorType = other.colorType;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGColor() {}\r
-\r
-protected:\r
-\r
- int colorType;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGRect\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGRect\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual double getX()\r
- {\r
- return x;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- {\r
- x = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getY()\r
- {\r
- return y;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setY(double val) throw (DOMException)\r
- {\r
- y = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getWidth()\r
- {\r
- return width;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setWidth(double val) throw (DOMException)\r
- {\r
- width = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getHeight()\r
- {\r
- return height;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setHeight(double val) throw (DOMException)\r
- {\r
- height = val;\r
- }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGRect()\r
- {\r
- x = y = width = height = 0.0;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGRect(const SVGRect &other)\r
- {\r
- x = other.x;\r
- y = other.y;\r
- width = other.width;\r
- height = other.height;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGRect() {}\r
-\r
-protected:\r
-\r
- double x, y, width, height;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedRect\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedRect\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGRect &getBaseVal()\r
- {\r
- return baseVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGRect &getAnimVal()\r
- {\r
- return animVal;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedRect()\r
- {\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedRect(const SVGAnimatedRect &other)\r
- {\r
- baseVal = other.baseVal;\r
- animVal = other.animVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAnimatedRect() {}\r
-\r
-protected:\r
-\r
- SVGRect baseVal, animVal;\r
-\r
-};\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPoint\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPoint\r
-{\r
-public:\r
-\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual double getX()\r
- { return x; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getY()\r
- { return y; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPoint matrixTransform(const SVGMatrix &/*matrix*/)\r
- {\r
- SVGPoint point;\r
- return point;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGPoint()\r
- { x = y = 0; }\r
-\r
- /**\r
- *\r
- */\r
- SVGPoint(const SVGPoint &other)\r
- {\r
- x = other.x;\r
- y = other.y;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGPoint() {}\r
-\r
-protected:\r
-\r
- double x, y;\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPointList\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPointList\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned long getNumberOfItems()\r
- { return items.size(); }\r
-\r
- /**\r
- *\r
- */\r
- virtual void clear() throw( DOMException )\r
- { items.clear(); }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPoint initialize(const SVGPoint &newItem)\r
- throw( DOMException, SVGException )\r
- {\r
- items.clear();\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPoint getItem(unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index >= items.size())\r
- {\r
- SVGPoint point;\r
- return point;\r
- }\r
- return items[index];\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPoint insertItemBefore(const SVGPoint &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index >= items.size())\r
- items.push_back(newItem);\r
- else\r
- {\r
- std::vector<SVGPoint>::iterator iter = items.begin() + index;\r
- items.insert(iter, newItem);\r
- }\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPoint replaceItem(const SVGPoint &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index >= items.size())\r
- {\r
- SVGPoint point;\r
- return point;\r
- }\r
- std::vector<SVGPoint>::iterator iter = items.begin() + index;\r
- *iter = newItem;\r
- return newItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPoint removeItem(unsigned long index )\r
- throw( DOMException )\r
- {\r
- if (index >= items.size())\r
- {\r
- SVGPoint point;\r
- return point;\r
- }\r
- std::vector<SVGPoint>::iterator iter = items.begin() + index;\r
- SVGPoint oldItem = *iter;\r
- items.erase(iter);\r
- return oldItem;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPoint appendItem(const SVGPoint &newItem)\r
- throw( DOMException, SVGException )\r
- {\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGPointList() {}\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGPointList(const SVGPointList &other)\r
- {\r
- items = other.items;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGPointList() {}\r
-\r
-protected:\r
-\r
- std::vector<SVGPoint> items;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGUnitTypes\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGUnitTypes\r
-{\r
-public:\r
-\r
- /**\r
- * Unit Types\r
- */\r
- typedef enum\r
- {\r
- SVG_UNIT_TYPE_UNKNOWN = 0,\r
- SVG_UNIT_TYPE_USERSPACEONUSE = 1,\r
- SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2\r
- } UnitType;\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGUnitTypes() {}\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGUnitTypes() {}\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGStylable\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGStylable\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGAnimatedString getClassName()\r
- {\r
- return className;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual css::CSSStyleDeclaration getStyle()\r
- {\r
- return style;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual css::CSSValue getPresentationAttribute (const DOMString& /*name*/ )\r
- {\r
- css::CSSValue val;\r
- //perform a lookup\r
- return val;\r
- }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGStylable() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGStylable(const SVGStylable &other)\r
- {\r
- className = other.className;\r
- style = other.style;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGStylable() {}\r
-\r
-protected:\r
-\r
- SVGAnimatedString className;\r
- css::CSSStyleDeclaration style;\r
-\r
-};\r
-\r
-\r
-/*#########################################################################\r
-## SVGLocatable\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGLocatable\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGElementPtr getNearestViewportElement()\r
- {\r
- SVGElementPtr result;\r
- return result;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGElementPtr getFarthestViewportElement()\r
- {\r
- SVGElementPtr result;\r
- return result;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGRect getBBox ( )\r
- {\r
- return bbox;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGMatrix getCTM ( )\r
- {\r
- return ctm;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGMatrix getScreenCTM ( )\r
- {\r
- return screenCtm;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGMatrix getTransformToElement (const SVGElement &/*element*/)\r
- throw( SVGException )\r
- {\r
- SVGMatrix result;\r
- //do calculations\r
- return result;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGLocatable() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGLocatable(const SVGLocatable &/*other*/)\r
- {\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGLocatable() {}\r
-\r
-protected:\r
-\r
- SVGRect bbox;\r
- SVGMatrix ctm;\r
- SVGMatrix screenCtm;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGTransformable\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGTransformable : public SVGLocatable\r
-{\r
-public:\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGAnimatedTransformList &getTransform()\r
- {\r
- return transforms;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGTransformable() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGTransformable(const SVGTransformable &other) : SVGLocatable(other)\r
- {\r
- transforms = other.transforms;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGTransformable() {}\r
-\r
-protected:\r
-\r
- SVGAnimatedTransformList transforms;\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGTests\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGTests\r
-{\r
-public:\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGStringList &getRequiredFeatures()\r
- {\r
- return requiredFeatures;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGStringList &getRequiredExtensions()\r
- {\r
- return requiredExtensions;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGStringList &getSystemLanguage()\r
- {\r
- return systemLanguage;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual bool hasExtension (const DOMString& /*extension*/ )\r
- {\r
- return false;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGTests() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGTests(const SVGTests &other)\r
- {\r
- requiredFeatures = other.requiredFeatures;\r
- requiredExtensions = other.requiredExtensions;\r
- systemLanguage = other.systemLanguage;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGTests() {}\r
-\r
-protected:\r
-\r
- SVGStringList requiredFeatures;\r
- SVGStringList requiredExtensions;\r
- SVGStringList systemLanguage;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGLangSpace\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGLangSpace\r
-{\r
-public:\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getXmllang()\r
- {\r
- return xmlLang;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setXmllang(const DOMString &val)\r
- throw (DOMException)\r
- {\r
- xmlLang = val;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getXmlspace()\r
- {\r
- return xmlSpace;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setXmlspace(const DOMString &val)\r
- throw (DOMException)\r
- {\r
- xmlSpace = val;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGLangSpace() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGLangSpace(const SVGLangSpace &other)\r
- {\r
- xmlLang = other.xmlLang;\r
- xmlSpace = other.xmlSpace;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGLangSpace() {}\r
-\r
-protected:\r
-\r
- DOMString xmlLang;\r
- DOMString xmlSpace;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGExternalResourcesRequired\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGExternalResourcesRequired\r
-{\r
-public:\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGAnimatedBoolean getExternalResourcesRequired()\r
- { return required; }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGExternalResourcesRequired()\r
- { }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other)\r
- {\r
- required = other.required;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGExternalResourcesRequired() {}\r
-\r
-protected:\r
-\r
- SVGAnimatedBoolean required;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPreserveAspectRatio\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPreserveAspectRatio\r
-{\r
-public:\r
-\r
-\r
- /**\r
- * Alignment Types\r
- */\r
- typedef enum\r
- {\r
- SVG_PRESERVEASPECTRATIO_UNKNOWN = 0,\r
- SVG_PRESERVEASPECTRATIO_NONE = 1,\r
- SVG_PRESERVEASPECTRATIO_XMINYMIN = 2,\r
- SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3,\r
- SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4,\r
- SVG_PRESERVEASPECTRATIO_XMINYMID = 5,\r
- SVG_PRESERVEASPECTRATIO_XMIDYMID = 6,\r
- SVG_PRESERVEASPECTRATIO_XMAXYMID = 7,\r
- SVG_PRESERVEASPECTRATIO_XMINYMAX = 8,\r
- SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9,\r
- SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10\r
- } AlignmentType;\r
-\r
-\r
- /**\r
- * Meet-or-slice Types\r
- */\r
- typedef enum\r
- {\r
- SVG_MEETORSLICE_UNKNOWN = 0,\r
- SVG_MEETORSLICE_MEET = 1,\r
- SVG_MEETORSLICE_SLICE = 2\r
- } MeetOrSliceType;\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned short getAlign()\r
- { return align; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setAlign(unsigned short val) throw (DOMException)\r
- { align = val; }\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned short getMeetOrSlice()\r
- { return meetOrSlice; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setMeetOrSlice(unsigned short val) throw (DOMException)\r
- { meetOrSlice = val; }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGPreserveAspectRatio()\r
- {\r
- align = SVG_PRESERVEASPECTRATIO_UNKNOWN;\r
- meetOrSlice = SVG_MEETORSLICE_UNKNOWN;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other)\r
- {\r
- align = other.align;\r
- meetOrSlice = other.meetOrSlice;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGPreserveAspectRatio() {}\r
-\r
-protected:\r
-\r
- unsigned short align;\r
- unsigned short meetOrSlice;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGAnimatedPreserveAspectRatio\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGAnimatedPreserveAspectRatio\r
-{\r
-public:\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPreserveAspectRatio getBaseVal()\r
- { return baseVal; }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPreserveAspectRatio getAnimVal()\r
- { return animVal; }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedPreserveAspectRatio() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGAnimatedPreserveAspectRatio(const SVGAnimatedPreserveAspectRatio &other)\r
- {\r
- baseVal = other.baseVal;\r
- baseVal = other.animVal;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGAnimatedPreserveAspectRatio() {}\r
-\r
-protected:\r
-\r
- SVGPreserveAspectRatio baseVal;\r
- SVGPreserveAspectRatio animVal;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGFitToViewBox\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGFitToViewBox\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGAnimatedRect getViewBox()\r
- { return viewBox; }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()\r
- { return preserveAspectRatio; }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGFitToViewBox()\r
- {}\r
-\r
- /**\r
- *\r
- */\r
-\r
- SVGFitToViewBox(const SVGFitToViewBox &other)\r
- {\r
- viewBox = other.viewBox;\r
- preserveAspectRatio = other.preserveAspectRatio;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGFitToViewBox() {}\r
-\r
-protected:\r
-\r
- SVGAnimatedRect viewBox;\r
-\r
- SVGAnimatedPreserveAspectRatio preserveAspectRatio;\r
-\r
-};\r
-\r
-\r
-/*#########################################################################\r
-## SVGZoomAndPan\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGZoomAndPan\r
-{\r
-public:\r
-\r
-\r
- /**\r
- * Zoom and Pan Types\r
- */\r
- typedef enum\r
- {\r
- SVG_ZOOMANDPAN_UNKNOWN = 0,\r
- SVG_ZOOMANDPAN_DISABLE = 1,\r
- SVG_ZOOMANDPAN_MAGNIFY = 2\r
- } ZoomAndPanType;\r
-\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned short getZoomAndPan()\r
- { return zoomAndPan; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setZoomAndPan(unsigned short val) throw (DOMException)\r
- { zoomAndPan = val; }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGZoomAndPan()\r
- { zoomAndPan = SVG_ZOOMANDPAN_UNKNOWN; }\r
-\r
- /**\r
- *\r
- */\r
- SVGZoomAndPan(const SVGZoomAndPan &other)\r
- { zoomAndPan = other.zoomAndPan; }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGZoomAndPan() {}\r
-\r
-protected:\r
-\r
- unsigned short zoomAndPan;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGViewSpec\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGViewSpec : public SVGZoomAndPan,\r
- public SVGFitToViewBox\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGTransformList getTransform()\r
- { return transform; }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGElementPtr getViewTarget()\r
- { return viewTarget; }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getViewBoxString()\r
- {\r
- DOMString ret;\r
- return ret;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getPreserveAspectRatioString()\r
- {\r
- DOMString ret;\r
- return ret;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getTransformString()\r
- {\r
- DOMString ret;\r
- return ret;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getViewTargetString()\r
- {\r
- DOMString ret;\r
- return ret;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGViewSpec()\r
- {\r
- viewTarget = NULL;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGViewSpec(const SVGViewSpec &other) : SVGZoomAndPan(other), SVGFitToViewBox(other)\r
- {\r
- viewTarget = other.viewTarget;\r
- transform = other.transform;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGViewSpec() {}\r
-\r
-protected:\r
-\r
- SVGElementPtr viewTarget;\r
- SVGTransformList transform;\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGURIReference\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGURIReference\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGAnimatedString getHref()\r
- { return href; }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGURIReference() {}\r
-\r
- /**\r
- *\r
- */\r
- SVGURIReference(const SVGURIReference &other)\r
- {\r
- href = other.href;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGURIReference() {}\r
-\r
-protected:\r
-\r
- SVGAnimatedString href;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGCSSRule\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGCSSRule : public css::CSSRule\r
-{\r
-public:\r
-\r
-\r
- /**\r
- * Additional CSS RuleType to support ICC color specifications\r
- */\r
- typedef enum\r
- {\r
- COLOR_PROFILE_RULE = 7\r
- } ColorProfileRuleType;\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGCSSRule()\r
- { type = COLOR_PROFILE_RULE; }\r
-\r
- /**\r
- *\r
- */\r
- SVGCSSRule(const SVGCSSRule &other) : css::CSSRule(other)\r
- { type = COLOR_PROFILE_RULE; }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGCSSRule() {}\r
-\r
-};\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGRenderingIntent\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGRenderingIntent\r
-{\r
-public:\r
-\r
- /**\r
- * Rendering Intent Types\r
- */\r
- typedef enum\r
- {\r
- RENDERING_INTENT_UNKNOWN = 0,\r
- RENDERING_INTENT_AUTO = 1,\r
- RENDERING_INTENT_PERCEPTUAL = 2,\r
- RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3,\r
- RENDERING_INTENT_SATURATION = 4,\r
- RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5\r
- } RenderingIntentType;\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGRenderingIntent()\r
- {\r
- renderingIntentType = RENDERING_INTENT_UNKNOWN;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGRenderingIntent(const SVGRenderingIntent &other)\r
- {\r
- renderingIntentType = other.renderingIntentType;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGRenderingIntent() {}\r
-\r
-protected:\r
-\r
- unsigned short renderingIntentType;\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-###########################################################################\r
-## P A T H S E G M E N T S\r
-###########################################################################\r
-#########################################################################*/\r
-\r
-static char const *const pathSegLetters[] =\r
-{\r
- "@", // PATHSEG_UNKNOWN,\r
- "z", // PATHSEG_CLOSEPATH\r
- "M", // PATHSEG_MOVETO_ABS\r
- "m", // PATHSEG_MOVETO_REL,\r
- "L", // PATHSEG_LINETO_ABS\r
- "l", // PATHSEG_LINETO_REL\r
- "C", // PATHSEG_CURVETO_CUBIC_ABS\r
- "c", // PATHSEG_CURVETO_CUBIC_REL\r
- "Q", // PATHSEG_CURVETO_QUADRATIC_ABS,\r
- "q", // PATHSEG_CURVETO_QUADRATIC_REL\r
- "A", // PATHSEG_ARC_ABS\r
- "a", // PATHSEG_ARC_REL,\r
- "H", // PATHSEG_LINETO_HORIZONTAL_ABS,\r
- "h", // PATHSEG_LINETO_HORIZONTAL_REL\r
- "V", // PATHSEG_LINETO_VERTICAL_ABS\r
- "v", // PATHSEG_LINETO_VERTICAL_REL\r
- "S", // PATHSEG_CURVETO_CUBIC_SMOOTH_ABS\r
- "s", // PATHSEG_CURVETO_CUBIC_SMOOTH_REL\r
- "T", // PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS\r
- "t" // PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL\r
-};\r
-\r
-/*#########################################################################\r
-## SVGPathSeg\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPathSeg\r
-{\r
-public:\r
-\r
-\r
-\r
- /**\r
- * Path Segment Types\r
- */\r
- typedef enum\r
+ typedef enum\r
{\r
PATHSEG_UNKNOWN = 0,\r
PATHSEG_CLOSEPATH = 1,\r
@@ -4078,1248 +837,851 @@ public:
PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17,\r
PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18,\r
PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19\r
- } PathSegmentType;\r
-\r
- /**\r
- *\r
- */\r
- virtual unsigned short getPathSegType()\r
- { return type; }\r
-\r
- /**\r
- *\r
- */\r
- virtual DOMString getPathSegTypeAsLetter()\r
- {\r
- int typ = type;\r
- if (typ<0 || typ>PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL)\r
- typ = PATHSEG_UNKNOWN;\r
- char const *ch = pathSegLetters[typ];\r
- DOMString letter = ch;\r
- return letter;\r
- }\r
-\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSeg()\r
- { type = PATHSEG_UNKNOWN; }\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSeg(const SVGPathSeg &other)\r
- {\r
- type = other.type;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGPathSeg() {}\r
-\r
-protected:\r
-\r
- int type;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPathSegClosePath\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPathSegClosePath : public SVGPathSeg\r
-{\r
-public:\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegClosePath()\r
- {\r
- type = PATHSEG_CLOSEPATH;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegClosePath(const SVGPathSegClosePath &other) : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CLOSEPATH;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGPathSegClosePath() {}\r
-\r
-};\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPathSegMovetoAbs\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPathSegMovetoAbs : public SVGPathSeg\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual double getX()\r
- { return x; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getY()\r
- { return y; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegMovetoAbs()\r
- {\r
- type = PATHSEG_MOVETO_ABS;\r
- x = y = 0.0;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegMovetoAbs(double xArg, double yArg)\r
- {\r
- type = PATHSEG_MOVETO_ABS;\r
- x = xArg; y = yArg;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegMovetoAbs(const SVGPathSegMovetoAbs &other) : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_MOVETO_ABS;\r
- x = other.x; y = other.y;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGPathSegMovetoAbs() {}\r
-\r
-protected:\r
-\r
- double x,y;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPathSegMovetoRel\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPathSegMovetoRel : public SVGPathSeg\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual double getX()\r
- { return x; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getY()\r
- { return y; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegMovetoRel()\r
- {\r
- type = PATHSEG_MOVETO_REL;\r
- x = y = 0.0;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegMovetoRel(double xArg, double yArg)\r
- {\r
- type = PATHSEG_MOVETO_REL;\r
- x = xArg; y = yArg;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegMovetoRel(const SVGPathSegMovetoRel &other) : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_MOVETO_REL;\r
- x = other.x; y = other.y;\r
- }\r
-\r
- /**\r
- *\r
- */\r
- virtual ~SVGPathSegMovetoRel() {}\r
-\r
-protected:\r
-\r
- double x,y;\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPathSegLinetoAbs\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPathSegLinetoAbs : public SVGPathSeg\r
-{\r
-public:\r
-\r
- /**\r
- *\r
- */\r
- virtual double getX()\r
- { return x; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getY()\r
- { return y; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
+ } PathSegmentType;\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoAbs()\r
- {\r
- type = PATHSEG_LINETO_ABS;\r
- x = y = 0.0;\r
- }\r
-\r
+ unsigned short getPathSegType();\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoAbs(double xArg, double yArg)\r
- {\r
- type = PATHSEG_LINETO_ABS;\r
- x = xArg; y = yArg;\r
- }\r
+ DOMString getPathSegTypeAsLetter();\r
\r
/**\r
- *\r
+ * From the various subclasses\r
*/\r
- SVGPathSegLinetoAbs(const SVGPathSegLinetoAbs &other) : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_LINETO_ABS;\r
- x = other.x; y = other.y;\r
- }\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegLinetoAbs() {}\r
-\r
-protected:\r
-\r
- double x,y;\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPathSegLinetoRel\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPathSegLinetoRel : public SVGPathSeg\r
-{\r
-public:\r
+ double getX();\r
\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ void setX(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ double getX1();\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ void setX1(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
+ double getX2();\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoRel()\r
- {\r
- type = PATHSEG_LINETO_REL;\r
- x = y = 0.0;\r
- }\r
-\r
+ void setX2(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoRel(double xArg, double yArg)\r
- {\r
- type = PATHSEG_LINETO_REL;\r
- x = xArg; y = yArg;\r
- }\r
+ double getY()\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoRel(const SVGPathSegLinetoRel &other) : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_LINETO_REL;\r
- x = other.x; y = other.y;\r
- }\r
+ void setY(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegLinetoRel() {}\r
-\r
-protected:\r
-\r
- double x,y;\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPathSegCurvetoCubicAbs\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPathSegCurvetoCubicAbs : public SVGPathSeg\r
-{\r
-public:\r
+ double getY1()\r
\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ void setY1(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ double getY2();\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ void setY2(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
+ double getR1();\r
\r
/**\r
*\r
*/\r
- virtual double getX1()\r
- { return x1; }\r
+ void setR1(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setX1(double val) throw (DOMException)\r
- { x1 = val; }\r
+ double getR2();\r
\r
/**\r
*\r
*/\r
- virtual double getY1()\r
- { return y1; }\r
+ void setR2(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setY1(double val) throw (DOMException)\r
- { y1 = val; }\r
+ double getAngle();\r
\r
+ /**\r
+ *\r
+ */\r
+ void setAngle(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual double getX2()\r
- { return x2; }\r
+ bool getLargeArcFlag();\r
\r
/**\r
*\r
*/\r
- virtual void setX2(double val) throw (DOMException)\r
- { x2 = val; }\r
+ void setLargeArcFlag(bool val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual double getY2()\r
- { return y2; }\r
+ bool getSweepFlag();\r
\r
/**\r
*\r
*/\r
- virtual void setY2(double val) throw (DOMException)\r
- { y2 = val; }\r
+ void setSweepFlag(bool val) throw(DOMException);\r
\r
\r
//##################\r
//# Non-API methods\r
//##################\r
\r
+ /**\r
+ *\r
+ */\r
+ SVGPathSeg();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicAbs()\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_ABS;\r
- x = y = x1 = y1 = x2 = y2 = 0.0;\r
- }\r
+ SVGPathSeg(int typeArg);\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicAbs(double xArg, double yArg,\r
- double x1Arg, double y1Arg,\r
- double x2Arg, double y2Arg)\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_ABS;\r
- x = xArg; y = yArg;\r
- x1 = x1Arg; y1 = y1Arg;\r
- x2 = x2Arg; y2 = y2Arg;\r
- }\r
+ SVGPathSeg(const SVGPathSeg &other);\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicAbs(const SVGPathSegCurvetoCubicAbs &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_ABS;\r
- x = other.x; y = other.y;\r
- x1 = other.x1; y1 = other.y1;\r
- x2 = other.x2; y2 = other.y2;\r
- }\r
+ SVGPathSeg &operator=(const SVGPathSeg &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegCurvetoCubicAbs() {}\r
+ ~SVGPathSeg();\r
\r
protected:\r
\r
- double x, y, x1, y1, x2, y2;\r
+ void init();\r
+ \r
+ void assign(const SVGPathSeg &other);\r
\r
+ int type;\r
+ double x, y, x1, y1, x2, y2;\r
+ double r1, r2;\r
+ double angle;\r
+ bool largeArcFlag;\r
+ bool sweepFlag;\r
};\r
\r
\r
\r
\r
-\r
-\r
/*#########################################################################\r
-## SVGPathSegCurvetoCubicRel\r
+## SVGPaint\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegCurvetoCubicRel : public SVGPathSeg\r
+class SVGPaint : public SVGColor\r
{\r
public:\r
\r
/**\r
- *\r
+ * Paint Types\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ typedef enum\r
+ {\r
+ SVG_PAINTTYPE_UNKNOWN = 0,\r
+ SVG_PAINTTYPE_RGBCOLOR = 1,\r
+ SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2,\r
+ SVG_PAINTTYPE_NONE = 101,\r
+ SVG_PAINTTYPE_CURRENTCOLOR = 102,\r
+ SVG_PAINTTYPE_URI_NONE = 103,\r
+ SVG_PAINTTYPE_URI_CURRENTCOLOR = 104,\r
+ SVG_PAINTTYPE_URI_RGBCOLOR = 105,\r
+ SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106,\r
+ SVG_PAINTTYPE_URI = 107\r
+ } PaintType;\r
+\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ unsigned short getPaintType();\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ DOMString getUri();\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
+ void setUri(const DOMString& uriArg);\r
\r
/**\r
*\r
*/\r
- virtual double getX1()\r
- { return x1; }\r
+ void setPaint(unsigned short paintTypeArg,\r
+ const DOMString& uriArg,\r
+ const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw(SVGException);\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
\r
/**\r
*\r
*/\r
- virtual void setX1(double val) throw (DOMException)\r
- { x1 = val; }\r
+ SVGPaint();\r
\r
/**\r
*\r
*/\r
- virtual double getY1()\r
- { return y1; }\r
+ SVGPaint(const SVGPaint &other);\r
\r
/**\r
*\r
*/\r
- virtual void setY1(double val) throw (DOMException)\r
- { y1 = val; }\r
+ ~SVGPaint();\r
+\r
+protected:\r
+\r
+ unsigned int paintType;\r
+ DOMString uri;\r
+\r
+};\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGPreserveAspectRatio\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGPreserveAspectRatio\r
+{\r
+public:\r
\r
\r
/**\r
- *\r
+ * Alignment Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_PRESERVEASPECTRATIO_UNKNOWN = 0,\r
+ SVG_PRESERVEASPECTRATIO_NONE = 1,\r
+ SVG_PRESERVEASPECTRATIO_XMINYMIN = 2,\r
+ SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3,\r
+ SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4,\r
+ SVG_PRESERVEASPECTRATIO_XMINYMID = 5,\r
+ SVG_PRESERVEASPECTRATIO_XMIDYMID = 6,\r
+ SVG_PRESERVEASPECTRATIO_XMAXYMID = 7,\r
+ SVG_PRESERVEASPECTRATIO_XMINYMAX = 8,\r
+ SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9,\r
+ SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10\r
+ } AlignmentType;\r
+\r
+\r
+ /**\r
+ * Meet-or-slice Types\r
*/\r
- virtual double getX2()\r
- { return x2; }\r
+ typedef enum\r
+ {\r
+ SVG_MEETORSLICE_UNKNOWN = 0,\r
+ SVG_MEETORSLICE_MEET = 1,\r
+ SVG_MEETORSLICE_SLICE = 2\r
+ } MeetOrSliceType;\r
+\r
\r
/**\r
*\r
*/\r
- virtual void setX2(double val) throw (DOMException)\r
- { x2 = val; }\r
+ unsigned short getAlign();\r
\r
/**\r
*\r
*/\r
- virtual double getY2()\r
- { return y2; }\r
+ void setAlign(unsigned short val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setY2(double val) throw (DOMException)\r
- { y2 = val; }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
+ unsigned short getMeetOrSlice();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicRel()\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_REL;\r
- x = y = x1 = y1 = x2 = y2 = 0.0;\r
- }\r
+ void setMeetOrSlice(unsigned short val) throw(DOMException);\r
\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicRel(double xArg, double yArg,\r
- double x1Arg, double y1Arg,\r
- double x2Arg, double y2Arg)\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_REL;\r
- x = xArg; y = yArg;\r
- x1 = x1Arg; y1 = y1Arg;\r
- x2 = x2Arg; y2 = y2Arg;\r
- }\r
+ SVGPreserveAspectRatio();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicRel(const SVGPathSegCurvetoCubicRel &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_REL;\r
- x = other.x; y = other.y;\r
- x1 = other.x1; y1 = other.y1;\r
- x2 = other.x2; y2 = other.y2;\r
- }\r
+ SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegCurvetoCubicRel() {}\r
+ ~SVGPreserveAspectRatio();\r
\r
protected:\r
\r
- double x, y, x1, y1, x2, y2;\r
+ unsigned short align;\r
+ unsigned short meetOrSlice;\r
\r
};\r
\r
\r
\r
-\r
-\r
-\r
/*#########################################################################\r
-## SVGPathSegCurvetoQuadraticAbs\r
+## SVGRect\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegCurvetoQuadraticAbs : public SVGPathSeg\r
+class SVGRect\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ double getX();\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ void setX(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ double getY();\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
+ void setY(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual double getX1()\r
- { return x1; }\r
+ double getWidth();\r
\r
/**\r
*\r
*/\r
- virtual void setX1(double val) throw (DOMException)\r
- { x1 = val; }\r
+ void setWidth(double val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual double getY1()\r
- { return y1; }\r
+ double getHeight();\r
\r
/**\r
*\r
*/\r
- virtual void setY1(double val) throw (DOMException)\r
- { y1 = val; }\r
+ void setHeight(double val) throw(DOMException);\r
\r
\r
//##################\r
//# Non-API methods\r
//##################\r
\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegCurvetoQuadraticAbs()\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_ABS;\r
- x = y = x1 = y1 = 0.0;\r
- }\r
-\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticAbs(double xArg, double yArg,\r
- double x1Arg, double y1Arg)\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_ABS;\r
- x = xArg; y = yArg;\r
- x1 = x1Arg; y1 = y1Arg;\r
- }\r
+ SVGRect();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticAbs(const SVGPathSegCurvetoQuadraticAbs &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_ABS;\r
- x = other.x; y = other.y;\r
- x1 = other.x1; y1 = other.y1;\r
- }\r
+ SVGRect(const SVGRect &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegCurvetoQuadraticAbs() {}\r
+ ~SVGRect();\r
\r
protected:\r
\r
- double x, y, x1, y1;\r
+ double x, y, width, height;\r
\r
};\r
\r
-\r
-\r
-\r
-\r
-\r
/*#########################################################################\r
-## SVGPathSegCurvetoQuadraticRel\r
+## SVGTransform\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegCurvetoQuadraticRel : public SVGPathSeg\r
+class SVGTransform\r
{\r
public:\r
\r
/**\r
- *\r
+ * Transform Types\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ typedef enum\r
+ {\r
+ SVG_TRANSFORM_UNKNOWN = 0,\r
+ SVG_TRANSFORM_MATRIX = 1,\r
+ SVG_TRANSFORM_TRANSLATE = 2,\r
+ SVG_TRANSFORM_SCALE = 3,\r
+ SVG_TRANSFORM_ROTATE = 4,\r
+ SVG_TRANSFORM_SKEWX = 5,\r
+ SVG_TRANSFORM_SKEWY = 6,\r
+ } TransformType;\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ unsigned short getType();\r
+\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ SVGMatrix getMatrix();\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
+ double getAngle();\r
\r
/**\r
*\r
*/\r
- virtual double getX1()\r
- { return x1; }\r
+ void setMatrix(const SVGMatrix &matrixArg);\r
\r
/**\r
*\r
*/\r
- virtual void setX1(double val) throw (DOMException)\r
- { x1 = val; }\r
+ void setTranslate(double tx, double ty);\r
\r
/**\r
*\r
*/\r
- virtual double getY1()\r
- { return y1; }\r
+ void setScale(double sx, double sy);\r
\r
/**\r
*\r
*/\r
- virtual void setY1(double val) throw (DOMException)\r
- { y1 = val; }\r
-\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
+ void setRotate(double angleArg, double cx, double cy);\r
\r
+ /**\r
+ *\r
+ */\r
+ void setSkewX(double angleArg);\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticRel()\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_REL;\r
- x = y = x1 = y1 = 0.0;\r
- }\r
+ void setSkewY(double angleArg);\r
\r
\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
+\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticRel(double xArg, double yArg,\r
- double x1Arg, double y1Arg)\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_REL;\r
- x = xArg; y = yArg;\r
- x1 = x1Arg; y1 = y1Arg;\r
- }\r
+ SVGTransform();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticRel(const SVGPathSegCurvetoQuadraticRel &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_REL;\r
- x = other.x; y = other.y;\r
- x1 = other.x1; y1 = other.y1;\r
- }\r
+ SVGTransform(const SVGTransform &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegCurvetoQuadraticRel() {}\r
+ ~SVGTransform();\r
\r
protected:\r
\r
- double x, y, x1, y1;\r
+ int type;\r
+ double angle;\r
\r
+ SVGMatrix matrix;\r
};\r
\r
\r
\r
\r
-\r
-\r
/*#########################################################################\r
-## SVGPathSegArcAbs\r
+## SVGUnitTypes\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegArcAbs : public SVGPathSeg\r
+class SVGUnitTypes\r
{\r
public:\r
\r
+ /**\r
+ * Unit Types\r
+ */\r
+ typedef enum\r
+ {\r
+ SVG_UNIT_TYPE_UNKNOWN = 0,\r
+ SVG_UNIT_TYPE_USERSPACEONUSE = 1,\r
+ SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2\r
+ } UnitType;\r
+\r
+\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
+\r
+ /**\r
+ *\r
+ */\r
+ SVGUnitTypes();\r
+\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ ~SVGUnitTypes();\r
+\r
+};\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGValue\r
+#########################################################################*/\r
+\r
+/**\r
+ * This is a helper class that will hold several types of data. It will\r
+ * be used in those situations where methods are common to different \r
+ * interfaces, except for the data type. This class holds the following:\r
+ * SVGAngle\r
+ * SVGBoolean\r
+ * SVGEnumeration\r
+ * SVGInteger\r
+ * SVGLength\r
+ * SVGNumber\r
+ * SVGPreserveAspectRatio\r
+ * SVGRect\r
+ * SVGString\r
+ */ \r
+class SVGValue\r
+{\r
+public:\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ typedef enum\r
+ {\r
+ SVG_ANGLE,\r
+ SVG_BOOLEAN,\r
+ SVG_ENUMERATION,\r
+ SVG_INTEGER,\r
+ SVG_LENGTH,\r
+ SVG_NUMBER,\r
+ SVG_PRESERVE_ASPECT_RATIO,\r
+ SVG_RECT,\r
+ SVG_STRING,\r
+ } SVGValueType;\r
\r
/**\r
- *\r
+ * Constructor\r
*/\r
- virtual double getY()\r
- { return y; }\r
-\r
+ SVGValue();\r
+ \r
/**\r
- *\r
+ * Copy constructor\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
-\r
+ SVGValue(const SVGValue &other);\r
+ \r
/**\r
- *\r
+ * Assignment\r
*/\r
- virtual double getR1()\r
- { return r1; }\r
-\r
+ SVGValue &operator=(const SVGValue &other);\r
+ \r
/**\r
*\r
*/\r
- virtual void setR1(double val) throw (DOMException)\r
- { r1 = val; }\r
+ ~SVGValue();\r
+ \r
+ //###########################\r
+ // TYPES\r
+ //###########################\r
\r
/**\r
- *\r
+ * Angle\r
*/\r
- virtual double getR2()\r
- { return r2; }\r
-\r
+ SVGValue(const SVGAngle &v);\r
+ \r
+ SVGAngle angleValue();\r
+ \r
/**\r
- *\r
+ * Boolean\r
*/\r
- virtual void setR2(double val) throw (DOMException)\r
- { r2 = val; }\r
-\r
+ SVGValue(bool v);\r
+ \r
+ bool booleanValue();\r
+ \r
+ \r
/**\r
- *\r
+ * Enumeration\r
*/\r
- virtual double getAngle()\r
- { return angle; }\r
+ SVGValue(short v);\r
+ \r
+ short enumerationValue();\r
\r
/**\r
- *\r
+ * Integer\r
*/\r
- virtual void setAngle(double val) throw (DOMException)\r
- { angle = val; }\r
-\r
+ SVGValue(long v);\r
+ \r
+ long integerValue();\r
+ \r
/**\r
- *\r
+ * Length\r
*/\r
- virtual bool getLargeArcFlag()\r
- { return largeArcFlag; }\r
-\r
+ SVGValue(const SVGLength &v);\r
+ \r
+ SVGLength lengthValue();\r
+ \r
/**\r
- *\r
+ * Number\r
*/\r
- virtual void setLargeArcFlag(bool val) throw (DOMException)\r
- { largeArcFlag = val; }\r
+ SVGValue(double v);\r
+ \r
+ double numberValue();\r
\r
/**\r
- *\r
+ * PathSegment\r
*/\r
- virtual bool getSweepFlag()\r
- { return sweepFlag; }\r
-\r
+ SVGValue(const SVGPathSeg &v);\r
+ \r
+ SVGPathSeg pathDataValue();\r
+ \r
+ \r
/**\r
- *\r
+ * Points\r
*/\r
- virtual void setSweepFlag(bool val) throw (DOMException)\r
- { sweepFlag = val; }\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
-\r
+ SVGValue(const SVGPointList &v);\r
+ \r
+ SVGPointList pointListValue();\r
+ \r
+ \r
/**\r
- *\r
+ * PreserveAspectRatio\r
*/\r
- SVGPathSegArcAbs()\r
- {\r
- type = PATHSEG_ARC_ABS;\r
- x = y = r1 = r2 = angle = 0.0;\r
- largeArcFlag = sweepFlag = false;\r
- }\r
-\r
+ SVGValue(const SVGPreserveAspectRatio &v);\r
+ \r
+ SVGPreserveAspectRatio preserveAspectRatioValue();\r
+ \r
/**\r
- *\r
+ * Rect\r
*/\r
- SVGPathSegArcAbs(double xArg, double yArg,\r
- double r1Arg, double r2Arg,\r
- double angleArg,\r
- bool largeArcFlagArg,\r
- bool sweepFlagArg )\r
-\r
- {\r
- type = PATHSEG_ARC_ABS;\r
- x = xArg; y = yArg;\r
- r1 = r1Arg; r2 = r2Arg;\r
- angle = angleArg;\r
- largeArcFlag = largeArcFlagArg;\r
- sweepFlag = sweepFlagArg;\r
- }\r
-\r
+ SVGValue(const SVGRect &v);\r
+ \r
+ SVGRect rectValue();\r
+ \r
/**\r
- *\r
+ * String\r
*/\r
- SVGPathSegArcAbs(const SVGPathSegArcAbs &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_ARC_ABS;\r
- x = other.x; y = other.y;\r
- r1 = other.r1; r2 = other.r2;\r
- angle = other.angle;\r
- largeArcFlag = other.largeArcFlag;\r
- sweepFlag = other.sweepFlag;\r
- }\r
-\r
+ SVGValue(const DOMString &v);\r
+ \r
+ DOMString stringValue();\r
+ \r
/**\r
- *\r
+ * TransformList\r
*/\r
- virtual ~SVGPathSegArcAbs() {}\r
-\r
-protected:\r
+ SVGValue(const SVGTransformList &v);\r
+ \r
+ SVGTransformList transformListValue();\r
+ \r
+ \r
+private:\r
\r
- double x, y, r1, r2, angle;\r
- bool largeArcFlag;\r
- bool sweepFlag;\r
+ void init();\r
+ \r
+ void assign(const SVGValue &other);\r
+ \r
+ short type;\r
+ SVGAngle angleval; // SVGAngle\r
+ bool bval; // SVGBoolean\r
+ short eval; // SVGEnumeration\r
+ long ival; // SVGInteger\r
+ SVGLength lengthval; // SVGLength\r
+ double dval; // SVGNumber\r
+ SVGPathSegment segval; // SVGPathSegment\r
+ SVGPreserveAcpectRatio parval; // SVGPreserveAspectRatio\r
+ SVGRect rval; // SVGRect\r
+ DOMString sval; // SVGString\r
\r
};\r
\r
\r
-\r
/*#########################################################################\r
-## SVGPathSegArcRel\r
+## SVGValueList\r
#########################################################################*/\r
\r
/**\r
+ * THis is used to generify a bit the several different types of lists:\r
*\r
+ * SVGLengthList -> SVGValueList<SVGLength>\r
+ * SVGNumberList -> SVGValueList<SVGNumber>\r
+ * SVGPathData -> SVGValueList<SVGPathSeg>\r
+ * SVGPoints -> SVGValueList<SVGPoint>\r
+ * SVGTransformList -> SVGValueList<SVGTransform>\r
*/\r
-class SVGPathSegArcRel : public SVGPathSeg\r
+class SVGValueList\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ typedef enum\r
+ {\r
+ SVG_LIST_LENGTH,\r
+ SVG_LIST_NUMBER,\r
+ SVG_LIST_PATHSEG,\r
+ SVG_LIST_POINT,\r
+ SVG_LIST_TRANSFORM\r
+ } SVGValueListTypes;\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ unsigned long getNumberOfItems();\r
\r
- /**\r
- *\r
- */\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
\r
/**\r
*\r
*/\r
- virtual double getR1()\r
- { return r1; }\r
+ void clear() throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setR1(double val) throw (DOMException)\r
- { r1 = val; }\r
+ SVGValue getItem(unsigned long index) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual double getR2()\r
- { return r2; }\r
+ SVGValue insertItemBefore(const SVGValue &newItem,\r
+ unsigned long index)\r
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
- virtual void setR2(double val) throw (DOMException)\r
- { r2 = val; }\r
+ SVGValue replaceItem(const SVGValue &newItem,\r
+ unsigned long index)\r
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
- virtual double getAngle()\r
- { return angle; }\r
+ SVGValue removeItem(unsigned long index) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual void setAngle(double val) throw (DOMException)\r
- { angle = val; }\r
+ SVGValue appendItem(const SVGValue &newItem)\r
+ throw(DOMException, SVGException);\r
\r
/**\r
- *\r
+ * Matrix\r
*/\r
- virtual bool getLargeArcFlag()\r
- { return largeArcFlag; }\r
+ SVGValue initialize(const SVGValue &newItem)\r
+ throw(DOMException, SVGException);\r
\r
/**\r
- *\r
+ * Matrix\r
*/\r
- virtual void setLargeArcFlag(bool val) throw (DOMException)\r
- { largeArcFlag = val; }\r
+ SVGValue createSVGTransformFromMatrix(const SVGValue &matrix);\r
\r
/**\r
- *\r
+ * Matrix\r
*/\r
- virtual bool getSweepFlag()\r
- { return sweepFlag; }\r
+ SVGValue consolidate();\r
\r
- /**\r
- *\r
- */\r
- virtual void setSweepFlag(bool val) throw (DOMException)\r
- { sweepFlag = val; }\r
\r
//##################\r
//# Non-API methods\r
//##################\r
\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegArcRel()\r
- {\r
- type = PATHSEG_ARC_REL;\r
- x = y = r1 = r2 = angle = 0.0;\r
- largeArcFlag = sweepFlag = false;\r
- }\r
-\r
-\r
/**\r
*\r
*/\r
- SVGPathSegArcRel(double xArg, double yArg,\r
- double r1Arg, double r2Arg,\r
- double angleArg,\r
- bool largeArcFlagArg,\r
- bool sweepFlagArg )\r
-\r
- {\r
- type = PATHSEG_ARC_REL;\r
- x = xArg; y = yArg;\r
- r1 = r1Arg; r2 = r2Arg;\r
- angle = angleArg;\r
- largeArcFlag = largeArcFlagArg;\r
- sweepFlag = sweepFlagArg;\r
- }\r
+ SVGValueList();\r
\r
/**\r
*\r
*/\r
- SVGPathSegArcRel(const SVGPathSegArcRel &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_ARC_REL;\r
- x = other.x; y = other.y;\r
- r1 = other.r1; r2 = other.r2;\r
- angle = other.angle;\r
- largeArcFlag = other.largeArcFlag;\r
- sweepFlag = other.sweepFlag;\r
- }\r
+ SVGValueList(const SVGValueList &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegArcRel() {}\r
+ ~SVGValueList();\r
\r
protected:\r
\r
- double x, y, r1, r2, angle;\r
- bool largeArcFlag;\r
- bool sweepFlag;\r
+ std::vector<SVGValue> items;\r
\r
};\r
\r
\r
\r
\r
-\r
/*#########################################################################\r
-## SVGPathSegLinetoHorizontalAbs\r
+## SVGAnimatedValue\r
#########################################################################*/\r
\r
/**\r
- *\r
+ * This class is used to merge all of the "Animated" values, with only\r
+ * a different type, into a single API. This class subsumes the following:\r
+ * SVGAnimatedAngle\r
+ * SVGAnimatedBoolean\r
+ * SVGAnimatedEnumeration\r
+ * SVGAnimatedInteger\r
+ * SVGAnimatedLength\r
+ * SVGAnimatedLengthList\r
+ * SVGAnimatedNumber\r
+ * SVGAnimatedNumberList\r
+ * SVGAnimatedPathData\r
+ * SVGAnimatedPoints\r
+ * SVGAnimatedPreserveAspectRatio\r
+ * SVGAnimatedRect\r
+ * SVGAnimatedString\r
+ * SVGAnimatedTransformList\r
*/\r
-class SVGPathSegLinetoHorizontalAbs : public SVGPathSeg\r
+class SVGAnimatedValue\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegLinetoHorizontalAbs()\r
- {\r
- type = PATHSEG_LINETO_HORIZONTAL_ABS;\r
- x = 0.0;\r
- }\r
-\r
+ SVGValue &getBaseVal();\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoHorizontalAbs(double xArg)\r
- {\r
- type = PATHSEG_LINETO_HORIZONTAL_ABS;\r
- x = xArg;\r
- }\r
+ void setBaseVal(const SVGValue &val) throw (DOMException);\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoHorizontalAbs(const SVGPathSegLinetoHorizontalAbs &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_LINETO_HORIZONTAL_ABS;\r
- x = other.x;\r
- }\r
+ SVGValue &getAnimVal();\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegLinetoHorizontalAbs() {}\r
-\r
-protected:\r
-\r
- double x;\r
-\r
-};\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPathSegLinetoHorizontalRel\r
-#########################################################################*/\r
-\r
-/**\r
- *\r
- */\r
-class SVGPathSegLinetoHorizontalRel : public SVGPathSeg\r
-{\r
-public:\r
-\r
+ SVGAnimatedValue();\r
+ \r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ SVGAnimatedValue(const SVGValue &baseValue);\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
-\r
- //##################\r
- //# Non-API methods\r
- //##################\r
+ SVGAnimatedValue(const SVGValue &baseValue, const SVGValue &animValue);\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoHorizontalRel()\r
- {\r
- type = PATHSEG_LINETO_HORIZONTAL_REL;\r
- x = 0.0;\r
- }\r
-\r
+ SVGAnimatedValue(const SVGAnimatedValue &other);\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoHorizontalRel(double xArg)\r
- {\r
- type = PATHSEG_LINETO_HORIZONTAL_REL;\r
- x = xArg;\r
- }\r
+ SVGAnimatedValue &operator=(const SVGAnimatedValue &other);\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoHorizontalRel(const SVGPathSegLinetoHorizontalRel &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_LINETO_HORIZONTAL_REL;\r
- x = other.x;\r
- }\r
+ SVGAnimatedValue &operator=(const SVGValue &baseVal);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegLinetoHorizontalRel() {}\r
-\r
-protected:\r
-\r
- double x;\r
-\r
-};\r
-\r
-\r
-\r
-/*#########################################################################\r
-## SVGPathSegLinetoVerticalAbs\r
-#########################################################################*/\r
+ ~SVGAnimatedValue();\r
+ \r
+private:\r
\r
-/**\r
- *\r
- */\r
-class SVGPathSegLinetoVerticalAbs : public SVGPathSeg\r
-{\r
-public:\r
+ void init();\r
+ \r
+ void assign(const SVGAnimatedValue &other);\r
+ \r
+ SVGValue baseVal;\r
+ \r
+ SVGValue animVal;\r
+}\r
\r
- /**\r
- *\r
- */\r
- virtual double getY()\r
- { return y; }\r
\r
- /**\r
- *\r
- */\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
\r
- //##################\r
- //# Non-API methods\r
- //##################\r
\r
- /**\r
- *\r
- */\r
- SVGPathSegLinetoVerticalAbs()\r
- {\r
- type = PATHSEG_LINETO_VERTICAL_ABS;\r
- y = 0.0;\r
- }\r
\r
\r
- /**\r
- *\r
- */\r
- SVGPathSegLinetoVerticalAbs(double yArg)\r
- {\r
- type = PATHSEG_LINETO_VERTICAL_ABS;\r
- y = yArg;\r
- }\r
\r
- /**\r
- *\r
- */\r
- SVGPathSegLinetoVerticalAbs(const SVGPathSegLinetoVerticalAbs &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_LINETO_VERTICAL_ABS;\r
- y = other.y;\r
- }\r
+//########################################################################\r
+//########################################################################\r
+//# I N T E R F A C E S\r
+//########################################################################\r
+//########################################################################\r
\r
- /**\r
- *\r
- */\r
- virtual ~SVGPathSegLinetoVerticalAbs() {}\r
\r
-protected:\r
\r
- double y;\r
\r
-};\r
\r
\r
\r
/*#########################################################################\r
-## SVGPathSegLinetoVerticalRel\r
+## SVGStylable\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegLinetoVerticalRel : public SVGPathSeg\r
+class SVGStylable\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ SVGAnimatedString getClassName();\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
+ css::CSSStyleDeclaration getStyle();\r
\r
- //##################\r
- //# Non-API methods\r
- //##################\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoVerticalRel()\r
- {\r
- type = PATHSEG_LINETO_VERTICAL_REL;\r
- y = 0.0;\r
- }\r
+ css::CSSValue getPresentationAttribute(const DOMString& /*name*/);\r
\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoVerticalRel(double yArg)\r
- {\r
- type = PATHSEG_LINETO_VERTICAL_REL;\r
- y = yArg;\r
- }\r
+ SVGStylable();\r
\r
/**\r
*\r
*/\r
- SVGPathSegLinetoVerticalRel(const SVGPathSegLinetoVerticalRel &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_LINETO_VERTICAL_REL;\r
- y = other.y;\r
- }\r
+ SVGStylable(const SVGStylable &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegLinetoVerticalRel() {}\r
+ ~SVGStylable();\r
\r
protected:\r
\r
- double y;\r
+ SVGAnimatedString className;\r
+ css::CSSStyleDeclaration style;\r
\r
};\r
\r
\r
\r
\r
-\r
/*#########################################################################\r
-## SVGPathSegCurvetoCubicSmoothAbs\r
+## SVGLocatable\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegCurvetoCubicSmoothAbs : public SVGPathSeg\r
+class SVGLocatable\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getY()\r
- { return y; }\r
+ SVGElementPtr getNearestViewportElement();\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
+ SVGElementPtr getFarthestViewportElement();\r
\r
/**\r
*\r
*/\r
- virtual double getX2()\r
- { return x2; }\r
+ SVGRect getBBox();\r
\r
/**\r
*\r
*/\r
- virtual void setX2(double val) throw (DOMException)\r
- { x2 = val; }\r
+ SVGMatrix getCTM();\r
\r
/**\r
*\r
*/\r
- virtual double getY2()\r
- { return y2; }\r
+ SVGMatrix getScreenCTM();\r
\r
/**\r
*\r
*/\r
- virtual void setY2(double val) throw (DOMException)\r
- { y2 = val; }\r
-\r
+ SVGMatrix getTransformToElement(const SVGElement &/*element*/)\r
+ throw(SVGException);\r
\r
//##################\r
//# Non-API methods\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicSmoothAbs()\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\r
- x = y = x2 = y2 = 0.0;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegCurvetoCubicSmoothAbs(double xArg, double yArg,\r
- double x2Arg, double y2Arg)\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\r
- x = xArg; y = yArg;\r
- x2 = x2Arg; y2 = y2Arg;\r
- }\r
+ SVGLocatable();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicSmoothAbs(const SVGPathSegCurvetoCubicSmoothAbs &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\r
- x = other.x; y = other.y;\r
- x2 = other.x2; y2 = other.y2;\r
- }\r
+ SVGLocatable(const SVGLocatable &/*other*/);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegCurvetoCubicSmoothAbs() {}\r
+ ~SVGLocatable();\r
\r
protected:\r
\r
- double x, y, x2, y2;\r
+ SVGRect bbox;\r
+ SVGMatrix ctm;\r
+ SVGMatrix screenCtm;\r
\r
};\r
\r
\r
-\r
/*#########################################################################\r
-## SVGPathSegCurvetoCubicSmoothRel\r
+## SVGTransformable\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegCurvetoCubicSmoothRel : public SVGPathSeg\r
+class SVGTransformable : public SVGLocatable\r
{\r
public:\r
\r
+\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ SVGAnimatedTransformList &getTransform();\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ SVGTransformable();\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ SVGTransformable(const SVGTransformable &other) : SVGLocatable(other);\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
+ ~SVGTransformable();\r
+\r
+protected:\r
+\r
+ SVGAnimatedTransformList transforms;\r
+};\r
+\r
+\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGTests\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGTests\r
+{\r
+public:\r
\r
/**\r
*\r
*/\r
- virtual double getX2()\r
- { return x2; }\r
+ SVGValueList &getRequiredFeatures();\r
\r
/**\r
*\r
*/\r
- virtual void setX2(double val) throw (DOMException)\r
- { x2 = val; }\r
+ SVGValueList &getRequiredExtensions();\r
\r
/**\r
*\r
*/\r
- virtual double getY2()\r
- { return y2; }\r
+ SVGValueList &getSystemLanguage();\r
\r
/**\r
*\r
*/\r
- virtual void setY2(double val) throw (DOMException)\r
- { y2 = val; }\r
-\r
+ bool hasExtension(const DOMString& /*extension*/);\r
\r
//##################\r
//# Non-API methods\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicSmoothRel()\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\r
- x = y = x2 = y2 = 0.0;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegCurvetoCubicSmoothRel(double xArg, double yArg,\r
- double x2Arg, double y2Arg)\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\r
- x = xArg; y = yArg;\r
- x2 = x2Arg; y2 = y2Arg;\r
- }\r
+ SVGTests();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoCubicSmoothRel(const SVGPathSegCurvetoCubicSmoothRel &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\r
- x = other.x; y = other.y;\r
- x2 = other.x2; y2 = other.y2;\r
- }\r
+ SVGTests(const SVGTests &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegCurvetoCubicSmoothRel() {}\r
+ ~SVGTests();\r
\r
protected:\r
\r
- double x, y, x2, y2;\r
+ SVGStringList requiredFeatures;\r
+ SVGStringList requiredExtensions;\r
+ SVGStringList systemLanguage;\r
\r
};\r
\r
\r
\r
/*#########################################################################\r
-## SVGPathSegCurvetoQuadraticSmoothAbs\r
+## SVGLangSpace\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegCurvetoQuadraticSmoothAbs : public SVGPathSeg\r
+class SVGLangSpace\r
{\r
public:\r
\r
+\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
+ DOMString getXmlLang();\r
\r
/**\r
*\r
*/\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
+ void setXmlLang(const DOMString &val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual double getY()\r
- { return y; }\r
+ DOMString getXmlSpace();\r
\r
/**\r
*\r
*/\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
-\r
-\r
+ void setXmlSpace(const DOMString &val) throw(DOMException);\r
\r
//##################\r
//# Non-API methods\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticSmoothAbs()\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\r
- x = y = 0.0;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegCurvetoQuadraticSmoothAbs(double xArg, double yArg)\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\r
- x = xArg; y = yArg;\r
- }\r
+ SVGLangSpace();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticSmoothAbs(const SVGPathSegCurvetoQuadraticSmoothAbs &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\r
- x = y = 0.0;\r
- }\r
+ SVGLangSpace(const SVGLangSpace &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegCurvetoQuadraticSmoothAbs() {}\r
+ ~SVGLangSpace();\r
\r
protected:\r
\r
- double x, y;\r
+ DOMString xmlLang;\r
+ DOMString xmlSpace;\r
\r
};\r
\r
\r
\r
-\r
-\r
-\r
/*#########################################################################\r
-## SVGPathSegCurvetoQuadraticSmoothRel\r
+## SVGExternalResourcesRequired\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegCurvetoQuadraticSmoothRel : public SVGPathSeg\r
+class SVGExternalResourcesRequired\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual double getX()\r
- { return x; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setX(double val) throw (DOMException)\r
- { x = val; }\r
-\r
- /**\r
- *\r
- */\r
- virtual double getY()\r
- { return y; }\r
-\r
- /**\r
- *\r
- */\r
- virtual void setY(double val) throw (DOMException)\r
- { y = val; }\r
-\r
-\r
+ SVGAnimatedBoolean getExternalResourcesRequired();\r
\r
//##################\r
//# Non-API methods\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticSmoothRel()\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\r
- x = y = 0.0;\r
- }\r
-\r
-\r
- /**\r
- *\r
- */\r
- SVGPathSegCurvetoQuadraticSmoothRel(double xArg, double yArg)\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\r
- x = xArg; y = yArg;\r
- }\r
+ SVGExternalResourcesRequired();\r
\r
/**\r
*\r
*/\r
- SVGPathSegCurvetoQuadraticSmoothRel(const SVGPathSegCurvetoQuadraticSmoothRel &other)\r
- : SVGPathSeg(other)\r
- {\r
- type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\r
- x = y = 0.0;\r
- }\r
+ SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegCurvetoQuadraticSmoothRel() {}\r
+ ~SVGExternalResourcesRequired();\r
\r
protected:\r
\r
- double x, y;\r
+ SVGAnimatedBoolean required;\r
\r
};\r
\r
\r
\r
\r
+\r
+\r
+\r
/*#########################################################################\r
-## SVGPathSegList\r
+## SVGFitToViewBox\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPathSegList\r
+class SVGFitToViewBox\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual unsigned long getNumberOfItems()\r
- { return items.size(); }\r
-\r
+ SVGAnimatedRect getViewBox();\r
\r
/**\r
*\r
*/\r
- virtual void clear () throw( DOMException )\r
- { items.clear(); }\r
+ SVGAnimatedPreserveAspectRatio getPreserveAspectRatio();\r
+\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSeg initialize (const SVGPathSeg &newItem)\r
- throw( DOMException, SVGException )\r
- {\r
- items.clear();\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
+ SVGFitToViewBox();\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSeg getItem (unsigned long index)\r
- throw( DOMException )\r
- {\r
- if (index >= items.size())\r
- {\r
- SVGPathSeg seg;\r
- return seg;\r
- }\r
- return items[index];\r
- }\r
+ SVGFitToViewBox(const SVGFitToViewBox &other);\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSeg insertItemBefore(const SVGPathSeg &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
- {\r
- if (index >= items.size())\r
- items.push_back(newItem);\r
- else\r
- {\r
- std::vector<SVGPathSeg>::iterator iter = items.begin() + index;\r
- items.insert(iter, newItem);\r
- }\r
- return newItem;\r
- }\r
+ ~SVGFitToViewBox();\r
+\r
+protected:\r
+\r
+ SVGAnimatedRect viewBox;\r
+\r
+ SVGAnimatedPreserveAspectRatio preserveAspectRatio;\r
+\r
+};\r
+\r
+\r
+/*#########################################################################\r
+## SVGZoomAndPan\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGZoomAndPan\r
+{\r
+public:\r
\r
/**\r
- *\r
+ * Zoom and Pan Types\r
*/\r
- virtual SVGPathSeg replaceItem(const SVGPathSeg &newItem,\r
- unsigned long index )\r
- throw( DOMException, SVGException )\r
+ typedef enum\r
{\r
- if (index >= items.size())\r
- {\r
- SVGPathSeg seg;\r
- return seg;\r
- }\r
- std::vector<SVGPathSeg>::iterator iter = items.begin() + index;\r
- *iter = newItem;\r
- return newItem;\r
- }\r
+ SVG_ZOOMANDPAN_UNKNOWN = 0,\r
+ SVG_ZOOMANDPAN_DISABLE = 1,\r
+ SVG_ZOOMANDPAN_MAGNIFY = 2\r
+ } ZoomAndPanType;\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSeg removeItem (unsigned long index)\r
- throw (DOMException)\r
- {\r
- if (index >= items.size())\r
- {\r
- SVGPathSeg seg;\r
- return seg;\r
- }\r
- std::vector<SVGPathSeg>::iterator iter = items.begin() + index;\r
- SVGPathSeg olditem = *iter;\r
- items.erase(iter);\r
- return olditem;\r
- }\r
+ unsigned short getZoomAndPan();\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSeg appendItem (const SVGPathSeg &newItem)\r
- throw( DOMException, SVGException )\r
- {\r
- items.push_back(newItem);\r
- return newItem;\r
- }\r
-\r
-\r
+ void setZoomAndPan(unsigned short val) throw(DOMException);\r
\r
//##################\r
//# Non-API methods\r
/**\r
*\r
*/\r
- SVGPathSegList() {}\r
-\r
+ SVGZoomAndPan();\r
\r
/**\r
*\r
*/\r
- SVGPathSegList(const SVGPathSegList &other)\r
- {\r
- items = other.items;\r
- }\r
-\r
+ SVGZoomAndPan(const SVGZoomAndPan &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPathSegList() {}\r
+ ~SVGZoomAndPan();\r
\r
protected:\r
\r
- std::vector<SVGPathSeg> items;\r
+ unsigned short zoomAndPan;\r
\r
};\r
\r
\r
\r
/*#########################################################################\r
-## SVGAnimatedPathData\r
+## SVGViewSpec\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGAnimatedPathData\r
+class SVGViewSpec : public SVGZoomAndPan,\r
+ public SVGFitToViewBox\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSegList getPathSegList()\r
- {\r
- SVGPathSegList list;\r
- return list;\r
- }\r
+ SVGTransformList getTransform();\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSegList getNormalizedPathSegList()\r
- {\r
- SVGPathSegList list;\r
- return list;\r
- }\r
+ SVGElementPtr getViewTarget();\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSegList getAnimatedPathSegList()\r
- {\r
- SVGPathSegList list;\r
- return list;\r
- }\r
+ DOMString getViewBoxString();\r
\r
/**\r
*\r
*/\r
- virtual SVGPathSegList getAnimatedNormalizedPathSegList()\r
- {\r
- SVGPathSegList list;\r
- return list;\r
- }\r
+ DOMString getPreserveAspectRatioString();\r
\r
+ /**\r
+ *\r
+ */\r
+ DOMString getTransformString();\r
\r
+ /**\r
+ *\r
+ */\r
+ DOMString getViewTargetString();\r
\r
//##################\r
//# Non-API methods\r
/**\r
*\r
*/\r
- SVGAnimatedPathData()\r
- {}\r
+ SVGViewSpec();\r
\r
/**\r
*\r
*/\r
- SVGAnimatedPathData(const SVGAnimatedPathData &/*other*/)\r
- {\r
- }\r
+ SVGViewSpec(const SVGViewSpec &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGAnimatedPathData() {}\r
-\r
-};\r
-\r
-\r
+ ~SVGViewSpec();\r
\r
+protected:\r
\r
+ SVGElementPtr viewTarget;\r
+ SVGTransformList transform;\r
+};\r
\r
\r
/*#########################################################################\r
-## SVGAnimatedPoints\r
+## SVGURIReference\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGAnimatedPoints\r
+class SVGURIReference\r
{\r
public:\r
\r
/**\r
*\r
*/\r
- virtual SVGPointList getPoints()\r
- { return points; }\r
-\r
- /**\r
- *\r
- */\r
- virtual SVGPointList getAnimatedPoints()\r
- { return animatedPoints; }\r
-\r
-\r
+ SVGAnimatedString getHref();\r
\r
//##################\r
//# Non-API methods\r
/**\r
*\r
*/\r
- SVGAnimatedPoints() {}\r
+ SVGURIReference();\r
\r
/**\r
*\r
*/\r
- SVGAnimatedPoints(const SVGAnimatedPoints &other)\r
- {\r
- points = other.points;\r
- animatedPoints = other.animatedPoints;\r
- }\r
+ SVGURIReference(const SVGURIReference &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGAnimatedPoints() {}\r
+ ~SVGURIReference();\r
\r
protected:\r
\r
- SVGPointList points;\r
- SVGPointList animatedPoints;\r
+ SVGAnimatedString href;\r
\r
};\r
\r
\r
\r
\r
+\r
/*#########################################################################\r
-## SVGPaint\r
+## SVGCSSRule\r
#########################################################################*/\r
\r
/**\r
*\r
*/\r
-class SVGPaint : public SVGColor\r
+class SVGCSSRule : public css::CSSRule\r
{\r
public:\r
\r
\r
/**\r
- * Paint Types\r
+ * Additional CSS RuleType to support ICC color specifications\r
*/\r
typedef enum\r
{\r
- SVG_PAINTTYPE_UNKNOWN = 0,\r
- SVG_PAINTTYPE_RGBCOLOR = 1,\r
- SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2,\r
- SVG_PAINTTYPE_NONE = 101,\r
- SVG_PAINTTYPE_CURRENTCOLOR = 102,\r
- SVG_PAINTTYPE_URI_NONE = 103,\r
- SVG_PAINTTYPE_URI_CURRENTCOLOR = 104,\r
- SVG_PAINTTYPE_URI_RGBCOLOR = 105,\r
- SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106,\r
- SVG_PAINTTYPE_URI = 107\r
- } PaintType;\r
+ COLOR_PROFILE_RULE = 7\r
+ } ColorProfileRuleType;\r
\r
+ //##################\r
+ //# Non-API methods\r
+ //##################\r
\r
/**\r
*\r
*/\r
- virtual unsigned short getPaintType()\r
- { return paintType; }\r
+ SVGCSSRule();\r
\r
/**\r
*\r
*/\r
- virtual DOMString getUri()\r
- { return uri; }\r
+ SVGCSSRule(const SVGCSSRule &other);\r
\r
/**\r
*\r
*/\r
- virtual void setUri (const DOMString& uriArg )\r
- { uri = uriArg; }\r
+ ~SVGCSSRule();\r
+\r
+};\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGRenderingIntent\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+class SVGRenderingIntent\r
+{\r
+public:\r
\r
/**\r
- *\r
+ * Rendering Intent Types\r
*/\r
- virtual void setPaint (unsigned short paintTypeArg,\r
- const DOMString& uriArg,\r
- const DOMString& /*rgbColor*/,\r
- const DOMString& /*iccColor*/ )\r
- throw( SVGException )\r
+ typedef enum\r
{\r
- paintType = paintTypeArg;\r
- uri = uriArg;\r
- //do something with rgbColor\r
- //do something with iccColor;\r
- }\r
+ RENDERING_INTENT_UNKNOWN = 0,\r
+ RENDERING_INTENT_AUTO = 1,\r
+ RENDERING_INTENT_PERCEPTUAL = 2,\r
+ RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3,\r
+ RENDERING_INTENT_SATURATION = 4,\r
+ RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5\r
+ } RenderingIntentType;\r
\r
\r
\r
/**\r
*\r
*/\r
- SVGPaint()\r
- {\r
- uri = "";\r
- paintType = SVG_PAINTTYPE_UNKNOWN;\r
- }\r
+ SVGRenderingIntent();\r
\r
/**\r
*\r
*/\r
- SVGPaint(const SVGPaint &other) : css::CSSValue(other), SVGColor(other)\r
- {\r
- uri = "";\r
- paintType = SVG_PAINTTYPE_UNKNOWN;\r
- }\r
+ SVGRenderingIntent(const SVGRenderingIntent &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGPaint() {}\r
+ ~SVGRenderingIntent();\r
\r
protected:\r
\r
- unsigned int paintType;\r
- DOMString uri;\r
-\r
+ unsigned short renderingIntentType;\r
};\r
\r
\r
\r
\r
+\r
+\r
+\r
+\r
+\r
/*#########################################################################\r
## SVGColorProfileRule\r
#########################################################################*/\r
{\r
\r
public:\r
+\r
/**\r
*\r
*/\r
- virtual DOMString getSrc()\r
- { return src; }\r
+ DOMString getSrc();\r
\r
/**\r
*\r
*/\r
- virtual void setSrc(const DOMString &val) throw (DOMException)\r
- { src = val; }\r
+ void setSrc(const DOMString &val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual DOMString getName()\r
- { return name; }\r
+ DOMString getName();\r
\r
/**\r
*\r
*/\r
- virtual void setName(const DOMString &val) throw (DOMException)\r
- { name = val; }\r
+ void setName(const DOMString &val) throw(DOMException);\r
\r
/**\r
*\r
*/\r
- virtual unsigned short getRenderingIntent()\r
- { return renderingIntent; }\r
+ unsigned short getRenderingIntent();\r
\r
/**\r
*\r
*/\r
- virtual void setRenderingIntent(unsigned short val) throw (DOMException)\r
- { renderingIntent = val; }\r
+ void setRenderingIntent(unsigned short val) throw(DOMException)\r
\r
\r
//##################\r
/**\r
*\r
*/\r
- SVGColorProfileRule() {}\r
+ SVGColorProfileRule();\r
\r
/**\r
*\r
*/\r
- SVGColorProfileRule(const SVGColorProfileRule &other)\r
- : SVGCSSRule(other), SVGRenderingIntent(other)\r
- {\r
- renderingIntent = other.renderingIntent;\r
- src = other.src;\r
- name = other.name;\r
- }\r
+ SVGColorProfileRule(const SVGColorProfileRule &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGColorProfileRule() {}\r
+ ~SVGColorProfileRule();\r
\r
protected:\r
\r
{\r
public:\r
\r
-\r
-\r
/**\r
*\r
*/\r
- virtual SVGAnimatedLength getX()\r
- { return x; }\r
+ SVGAnimatedLength getX();\r
\r
/**\r
*\r
*/\r
- virtual SVGAnimatedLength getY()\r
- { return y; }\r
+ SVGAnimatedLength getY();\r
\r
/**\r
*\r
*/\r
- virtual SVGAnimatedLength getWidth()\r
- { return width; }\r
+ SVGAnimatedLength getWidth();\r
\r
/**\r
*\r
*/\r
- virtual SVGAnimatedLength getHeight()\r
- { return height; }\r
+ SVGAnimatedLength getHeight();\r
\r
/**\r
*\r
*/\r
- virtual SVGAnimatedString getResult()\r
- { return result; }\r
-\r
-\r
+ SVGAnimatedString getResult();\r
\r
//##################\r
//# Non-API methods\r
//##################\r
\r
-\r
/**\r
*\r
*/\r
- SVGFilterPrimitiveStandardAttributes()\r
- {}\r
+ SVGFilterPrimitiveStandardAttributes();\r
\r
/**\r
*\r
*/\r
- SVGFilterPrimitiveStandardAttributes(const SVGFilterPrimitiveStandardAttributes &other)\r
- : SVGStylable(other)\r
- {\r
- x = other.x;\r
- y = other.y;\r
- width = other.width;\r
- height = other.height;\r
- result = other.result;\r
- }\r
+ SVGFilterPrimitiveStandardAttributes(\r
+ const SVGFilterPrimitiveStandardAttributes &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGFilterPrimitiveStandardAttributes() {}\r
+ ~SVGFilterPrimitiveStandardAttributes();\r
\r
protected:\r
\r
};\r
\r
\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
/*#########################################################################\r
## SVGEvent\r
#########################################################################*/\r
/**\r
*\r
*/\r
- SVGEvent() {}\r
+ SVGEvent();\r
\r
/**\r
*\r
*/\r
- SVGEvent(const SVGEvent &other) : events::Event(other)\r
- {}\r
+ SVGEvent(const SVGEvent &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGEvent() {}\r
+ ~SVGEvent();\r
\r
};\r
\r
/**\r
*\r
*/\r
- virtual SVGRect getZoomRectScreen()\r
- { return zoomRectScreen; }\r
+ SVGRect getZoomRectScreen();\r
\r
/**\r
*\r
*/\r
- virtual double getPreviousScale()\r
- { return previousScale; }\r
+ double getPreviousScale();\r
\r
/**\r
*\r
*/\r
- virtual SVGPoint getPreviousTranslate()\r
- { return previousTranslate; }\r
+ SVGPoint getPreviousTranslate();\r
\r
/**\r
*\r
*/\r
- virtual double getNewScale()\r
- { return newScale; }\r
+ double getNewScale();\r
\r
/**\r
*\r
*/\r
- virtual SVGPoint getNewTranslate()\r
- { return newTranslate; }\r
-\r
+ SVGPoint getNewTranslate()\r
\r
\r
//##################\r
/**\r
*\r
*/\r
- SVGZoomEvent()\r
- {}\r
+ SVGZoomEvent();\r
\r
/**\r
*\r
*/\r
- SVGZoomEvent(const SVGZoomEvent &other) : events::Event(other),\r
- events::UIEvent(other)\r
- {\r
- zoomRectScreen = other.zoomRectScreen;\r
- previousScale = other.previousScale;\r
- previousTranslate = other.previousTranslate;\r
- newScale = other.newScale;\r
- newTranslate = other.newTranslate;\r
- }\r
+ SVGZoomEvent(const SVGZoomEvent &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGZoomEvent() {}\r
+ ~SVGZoomEvent();\r
\r
protected:\r
\r
/**\r
*\r
*/\r
- virtual SVGElementPtr getCorrespondingElement()\r
- { return correspondingElement; }\r
+ SVGElementPtr getCorrespondingElement();\r
\r
/**\r
*\r
*/\r
- virtual SVGUseElementPtr getCorrespondingUseElement()\r
- { return correspondingUseElement; }\r
+ SVGUseElementPtr getCorrespondingUseElement();\r
\r
/**\r
*\r
*/\r
- virtual SVGElementInstance getParentNode()\r
- {\r
- SVGElementInstance ret;\r
- return ret;\r
- }\r
+ SVGElementInstance getParentNode();\r
\r
/**\r
* Since we are using stack types and this is a circular definition,\r
* we will instead implement this as a global function below:\r
* SVGElementInstanceList getChildNodes(const SVGElementInstance instance);\r
*/\r
- //virtual SVGElementInstanceList getChildNodes();\r
+ //SVGElementInstanceList getChildNodes();\r
\r
/**\r
*\r
*/\r
- virtual SVGElementInstance getFirstChild()\r
- {\r
- SVGElementInstance ret;\r
- return ret;\r
- }\r
+ SVGElementInstance getFirstChild();\r
\r
/**\r
*\r
*/\r
- virtual SVGElementInstance getLastChild()\r
- {\r
- SVGElementInstance ret;\r
- return ret;\r
- }\r
+ SVGElementInstance getLastChild();\r
\r
/**\r
*\r
*/\r
- virtual SVGElementInstance getPreviousSibling()\r
- {\r
- SVGElementInstance ret;\r
- return ret;\r
- }\r
+ SVGElementInstance getPreviousSibling();\r
\r
/**\r
*\r
*/\r
- virtual SVGElementInstance getNextSibling()\r
- {\r
- SVGElementInstance ret;\r
- return ret;\r
- }\r
+ SVGElementInstance getNextSibling();\r
\r
\r
//##################\r
/**\r
*\r
*/\r
- SVGElementInstance() {}\r
+ SVGElementInstance();\r
\r
/**\r
*\r
*/\r
- SVGElementInstance(const SVGElementInstance &other)\r
- : events::EventTarget(other)\r
- {\r
- }\r
+ SVGElementInstance(const SVGElementInstance &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGElementInstance() {}\r
+ ~SVGElementInstance();\r
\r
protected:\r
\r
{\r
public:\r
\r
-\r
/**\r
*\r
*/\r
- virtual unsigned long getLength()\r
- { return items.size(); }\r
+ unsigned long getLength();\r
\r
/**\r
*\r
*/\r
- virtual SVGElementInstance item (unsigned long index )\r
- {\r
- if (index >= items.size())\r
- {\r
- SVGElementInstance ret;\r
- return ret;\r
- }\r
- return items[index];\r
- }\r
+ SVGElementInstance item(unsigned long index);\r
\r
/**\r
* This static method replaces the circular definition of:\r
* SVGElementInstanceList SVGElementInstance::getChildNodes()\r
*\r
*/\r
- static SVGElementInstanceList getChildNodes(const SVGElementInstance &/*instance*/)\r
- {\r
- SVGElementInstanceList list;\r
- return list;\r
- }\r
+ static SVGElementInstanceList getChildNodes(const SVGElementInstance &/*instance*/);\r
\r
\r
//##################\r
/**\r
*\r
*/\r
- SVGElementInstanceList() {}\r
+ SVGElementInstanceList();\r
\r
/**\r
*\r
*/\r
- SVGElementInstanceList(const SVGElementInstanceList &other)\r
- {\r
- items = other.items;\r
- }\r
+ SVGElementInstanceList(const SVGElementInstanceList &other);\r
\r
/**\r
*\r
*/\r
- virtual ~SVGElementInstanceList() {}\r
-\r
-protected:\r
-\r
- std::vector<SVGElementInstance> items;\r
-\r
-\r
-};\r
-\r
-\r
-/**\r
- * This is a helper class that will hold several types of data. It will\r
- * be used in those situations where methods are common to different \r
- * interfaces, except for the data type.\r
- */ \r
-class SVGValue\r
-{\r
-public:\r
-\r
- typedef enum\r
- {\r
- SVG_DOUBLE,\r
- SVG_INT,\r
- SVG_STRING\r
- }SVGValueType;\r
-\r
- SVGValue(long v)\r
- {\r
- init();\r
- ival = d;\r
- type = SVG_INT;\r
- }\r
- \r
- SVGValue(double v)\r
- {\r
- init();\r
- dval = v;\r
- type = SVG_DOUBLE;\r
- }\r
- \r
- SVGValue(const DOMString &v)\r
- {\r
- init();\r
- sval = v;\r
- type = SVG_STRING;\r
- }\r
- \r
- SVGValue(const SVGValue &other)\r
- {\r
- assign(other);\r
- }\r
- \r
- SVGValue &operator=(const SVGValue &other)\r
- {\r
- assign(other);\r
- return *this;\r
- }\r
- \r
- SVGValue &operator=(long v)\r
- {\r
- init();\r
- ival = v;\r
- type = SVG_INT;\r
- return *this;\r
- }\r
- \r
- SVGValue &operator=(double v)\r
- {\r
- init();\r
- ival = v;\r
- type = SVG_DOUBLE;\r
- return *this;\r
- }\r
- \r
- SVGValue &operator=(const DOMString &v)\r
- {\r
- init();\r
- sval = v;\r
- type = SVG_STRING;\r
- return *this;\r
- }\r
- \r
- ~SVGValue()\r
- {}\r
- \r
- long intValue()\r
- { return ival; }\r
+ ~SVGElementInstanceList();\r
\r
- double doubleValue()\r
- { return ival; }\r
+protected:\r
+\r
+ std::vector<SVGElementInstance> items;\r
+\r
+\r
+};\r
\r
- DOMString &stringValue()\r
- { return sval; }\r
\r
\r
-private:\r
\r
- void init()\r
- {\r
- type = SVG_DOUBLE;\r
- ival = 0;\r
- dval = 0.0; \r
- sval = "";\r
- }\r
- \r
- void assign(const SVGValue &other)\r
- {\r
- type = other.type;\r
- ival = other.ival;\r
- dval = other.dval;\r
- sval = other.sval;\r
- }\r
- \r
- int type;\r
- double dval;\r
- long ival;\r
- DOMString sval;\r
\r
-};\r
\r
\r
\r
\r
\r
\r
-/*#########################################################################\r
-## SVGValue\r
-#########################################################################*/\r
-\r
-\r
-/**\r
- * A helper class to provide a common API across several data types\r
- */\r
-class SVGValue\r
-{\r
-public:\r
-\r
- /**\r
- * Constructors\r
- */\r
- SVGValue()\r
- { init(); }\r
-\r
- SVGValue(const SVGValue &other)\r
- { assign(other); }\r
-\r
- SVGValue(double val)\r
- { init(); type = SVG_DOUBLE; dval = val; }\r
-\r
- SVGValue(long val)\r
- { init(); type = SVG_INT; ival = val; }\r
-\r
- SVGValue(const DOMString &val)\r
- { init(); type = SVG_STRING; sval = val; }\r
-\r
- int getType()\r
- { return type; }\r
-\r
- /**\r
- * Assignment\r
- */\r
- SVGValue &operator=(const SVGValue &val)\r
- { assign(val); return *this; }\r
-\r
- SVGValue &operator=(double val)\r
- { init(); type = SVG_DOUBLE; dval = val; return *this; }\r
-\r
- SVGValue &operator=(long val)\r
- { init(); type = SVG_INT; ival = val; return *this; }\r
-\r
- SVGValue &operator=(const DOMString &val)\r
- { init(); type = SVG_STRING; sval = val; return *this; }\r
-\r
- /**\r
- * Getters\r
- */\r
- double doubleValue()\r
- { return dval; }\r
- \r
- long intValue()\r
- { return ival; }\r
- \r
- DOMString &stringValue()\r
- { return sval; }\r
-\r
-private:\r
-\r
- void init()\r
- {\r
- type = SVG_DOUBLE;\r
- dval = 0.0;\r
- ival = 0;\r
- sval.clear();\r
- }\r
-\r
- void assign(const SVGValue &other)\r
- {\r
- type = other.type;\r
- dval = other.dval;\r
- ival = other.ival;\r
- sval = other.sval;\r
- }\r
-\r
- int type;\r
- double dval;\r
- long ival;\r
- DOMString sval;\r
-\r
-};\r
-\r
\r
/*#########################################################################\r
## SVGElement\r
/**\r
* Set the value of the id attribute on the given element.\r
*/\r
- void setId(const DOMString &val) throw (DOMException);\r
+ void setId(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Corresponds to attribute xml:base on the given element.\r
/**\r
* Corresponds to attribute xml:base on the given element.\r
*/\r
- void setXmlBase(const DOMString &val) throw (DOMException);\r
+ void setXmlBase(const DOMString &val) throw(DOMException);\r
\r
/**\r
* The nearest ancestor 'svg' element. Null if the given element is the\r
/**\r
*\r
*/\r
- void setValue(double val) throw (DOMException);\r
+ void setValue(double val) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setValueInSpecifiedUnits(double /*val*/) throw (DOMException);\r
+ void setValueInSpecifiedUnits(double /*val*/) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setValueAsString(const DOMString &/*val*/) throw (DOMException);\r
+ void setValueAsString(const DOMString &/*val*/) throw(DOMException);\r
\r
\r
/**\r
void convertToSpecifiedUnits(unsigned short /*unitType*/);\r
\r
//####################################################################\r
- //# SVGAnimatedAngle \r
+ //## The following animated types are rolled up into a single\r
+ //## SVGAnimatedValue interface\r
//####################################################################\r
\r
- /**\r
- *\r
- */\r
- SVGAngle getBaseAngleVal();\r
-\r
- /**\r
- *\r
- */\r
- SVGAngle getAnimAngleVal();\r
-\r
-\r
//####################################################################\r
- //# SVGAnimatedBoolean \r
+ //## SVGAnimatedAngle\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
+ //## SVGAnimatedBoolean\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
+ //## SVGAnimatedEnumeration\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
+ //## SVGAnimatedInteger\r
//####################################################################\r
\r
- /**\r
- *\r
- */\r
- SVGLength &getBaseLengthVal();\r
-\r
- /**\r
- *\r
- */\r
- SVGLength &getAnimLengthVal();\r
-\r
//####################################################################\r
- //# SVGAnimatedLengthList \r
+ //## SVGAnimatedLength\r
//####################################################################\r
\r
- /**\r
- *\r
- */\r
- SVGLengthList &getBaseLengthListVal();\r
-\r
- /**\r
- *\r
- */\r
- SVGLengthList &getAnimLengthListVal();\r
-\r
//####################################################################\r
- //# SVGAnimatedNumber \r
+ //## SVGAnimatedLengthList\r
//####################################################################\r
\r
- /**\r
- *\r
- */\r
- double getBaseNumberVal();\r
-\r
- /**\r
- *\r
- */\r
- void setBaseNumberVal(double val) throw (DOMException);\r
+ //####################################################################\r
+ //## SVGAnimatedNumber\r
+ //####################################################################\r
\r
- /**\r
- *\r
- */\r
- double getAnimNumberVal();\r
+ //####################################################################\r
+ //## SVGAnimatedNumberList\r
+ //####################################################################\r
\r
//####################################################################\r
- //# SVGAnimatedNumberList \r
+ //## SVGAnimatedPathData\r
//####################################################################\r
\r
- /**\r
- *\r
- */\r
- SVGNumberList &getBaseNumberListVal();\r
+ //####################################################################\r
+ //## SVGAnimatedPoints\r
+ //####################################################################\r
\r
- /**\r
- *\r
- */\r
- SVGNumberList &getAnimNumberListVal();\r
+ //####################################################################\r
+ //## SVGAnimatedPreserveAspectRatio\r
+ //####################################################################\r
\r
//####################################################################\r
- //# SVGAnimatedRect \r
+ //## SVGAnimatedRect\r
//####################################################################\r
\r
- /**\r
- *\r
- */\r
- SVGRect &getBaseRectVal();\r
+ //####################################################################\r
+ //## SVGAnimatedString\r
+ //####################################################################\r
\r
- /**\r
- *\r
- */\r
- SVGRect &getAnimRectVal();\r
+ //####################################################################\r
+ //## SVGAnimatedTransformList\r
+ //####################################################################\r
\r
//####################################################################\r
- //# SVGAnimatedString \r
+ //# SVGAnimatedValue \r
//####################################################################\r
\r
/**\r
*\r
*/\r
- DOMString getBaseVal();\r
+ SVGValue &getBaseVal();\r
\r
/**\r
*\r
*/\r
- void setBaseVal(const DOMString &val) throw (DOMException);\r
+ void setBaseVal(const SVGValue &val) throw (DOMException);\r
\r
/**\r
*\r
*/\r
- DOMString getAnimVal();\r
+ SVGValue &getAnimVal();\r
+\r
\r
//####################################################################\r
//# SVGColor \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
+ void setCssText(const DOMString &val) throw(dom::DOMException);\r
\r
\r
/**\r
/**\r
*\r
*/\r
- void setRGBColor(const DOMString& /*rgbColor*/) throw (SVGException);\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
+ throw(SVGException);\r
\r
/**\r
*\r
void setColor(unsigned short /*colorType*/,\r
const DOMString& /*rgbColor*/,\r
const DOMString& /*iccColor*/)\r
- throw (SVGException);\r
+ throw(SVGException);\r
\r
//####################################################################\r
//# SVGCSSRule \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
+ void setCssText(const DOMString &val) throw(DOMException);\r
\r
/**\r
* From CSSRule \r
/**\r
*\r
*/\r
- void setColorProfile(const DOMString &val) throw (DOMException);\r
+ void setColorProfile(const DOMString &val) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setXmllang(const DOMString &val) throw (DOMException);\r
+ void setXmllang(const DOMString &val) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setXmlspace(const DOMString &val) throw (DOMException);\r
+ void setXmlspace(const DOMString &val) throw(DOMException);\r
\r
//####################################################################\r
//# SVGLength \r
/**\r
*\r
*/\r
- void setValue(double val) throw (DOMException);\r
+ void setValue(double val) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setValueInSpecifiedUnits(double /*val*/) throw (DOMException);\r
+ void setValueInSpecifiedUnits(double /*val*/) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setValueAsString(const DOMString& /*val*/) throw (DOMException);\r
+ void setValueAsString(const DOMString& /*val*/) throw(DOMException);\r
\r
\r
/**\r
/**\r
*\r
*/\r
- void clear() throw (DOMException);\r
+ void clear() throw(DOMException);\r
\r
/**\r
*\r
*/\r
SVGLength initialize(const SVGLength &newItem)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
- SVGLength getItem(unsigned long index) throw (DOMException);\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
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
SVGLength replaceItem(const SVGLength &newItem, unsigned long index)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
- SVGLength removeItem(unsigned long index) throw (DOMException);\r
+ SVGLength removeItem(unsigned long index) throw(DOMException);\r
\r
/**\r
*\r
*/\r
SVGLength appendItem(const SVGLength &newItem)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
//####################################################################\r
//# SVGLocatable \r
*\r
*/\r
SVGMatrix getTransformToElement(const SVGElement &/*element*/)\r
- throw (SVGException);\r
+ throw(SVGException);\r
\r
//####################################################################\r
//# SVGNumber \r
/**\r
*\r
*/\r
- void setValue(double val) throw (DOMException);\r
+ void setValue(double val) throw(DOMException);\r
\r
//####################################################################\r
//# SVGNumberList \r
/**\r
*\r
*/\r
- void clear() throw (DOMException);\r
+ void clear() throw(DOMException);\r
\r
/**\r
*\r
*/\r
SVGNumber initialize(const SVGNumber &newItem)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
- SVGNumber getItem(unsigned long index) throw (DOMException);\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
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
SVGNumber replaceItem(const SVGNumber &newItem, unsigned long index)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
- SVGNumber removeItem(unsigned long index) throw (DOMException);\r
+ SVGNumber removeItem(unsigned long index) throw(DOMException);\r
\r
/**\r
*\r
*/\r
SVGNumber appendItem(const SVGNumber &newItem)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
//####################################################################\r
//# SVGRect \r
/**\r
*\r
*/\r
- void setX(double val) throw (DOMException);\r
+ void setX(double val) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setY(double val) throw (DOMException);\r
+ void setY(double val) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setWidth(double val) throw (DOMException);\r
+ void setWidth(double val) throw(DOMException);\r
\r
/**\r
*\r
/**\r
*\r
*/\r
- void setHeight(double val) throw (DOMException);\r
+ void setHeight(double val) throw(DOMException);\r
\r
//####################################################################\r
//# SVGRenderingIntent \r
/**\r
*\r
*/\r
- void clear() throw (DOMException);\r
+ void clear() throw(DOMException);\r
\r
/**\r
*\r
*/\r
DOMString initialize(const DOMString& newItem)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
- DOMString getItem(unsigned long index) throw (DOMException);\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
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
DOMString replaceItem(const DOMString& newItem, unsigned long index)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
/**\r
*\r
*/\r
- DOMString removeItem(unsigned long index) throw (DOMException);\r
+ DOMString removeItem(unsigned long index) throw(DOMException);\r
\r
/**\r
*\r
*/\r
DOMString appendItem(const DOMString& newItem)\r
- throw (DOMException, SVGException);\r
+ throw(DOMException, SVGException);\r
\r
//####################################################################\r
//# SVGStylable \r
/**\r
*\r
*/\r
- void setZoomAndPan(unsigned short val) throw (DOMException);\r
+ void setZoomAndPan(unsigned short val) throw(DOMException);\r
\r
//####################################################################\r
//####################################################################\r
/**\r
* Set the attribute glyphRef on the given element.\r
*/\r
- void setGlyphRef(const DOMString &val) throw (DOMException);\r
+ void setGlyphRef(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Get the attribute format on the given element.\r
/**\r
* Set the attribute format on the given element.\r
*/\r
- void setFormat(const DOMString &val) throw (DOMException);\r
+ void setFormat(const DOMString &val) throw(DOMException);\r
\r
\r
//####################################################################\r
/**\r
*\r
*/\r
- double getSimpleDuration() throw (DOMException);\r
+ double getSimpleDuration() throw(DOMException);\r
\r
\r
\r
/**\r
* Set the attribute local on the given element.\r
*/\r
- void setLocal(const DOMString &val) throw (DOMException);\r
+ void setLocal(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Get the attribute name on the given element.\r
/**\r
* Set the attribute name on the given element.\r
*/\r
- void setName(const DOMString &val) throw (DOMException);\r
+ void setName(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Set the attribute rendering-intent on the given element.\r
/**\r
* Get the attribute rendering-intent on the given element.\r
*/\r
- void setRenderingIntent(unsigned short val) throw (DOMException);\r
+ void setRenderingIntent(unsigned short val) throw(DOMException);\r
\r
\r
//####################################################################\r
/**\r
* Set the attribute glyphRef on the given element.\r
*/\r
- void setGlyphRef(const DOMString &val) throw (DOMException);\r
+ void setGlyphRef(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Get the attribute format on the given element.\r
/**\r
* Set the attribute format on the given element.\r
*/\r
- void setFormat(const DOMString &val) throw (DOMException);\r
+ void setFormat(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Get the attribute x on the given element.\r
/**\r
* Set the attribute x on the given element.\r
*/\r
- void setX(double val) throw (DOMException);\r
+ void setX(double val) throw(DOMException);\r
\r
/**\r
* Get the attribute y on the given element.\r
/**\r
* Set the attribute y on the given element.\r
*/\r
- void setY(double val) throw (DOMException);\r
+ void setY(double val) throw(DOMException);\r
\r
/**\r
* Get the attribute dx on the given element.\r
/**\r
* Set the attribute dx on the given element.\r
*/\r
- void setDx(double val) throw (DOMException);\r
+ void setDx(double val) throw(DOMException);\r
\r
/**\r
* Get the attribute dy on the given element.\r
/**\r
* Set the attribute dy on the given element.\r
*/\r
- void setDy(double val) throw (DOMException);\r
+ void setDy(double val) throw(DOMException);\r
\r
\r
//####################################################################\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
+ //# SVGMissingGlyphElement\r
//####################################################################\r
\r
- //####################################################################\r
- //# SVGPolygonElement\r
- //####################################################################\r
\r
//####################################################################\r
- //# SVGMissingGlyphElement\r
+ //# SVGMPathElement\r
//####################################################################\r
\r
/**\r
/**\r
* Returns a stand-alone, parentless SVGPathSegClosePath object.\r
*/\r
- SVGPathSegClosePath\r
- createSVGPathSegClosePath();\r
+ SVGPathSeg createSVGPathSegClosePath();\r
\r
/**\r
* Returns a stand-alone, parentless SVGPathSegMovetoAbs object.\r
*/\r
- SVGPathSegMovetoAbs\r
- createSVGPathSegMovetoAbs(double x, double y);\r
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg createSVGPathSegLinetoHorizontalAbs(double x);\r
\r
/**\r
* Returns a stand-alone, parentless SVGPathSegLinetoHorizontalRel object.\r
*/\r
- SVGPathSegLinetoHorizontalRel\r
- createSVGPathSegLinetoHorizontalRel(double x);\r
+ SVGPathSeg createSVGPathSegLinetoHorizontalRel(double x);\r
\r
/**\r
* Returns a stand-alone, parentless SVGPathSegLinetoVerticalAbs object.\r
*/\r
- SVGPathSegLinetoVerticalAbs\r
- createSVGPathSegLinetoVerticalAbs(double y);\r
+ SVGPathSeg createSVGPathSegLinetoVerticalAbs(double y);\r
\r
/**\r
* Returns a stand-alone, parentless SVGPathSegLinetoVerticalRel object.\r
*/\r
- SVGPathSegLinetoVerticalRel\r
- createSVGPathSegLinetoVerticalRel(double y);\r
+ SVGPathSeg createSVGPathSegLinetoVerticalRel(double y);\r
\r
/**\r
* Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothAbs object.\r
*/\r
- SVGPathSegCurvetoCubicSmoothAbs\r
- createSVGPathSegCurvetoCubicSmoothAbs(double x, double y,\r
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg 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
+ SVGPathSeg createSVGPathSegCurvetoQuadraticSmoothRel(double x, double y);\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
//# SVGRadialGradientElement\r
//####################################################################\r
/**\r
*\r
*/\r
- void setType(const DOMString &val) throw (DOMException);\r
+ void setType(const DOMString &val) throw(DOMException);\r
\r
//####################################################################\r
//# SVGSetElement\r
/**\r
* Set the attribute xml:space on the given element.\r
*/\r
- void setXmlspace(const DOMString &val) throw (DOMException);\r
+ void setXmlspace(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Get the attribute type on the given 'style' element.\r
/**\r
* Set the attribute type on the given 'style' element.\r
*/\r
- void setType(const DOMString &val) throw (DOMException);\r
+ void setType(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Get the attribute media on the given 'style' element.\r
/**\r
* Set the attribute media on the given 'style' element.\r
*/\r
- void setMedia(const DOMString &val) throw (DOMException);\r
+ void setMedia(const DOMString &val) throw(DOMException);\r
\r
/**\r
* Get the attribute title on the given 'style' element.\r
/**\r
* Set the attribute title on the given 'style' element.\r
*/\r
- void setTitle(const DOMString &val) throw (DOMException);\r
+ void setTitle(const DOMString &val) throw(DOMException);\r
\r
//####################################################################\r
//# SVGSymbolElement\r
/**\r
* Set the attribute contentScriptType on the given 'svg' element.\r
*/\r
- void setContentScriptType(const DOMString &val) throw (DOMException);\r
+ void setContentScriptType(const DOMString &val) throw(DOMException);\r
\r
\r
/**\r
/**\r
* Set the attribute contentStyleType on the given 'svg' element.\r
*/\r
- void setContentStyleType(const DOMString &val) throw (DOMException);\r
+ void setContentStyleType(const DOMString &val) throw(DOMException);\r
\r
/**\r
* The position and size of the viewport(implicit or explicit) that corresponds\r
/**\r
* Set the value above\r
*/\r
- void setUseCurrentView(bool val) throw (DOMException);\r
+ void setUseCurrentView(bool val) throw(DOMException);\r
\r
/**\r
* The definition of the initial view(i.e., before magnification and panning) of\r
/**\r
* Set the value above.\r
*/\r
- void setCurrentScale(double val) throw (DOMException);\r
+ void setCurrentScale(double val) throw(DOMException);\r
\r
/**\r
* The corresponding translation factor that takes into account\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
+ void unsuspendRedraw(unsigned long suspend_handle_id) throw(DOMException);\r
\r
/**\r
* Cancels all currently active suspendRedraw() method calls. This method is most\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
+ * (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
+ * (i.e., SVG_TRANSFORM_MATRIX).\r
*/\r
SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix);\r
\r
* assumptions about glyph metrics.\r
*/\r
double getSubStringLength(unsigned long charnum, unsigned long nchars)\r
- throw (DOMException);\r
+ throw(DOMException);\r
\r
/**\r
* Returns the current text position before rendering the character in the user\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
+ SVGPoint getStartPositionOfChar(unsigned long charnum) throw(DOMException);\r
\r
/**\r
* Returns the current text position after rendering the character in the user\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
+ SVGPoint getEndPositionOfChar(unsigned long charnum) throw(DOMException);\r
\r
/**\r
* Returns a tightest rectangle which defines the minimum and maximum X and Y\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
+ SVGRect getExtentOfChar(unsigned long charnum) throw(DOMException);\r
\r
/**\r
* Returns the rotation value relative to the current user coordinate system used\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
+ double getRotationOfChar(unsigned long charnum) throw(DOMException);\r
\r
/**\r
* Returns the index of the character whose corresponding glyph cell bounding box\r
* selected the substring interactively.\r
*/\r
void selectSubString(unsigned long charnum, unsigned long nchars)\r
- throw (DOMException);\r
+ throw(DOMException);\r
\r
\r
\r
* Returns the SVGDocument object for the referenced SVG document.\r
*/\r
SVGDocumentPtr getSVGDocument()\r
- throw (DOMException);\r
+ throw(DOMException);\r
\r
//##################\r
//# Non-API methods\r
diff --git a/src/dom/work/svg2.cpp b/src/dom/work/svg2.cpp
--- /dev/null
+++ b/src/dom/work/svg2.cpp
@@ -0,0 +1,7049 @@
+/**\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
+#include "svg.h"\r
+\r
+#include <math.h>\r
+\r
+\r
+namespace org\r
+{\r
+namespace w3c\r
+{\r
+namespace dom\r
+{\r
+namespace svg\r
+{\r
+\r
+\r
+\r
+//########################################################################\r
+//########################################################################\r
+//########################################################################\r
+//# I N T E R F A C E S\r
+//########################################################################\r
+//########################################################################\r
+//########################################################################\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGMatrix\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGMatrix::getA()\r
+{ \r
+ return a;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGMatrix::setA(double val) throw (DOMException)\r
+{ \r
+ a = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGMatrix::getB()\r
+{\r
+ return b;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGMatrix::setB(double val) throw (DOMException)\r
+{\r
+ b = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGMatrix::getC()\r
+{\r
+ return c;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGMatrix::setC(double val) throw (DOMException)\r
+{\r
+ c = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGMatrix::getD()\r
+{\r
+ return d;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGMatrix::setD(double val) throw (DOMException)\r
+{\r
+ d = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGMatrix::getE()\r
+{\r
+ return e;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGMatrix::setE(double val) throw (DOMException)\r
+{\r
+ e = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGMatrix::getF()\r
+{\r
+ return f;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGMatrix::setF(double val) throw (DOMException)\r
+{\r
+ f = val;\r
+}\r
+\r
+\r
+/**\r
+ * Return the result of postmultiplying this matrix with another.\r
+ */\r
+SVGMatrix SVGMatrix::multiply(const SVGMatrix &other)\r
+{\r
+ SVGMatrix result;\r
+ result.a = a * other.a + c * other.b;\r
+ result.b = b * other.a + d * other.b;\r
+ result.c = a * other.c + c * other.d;\r
+ result.d = b * other.c + d * other.d;\r
+ result.e = a * other.e + c * other.f + e;\r
+ result.f = b * other.e + d * other.f + f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Calculate the inverse of this matrix\r
+ *\r
+ */\r
+SVGMatrix SVGMatrix::inverse() throw (SVGException)\r
+{\r
+ /*###########################################\r
+ The determinant of a 3x3 matrix E\r
+ (let's use our own notation for a bit)\r
+\r
+ A B C\r
+ D E F\r
+ G H I\r
+ is\r
+ AEI - AFH - BDI + BFG + CDH - CEG\r
+\r
+ Since in our affine transforms, G and H==0 and I==1,\r
+ this reduces to:\r
+ AE - BD\r
+ In SVG's naming scheme, that is: a * d - c * b . SIMPLE!\r
+\r
+ In a similar method of attack, SVG's adjunct matrix is:\r
+\r
+ d -c cf-ed\r
+ -b a eb-af\r
+ 0 0 ad-cb\r
+\r
+ To get the inverse matrix, we divide the adjunct matrix by\r
+ the determinant. Notice that (ad-cb)/(ad-cb)==1. Very cool.\r
+ So what we end up with is this:\r
+\r
+ a = d/(ad-cb) c = -c/(ad-cb) e = (cf-ed)/(ad-cb)\r
+ b = -b/(ad-cb) d = a/(ad-cb) f = (eb-af)/(ad-cb)\r
+\r
+ (Since this would be in all SVG-DOM implementations,\r
+ somebody needed to document this! ^^)\r
+ #############################################*/\r
+\r
+ SVGMatrix result;\r
+ double determinant = a * d - c * b;\r
+ if (determinant < 1.0e-18)//invertible?\r
+ {\r
+ result.identity();//cop out\r
+ return result;\r
+ }\r
+\r
+ double idet = 1.0 / determinant;\r
+ result.a = d * idet;\r
+ result.b = -b * idet;\r
+ result.c = -c * idet;\r
+ result.d = a * idet;\r
+ result.e = (c*f - e*d) * idet;\r
+ result.f = (e*b - a*f) * idet;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Equivalent to multiplying by:\r
+ * | 1 0 x |\r
+ * | 0 1 y |\r
+ * | 0 0 1 |\r
+ *\r
+ */\r
+SVGMatrix SVGMatrix::translate(double x, double y)\r
+{\r
+ SVGMatrix result;\r
+ result.a = a;\r
+ result.b = b;\r
+ result.c = c;\r
+ result.d = d;\r
+ result.e = a * x + c * y + e;\r
+ result.f = b * x + d * y + f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Equivalent to multiplying by:\r
+ * | scale 0 0 |\r
+ * | 0 scale 0 |\r
+ * | 0 0 1 |\r
+ *\r
+ */\r
+:SVGMatrix SVGMatrix:scale(double scale)\r
+{\r
+ SVGMatrix result;\r
+ result.a = a * scale;\r
+ result.b = b * scale;\r
+ result.c = c * scale;\r
+ result.d = d * scale;\r
+ result.e = e;\r
+ result.f = f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Equivalent to multiplying by:\r
+ * | scaleX 0 0 |\r
+ * | 0 scaleY 0 |\r
+ * | 0 0 1 |\r
+ *\r
+ */\r
+SVGMatrix SVGMatrix::scaleNonUniform(double scaleX,\r
+ double scaleY)\r
+{\r
+ SVGMatrix result;\r
+ result.a = a * scaleX;\r
+ result.b = b * scaleX;\r
+ result.c = c * scaleY;\r
+ result.d = d * scaleY;\r
+ result.e = e;\r
+ result.f = f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Equivalent to multiplying by:\r
+ * | cos(a) -sin(a) 0 |\r
+ * | sin(a) cos(a) 0 |\r
+ * | 0 0 1 |\r
+ *\r
+ */\r
+SVGMatrix SVGMatrix::rotate (double angle)\r
+{\r
+ double sina = sin(angle);\r
+ double msina = -sina;\r
+ double cosa = cos(angle);\r
+ SVGMatrix result;\r
+ result.a = a * cosa + c * sina;\r
+ result.b = b * cosa + d + sina;\r
+ result.c = a * msina + c * cosa;\r
+ result.d = b * msina + d * cosa;\r
+ result.e = e;\r
+ result.f = f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Equivalent to multiplying by:\r
+ * | cos(a) -sin(a) 0 |\r
+ * | sin(a) cos(a) 0 |\r
+ * | 0 0 1 |\r
+ * In this case, angle 'a' is computed as the artangent\r
+ * of the slope y/x . It is negative if the slope is negative.\r
+ */\r
+SVGMatrix SVGMatrix::rotateFromVector(double x, double y)\r
+ throw (SVGException)\r
+{\r
+ double angle = atan(y / x);\r
+ if (y < 0.0)\r
+ angle = -angle;\r
+ SVGMatrix result;\r
+ double sina = sin(angle);\r
+ double msina = -sina;\r
+ double cosa = cos(angle);\r
+ result.a = a * cosa + c * sina;\r
+ result.b = b * cosa + d + sina;\r
+ result.c = a * msina + c * cosa;\r
+ result.d = b * msina + d * cosa;\r
+ result.e = e;\r
+ result.f = f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Equivalent to multiplying by:\r
+ * | -1 0 0 |\r
+ * | 0 1 0 |\r
+ * | 0 0 1 |\r
+ *\r
+ */\r
+SVGMatrix SVGMatrix::flipX()\r
+{\r
+ SVGMatrix result;\r
+ result.a = -a;\r
+ result.b = -b;\r
+ result.c = c;\r
+ result.d = d;\r
+ result.e = e;\r
+ result.f = f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Equivalent to multiplying by:\r
+ * | 1 0 0 |\r
+ * | 0 -1 0 |\r
+ * | 0 0 1 |\r
+ *\r
+ */\r
+SVGMatrix SVGMatrix::flipY()\r
+{\r
+ SVGMatrix result;\r
+ result.a = a;\r
+ result.b = b;\r
+ result.c = -c;\r
+ result.d = -d;\r
+ result.e = e;\r
+ result.f = f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * | 1 tan(a) 0 |\r
+ * | 0 1 0 |\r
+ * | 0 0 1 |\r
+ *\r
+ */\r
+SVGMatrix SVGMatrix::skewX(double angle)\r
+{\r
+ double tana = tan(angle);\r
+ SVGMatrix result;\r
+ result.a = a;\r
+ result.b = b;\r
+ result.c = a * tana + c;\r
+ result.d = b * tana + d;\r
+ result.e = e;\r
+ result.f = f;\r
+ return result;\r
+}\r
+\r
+/**\r
+ * Equivalent to multiplying by:\r
+ * | 1 0 0 |\r
+ * | tan(a) 1 0 |\r
+ * | 0 0 1 |\r
+ *\r
+ */\r
+SVGMatrix::SVGMatrix SVGMatrix::skewY(double angle)\r
+{\r
+ double tana = tan(angle);\r
+ SVGMatrix result;\r
+ result.a = a + c * tana;\r
+ result.b = b + d * tana;\r
+ result.c = c;\r
+ result.d = d;\r
+ result.e = e;\r
+ result.f = f;\r
+ return result;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix::SVGMatrix()\r
+{\r
+ identity();\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix::SVGMatrix(double aArg, double bArg, double cArg,\r
+ double dArg, double eArg, double fArg)\r
+{\r
+ a = aArg; b = bArg; c = cArg;\r
+ d = dArg; e = eArg; f = fArg;\r
+}\r
+\r
+/**\r
+ * Copy constructor\r
+ */\r
+SVGMatrix::SVGMatrix(const SVGMatrix &other)\r
+{\r
+ a = other.a;\r
+ b = other.b;\r
+ c = other.c;\r
+ d = other.d;\r
+ e = other.e;\r
+ f = other.f;\r
+}\r
+\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix::~SVGMatrix()\r
+{\r
+}\r
+\r
+/*\r
+ * Set to the identity matrix\r
+ */\r
+void SVGMatrix::identity()\r
+{\r
+ a = 1.0;\r
+ b = 0.0;\r
+ c = 0.0;\r
+ d = 1.0;\r
+ e = 0.0;\r
+ f = 0.0;\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGTransform\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGTransform::getType()\r
+{\r
+ return type;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix SVGTransform::getMatrix()\r
+{\r
+ return matrix;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGTransform::getAngle()\r
+{\r
+ return angle;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGTransform::setMatrix(const SVGMatrix &matrixArg)\r
+{\r
+ type = SVG_TRANSFORM_MATRIX;\r
+ matrix = matrixArg;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGTransform::setTranslate(double tx, double ty)\r
+{\r
+ type = SVG_TRANSFORM_TRANSLATE;\r
+ matrix.setA(1.0);\r
+ matrix.setB(0.0);\r
+ matrix.setC(0.0);\r
+ matrix.setD(1.0);\r
+ matrix.setE(tx);\r
+ matrix.setF(ty);\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGTransform::setScale(double sx, double sy)\r
+{\r
+ type = SVG_TRANSFORM_SCALE;\r
+ matrix.setA(sx);\r
+ matrix.setB(0.0);\r
+ matrix.setC(0.0);\r
+ matrix.setD(sy);\r
+ matrix.setE(0.0);\r
+ matrix.setF(0.0);\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGTransform::setRotate(double angleArg, double cx, double cy)\r
+{\r
+ angle = angleArg;\r
+ setTranslate(cx, cy);\r
+ type = SVG_TRANSFORM_ROTATE;\r
+ matrix.rotate(angle);\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGTransform::setSkewX(double angleArg)\r
+{\r
+ angle = angleArg;\r
+ type = SVG_TRANSFORM_SKEWX;\r
+ matrix.identity();\r
+ matrix.skewX(angle);\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGTransform::setSkewY(double angleArg)\r
+{\r
+ angle = angleArg;\r
+ type = SVG_TRANSFORM_SKEWY;\r
+ matrix.identity();\r
+ matrix.skewY(angle);\r
+}\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTransform::SVGTransform()\r
+{\r
+ type = SVG_TRANSFORM_UNKNOWN;\r
+ angle = 0.0;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTransform::SVGTransform(const SVGTransform &other)\r
+{\r
+ type = other.type;\r
+ angle = other.angle;\r
+ matrix = other.matrix;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+~SVGTransform::SVGTransform()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGNumber\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGNumber::getValue()\r
+{\r
+ return value;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGNumber::setValue(double val) throw (DOMException)\r
+{\r
+ value = val;\r
+}\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGNumber::SVGNumber()\r
+{\r
+ value = 0.0;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGNumber::SVGNumber(const SVGNumber &other)\r
+{\r
+ value = other.value;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGNumber::~SVGNumber()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGLength\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGLength::getUnitType()\r
+{\r
+ return unitType;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGLength::getValue()\r
+{\r
+ return value;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGLength::setValue(double val) throw (DOMException)\r
+{\r
+ value = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGLength::getValueInSpecifiedUnits()\r
+{\r
+ double result = 0.0;\r
+ //fill this in\r
+ return result;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGLength::setValueInSpecifiedUnits(double /*val*/)\r
+ throw (DOMException)\r
+{\r
+ //fill this in\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGLength::getValueAsString()\r
+{\r
+ DOMString ret;\r
+ char buf[32];\r
+ snprintf(buf, 31, "%f", value);\r
+ ret.append(buf);\r
+ return ret;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGLength::setValueAsString(const DOMString& /*val*/)\r
+ throw (DOMException)\r
+{\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGLength::newValueSpecifiedUnits (unsigned short /*unitType*/, double /*val*/)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGLength::convertToSpecifiedUnits (unsigned short /*unitType*/)\r
+{\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLength::SVGLength()\r
+{\r
+ unitType = SVG_LENGTHTYPE_UNKNOWN;\r
+ value = 0.0;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLength::SVGLength(const SVGLength &other)\r
+{\r
+ unitType = other.unitType;\r
+ value = other.value;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLength::~SVGLength()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGAngle\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGAngle::getUnitType()\r
+{\r
+ return unitType;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGAngle::getValue()\r
+{\r
+ return value;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGAngle::setValue(double val) throw (DOMException)\r
+{\r
+ value = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGAngle::getValueInSpecifiedUnits()\r
+{\r
+ double result = 0.0;\r
+ //convert here\r
+ return result;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGAngle::setValueInSpecifiedUnits(double /*val*/)\r
+ throw (DOMException)\r
+{\r
+ //do conversion\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGAngle::getValueAsString()\r
+{\r
+ DOMString result;\r
+ char buf[32];\r
+ snprintf(buf, 31, "%f", value);\r
+ result.append(buf);\r
+ return result;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGAngle::setValueAsString(const DOMString &/*val*/)\r
+ throw (DOMException)\r
+{\r
+ //convert here\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGAngle::newValueSpecifiedUnits (unsigned short /*unitType*/,\r
+ double /*valueInSpecifiedUnits*/)\r
+{\r
+ //convert here\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGAngle::convertToSpecifiedUnits (unsigned short /*unitType*/)\r
+{\r
+ //convert here\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAngle::SVGAngle()\r
+{\r
+ unitType = SVG_ANGLETYPE_UNKNOWN;\r
+ value = 0.0;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAngle::SVGAngle(const SVGAngle &other)\r
+{\r
+ unitType = other.unitType;\r
+ value = other.value;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAngle::~SVGAngle()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGICCColor\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGICCColor::getColorProfile()\r
+{\r
+ return colorProfile;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGICCColor::setColorProfile(const DOMString &val) throw (DOMException)\r
+{\r
+ colorProfile = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGNumberList &SVGICCColor::getColors()\r
+{\r
+ return colors;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGICCColor::SVGICCColor()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGICCColor::SVGICCColor(const SVGICCColor &other)\r
+{\r
+ colorProfile = other.colorProfile;\r
+ colors = other.colors;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGICCColor::~SVGICCColor()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGColor\r
+#########################################################################*/\r
+\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGColor::getColorType()\r
+{\r
+ return colorType;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+css::RGBColor SVGColor::getRgbColor()\r
+{\r
+ css::RGBColor col;\r
+ return col;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGICCColor SVGColor::getIccColor()\r
+{\r
+ SVGICCColor col;\r
+ return col;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGColor::setRGBColor(const DOMString& /*rgbColor*/)\r
+ throw (SVGException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGColor::setRGBColorICCColor(const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw (SVGException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGColor::setColor (unsigned short /*colorType*/,\r
+ const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw (SVGException)\r
+{\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGColor::SVGColor()\r
+{\r
+ colorType = SVG_COLORTYPE_UNKNOWN;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGColor::SVGColor(const SVGColor &other) : css::CSSValue(other)\r
+{\r
+ colorType = other.colorType;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGColor::~SVGColor()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGRect\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGRect::getX()\r
+{\r
+ return x;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGRect::setX(double val) throw (DOMException)\r
+{\r
+ x = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGRect::getY()\r
+{\r
+ return y;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGRect::setY(double val) throw (DOMException)\r
+{\r
+ y = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGRect::getWidth()\r
+{\r
+ return width;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGRect::setWidth(double val) throw (DOMException)\r
+{\r
+ width = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGRect::getHeight()\r
+{\r
+ return height;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGRect::setHeight(double val) throw (DOMException)\r
+{\r
+ height = val;\r
+}\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGRect::SVGRect()\r
+{\r
+ x = y = width = height = 0.0;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGRect::SVGRect(const SVGRect &other)\r
+{\r
+ x = other.x;\r
+ y = other.y;\r
+ width = other.width;\r
+ height = other.height;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGRect::~SVGRect()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGPoint\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPoint::getX()\r
+{\r
+ return x;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPoint::setX(double val) throw (DOMException)\r
+{\r
+ x = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPoint::getY()\r
+{\r
+ return y;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPoint::setY(double val) throw (DOMException)\r
+{\r
+ y = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPoint SVGPoint::matrixTransform(const SVGMatrix &/*matrix*/)\r
+{\r
+ SVGPoint point;\r
+ return point;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPoint::SVGPoint()\r
+{\r
+ x = y = 0;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPoint::SVGPoint(const SVGPoint &other)\r
+{\r
+ x = other.x;\r
+ y = other.y;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPoint::~SVGPoint()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGUnitTypes\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+SVGUnitTypes::SVGUnitTypes()\r
+{\r
+}\r
+\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGUnitTypes::~SVGUnitTypes()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGStylable\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString SVGStylable::getClassName()\r
+{\r
+ return className;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+css::CSSStyleDeclaration SVGStylable::getStyle()\r
+{\r
+ return style;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+css::CSSValue SVGStylable::getPresentationAttribute(const DOMString& /*name*/)\r
+{\r
+ css::CSSValue val;\r
+ //perform a lookup\r
+ return val;\r
+}\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGStylable::SVGStylable()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGStylable::SVGStylable(const SVGStylable &other)\r
+{\r
+ className = other.className;\r
+ style = other.style;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGStylable::~SVGStylable()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGLocatable\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementPtr SVGLocatable::getNearestViewportElement()\r
+{\r
+ SVGElementPtr result;\r
+ return result;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementPtr SVGLocatable::getFarthestViewportElement()\r
+{\r
+ SVGElementPtr result;\r
+ return result;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGRect SVGLocatable::getBBox ()\r
+{\r
+ return bbox;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix SVGLocatable::getCTM ()\r
+{\r
+ return ctm;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix SVGLocatable::getScreenCTM ()\r
+{\r
+ return screenCtm;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix SVGLocatable::getTransformToElement (const SVGElement &/*element*/)\r
+ throw (SVGException)\r
+{\r
+ SVGMatrix result;\r
+ //do calculations\r
+ return result;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLocatable::SVGLocatable()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLocatable::SVGLocatable(const SVGLocatable &/*other*/)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLocatable::~SVGLocatable()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGTransformable\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedTransformList &SVGTransformable::getTransform()\r
+{\r
+ return transforms;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTransformable::SVGTransformable() {}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTransformable::SVGTransformable(const SVGTransformable &other) : SVGLocatable(other)\r
+{\r
+ transforms = other.transforms;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTransformable::~SVGTransformable()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGTests\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGStringList &SVGTests::getRequiredFeatures()\r
+{\r
+ return requiredFeatures;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGStringList &SVGTests::getRequiredExtensions()\r
+{\r
+ return requiredExtensions;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGStringList &SVGTests::getSystemLanguage()\r
+{\r
+ return systemLanguage;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+bool SVGTests::hasExtension (const DOMString& /*extension*/)\r
+{\r
+ return false;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTests::SVGTests()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTests::SVGTests(const SVGTests &other)\r
+{\r
+ requiredFeatures = other.requiredFeatures;\r
+ requiredExtensions = other.requiredExtensions;\r
+ systemLanguage = other.systemLanguage;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTests::~SVGTests()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGLangSpace\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGLangSpace::getXmllang()\r
+{\r
+ return xmlLang;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGLangSpace::setXmllang(const DOMString &val) throw (DOMException)\r
+{\r
+ xmlLang = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGLangSpace::getXmlspace()\r
+{\r
+ return xmlSpace;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGLangSpace::setXmlspace(const DOMString &val)\r
+ throw (DOMException)\r
+{\r
+ xmlSpace = val;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLangSpace::SVGLangSpace()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLangSpace::SVGLangSpace(const SVGLangSpace &other)\r
+{\r
+ xmlLang = other.xmlLang;\r
+ xmlSpace = other.xmlSpace;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGLangSpace::~SVGLangSpace()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGExternalResourcesRequired\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedBoolean SVGExternalResourcesRequired::getExternalResourcesRequired()\r
+{\r
+ return required;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGExternalResourcesRequired::SVGExternalResourcesRequired()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGExternalResourcesRequired::SVGExternalResourcesRequired(\r
+ const SVGExternalResourcesRequired &other)\r
+{\r
+ required = other.required;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGExternalResourcesRequired::~SVGExternalResourcesRequired() {}\r
+\r
+\r
+/*#########################################################################\r
+## SVGPreserveAspectRatio\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGPreserveAspectRatio::getAlign()\r
+{\r
+ return align;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPreserveAspectRatio::setAlign(unsigned short val) throw (DOMException)\r
+{\r
+ align = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGPreserveAspectRatio::getMeetOrSlice()\r
+{\r
+ return meetOrSlice;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPreserveAspectRatio::setMeetOrSlice(unsigned short val) throw (DOMException)\r
+{\r
+ meetOrSlice = val;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPreserveAspectRatio::SVGPreserveAspectRatio()\r
+{\r
+ align = SVG_PRESERVEASPECTRATIO_UNKNOWN;\r
+ meetOrSlice = SVG_MEETORSLICE_UNKNOWN;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPreserveAspectRatio::SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other)\r
+{\r
+ align = other.align;\r
+ meetOrSlice = other.meetOrSlice;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPreserveAspectRatio::~SVGPreserveAspectRatio()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGFitToViewBox\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedRect SVGFitToViewBox::getViewBox()\r
+{\r
+ return viewBox;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedPreserveAspectRatio SVGFitToViewBox::getPreserveAspectRatio()\r
+{\r
+ return preserveAspectRatio;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGFitToViewBox::SVGFitToViewBox()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+\r
+SVGFitToViewBox::SVGFitToViewBox(const SVGFitToViewBox &other)\r
+{\r
+ viewBox = other.viewBox;\r
+ preserveAspectRatio = other.preserveAspectRatio;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGFitToViewBox::~SVGFitToViewBox()\r
+{\r
+}\r
+\r
+/*#########################################################################\r
+## SVGZoomAndPan\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGZoomAndPan::getZoomAndPan()\r
+{\r
+ return zoomAndPan;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGZoomAndPan::setZoomAndPan(unsigned short val) throw (DOMException)\r
+{\r
+ zoomAndPan = val;\r
+}\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGZoomAndPan::SVGZoomAndPan()\r
+{\r
+ zoomAndPan = SVG_ZOOMANDPAN_UNKNOWN;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGZoomAndPan::SVGZoomAndPan(const SVGZoomAndPan &other)\r
+{\r
+ zoomAndPan = other.zoomAndPan;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGZoomAndPan::~SVGZoomAndPan()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGViewSpec\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+SVGTransformList SVGViewSpec::getTransform()\r
+{\r
+ return transform;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementPtr SVGViewSpec::getViewTarget()\r
+{\r
+ return viewTarget;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGViewSpec::getViewBoxString()\r
+{\r
+ DOMString ret;\r
+ return ret;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGViewSpec::getPreserveAspectRatioString()\r
+{\r
+ DOMString ret;\r
+ return ret;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGViewSpec::getTransformString()\r
+{\r
+ DOMString ret;\r
+ return ret;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGViewSpec::getViewTargetString()\r
+{\r
+ DOMString ret;\r
+ return ret;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGViewSpec::SVGViewSpec()\r
+{\r
+ viewTarget = NULL;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGViewSpec::SVGViewSpec(const SVGViewSpec &other) : SVGZoomAndPan(other), SVGFitToViewBox(other)\r
+{\r
+ viewTarget = other.viewTarget;\r
+ transform = other.transform;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGViewSpec::~SVGViewSpec()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGURIReference\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString SVGURIReference::getHref()\r
+{\r
+ return href;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGURIReference::SVGURIReference()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGURIReference::SVGURIReference(const SVGURIReference &other)\r
+{\r
+ href = other.href;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGURIReference::~SVGURIReference()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGCSSRule\r
+#########################################################################*/\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGRenderingIntent\r
+#########################################################################*/\r
+\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGPathSeg\r
+#########################################################################*/\r
+\r
+static const char *pathSegLetters[] =\r
+{\r
+ '@', // PATHSEG_UNKNOWN,\r
+ 'z', // PATHSEG_CLOSEPATH\r
+ 'M', // PATHSEG_MOVETO_ABS\r
+ 'm', // PATHSEG_MOVETO_REL,\r
+ 'L', // PATHSEG_LINETO_ABS\r
+ 'l', // PATHSEG_LINETO_REL\r
+ 'C', // PATHSEG_CURVETO_CUBIC_ABS\r
+ 'c', // PATHSEG_CURVETO_CUBIC_REL\r
+ 'Q', // PATHSEG_CURVETO_QUADRATIC_ABS,\r
+ 'q', // PATHSEG_CURVETO_QUADRATIC_REL\r
+ 'A', // PATHSEG_ARC_ABS\r
+ 'a', // PATHSEG_ARC_REL,\r
+ 'H', // PATHSEG_LINETO_HORIZONTAL_ABS,\r
+ 'h', // PATHSEG_LINETO_HORIZONTAL_REL\r
+ 'V', // PATHSEG_LINETO_VERTICAL_ABS\r
+ 'v', // PATHSEG_LINETO_VERTICAL_REL\r
+ 'S', // PATHSEG_CURVETO_CUBIC_SMOOTH_ABS\r
+ 's', // PATHSEG_CURVETO_CUBIC_SMOOTH_REL\r
+ 'T', // PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS\r
+ 't' // PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL\r
+};\r
+\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short getPathSegType()\r
+{\r
+ return type;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getPathSegTypeAsLetter()\r
+{\r
+ int typ = type;\r
+ if (typ<0 || typ>PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL)\r
+ typ = PATHSEG_UNKNOWN;\r
+ char const ch = pathSegLetters[typ];\r
+ DOMString letter = ch;\r
+ return letter;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short getPathSegType()\r
+{\r
+ return type;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getPathSegTypeAsLetter()\r
+{\r
+ int typ = type;\r
+ if (typ<0 || typ>PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL)\r
+ typ = PATHSEG_UNKNOWN;\r
+ char const *ch = pathSegLetters[typ];\r
+ DOMString letter = ch;\r
+ return letter;\r
+}\r
+\r
+/**\r
+ * From the various subclasses\r
+ */\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getX()\r
+{\r
+ return x;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setX(double val) throw (DOMException)\r
+{\r
+ x = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getX1()\r
+{\r
+ return x;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setX1(double val) throw (DOMException)\r
+{\r
+ x = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getX2()\r
+{\r
+ return x;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setX2(double val) throw (DOMException)\r
+{\r
+ x = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getY()\r
+{\r
+ return y;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setY(double val) throw (DOMException)\r
+{\r
+ y = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getY1()\r
+{\r
+ return y;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setY1(double val) throw (DOMException)\r
+{\r
+ y = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getY2()\r
+{\r
+ return y;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setY2(double val) throw (DOMException)\r
+{\r
+ y = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getR1()\r
+{\r
+ return r1;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setR1(double val) throw (DOMException)\r
+{\r
+ r1 = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getR2()\r
+{\r
+ return r2;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setR2(double val) throw (DOMException)\r
+{\r
+ r2 = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGPathSeg::getAngle()\r
+{\r
+ return angle;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setAngle(double val) throw (DOMException)\r
+{\r
+ angle = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+bool SVGPathSeg::getLargeArcFlag()\r
+{\r
+ return largeArcFlag;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setLargeArcFlag(bool val) throw (DOMException)\r
+{\r
+ largeArcFlag = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+bool SVGPathSeg::getSweepFlag()\r
+{\r
+ return sweepFlag;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::setSweepFlag(bool val) throw (DOMException)\r
+{\r
+ sweepFlag = val;\r
+}\r
+\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPathSeg::SVGPathSeg()\r
+{\r
+ init();\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPathSeg::SVGPathSeg(const SVGPathSeg &other)\r
+{\r
+ assign(other);\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPathSeg &operator=(const SVGPathSeg &other)\r
+{\r
+ assign(other);\r
+ return *this;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::init()\r
+{\r
+ type = PATHSEG_UNKNOWN;\r
+ x = y = x1 = y1 = x2 = y2 = 0.0;\r
+ r1 = r2 = 0.0;\r
+ angle = 0.0;\r
+ largeArcFlag = false;\r
+ sweepFlag = false;\r
+}\r
+ \r
+/**\r
+ *\r
+ */\r
+void SVGPathSeg::assign(const SVGPathSeg &other)\r
+{\r
+ type = other.type;\r
+ x = other.x;\r
+ y = other.y;\r
+ x1 = other.x1;\r
+ y1 = other.y1;\r
+ x2 = other.x2;\r
+ y2 = other.y2;\r
+ r1 = other.r1;\r
+ r2 = other.r2;\r
+ angle = other.angle;\r
+ largeArcFlag = other.largeArcFlag;\r
+ sweepFlag = other.sweepFlag;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPathSeg::~SVGPathSeg()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGPaint\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGPaint::getPaintType()\r
+{ return paintType; }\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGPaint::getUri()\r
+{ return uri; }\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPaint::setUri(const DOMString& uriArg)\r
+{\r
+ uri = uriArg;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGPaint::setPaint (unsigned short paintTypeArg,\r
+ const DOMString& uriArg,\r
+ const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw (SVGException)\r
+{\r
+ paintType = paintTypeArg;\r
+ uri = uriArg;\r
+ //do something with rgbColor\r
+ //do something with iccColor;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPaint::SVGPaint()\r
+{\r
+ uri = "";\r
+ paintType = SVG_PAINTTYPE_UNKNOWN;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPaint::SVGPaint(const SVGPaint &other) : css::CSSValue(other), SVGColor(other)\r
+{\r
+ uri = "";\r
+ paintType = SVG_PAINTTYPE_UNKNOWN;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPaint::~SVGPaint() {}\r
+\r
+\r
+/*#########################################################################\r
+## SVGColorProfileRule\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGColorProfileRule::getSrc()\r
+{ return src; }\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGColorProfileRule::setSrc(const DOMString &val) throw (DOMException)\r
+{ src = val; }\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString SVGColorProfileRule::getName()\r
+{ return name; }\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGColorProfileRule::setName(const DOMString &val) throw (DOMException)\r
+{ name = val; }\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short SVGColorProfileRule::getRenderingIntent()\r
+{ return renderingIntent; }\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGColorProfileRule::setRenderingIntent(unsigned short val) throw (DOMException)\r
+{ renderingIntent = val; }\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGColorProfileRule::SVGColorProfileRule()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGColorProfileRule::SVGColorProfileRule(const SVGColorProfileRule &other)\r
+ : SVGCSSRule(other), SVGRenderingIntent(other)\r
+{\r
+ renderingIntent = other.renderingIntent;\r
+ src = other.src;\r
+ name = other.name;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGColorProfileRule::~SVGColorProfileRule()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGFilterPrimitiveStandardAttributes\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::getX()\r
+{ return x; }\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::getY()\r
+{ return y; }\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::getWidth()\r
+{ return width; }\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::getHeight()\r
+{ return height; }\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString SVGFilterPrimitiveStandardAttributes::getResult()\r
+{ return result; }\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes(\r
+ const SVGFilterPrimitiveStandardAttributes &other)\r
+ : SVGStylable(other)\r
+{\r
+ x = other.x;\r
+ y = other.y;\r
+ width = other.width;\r
+ height = other.height;\r
+ result = other.result;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGEvent\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+SVGEvent:SVGEvent()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGEvent:SVGEvent(const SVGEvent &other) : events::Event(other)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGEvent::~SVGEvent()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGZoomEvent\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+SVGRect SVGZoomEvent::getZoomRectScreen()\r
+{\r
+ return zoomRectScreen;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGZoomEvent::getPreviousScale()\r
+{\r
+ return previousScale;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPoint SVGZoomEvent::getPreviousTranslate()\r
+{\r
+ return previousTranslate;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double SVGZoomEvent::getNewScale()\r
+{\r
+ return newScale;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGPoint SVGZoomEvent::getNewTranslate()\r
+{\r
+ return newTranslate;\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGZoomEvent::SVGZoomEvent()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGZoomEvent::SVGZoomEvent(const SVGZoomEvent &other) :\r
+ events::Event(other), events::UIEvent(other)\r
+{\r
+ zoomRectScreen = other.zoomRectScreen;\r
+ previousScale = other.previousScale;\r
+ previousTranslate = other.previousTranslate;\r
+ newScale = other.newScale;\r
+ newTranslate = other.newTranslate;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGZoomEvent::~SVGZoomEvent()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGElementInstance\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementPtr SVGElementInstance::getCorrespondingElement()\r
+{\r
+ return correspondingElement;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGUseElementPtr SVGElementInstance::getCorrespondingUseElement()\r
+{\r
+ return correspondingUseElement;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance SVGElementInstance::getParentNode()\r
+{\r
+ SVGElementInstance ret;\r
+ return ret;\r
+}\r
+\r
+/**\r
+ * Since we are using stack types and this is a circular definition,\r
+ * we will instead implement this as a global function below:\r
+ * SVGElementInstanceList getChildNodes(const SVGElementInstance instance);\r
+ */\r
+//SVGElementInstanceList getChildNodes();\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance SVGElementInstance::getFirstChild()\r
+{\r
+ SVGElementInstance ret;\r
+ return ret;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance SVGElementInstance::getLastChild()\r
+{\r
+ SVGElementInstance ret;\r
+ return ret;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance SVGElementInstance::getPreviousSibling()\r
+{\r
+ SVGElementInstance ret;\r
+ return ret;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance SVGElementInstance::getNextSibling()\r
+{\r
+ SVGElementInstance ret;\r
+ return ret;\r
+}\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance::SVGElementInstance()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance::SVGElementInstance(const SVGElementInstance &other)\r
+ : events::EventTarget(other)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance::~SVGElementInstance()\r
+{\r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGElementInstanceList\r
+#########################################################################*/\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned long SVGElementInstanceList::getLength()\r
+{ return items.size(); }\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstance SVGElementInstanceList::item(unsigned long index)\r
+{\r
+ if (index >= items.size())\r
+ {\r
+ SVGElementInstance ret;\r
+ return ret;\r
+ }\r
+ return items[index];\r
+}\r
+\r
+/**\r
+ * This static method replaces the circular definition of:\r
+ * SVGElementInstanceList SVGElementInstance::getChildNodes()\r
+ *\r
+ */\r
+static SVGElementInstanceList SVGElementInstanceList::getChildNodes(const SVGElementInstance &/*instance*/)\r
+{\r
+ SVGElementInstanceList list;\r
+ return list;\r
+}\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstanceList::SVGElementInstanceList()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstanceList::SVGElementInstanceList(const SVGElementInstanceList &other)\r
+{\r
+ items = other.items;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementInstanceList::~SVGElementInstanceList()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGValue\r
+#########################################################################*/\r
+\r
+/**\r
+ * Constructor\r
+ */\r
+SVGValue()\r
+{\r
+ init();\r
+}\r
+\r
+/**\r
+ * Copy constructor\r
+ */\r
+SVGValue(const SVGValue &other)\r
+{\r
+ assign(other);\r
+}\r
+\r
+/**\r
+ * Assignment\r
+ */\r
+SVGValue &operator=(const SVGValue &other)\r
+{\r
+ assign(other);\r
+ return *this;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+~SVGValue()\r
+{\r
+}\r
+\r
+//###########################\r
+// TYPES\r
+//###########################\r
+\r
+/**\r
+ * Angle\r
+ */\r
+SVGValue::SVGValue(const SVGAngle &v)\r
+{\r
+ type = SVG_ANGLE;\r
+ angleval = v;\r
+}\r
+\r
+SVGAngle SVGValue::angleValue()\r
+{\r
+ return algleval;\r
+}\r
+\r
+/**\r
+ * Boolean\r
+ */\r
+SVGValue::SVGValue(bool v)\r
+{\r
+ type = SVG_BOOLEAN;\r
+ bval = v;\r
+}\r
+\r
+bool SVGValue::booleanValue()\r
+{\r
+ return bval;\r
+}\r
+\r
+\r
+/**\r
+ * Enumeration\r
+ */\r
+SVGValue::SVGValue(short v)\r
+{\r
+ type = SVG_ENUMERATION;\r
+ eval = v;\r
+}\r
+\r
+short SVGValue::enumerationValue()\r
+{\r
+ return eval;\r
+}\r
+\r
+/**\r
+ * Integer\r
+ */\r
+SVGValue::SVGValue(long v)\r
+{\r
+ type = SVG_INTEGER;\r
+ ival = v;\r
+}\r
+\r
+long SVGValue::integerValue()\r
+{\r
+ return ival;\r
+}\r
+\r
+/**\r
+ * Length\r
+ */\r
+SVGValue::SVGValue(const SVGLength &v)\r
+{\r
+ type = SVG_LENGTH;\r
+ lengthval = v;\r
+}\r
+\r
+SVGLength SVGValue::lengthValue()\r
+{\r
+ return lengthval;\r
+}\r
+\r
+/**\r
+ * Number\r
+ */\r
+SVGValue::SVGValue(double v)\r
+{\r
+ type = SVG_NUMBER;\r
+ dval = v;\r
+}\r
+\r
+double SVGValue::numberValue()\r
+{\r
+ return dval;\r
+}\r
+\r
+/**\r
+ * Points\r
+ */\r
+SVGValue::SVGValue(const SVGPointList &v)\r
+{\r
+ type = SVG_POINTS;\r
+ plistval = v;\r
+}\r
+\r
+SVGPointList SVGValue::pointListValue()\r
+{\r
+ return plistval;\r
+}\r
+\r
+\r
+/**\r
+ * PreserveAspectRatio\r
+ */\r
+SVGValue::SVGValue(const SVGPreserveAspectRatio &v)\r
+{\r
+ type = SVG_PRESERVE_ASPECT_RATIO;\r
+ parval = v;\r
+}\r
+\r
+SVGPreserveAspectRatio SVGValue::preserveAspectRatioValue()\r
+{\r
+ return parval;\r
+}\r
+\r
+/**\r
+ * Rect\r
+ */\r
+SVGValue::SVGValue(const SVGRect &v)\r
+{\r
+ type = SVG_RECT;\r
+ rectval = v;\r
+}\r
+\r
+SVGRect SVGValue::rectValue()\r
+{\r
+ return rectval;\r
+}\r
+\r
+/**\r
+ * String\r
+ */\r
+SVGValue::SVGValue(const DOMString &v)\r
+{\r
+ type = SVG_STRING;\r
+ sval = v;\r
+}\r
+\r
+DOMString SVGValue::stringValue()\r
+{\r
+ return sval;\r
+}\r
+\r
+\r
+void SVGValue::init()\r
+{\r
+ type = SVG_NUMBER;\r
+ bval = false; \r
+ eval = 0; \r
+ ival = 0; \r
+ dval = 0.0; \r
+}\r
+\r
+void SVGValue::assign(const SVGValue &other)\r
+{\r
+ type = other.type; \r
+ angleval = other.angleval; \r
+ bval = other.bval; \r
+ eval = other.eval; \r
+ ival = other.ival; \r
+ lengthval = other.lengthval; \r
+ dval = other.dval; \r
+ parval = other.parval; \r
+ rval = other.rval; \r
+ sval = other.sval; \r
+}\r
+\r
+\r
+/*#########################################################################\r
+## SVGTransformList\r
+#########################################################################*/\r
+\r
+\r
+/*#########################################################################\r
+## SVGStringList\r
+#########################################################################*/\r
+\r
+\r
+/*#########################################################################\r
+## SVGNumberList\r
+#########################################################################*/\r
+\r
+\r
+/*#########################################################################\r
+## SVGLengthList\r
+#########################################################################*/\r
+\r
+\r
+/*#########################################################################\r
+## SVGPointList\r
+#########################################################################*/\r
+\r
+/*#########################################################################\r
+## SVGPathSegList\r
+#########################################################################*/\r
+\r
+/*#########################################################################\r
+## SVGValueList\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned long SVGValueList::getNumberOfItems()\r
+{\r
+ return items.size();\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGValueList::clear() throw (DOMException)\r
+{\r
+ items.clear();\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGValueList::initialize(const SVGValue& newItem)\r
+ throw (DOMException, SVGException)\r
+{\r
+ items.clear();\r
+ items.push_back(newItem);\r
+ return newItem;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGValueList::getItem(unsigned long index) throw (DOMException)\r
+{\r
+ if (index >= items.size())\r
+ return "";\r
+ return items[index];\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGValueList::insertItemBefore(const SVGValue& newItem,\r
+ unsigned long index)\r
+ throw (DOMException, SVGException)\r
+{\r
+ if (index>=items.size())\r
+ {\r
+ items.push_back(newItem);\r
+ }\r
+ else\r
+ {\r
+ std::vector<SVGValue>::iterator iter = items.begin() + index;\r
+ items.insert(iter, newItem);\r
+ }\r
+ return newItem;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGValueList::replaceItem (const SVGValue& newItem,\r
+ unsigned long index)\r
+ throw (DOMException, SVGException)\r
+{\r
+ if (index>=items.size())\r
+ return "";\r
+ std::vector<SVGValue>::iterator iter = items.begin() + index;\r
+ *iter = newItem;\r
+ return newItem;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGValueList::removeItem (unsigned long index)\r
+ throw (DOMException)\r
+{\r
+ if (index>=items.size())\r
+ return "";\r
+ std::vector<SVGValue>::iterator iter = items.begin() + index;\r
+ SVGValue oldval = *iter;\r
+ items.erase(iter);\r
+ return oldval;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGValueList::appendItem (const SVGValue& newItem)\r
+ throw (DOMException, SVGException)\r
+{\r
+ items.push_back(newItem);\r
+ return newItem;\r
+}\r
+\r
+\r
+/**\r
+ * Matrix\r
+ */\r
+SVGValue SVGValueList::createSVGTransformFromMatrix(const SVGValue &matrix)\r
+{\r
+}\r
+\r
+/**\r
+ * Matrix\r
+ */\r
+SVGValue SVGValueList::consolidate()\r
+{\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValueList::SVGValueList()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValueList::SVGValueList(const SVGValueList &other)\r
+{\r
+ items = other.items;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValueList::~SVGValueList()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGAnimatedValue\r
+#########################################################################*/\r
+\r
+\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue &SVGAnimatedValue::getBaseVal()\r
+{\r
+ return baseVal;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGAnimatedValue::setBaseVal(const SVGValue &val) throw (DOMException)\r
+{\r
+ baseVal = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue &SVGAnimatedValue::getAnimVal()\r
+{\r
+ return animVal;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedValue::SVGAnimatedValue()\r
+{\r
+ init();\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedValue::SVGAnimatedValue(const SVGValue &v)\r
+{\r
+ init();\r
+ baseVal = v;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedValue::SVGAnimatedValue(const SVGValue &bv, const SVGValue &av)\r
+{\r
+ init();\r
+ baseVal = bv;\r
+ animVal = av;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedValue::SVGAnimatedValue(const SVGAnimatedValue &other)\r
+{\r
+ assign(other);\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedValue &SVGAnimatedValue::operator=(const SVGAnimatedValue &other)\r
+{\r
+ assign(other);\r
+ return *this;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedValue &SVGAnimatedValue::operator=(const SVGValue &bv)\r
+{\r
+ init();\r
+ baseVal = bv;\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedValue::~SVGAnimatedValue()\r
+{\r
+}\r
+\r
+\r
+\r
+void SVGAnimatedValue::init()\r
+{\r
+}\r
+\r
+\r
+void SVGAnimatedValue::assign(const SVGAnimatedValue &other)\r
+{\r
+ baseVal = other.baseVal;\r
+ animVal = other.animVal;\r
+}\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+//########################################################################\r
+//########################################################################\r
+//########################################################################\r
+//# D O M\r
+//########################################################################\r
+//########################################################################\r
+//########################################################################\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGElement\r
+#########################################################################*/\r
+\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
+\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
+\r
+\r
+/**\r
+ * Corresponds to attribute xml:base on the given element.\r
+ */\r
+DOMString getXmlBase()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * Corresponds to attribute xml:base on the given element.\r
+ */\r
+void setXmlBase(const DOMString &val) throw (DOMException)\r
+{\r
+}\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
+\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
+//####################################################################\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
+ *\r
+ */\r
+double getValue()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setValue(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double getValueInSpecifiedUnits()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setValueInSpecifiedUnits(double /*val*/) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getValueAsString()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setValueAsString(const DOMString &/*val*/) throw (DOMException)\r
+{\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+void newValueSpecifiedUnits(unsigned short /*unitType*/,\r
+ double /*valueInSpecifiedUnits*/)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void convertToSpecifiedUnits(unsigned short /*unitType*/)\r
+{\r
+}\r
+\r
+//####################################################################\r
+//## The following animated types are rolled up into a single\r
+//## SVGAnimatedValue interface\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedAngle\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedBoolean\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedEnumeration\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedInteger\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedLength\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedLengthList\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedNumber\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedNumberList\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedPathData\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedPoints\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedPreserveAspectRatio\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedRect\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedString\r
+//####################################################################\r
+\r
+//####################################################################\r
+//## SVGAnimatedTransformList\r
+//####################################################################\r
+\r
+//####################################################################\r
+//# SVGAnimatedValue \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue &getBaseVal()\r
+{\r
+ return baseVal();\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setBaseVal(const SVGValue &val) throw (DOMException)\r
+{\r
+ baseVal = val;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue &getAnimVal()\r
+{\r
+ return animVal;\r
+}\r
+\r
+\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
+\r
+/**\r
+ * From CSSValue \r
+ * A string representation of the current value.\r
+ */\r
+DOMString getCssText()\r
+{\r
+}\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
+ *\r
+ */\r
+unsigned short getColorType()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+css::RGBColor getRgbColor()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGICCColor getIccColor()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+void setRGBColor(const DOMString& /*rgbColor*/) throw (SVGException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setRGBColorICCColor(const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw (SVGException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setColor(unsigned short /*colorType*/,\r
+ const DOMString& /*rgbColor*/,\r
+ const DOMString& /*iccColor*/)\r
+ throw (SVGException)\r
+{\r
+}\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
+\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
+\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
+\r
+/**\r
+ * From CSSRule \r
+ * The style sheet that contains this rule.\r
+ */\r
+css::CSSStyleSheet *getParentStyleSheet()\r
+{\r
+}\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
+\r
+//####################################################################\r
+//# SVGExternalResourcesRequired\r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedBoolean getExternalResourcesRequired()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGFitToViewBox \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedRect getViewBox()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGICCColor \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getColorProfile()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setColorProfile(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGNumberList &getColors()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGLangSpace \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getXmllang()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setXmllang(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getXmlspace()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setXmlspace(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGLength \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short getUnitType()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double getValue()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setValue(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double getValueInSpecifiedUnits()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setValueInSpecifiedUnits(double /*val*/) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getValueAsString()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setValueAsString(const DOMString& /*val*/) throw (DOMException)\r
+{\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+void newValueSpecifiedUnits(unsigned short /*unitType*/, double /*val*/)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void convertToSpecifiedUnits(unsigned short /*unitType*/)\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//## SVGLengthList - see SVGValueList\r
+//####################################################################\r
+\r
+\r
+\r
+//####################################################################\r
+//# SVGLocatable \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementPtr getNearestViewportElement()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElement *getFarthestViewportElement()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGRect getBBox()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix getCTM()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix getScreenCTM()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGMatrix getTransformToElement(const SVGElement &/*element*/)\r
+ throw (SVGException)\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGNumber \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+double getValue()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setValue(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGNumberList - see SVGValueList \r
+//####################################################################\r
+\r
+\r
+//####################################################################\r
+//# SVGRect \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+double getX()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setX(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double getY()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setY(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setWidth(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double getHeight()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setHeight(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGRenderingIntent \r
+//####################################################################\r
+\r
+//####################################################################\r
+//# SVGStringList - see SVGValueList\r
+//####################################################################\r
+\r
+//####################################################################\r
+//# SVGStylable \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString getClassName()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+css::CSSStyleDeclaration getStyle()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+css::CSSValue getPresentationAttribute(const DOMString& /*name*/)\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGTests \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValueList &getRequiredFeatures()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValueList &getRequiredExtensions()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValueList &getSystemLanguage()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+bool hasExtension(const DOMString& /*extension*/)\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGTransformable \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedList &getTransform()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGUnitTypes \r
+//####################################################################\r
+\r
+//####################################################################\r
+//# SVGURIReference \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedValue getHref()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//## SVGValueList - consolidation of other lists\r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned long SVGElement::getNumberOfItems()\r
+{\r
+ return items.size();\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void SVGElement::clear() throw (DOMException)\r
+{\r
+ items.clear();\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGElement::initialize(const SVGValue& newItem)\r
+ throw (DOMException, SVGException)\r
+{\r
+ items.clear();\r
+ items.push_back(newItem);\r
+ return newItem;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGElement::getItem(unsigned long index) throw (DOMException)\r
+{\r
+ if (index >= items.size())\r
+ return "";\r
+ return items[index];\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGElement::insertItemBefore(const SVGValue& newItem,\r
+ unsigned long index)\r
+ throw (DOMException, SVGException)\r
+{\r
+ if (index>=items.size())\r
+ {\r
+ items.push_back(newItem);\r
+ }\r
+ else\r
+ {\r
+ std::vector<SVGValue>::iterator iter = items.begin() + index;\r
+ items.insert(iter, newItem);\r
+ }\r
+ return newItem;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGElement::replaceItem (const SVGValue& newItem,\r
+ unsigned long index)\r
+ throw (DOMException, SVGException)\r
+{\r
+ if (index>=items.size())\r
+ return "";\r
+ std::vector<SVGValue>::iterator iter = items.begin() + index;\r
+ *iter = newItem;\r
+ return newItem;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGElement::removeItem (unsigned long index)\r
+ throw (DOMException)\r
+{\r
+ if (index>=items.size())\r
+ return "";\r
+ std::vector<SVGValue>::iterator iter = items.begin() + index;\r
+ SVGValue oldval = *iter;\r
+ items.erase(iter);\r
+ return oldval;\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGValue SVGElement::appendItem (const SVGValue& newItem)\r
+ throw (DOMException, SVGException)\r
+{\r
+ items.push_back(newItem);\r
+ return newItem;\r
+}\r
+\r
+\r
+/**\r
+ * Matrix\r
+ */\r
+SVGValue SVGElement::createSVGTransformFromMatrix(const SVGValue &matrix)\r
+{\r
+}\r
+\r
+/**\r
+ * Matrix\r
+ */\r
+SVGValue SVGElement::consolidate()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGViewSpec \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+//SVGTransformList getTransform()\r
+//{\r
+//}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGElementPtr getViewTarget()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getViewBoxString()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getPreserveAspectRatioString()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getTransformString()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getViewTargetString()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGZoomAndPan \r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+unsigned short getZoomAndPan()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setZoomAndPan(unsigned short val) throw (DOMException)\r
+{\r
+}\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
+\r
+//####################################################################\r
+//# SVGAltGlyphElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ * Get the attribute glyphRef on the given element.\r
+ */\r
+DOMString getGlyphRef()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute glyphRef on the given element.\r
+ */\r
+void setGlyphRef(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute format on the given element.\r
+ */\r
+DOMString getFormat()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute format on the given element.\r
+ */\r
+void setFormat(const DOMString &val) throw (DOMException)\r
+{\r
+}\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
+ *\r
+ */\r
+double getStartTime()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double getCurrentTime()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+double getSimpleDuration() throw (DOMException)\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute cy on the given 'circle' element.\r
+ */\r
+SVGAnimatedLength getCy()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute r on the given 'circle' element.\r
+ */\r
+SVGAnimatedLength getR()\r
+{\r
+}\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
+\r
+//####################################################################\r
+//# SVGColorProfileElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ * Get the attribute local on the given element.\r
+ */\r
+DOMString getLocal()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute local on the given element.\r
+ */\r
+void setLocal(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute name on the given element.\r
+ */\r
+DOMString getName()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute name on the given element.\r
+ */\r
+void setName(const DOMString &val) throw (DOMException)\r
+{\r
+}\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
+\r
+/**\r
+ * Get the attribute rendering-intent on the given element.\r
+ */\r
+void setRenderingIntent(unsigned short val) throw (DOMException)\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGComponentTransferFunctionElement\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
+\r
+/**\r
+ * Corresponds to attribute tableValues on the given element.\r
+ */\r
+SVGAnimatedNumberList getTableValues()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute slope on the given element.\r
+ */\r
+SVGAnimatedNumber getSlope()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute intercept on the given element.\r
+ */\r
+SVGAnimatedNumber getIntercept()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute amplitude on the given element.\r
+ */\r
+SVGAnimatedNumber getAmplitude()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute exponent on the given element.\r
+ */\r
+SVGAnimatedNumber getExponent()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute offset on the given element.\r
+ */\r
+SVGAnimatedNumber getOffset()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGCursorElement\r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getX()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute cy on the given 'ellipse' element.\r
+ */\r
+SVGAnimatedLength getCy()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute rx on the given 'ellipse' element.\r
+ */\r
+SVGAnimatedLength getRx()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute ry on the given 'ellipse' element.\r
+ */\r
+SVGAnimatedLength getRy()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGFEBlendElement\r
+//####################################################################\r
+\r
+/**\r
+ * Corresponds to attribute in on the given 'feBlend' element.\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute in2 on the given 'feBlend' element.\r
+ */\r
+SVGAnimatedString getIn2()\r
+{\r
+}\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
+\r
+//####################################################################\r
+//# SVGFEColorMatrixElement\r
+//####################################################################\r
+\r
+/**\r
+ * Corresponds to attribute in on the given 'feColorMatrix' element.\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\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
+\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
+\r
+//####################################################################\r
+//# SVGFEComponentTransferElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ * Corresponds to attribute in on the given 'feComponentTransfer' element.\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGFECompositeElement\r
+//####################################################################\r
+\r
+/**\r
+ * Corresponds to attribute in on the given 'feComposite' element.\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute in2 on the given 'feComposite' element.\r
+ */\r
+SVGAnimatedString getIn2()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute k1 on the given 'feComposite' element.\r
+ */\r
+SVGAnimatedNumber getK1()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute k2 on the given 'feComposite' element.\r
+ */\r
+SVGAnimatedNumber getK2()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute k3 on the given 'feComposite' element.\r
+ */\r
+SVGAnimatedNumber getK3()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute k4 on the given 'feComposite' element.\r
+ */\r
+SVGAnimatedNumber getK4()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGFEConvolveMatrixElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ * Corresponds to attribute order on the given 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedInteger getOrderX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute order on the given 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedInteger getOrderY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute kernelMatrix on the given element.\r
+ */\r
+SVGAnimatedNumberList getKernelMatrix()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute divisor on the given 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedNumber getDivisor()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute bias on the given 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedNumber getBias()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute targetX on the given 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedInteger getTargetX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute targetY on the given 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedInteger getTargetY()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute kernelUnitLength on the\r
+ * given 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedLength getKernelUnitLengthX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute kernelUnitLength on the given\r
+ * 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedLength getKernelUnitLengthY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute preserveAlpha on the\r
+ * given 'feConvolveMatrix' element.\r
+ */\r
+SVGAnimatedBoolean getPreserveAlpha()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute surfaceScale on the given\r
+ * 'feDiffuseLighting' element.\r
+ */\r
+SVGAnimatedNumber getSurfaceScale()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute diffuseConstant on the given\r
+ * 'feDiffuseLighting' element.\r
+ */\r
+SVGAnimatedNumber getDiffuseConstant()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute kernelUnitLength on the given\r
+ * 'feDiffuseLighting' element.\r
+ */\r
+SVGAnimatedNumber getKernelUnitLengthX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute kernelUnitLength on the given\r
+ * 'feDiffuseLighting' element.\r
+ */\r
+SVGAnimatedNumber getKernelUnitLengthY()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+//####################################################################\r
+//# SVGFEDisplacementMapElement\r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString getIn2()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedNumber getScale()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedEnumeration getXChannelSelector()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedEnumeration getYChannelSelector()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute elevation on the given 'feDistantLight'\r
+ * element\r
+ */\r
+SVGAnimatedNumber getElevation()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGFEFloodElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\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
+ *\r
+ */\r
+SVGAnimatedNumber getStdDeviationX()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedNumber getStdDeviationY()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+void setStdDeviation(double stdDeviationX, double stdDeviationY)\r
+{\r
+}\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
+SVGAnimatedString getIn1()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedEnumeration getOperator()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getRadiusX()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getRadiusY()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGFEOffsetElement\r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getDx()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getDy()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute y on the given 'fePointLight' element.\r
+ */\r
+SVGAnimatedNumber getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute z on the given 'fePointLight' element.\r
+ */\r
+SVGAnimatedNumber getZ()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGFESpecularLightingElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedNumber getSurfaceScale()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedNumber getSpecularConstant()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedNumber getSpecularExponent()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute y on the given 'feSpotLight' element.\r
+ */\r
+SVGAnimatedNumber getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute z on the given 'feSpotLight' element.\r
+ */\r
+SVGAnimatedNumber getZ()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute pointsAtX on the given 'feSpotLight' element.\r
+ */\r
+SVGAnimatedNumber getPointsAtX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute pointsAtY on the given 'feSpotLight' element.\r
+ */\r
+SVGAnimatedNumber getPointsAtY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute pointsAtZ on the given 'feSpotLight' element.\r
+ */\r
+SVGAnimatedNumber getPointsAtZ()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute specularExponent on the\r
+ * given 'feSpotLight' element.\r
+ */\r
+SVGAnimatedNumber getSpecularExponent()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute limitingConeAngle on the\r
+ * given 'feSpotLight' element.\r
+ */\r
+SVGAnimatedNumber getLimitingConeAngle()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGFETileElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedString getIn1()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGFETurbulenceElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedNumber getBaseFrequencyX()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedNumber getBaseFrequencyY()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedInteger getNumOctaves()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedNumber getSeed()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedEnumeration getStitchTiles()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedEnumeration getType()\r
+{\r
+}\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
+\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
+ *\r
+ */\r
+SVGAnimatedLength getX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute x on the given 'filter' element.\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute y on the given 'filter' element.\r
+ */\r
+SVGAnimatedLength getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute height on the given 'filter' element.\r
+ */\r
+SVGAnimatedLength getHeight()\r
+{\r
+}\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
+\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
+\r
+/**\r
+ * Sets the values for attribute filterRes.\r
+ */\r
+void setFilterRes(unsigned long filterResX, unsigned long filterResY)\r
+{\r
+}\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
+ *\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getHeight()\r
+{\r
+}\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
+\r
+/**\r
+ * Set the attribute glyphRef on the given element.\r
+ */\r
+void setGlyphRef(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute format on the given element.\r
+ */\r
+DOMString getFormat()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute format on the given element.\r
+ */\r
+void setFormat(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute x on the given element.\r
+ */\r
+double getX()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute x on the given element.\r
+ */\r
+void setX(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute y on the given element.\r
+ */\r
+double getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute y on the given element.\r
+ */\r
+void setY(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute dx on the given element.\r
+ */\r
+double getDx()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute dx on the given element.\r
+ */\r
+void setDx(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute dy on the given element.\r
+ */\r
+double getDy()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute dy on the given element.\r
+ */\r
+void setDy(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGGradientElement\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
+\r
+/**\r
+ * Corresponds to attribute gradientTransform on the given element.\r
+ */\r
+SVGAnimatedTransformList getGradientTransform()\r
+{\r
+}\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
+\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
+\r
+/**\r
+ * Corresponds to attribute y on the given 'image' element.\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute width on the given 'image' element.\r
+ */\r
+SVGAnimatedLength getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute height on the given 'image' element.\r
+ */\r
+SVGAnimatedLength getHeight()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * Corresponds to attribute preserveAspectRatio on the given element.\r
+ */\r
+SVGAnimatedPreserveAspectRatio getPreserveAspectRatio()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGLinearGradientElement\r
+//####################################################################\r
+\r
+/**\r
+ * Corresponds to attribute x1 on the given 'linearGradient' element.\r
+ */\r
+SVGAnimatedLength getX1()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute y1 on the given 'linearGradient' element.\r
+ */\r
+SVGAnimatedLength getY1()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute x2 on the given 'linearGradient' element.\r
+ */\r
+SVGAnimatedLength getX2()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute y2 on the given 'linearGradient' element.\r
+ */\r
+SVGAnimatedLength getY2()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute y1 on the given 'line' element.\r
+ */\r
+SVGAnimatedLength getY1()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute x2 on the given 'line' element.\r
+ */\r
+SVGAnimatedLength getX2()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute y2 on the given 'line' element.\r
+ */\r
+SVGAnimatedLength getY2()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGMarkerElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ * Corresponds to attribute refX on the given 'marker' element.\r
+ */\r
+SVGAnimatedLength getRefX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute refY on the given 'marker' element.\r
+ */\r
+SVGAnimatedLength getRefY()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute markerWidth on the given 'marker' element.\r
+ */\r
+SVGAnimatedLength getMarkerWidth()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute markerHeight on the given 'marker' element.\r
+ */\r
+SVGAnimatedLength getMarkerHeight()\r
+{\r
+}\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
+\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
+\r
+/**\r
+ * Sets the value of attribute orient to 'auto'.\r
+ */\r
+void setOrientToAuto()\r
+{\r
+}\r
+\r
+/**\r
+ * Sets the value of attribute orient to the given angle.\r
+ */\r
+void setOrientToAngle(const SVGAngle &angle)\r
+{\r
+}\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
+\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
+\r
+/**\r
+ * Corresponds to attribute x on the given 'mask' element.\r
+ */\r
+SVGAnimatedLength getX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute y on the given 'mask' element.\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute width on the given 'mask' element.\r
+ */\r
+SVGAnimatedLength getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute height on the given 'mask' element.\r
+ */\r
+SVGAnimatedLength getHeight()\r
+{\r
+}\r
+\r
+//####################################################################\r
+//# SVGMetadataElement\r
+//####################################################################\r
+\r
+//####################################################################\r
+//# SVGMissingGlyphElement\r
+//####################################################################\r
+\r
+//####################################################################\r
+//# SVGMPathElement\r
+//####################################################################\r
+\r
+//####################################################################\r
+//# SVGPathElement\r
+//####################################################################\r
+\r
+/**\r
+ * Corresponds to attribute pathLength on the given 'path' element.\r
+ */\r
+SVGAnimatedNumber getPathLength()\r
+{\r
+}\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
+\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
+\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
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegClosePath object.\r
+ */\r
+SVGPathSeg createSVGPathSegClosePath()\r
+{\r
+ SVGPathSeg seg(PATHSEG_CLOSEPATH);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegMovetoAbs object.\r
+ */\r
+SVGPathSeg createSVGPathSegMovetoAbs(double x, double y)\r
+{\r
+ SVGPathSeg seg(PATHSEG_MOVETO_ABS);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegMovetoRel object.\r
+ */\r
+SVGPathSeg createSVGPathSegMovetoRel(double x, double y)\r
+{\r
+ SVGPathSeg seg(PATHSEG_MOVETO_REL);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoAbs object.\r
+ */\r
+SVGPathSeg createSVGPathSegLinetoAbs(double x, double y)\r
+{\r
+ SVGPathSeg seg(PATHSEG_LINETO_ABS);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoRel object.\r
+ */\r
+SVGPathSeg createSVGPathSegLinetoRel(double x, double y)\r
+{\r
+ SVGPathSeg seg(PATHSEG_LINETO_REL);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicAbs object.\r
+ */\r
+SVGPathSeg createSVGPathSegCurvetoCubicAbs(double x, double y,\r
+ double x1, double y1, double x2, double y2)\r
+{\r
+ SVGPathSeg seg(PATHSEG_CURVETO_CUBIC_ABS);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ seg.setX1(x1);\r
+ seg.setY1(y1);\r
+ seg.setX2(x2);\r
+ seg.setY2(y2);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicRel object.\r
+ */\r
+SVGPathSeg createSVGPathSegCurvetoCubicRel(double x, double y,\r
+ double x1, double y1, double x2, double y2)\r
+{\r
+ SVGPathSeg seg(PATHSEG_CURVETO_CUBIC_REL);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ seg.setX1(x1);\r
+ seg.setY1(y1);\r
+ seg.setX2(x2);\r
+ seg.setY2(y2);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticAbs object.\r
+ */\r
+SVGPathSeg createSVGPathSegCurvetoQuadraticAbs(double x, double y,\r
+ double x1, double y1)\r
+{\r
+ SVGPathSeg seg(PATHSEG_CURVETO_QUADRATIC_ABS);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ seg.setX1(x1);\r
+ seg.setY1(y1);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticRel object.\r
+ */\r
+SVGPathSeg createSVGPathSegCurvetoQuadraticRel(double x, double y,\r
+ double x1, double y1)\r
+{\r
+ SVGPathSeg seg(PATHSEG_CURVETO_QUADRATIC_REL);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ seg.setX1(x1);\r
+ seg.setY1(y1);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegArcAbs object.\r
+ */\r
+SVGPathSeg createSVGPathSegArcAbs(double x, double y,\r
+ double r1, double r2, double angle,\r
+ bool largeArcFlag, bool sweepFlag)\r
+{\r
+ SVGPathSeg seg(PATHSEG_ARC_ABS);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ seg.setR1(r1);\r
+ seg.setR2(r2);\r
+ seg.setAngle(angle);\r
+ seg.setLargeArcFlag(largeArcFlag);\r
+ seg.setSweepFlag(sweepFlag);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegArcRel object.\r
+ */\r
+SVGPathSeg createSVGPathSegArcRel(double x, double y, double r1,\r
+ double r2, double angle, bool largeArcFlag,\r
+ bool sweepFlag)\r
+{\r
+ SVGPathSeg seg(PATHSEG_ARC_REL);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ seg.setR1(r1);\r
+ seg.setR2(r2);\r
+ seg.setAngle(angle);\r
+ seg.setLargeArcFlag(largeArcFlag);\r
+ seg.setSweepFlag(sweepFlag);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalAbs object.\r
+ */\r
+SVGPathSeg createSVGPathSegLinetoHorizontalAbs(double x)\r
+{\r
+ SVGPathSeg seg(PATHSEG_LINETO_HORIZONTAL_ABS);\r
+ seg.setX(x);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalRel object.\r
+ */\r
+SVGPathSeg createSVGPathSegLinetoHorizontalRel(double x)\r
+{\r
+ SVGPathSeg seg(PATHSEG_LINETO_HORIZONTAL_REL);\r
+ seg.setX(x);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoVerticalAbs object.\r
+ */\r
+SVGPathSeg createSVGPathSegLinetoVerticalAbs(double y)\r
+{\r
+ SVGPathSeg seg(PATHSEG_LINETO_VERTICAL_ABS);\r
+ seg.setY(y);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegLinetoVerticalRel object.\r
+ */\r
+SVGPathSeg createSVGPathSegLinetoVerticalRel(double y)\r
+{\r
+ SVGPathSeg seg(PATHSEG_LINETO_VERTICAL_REL);\r
+ seg.setY(y);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothAbs object.\r
+ */\r
+SVGPathSeg createSVGPathSegCurvetoCubicSmoothAbs(double x, double y,\r
+ double x2, double y2)\r
+{\r
+ SVGPathSeg seg(PATHSEG_CURVETO_CUBIC_SMOOTH_ABS);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ seg.setX2(x2);\r
+ seg.setY2(y2);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothRel object.\r
+ */\r
+SVGPathSeg createSVGPathSegCurvetoCubicSmoothRel(double x, double y,\r
+ double x2, double y2)\r
+{\r
+ SVGPathSeg seg(PATHSEG_CURVETO_CUBIC_SMOOTH_REL);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ seg.setX2(x2);\r
+ seg.setY2(y2);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothAbs\r
+ * object.\r
+ */\r
+SVGPathSeg createSVGPathSegCurvetoQuadraticSmoothAbs(double x, double y)\r
+{\r
+ SVGPathSeg seg(PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ return seg;\r
+}\r
+\r
+/**\r
+ * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothRel\r
+ * object.\r
+ */\r
+SVGPathSeg createSVGPathSegCurvetoQuadraticSmoothRel(double x, double y)\r
+{\r
+ SVGPathSeg seg(PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL);\r
+ seg.setX(x);\r
+ seg.setY(y);\r
+ return seg;\r
+}\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
+\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
+\r
+/**\r
+ * Corresponds to attribute patternTransform on the given 'pattern' element.\r
+ */\r
+SVGAnimatedTransformList getPatternTransform()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute x on the given 'pattern' element.\r
+ */\r
+SVGAnimatedLength getX()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute width on the given 'pattern' element.\r
+ */\r
+SVGAnimatedLength getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute height on the given 'pattern' element.\r
+ */\r
+SVGAnimatedLength getHeight()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGPolyLineElement\r
+//####################################################################\r
+\r
+//####################################################################\r
+//# SVGPolygonElement\r
+//####################################################################\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
+\r
+/**\r
+ * Corresponds to attribute cy on the given 'radialGradient' element.\r
+ */\r
+SVGAnimatedLength getCy()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * Corresponds to attribute r on the given 'radialGradient' element.\r
+ */\r
+SVGAnimatedLength getR()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * Corresponds to attribute fx on the given 'radialGradient' element.\r
+ */\r
+SVGAnimatedLength getFx()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * Corresponds to attribute fy on the given 'radialGradient' element.\r
+ */\r
+SVGAnimatedLength getFy()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute y on the given 'rect' element.\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute width on the given 'rect' element.\r
+ */\r
+SVGAnimatedLength getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute height on the given 'rect' element.\r
+ */\r
+SVGAnimatedLength getHeight()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * Corresponds to attribute rx on the given 'rect' element.\r
+ */\r
+SVGAnimatedLength getRx()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute ry on the given 'rect' element.\r
+ */\r
+SVGAnimatedLength getRy()\r
+{\r
+}\r
+\r
+\r
+//####################################################################\r
+//# SVGScriptElement\r
+//####################################################################\r
+\r
+/**\r
+ *\r
+ */\r
+DOMString getType()\r
+{\r
+}\r
+\r
+/**\r
+ *\r
+ */\r
+void setType(const DOMString &val) throw (DOMException)\r
+{\r
+}\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
+\r
+//####################################################################\r
+//# SVGStyleElement\r
+//####################################################################\r
+\r
+/**\r
+ * Get the attribute xml:space on the given element.\r
+ */\r
+DOMString getXmlspace()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute xml:space on the given element.\r
+ */\r
+void setXmlspace(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute type on the given 'style' element.\r
+ */\r
+DOMString getType()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute type on the given 'style' element.\r
+ */\r
+void setType(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute media on the given 'style' element.\r
+ */\r
+DOMString getMedia()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute media on the given 'style' element.\r
+ */\r
+void setMedia(const DOMString &val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute title on the given 'style' element.\r
+ */\r
+DOMString getTitle()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute title on the given 'style' element.\r
+ */\r
+void setTitle(const DOMString &val) throw (DOMException)\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute y on the given 'svg' element.\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute width on the given 'svg' element.\r
+ */\r
+SVGAnimatedLength getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute height on the given 'svg' element.\r
+ */\r
+SVGAnimatedLength getHeight()\r
+{\r
+}\r
+\r
+/**\r
+ * Get the attribute contentScriptType on the given 'svg' element.\r
+ */\r
+DOMString getContentScriptType()\r
+{\r
+}\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
+\r
+/**\r
+ * Get the attribute contentStyleType on the given 'svg' element.\r
+ */\r
+DOMString getContentStyleType()\r
+{\r
+}\r
+\r
+/**\r
+ * Set the attribute contentStyleType on the given 'svg' element.\r
+ */\r
+void setContentStyleType(const DOMString &val) throw (DOMException)\r
+{\r
+}\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
+\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
+\r
+/**\r
+ * Corresponding size of a pixel unit along the y-axis of the viewport.\r
+ */\r
+double getPixelUnitToMillimeterY()\r
+{\r
+}\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
+{\r
+}\r
+ * otherwise, user agents will provide a suitable default value such as .28mm.\r
+ */\r
+double getScreenPixelToMillimeterX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponding size of a screen pixel along the y-axis of the viewport.\r
+ */\r
+double getScreenPixelToMillimeterY()\r
+{\r
+}\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
+\r
+/**\r
+ * Set the value above\r
+ */\r
+void setUseCurrentView(bool val) throw (DOMException)\r
+{\r
+}\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
+\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
+\r
+/**\r
+ * Set the value above.\r
+ */\r
+void setCurrentScale(double val) throw (DOMException)\r
+{\r
+}\r
+\r
+/**\r
+ * The corresponding translation factor that takes into account\r
+ * user "magnification".\r
+ */\r
+SVGPoint getCurrentTranslate()\r
+{\r
+}\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
+\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
+\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
+\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
+\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
+\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
+\r
+/**\r
+ * Returns true if this SVG document fragment is in a paused state.\r
+ */\r
+bool animationsPaused()\r
+{\r
+}\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
+\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
+\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
+\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
+\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
+\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
+\r
+/**\r
+ * Unselects any selected objects, including any selections of text\r
+ * strings and type-in bars.\r
+ */\r
+void deselectAll()\r
+{\r
+}\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
+\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
+\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
+\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
+\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
+\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
+\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
+\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
+\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
+\r
+//####################################################################\r
+//# SVGTextElement\r
+//####################################################################\r
+\r
+\r
+//####################################################################\r
+//# SVGTextContentElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ * Corresponds to attribute textLength on the given element.\r
+ */\r
+SVGAnimatedLength getTextLength()\r
+{\r
+}\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
+\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
+\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
+\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
+\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
+\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
+\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
+\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
+\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
+\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
+\r
+//####################################################################\r
+//# SVGTextPathElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ * Corresponds to attribute startOffset on the given 'textPath' element.\r
+ */\r
+SVGAnimatedLength getStartOffset()\r
+{\r
+}\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
+\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
+\r
+//####################################################################\r
+//# SVGTextPositioningElement\r
+//####################################################################\r
+\r
+\r
+/**\r
+ * Corresponds to attribute x on the given element.\r
+ */\r
+SVGAnimatedLength getX()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute y on the given element.\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute dx on the given element.\r
+ */\r
+SVGAnimatedLength getDx()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute dy on the given element.\r
+ */\r
+SVGAnimatedLength getDy()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * Corresponds to attribute rotate on the given element.\r
+ */\r
+SVGAnimatedNumberList getRotate()\r
+{\r
+}\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
+\r
+/**\r
+ * Corresponds to attribute y on the given 'use' element.\r
+ */\r
+SVGAnimatedLength getY()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute width on the given 'use' element.\r
+ */\r
+SVGAnimatedLength getWidth()\r
+{\r
+}\r
+\r
+/**\r
+ * Corresponds to attribute height on the given 'use' element.\r
+ */\r
+SVGAnimatedLength getHeight()\r
+{\r
+}\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
+\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
+\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::~SVGElement()\r
+{\r
+}\r
+\r
+\r
+\r
+\r
+/*#########################################################################\r
+## SVGDocument\r
+#########################################################################*/\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 SVGDocument::getTitle()\r
+{\r
+}\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 SVGDocument::getReferrer()\r
+{\r
+}\r
+\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 SVGDocument::getDomain()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * The complete URI of the document.\r
+ */\r
+DOMString SVGDocument::getURL()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * The root 'svg' element in the document hierarchy.\r
+ */\r
+SVGElementPtr SVGDocument::getRootElement()\r
+{\r
+}\r
+\r
+\r
+/**\r
+ * Overloaded from Document\r
+ * \r
+ */\r
+ElementPtr SVGDocument::createElement(const DOMString &tagName)\r
+{\r
+ ElementPtr ptr;\r
+ return ptr;\r
+}\r
+\r
+\r
+/**\r
+ * Overloaded from Document\r
+ * \r
+ */\r
+ElementPtr SVGDocument::createElementNS(const DOMString &tagName,\r
+ const DOMString &namespaceURI)\r
+{\r
+ ElementPtr ptr;\r
+ return ptr;\r
+}\r
+\r
+\r
+/**\r
+ * The root 'svg' element in the document hierarchy.\r
+ */\r
+SVGElementPtr SVGDocument::getRootElement()\r
+{\r
+}\r
+\r
+\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+SVGDocument::~SVGDocument()\r
+{\r
+}\r
+\r
+\r
+\r
+/*#########################################################################\r
+## GetSVGDocument\r
+#########################################################################*/\r
+\r
+\r
+/**\r
+ * Returns the SVGDocument object for the referenced SVG document.\r
+ */\r
+SVGDocumentPtr GetSVGDocument::getSVGDocument()\r
+ throw (DOMException)\r
+{\r
+ SVGDocumentPtr ptr;\r
+ return ptr;\r
+}\r
+\r
+//##################\r
+//# Non-API methods\r
+//##################\r
+\r
+/**\r
+ *\r
+ */\r
+GetSVGDocument::~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