From 0af3e1af08adaa29759a04ae644845f03d67d408 Mon Sep 17 00:00:00 2001 From: ishmal Date: Tue, 17 Jun 2008 21:18:19 +0000 Subject: [PATCH] work in progress --- src/dom/svg2.h | 6658 +++++++------------------------------- src/dom/work/svg2.cpp | 7049 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 8220 insertions(+), 5487 deletions(-) create mode 100644 src/dom/work/svg2.cpp diff --git a/src/dom/svg2.h b/src/dom/svg2.h index 4f9b78ecb..97a534d04 100644 --- a/src/dom/svg2.h +++ b/src/dom/svg2.h @@ -92,358 +92,235 @@ typedef Ptr SVGElementPtr; class SVGDocument; typedef Ptr SVGDocumentPtr; + + //######################################################################## //######################################################################## -//######################################################################## -//# I N T E R F A C E S -//######################################################################## +//# V A L U E S //######################################################################## //######################################################################## + + /*######################################################################### -## SVGMatrix +## SVGAngle #########################################################################*/ /** - * In SVG, a Matrix is defined like this: - * - * | a c e | - * | b d f | - * | 0 0 1 | * */ -class SVGMatrix +class SVGAngle { public: + /** + * Angle Unit Types + */ + typedef enum + { + SVG_ANGLETYPE_UNKNOWN = 0, + SVG_ANGLETYPE_UNSPECIFIED = 1, + SVG_ANGLETYPE_DEG = 2, + SVG_ANGLETYPE_RAD = 3, + SVG_ANGLETYPE_GRAD = 4 + } AngleUnitType; + + /** * */ - virtual double getA() - { return a; } + unsigned short getUnitType(); /** * */ - virtual void setA(double val) throw (DOMException) - { a = val; } + double getValue(); /** * */ - virtual double getB() - { return b; } + void setValue(double val) throw(DOMException); /** * */ - virtual void setB(double val) throw (DOMException) - { b = val; } + double getValueInSpecifiedUnits(); /** * */ - virtual double getC() - { return c; } + void setValueInSpecifiedUnits(double /*val*/) + throw(DOMException); /** * */ - virtual void setC(double val) throw (DOMException) - { c = val; } + DOMString getValueAsString(); /** * */ - virtual double getD() - { return d; } + void setValueAsString(const DOMString &/*val*/) + throw(DOMException); /** * */ - virtual void setD(double val) throw (DOMException) - { d = val; } + void newValueSpecifiedUnits(unsigned short /*unitType*/, + double /*valueInSpecifiedUnits*/); + /** * */ - virtual double getE() - { return e; } + void convertToSpecifiedUnits(unsigned short /*unitType*/); + + //################## + //# Non-API methods + //################## /** * */ - virtual void setE(double val) throw (DOMException) - { e = val; } + SVGAngle(); + /** * */ - virtual double getF() - { return f; } + SVGAngle(const SVGAngle &other); /** * */ - virtual void setF(double val) throw (DOMException) - { f = val; } + ~SVGAngle(); + +protected: + + int unitType; + + double value; + +}; + + + + +/*######################################################################### +## SVGColor +#########################################################################*/ + +/** + * + */ +class SVGColor : public css::CSSValue +{ +public: /** - * Return the result of postmultiplying this matrix with another. + * Color Types */ - virtual SVGMatrix multiply(const SVGMatrix &other) + typedef enum { - SVGMatrix result; - result.a = a * other.a + c * other.b; - result.b = b * other.a + d * other.b; - result.c = a * other.c + c * other.d; - result.d = b * other.c + d * other.d; - result.e = a * other.e + c * other.f + e; - result.f = b * other.e + d * other.f + f; - return result; - } + SVG_COLORTYPE_UNKNOWN = 0, + SVG_COLORTYPE_RGBCOLOR = 1, + SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2, + SVG_COLORTYPE_CURRENTCOLOR = 3 + } ColorType; + /** - * Calculate the inverse of this matrix * */ - virtual SVGMatrix inverse( ) throw( SVGException ) - { - /*########################################### - The determinant of a 3x3 matrix E - (let's use our own notation for a bit) - - A B C - D E F - G H I - is - AEI - AFH - BDI + BFG + CDH - CEG - - Since in our affine transforms, G and H==0 and I==1, - this reduces to: - AE - BD - In SVG's naming scheme, that is: a * d - c * b . SIMPLE! - - In a similar method of attack, SVG's adjunct matrix is: - - d -c cf-ed - -b a eb-af - 0 0 ad-cb - - To get the inverse matrix, we divide the adjunct matrix by - the determinant. Notice that (ad-cb)/(ad-cb)==1. Very cool. - So what we end up with is this: - - a = d/(ad-cb) c = -c/(ad-cb) e = (cf-ed)/(ad-cb) - b = -b/(ad-cb) d = a/(ad-cb) f = (eb-af)/(ad-cb) - - (Since this would be in all SVG-DOM implementations, - somebody needed to document this! ^^ ) - #############################################*/ - - SVGMatrix result; - double determinant = a * d - c * b; - if (determinant < 1.0e-18)//invertible? - { - result.identity();//cop out - return result; - } - - double idet = 1.0 / determinant; - result.a = d * idet; - result.b = -b * idet; - result.c = -c * idet; - result.d = a * idet; - result.e = (c*f - e*d) * idet; - result.f = (e*b - a*f) * idet; - return result; - } + unsigned short getColorType(); /** - * Equivalent to multiplying by: - * | 1 0 x | - * | 0 1 y | - * | 0 0 1 | * */ - virtual SVGMatrix translate(double x, double y ) - { - SVGMatrix result; - result.a = a; - result.b = b; - result.c = c; - result.d = d; - result.e = a * x + c * y + e; - result.f = b * x + d * y + f; - return result; - } + css::RGBColor getRgbColor(); /** - * Equivalent to multiplying by: - * | scale 0 0 | - * | 0 scale 0 | - * | 0 0 1 | * */ - virtual SVGMatrix scale(double scale) - { - SVGMatrix result; - result.a = a * scale; - result.b = b * scale; - result.c = c * scale; - result.d = d * scale; - result.e = e; - result.f = f; - return result; - } + SVGICCColor getIccColor(); + /** - * Equivalent to multiplying by: - * | scaleX 0 0 | - * | 0 scaleY 0 | - * | 0 0 1 | * */ - virtual SVGMatrix scaleNonUniform(double scaleX, - double scaleY ) - { - SVGMatrix result; - result.a = a * scaleX; - result.b = b * scaleX; - result.c = c * scaleY; - result.d = d * scaleY; - result.e = e; - result.f = f; - return result; - } + void setRGBColor(const DOMString& /*rgbColor*/) + throw(SVGException); /** - * Equivalent to multiplying by: - * | cos(a) -sin(a) 0 | - * | sin(a) cos(a) 0 | - * | 0 0 1 | * */ - virtual SVGMatrix rotate (double angle) - { - double sina = sin(angle); - double msina = -sina; - double cosa = cos(angle); - SVGMatrix result; - result.a = a * cosa + c * sina; - result.b = b * cosa + d + sina; - result.c = a * msina + c * cosa; - result.d = b * msina + d * cosa; - result.e = e; - result.f = f; - return result; - } + void setRGBColorICCColor(const DOMString& /*rgbColor*/, + const DOMString& /*iccColor*/) + throw(SVGException); /** - * Equivalent to multiplying by: - * | cos(a) -sin(a) 0 | - * | sin(a) cos(a) 0 | - * | 0 0 1 | - * In this case, angle 'a' is computed as the artangent - * of the slope y/x . It is negative if the slope is negative. + * */ - virtual SVGMatrix rotateFromVector(double x, double y) - throw( SVGException ) - { - double angle = atan(y / x); - if (y < 0.0) - angle = -angle; - SVGMatrix result; - double sina = sin(angle); - double msina = -sina; - double cosa = cos(angle); - result.a = a * cosa + c * sina; - result.b = b * cosa + d + sina; - result.c = a * msina + c * cosa; - result.d = b * msina + d * cosa; - result.e = e; - result.f = f; - return result; - } + void setColor(unsigned short /*colorType*/, + const DOMString& /*rgbColor*/, + const DOMString& /*iccColor*/) + throw(SVGException); + + //################## + //# Non-API methods + //################## /** - * Equivalent to multiplying by: - * | -1 0 0 | - * | 0 1 0 | - * | 0 0 1 | * */ - virtual SVGMatrix flipX( ) - { - SVGMatrix result; - result.a = -a; - result.b = -b; - result.c = c; - result.d = d; - result.e = e; - result.f = f; - return result; - } + SVGColor(); /** - * Equivalent to multiplying by: - * | 1 0 0 | - * | 0 -1 0 | - * | 0 0 1 | * */ - virtual SVGMatrix flipY( ) - { - SVGMatrix result; - result.a = a; - result.b = b; - result.c = -c; - result.d = -d; - result.e = e; - result.f = f; - return result; - } + SVGColor(const SVGColor &other) : css::CSSValue(other); /** - * | 1 tan(a) 0 | - * | 0 1 0 | - * | 0 0 1 | * */ - virtual SVGMatrix skewX(double angle) - { - double tana = tan(angle); - SVGMatrix result; - result.a = a; - result.b = b; - result.c = a * tana + c; - result.d = b * tana + d; - result.e = e; - result.f = f; - return result; - } + ~SVGColor(); + +protected: + + int colorType; + +}; + + + + +/*######################################################################### +## SVGICCColor +#########################################################################*/ + +/** + * + */ +class SVGICCColor +{ +public: /** - * Equivalent to multiplying by: - * | 1 0 0 | - * | tan(a) 1 0 | - * | 0 0 1 | * */ - virtual SVGMatrix skewY(double angle) - { - double tana = tan(angle); - SVGMatrix result; - result.a = a + c * tana; - result.b = b + d * tana; - result.c = c; - result.d = d; - result.e = e; - result.f = f; - return result; - } + DOMString getColorProfile(); + + /** + * + */ + void setColorProfile(const DOMString &val) throw(DOMException); + + /** + * + */ + SVGNumberList &getColors(); @@ -454,182 +331,100 @@ public: /** * */ - SVGMatrix() - { - identity(); - } + SVGICCColor(); /** * */ - SVGMatrix(double aArg, double bArg, double cArg, - double dArg, double eArg, double fArg ) - { - a = aArg; b = bArg; c = cArg; - d = dArg; e = eArg; f = fArg; - } - - /** - * Copy constructor - */ - SVGMatrix(const SVGMatrix &other) - { - a = other.a; - b = other.b; - c = other.c; - d = other.d; - e = other.e; - f = other.f; - } - - + SVGICCColor(const SVGICCColor &other); /** * */ - virtual ~SVGMatrix() {} + ~SVGICCColor(); protected: -friend class SVGTransform; - - /* - * Set to the identify matrix - */ - void identity() - { - a = 1.0; - b = 0.0; - c = 0.0; - d = 1.0; - e = 0.0; - f = 0.0; - } + DOMString colorProfile; - double a, b, c, d, e, f; + SVGNumberList colors; }; /*######################################################################### -## SVGTransform +## SVGLength #########################################################################*/ /** * */ -class SVGTransform +class SVGLength { public: /** - * Transform Types + * Length Unit Types */ typedef enum { - SVG_TRANSFORM_UNKNOWN = 0, - SVG_TRANSFORM_MATRIX = 1, - SVG_TRANSFORM_TRANSLATE = 2, - SVG_TRANSFORM_SCALE = 3, - SVG_TRANSFORM_ROTATE = 4, - SVG_TRANSFORM_SKEWX = 5, - SVG_TRANSFORM_SKEWY = 6, - } TransformType; + SVG_LENGTHTYPE_UNKNOWN = 0, + SVG_LENGTHTYPE_NUMBER = 1, + SVG_LENGTHTYPE_PERCENTAGE = 2, + SVG_LENGTHTYPE_EMS = 3, + SVG_LENGTHTYPE_EXS = 4, + SVG_LENGTHTYPE_PX = 5, + SVG_LENGTHTYPE_CM = 6, + SVG_LENGTHTYPE_MM = 7, + SVG_LENGTHTYPE_IN = 8, + SVG_LENGTHTYPE_PT = 9, + SVG_LENGTHTYPE_PC = 10 + } LengthUnitType; /** * */ - virtual unsigned short getType() - { return type; } - + unsigned short getUnitType(); /** * */ - virtual SVGMatrix getMatrix() - { - return matrix; - } + double getValue(); /** * */ - virtual double getAngle() - { - return angle; - } - + void setValue(double val) throw(DOMException); /** * */ - virtual void setMatrix(const SVGMatrix &matrixArg) - { - type = SVG_TRANSFORM_MATRIX; - matrix = matrixArg; - } + double getValueInSpecifiedUnits(); /** * */ - virtual void setTranslate (double tx, double ty ) - { - type = SVG_TRANSFORM_TRANSLATE; - matrix.setA(1.0); - matrix.setB(0.0); - matrix.setC(0.0); - matrix.setD(1.0); - matrix.setE(tx); - matrix.setF(ty); - } + void setValueInSpecifiedUnits(double /*val*/) throw(DOMException); /** * */ - virtual void setScale (double sx, double sy ) - { - type = SVG_TRANSFORM_SCALE; - matrix.setA(sx); - matrix.setB(0.0); - matrix.setC(0.0); - matrix.setD(sy); - matrix.setE(0.0); - matrix.setF(0.0); - } + DOMString getValueAsString(); /** * */ - virtual void setRotate (double angleArg, double cx, double cy) - { - angle = angleArg; - setTranslate(cx, cy); - type = SVG_TRANSFORM_ROTATE; - matrix.rotate(angle); - } + void setValueAsString(const DOMString& /*val*/) throw(DOMException); /** * */ - virtual void setSkewX (double angleArg) - { - angle = angleArg; - type = SVG_TRANSFORM_SKEWX; - matrix.identity(); - matrix.skewX(angle); - } + void newValueSpecifiedUnits(unsigned short /*unitType*/, double /*val*/); /** * */ - virtual void setSkewY (double angleArg) - { - angle = angleArg; - type = SVG_TRANSFORM_SKEWY; - matrix.identity(); - matrix.skewY(angle); - } - + void convertToSpecifiedUnits(unsigned short /*unitType*/); //################## //# Non-API methods @@ -638,49 +433,39 @@ public: /** * */ - SVGTransform() - { - type = SVG_TRANSFORM_UNKNOWN; - angle = 0.0; - } + SVGLength(); /** * */ - SVGTransform(const SVGTransform &other) - { - type = other.type; - angle = other.angle; - matrix = other.matrix; - } + SVGLength(const SVGLength &other); /** * */ - virtual ~SVGTransform() - {} + ~SVGLength(); protected: - int type; - double angle; - - SVGMatrix matrix; -}; - - - + int unitType; + double value; +}; /*######################################################################### -## SVGTransformList +## SVGMatrix #########################################################################*/ /** + * In SVG, a Matrix is defined like this: + * + * | a c e | + * | b d f | + * | 0 0 1 | * */ -class SVGTransformList +class SVGMatrix { public: @@ -688,479 +473,247 @@ public: /** * */ - virtual unsigned long getNumberOfItems() - { return items.size(); } - + double getA(); /** * */ - virtual void clear( ) throw( DOMException ) - { items.clear(); } + void setA(double val) throw(DOMException); /** * */ - virtual SVGTransform initialize (const SVGTransform &newItem) - throw( DOMException, SVGException ) - { - items.clear(); - items.push_back(newItem); - return newItem; - } + double getB(); /** * */ - virtual SVGTransform getItem (unsigned long index ) - throw( DOMException ) - { - if (index>=items.size()) - { - SVGTransform transform; - return transform; - } - return items[index]; - } + void setB(double val) throw(DOMException); /** * */ - virtual SVGTransform insertItemBefore (const SVGTransform &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index > items.size()) - items.push_back(newItem); - else - { - std::vector::iterator iter = items.begin() + index; - items.insert(iter, newItem); - } - return newItem; - } + double getC(); /** * */ - virtual SVGTransform replaceItem (const SVGTransform &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index>=items.size()) - { - SVGTransform transform; - return transform; - } - else - { - std::vector::iterator iter = items.begin() + index; - *iter = newItem; - } - return newItem; - } + void setC(double val) throw(DOMException); /** * */ - virtual SVGTransform removeItem (unsigned long index ) - throw( DOMException ) - { - if (index>=items.size()) - { - SVGTransform transform; - return transform; - } - std::vector::iterator iter = items.begin() + index; - SVGTransform oldItem = *iter; - items.erase(iter); - return oldItem; - } + double getD(); /** * */ - virtual SVGTransform appendItem (const SVGTransform &newItem) - throw( DOMException, SVGException ) - { - items.push_back(newItem); - return newItem; - } + void setD(double val) throw(DOMException); /** * */ - virtual SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix) - { - SVGTransform transform; - transform.setMatrix(matrix); - return transform; - } + double getE(); /** * */ - virtual SVGTransform consolidate() - { - SVGMatrix matrix; - for (unsigned int i=0 ; i items; - -}; - - - - - - -/*######################################################################### -## SVGAnimatedTransformList -#########################################################################*/ - -/** - * - */ -class SVGAnimatedTransformList -{ -public: + SVGMatrix multiply(const SVGMatrix &other); /** + * Calculate the inverse of this matrix * - */ - virtual SVGTransformList getBaseVal() - { return baseVal; } - - /** * - */ - virtual SVGTransformList getAnimVal() - { return animVal; } - - - - //################## - //# Non-API methods - //################## - - /** + * The determinant of a 3x3 matrix E + * (let's use our own notation for a bit) * - */ - SVGAnimatedTransformList() - {} - - /** + * A B C + * D E F + * G H I + * is + * AEI - AFH - BDI + BFG + CDH - CEG * - */ - SVGAnimatedTransformList(const SVGAnimatedTransformList &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } - - /** + * Since in our affine transforms, G and H==0 and I==1, + * this reduces to: + * AE - BD + * In SVG's naming scheme, that is: a * d - c * b . SIMPLE! + * + * In a similar method of attack, SVG's adjunct matrix is: + * + * d -c cf-ed + * -b a eb-af + * 0 0 ad-cb + * + * To get the inverse matrix, we divide the adjunct matrix by + * the determinant. Notice that(ad-cb)/(ad-cb)==1. Very cool. + * So what we end up with is this: + * + * a = d/(ad-cb) c = -c/(ad-cb) e =(cf-ed)/(ad-cb) + * b = -b/(ad-cb) d = a/(ad-cb) f =(eb-af)/(ad-cb) + * + * (Since this would be in all SVG-DOM implementations, + * somebody needed to document this! ^^) * */ - virtual ~SVGAnimatedTransformList() {} - -protected: - - SVGTransformList baseVal; - SVGTransformList animVal; - -}; - - - - -/*######################################################################### -## SVGAnimatedBoolean -#########################################################################*/ - -/** - * - */ -class SVGAnimatedBoolean -{ -public: + SVGMatrix inverse() throw(SVGException); /** + * Equivalent to multiplying by: + * | 1 0 x | + * | 0 1 y | + * | 0 0 1 | * */ - virtual bool getBaseVal() - { - return baseVal; - } + SVGMatrix translate(double x, double y); /** + * Equivalent to multiplying by: + * | scale 0 0 | + * | 0 scale 0 | + * | 0 0 1 | * */ - virtual void setBaseVal(bool val) throw (DOMException) - { - baseVal = val; - } + SVGMatrix scale(double scale); /** + * Equivalent to multiplying by: + * | scaleX 0 0 | + * | 0 scaleY 0 | + * | 0 0 1 | * */ - virtual bool getAnimVal() - { - return animVal; - } - - - //################## - //# Non-API methods - //################## + SVGMatrix scaleNonUniform(double scaleX, double scaleY); /** + * Equivalent to multiplying by: + * | cos(a) -sin(a) 0 | + * | sin(a) cos(a) 0 | + * | 0 0 1 | * */ - SVGAnimatedBoolean() - { - baseVal = animVal = false; - } + SVGMatrix rotate(double angle); /** - * + * Equivalent to multiplying by: + * | cos(a) -sin(a) 0 | + * | sin(a) cos(a) 0 | + * | 0 0 1 | + * In this case, angle 'a' is computed as the artangent + * of the slope y/x . It is negative if the slope is negative. */ - SVGAnimatedBoolean(const SVGAnimatedBoolean &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } + SVGMatrix rotateFromVector(double x, double y) throw(SVGException); /** + * Equivalent to multiplying by: + * | -1 0 0 | + * | 0 1 0 | + * | 0 0 1 | * */ - virtual ~SVGAnimatedBoolean() {} - -protected: - - bool baseVal, animVal; - -}; - - - - -/*######################################################################### -## SVGAnimatedString -#########################################################################*/ - -/** - * - */ -class SVGAnimatedString -{ -public: + SVGMatrix flipX(); /** + * Equivalent to multiplying by: + * | 1 0 0 | + * | 0 -1 0 | + * | 0 0 1 | * */ - virtual DOMString getBaseVal() - { - return baseVal; - } + SVGMatrix flipY(); /** + * | 1 tan(a) 0 | + * | 0 1 0 | + * | 0 0 1 | * */ - virtual void setBaseVal(const DOMString &val) - throw (DOMException) - { - baseVal = val; - } + SVGMatrix skewX(double angle); /** + * Equivalent to multiplying by: + * | 1 0 0 | + * | tan(a) 1 0 | + * | 0 0 1 | * */ - virtual DOMString getAnimVal() - { - return animVal; - } + SVGMatrix skewY(double angle); //################## //# Non-API methods //################## - /** * */ - SVGAnimatedString() - { - baseVal = ""; - animVal = ""; - } + SVGMatrix(); /** * */ - SVGAnimatedString(const SVGAnimatedString &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } + SVGMatrix(double aArg, double bArg, double cArg, + double dArg, double eArg, double fArg); + + /** + * Copy constructor + */ + SVGMatrix(const SVGMatrix &other); /** * */ - virtual ~SVGAnimatedString() {} + ~SVGMatrix() {} protected: - DOMString baseVal, animVal; - -}; +friend class SVGTransform; + /* + * Set to the identify matrix + */ + void identity(); + double a, b, c, d, e, f; +}; /*######################################################################### -## SVGStringList +## SVGNumber #########################################################################*/ /** * */ -class SVGStringList +class SVGNumber { public: - - /** - * - */ - virtual unsigned long getNumberOfItems() - { - return items.size(); - } - - /** - * - */ - virtual void clear () throw( DOMException ) - { - items.clear(); - } - - /** - * - */ - virtual DOMString initialize ( const DOMString& newItem ) - throw( DOMException, SVGException ) - { - items.clear(); - items.push_back(newItem); - return newItem; - } - - /** - * - */ - virtual DOMString getItem ( unsigned long index ) - throw( DOMException ) - { - if (index >= items.size()) - return ""; - return items[index]; - } - - /** - * - */ - virtual DOMString insertItemBefore ( const DOMString& newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index>=items.size()) - { - items.push_back(newItem); - } - else - { - std::vector::iterator iter = items.begin() + index; - items.insert(iter, newItem); - } - return newItem; - } - - /** - * - */ - virtual DOMString replaceItem ( const DOMString& newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index>=items.size()) - return ""; - std::vector::iterator iter = items.begin() + index; - *iter = newItem; - return newItem; - } - /** * */ - virtual DOMString removeItem ( unsigned long index ) - throw( DOMException ) - { - if (index>=items.size()) - return ""; - std::vector::iterator iter = items.begin() + index; - DOMString oldstr = *iter; - items.erase(iter); - return oldstr; - } + double getValue(); /** * */ - virtual DOMString appendItem ( const DOMString& newItem ) - throw( DOMException, SVGException ) - { - items.push_back(newItem); - return newItem; - } - - + void setValue(double val) throw(DOMException); //################## //# Non-API methods @@ -1169,2894 +722,100 @@ public: /** * */ - SVGStringList() {} + SVGNumber(); /** * */ - SVGStringList(const SVGStringList &other) - { - items = other.items; - } + SVGNumber(const SVGNumber &other); /** * */ - virtual ~SVGStringList() {} + ~SVGNumber(); protected: - std::vectoritems; + double value; }; - - - - /*######################################################################### -## SVGAnimatedEnumeration +## SVGPoint #########################################################################*/ /** * */ -class SVGAnimatedEnumeration +class SVGPoint { public: /** * */ - virtual unsigned short getBaseVal() - { - return baseVal; - } + double getX(); /** * */ - virtual void setBaseVal(unsigned short val) - throw (DOMException) - { - baseVal = val; - } + void setX(double val) throw(DOMException); /** * */ - virtual unsigned short getAnimVal() - { - return animVal; - } + double getY(); + /** + * + */ + void setY(double val) throw(DOMException); + /** + * + */ + SVGPoint matrixTransform(const SVGMatrix &/*matrix*/); //################## //# Non-API methods //################## - /** * */ - SVGAnimatedEnumeration() - { - baseVal = animVal = 0; - } + SVGPoint(); /** * */ - SVGAnimatedEnumeration(const SVGAnimatedEnumeration &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } + SVGPoint(const SVGPoint &other); /** * */ - virtual ~SVGAnimatedEnumeration() {} + ~SVGPoint(); protected: - int baseVal, animVal; - + double x, y; }; - - - /*######################################################################### -## SVGAnimatedInteger +## SVGPathSeg #########################################################################*/ /** * */ -class SVGAnimatedInteger +class SVGPathSeg { public: - - /** - * - */ - virtual long getBaseVal() - { - return baseVal; - } - - /** - * - */ - virtual void setBaseVal(long val) throw (DOMException) - { - baseVal = val; - } - - /** - * - */ - virtual long getAnimVal() - { - return animVal; - } - - - - //################## - //# Non-API methods - //################## - - - /** - * - */ - SVGAnimatedInteger() - { baseVal = animVal = 0L;} - - /** - * + * Path Segment Types */ - SVGAnimatedInteger(long value) - { - baseVal = value; - animVal = 0L; - } - - /** - * - */ - SVGAnimatedInteger(long baseValArg, long animValArg) - { - baseVal = baseValArg; - animVal = animValArg; - } - - - /** - * - */ - SVGAnimatedInteger(const SVGAnimatedInteger &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } - - /** - * - */ - virtual ~SVGAnimatedInteger() {} - -protected: - - long baseVal, animVal; - -}; - - - - - -/*######################################################################### -## SVGNumber -#########################################################################*/ - -/** - * - */ -class SVGNumber -{ -public: - - - /** - * - */ - virtual double getValue() - { - return value; - } - - /** - * - */ - virtual void setValue(double val) throw (DOMException) - { - value = val; - } - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGNumber() - { - value = 0.0; - } - - /** - * - */ - SVGNumber(const SVGNumber &other) - { - value = other.value; - } - - /** - * - */ - virtual ~SVGNumber() {} - -protected: - - double value; - -}; - - - - - -/*######################################################################### -## SVGAnimatedNumber -#########################################################################*/ - -/** - * - */ -class SVGAnimatedNumber -{ -public: - - - - /** - * - */ - virtual double getBaseVal() - { - return baseVal; - } - - /** - * - */ - virtual void setBaseVal(double val) throw (DOMException) - { - baseVal = val; - } - - /** - * - */ - virtual double getAnimVal() - { - return animVal; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGAnimatedNumber() - { - baseVal = animVal = 0.0; - } - - - /** - * - */ - SVGAnimatedNumber(double val) - { - baseVal = val; - animVal = 0.0; - } - - - /** - * - */ - SVGAnimatedNumber(double baseValArg, double animValArg) - { - baseVal = baseValArg; - animVal = animValArg; - } - - /** - * - */ - SVGAnimatedNumber(const SVGAnimatedNumber &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } - - /** - * - */ - virtual ~SVGAnimatedNumber() {} - -protected: - - double baseVal, animVal; - -}; - - - - - -/*######################################################################### -## SVGNumberList -#########################################################################*/ - -/** - * - */ -class SVGNumberList -{ -public: - - /** - * - */ - virtual unsigned long getNumberOfItems() - { - return items.size(); - } - - - /** - * - */ - virtual void clear() throw( DOMException ) - { - items.clear(); - } - - /** - * - */ - virtual SVGNumber initialize (const SVGNumber &newItem) - throw( DOMException, SVGException ) - { - items.clear(); - items.push_back(newItem); - return newItem; - } - - /** - * - */ - virtual SVGNumber getItem ( unsigned long index ) - throw( DOMException ) - { - if (index>=items.size()) - { - SVGNumber num; - return num; - } - return items[index]; - } - - /** - * - */ - virtual SVGNumber insertItemBefore ( const SVGNumber &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index>=items.size()) - { - items.push_back(newItem); - } - else - { - std::vector::iterator iter = items.begin() + index; - items.insert(iter, newItem); - } - return newItem; - } - - /** - * - */ - virtual SVGNumber replaceItem ( const SVGNumber &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index>=items.size()) - { - SVGNumber num; - return num; - } - std::vector::iterator iter = items.begin() + index; - *iter = newItem; - return newItem; - } - - /** - * - */ - virtual SVGNumber removeItem ( unsigned long index ) - throw( DOMException ) - { - if (index>=items.size()) - { - SVGNumber num; - return num; - } - std::vector::iterator iter = items.begin() + index; - SVGNumber oldval = *iter; - items.erase(iter); - return oldval; - } - - /** - * - */ - virtual SVGNumber appendItem ( const SVGNumber &newItem ) - throw( DOMException, SVGException ) - { - items.push_back(newItem); - return newItem; - } - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGNumberList() {} - - /** - * - */ - SVGNumberList(const SVGNumberList &other) - { - items = other.items; - } - - /** - * - */ - virtual ~SVGNumberList() {} - -protected: - - std::vectoritems; - -}; - - - - - -/*######################################################################### -## SVGAnimatedNumberList -#########################################################################*/ - -/** - * - */ -class SVGAnimatedNumberList -{ -public: - - - /** - * - */ - virtual SVGNumberList &getBaseVal() - { - return baseVal; - } - - /** - * - */ - virtual SVGNumberList &getAnimVal() - { - return animVal; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGAnimatedNumberList() {} - - /** - * - */ - SVGAnimatedNumberList(const SVGAnimatedNumberList &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } - - /** - * - */ - virtual ~SVGAnimatedNumberList() {} - -protected: - - SVGNumberList baseVal; - SVGNumberList animVal; - -}; - - - - - - -/*######################################################################### -## SVGLength -#########################################################################*/ - -/** - * - */ -class SVGLength -{ -public: - - /** - * Length Unit Types - */ - typedef enum - { - SVG_LENGTHTYPE_UNKNOWN = 0, - SVG_LENGTHTYPE_NUMBER = 1, - SVG_LENGTHTYPE_PERCENTAGE = 2, - SVG_LENGTHTYPE_EMS = 3, - SVG_LENGTHTYPE_EXS = 4, - SVG_LENGTHTYPE_PX = 5, - SVG_LENGTHTYPE_CM = 6, - SVG_LENGTHTYPE_MM = 7, - SVG_LENGTHTYPE_IN = 8, - SVG_LENGTHTYPE_PT = 9, - SVG_LENGTHTYPE_PC = 10 - } LengthUnitType; - - - /** - * - */ - virtual unsigned short getUnitType( ) - { - return unitType; - } - - /** - * - */ - virtual double getValue( ) - { - return value; - } - - /** - * - */ - virtual void setValue( double val ) throw (DOMException) - { - value = val; - } - - /** - * - */ - virtual double getValueInSpecifiedUnits( ) - { - double result = 0.0; - //fill this in - return result; - } - - /** - * - */ - virtual void setValueInSpecifiedUnits( double /*val*/ ) - throw (DOMException) - { - //fill this in - } - - /** - * - */ - virtual DOMString getValueAsString( ) - { - DOMString ret; - char buf[32]; - snprintf(buf, 31, "%f", value); - ret.append(buf); - return ret; - } - - /** - * - */ - virtual void setValueAsString( const DOMString& /*val*/ ) - throw (DOMException) - { - } - - - /** - * - */ - virtual void newValueSpecifiedUnits ( unsigned short /*unitType*/, double /*val*/ ) - { - } - - /** - * - */ - virtual void convertToSpecifiedUnits ( unsigned short /*unitType*/ ) - { - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGLength() - { - unitType = SVG_LENGTHTYPE_UNKNOWN; - value = 0.0; - } - - - /** - * - */ - SVGLength(const SVGLength &other) - { - unitType = other.unitType; - value = other.value; - } - - /** - * - */ - virtual ~SVGLength() {} - -protected: - - int unitType; - - double value; - -}; - - - - - - -/*######################################################################### -## SVGAnimatedLength -#########################################################################*/ - -/** - * - */ -class SVGAnimatedLength -{ -public: - - /** - * - */ - virtual SVGLength &getBaseVal() - { - return baseVal; - } - - /** - * - */ - virtual SVGLength &getAnimVal() - { - return animVal; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGAnimatedLength() {} - - /** - * - */ - SVGAnimatedLength(const SVGAnimatedLength &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } - - /** - * - */ - virtual ~SVGAnimatedLength() {} - -protected: - - SVGLength baseVal, animVal; - -}; - - - - - - -/*######################################################################### -## SVGLengthList -#########################################################################*/ - -/** - * - */ -class SVGLengthList -{ -public: - - /** - * - */ - virtual unsigned long getNumberOfItems() - { - return items.size(); - } - - - /** - * - */ - virtual void clear ( ) throw( DOMException ) - { - items.clear(); - } - - /** - * - */ - virtual SVGLength initialize (const SVGLength &newItem ) - throw( DOMException, SVGException ) - { - items.clear(); - items.push_back(newItem); - return newItem; - } - - /** - * - */ - virtual SVGLength getItem (unsigned long index) - throw( DOMException ) - { - if (index>=items.size()) - { - SVGLength ret; - return ret; - } - return items[index]; - } - - /** - * - */ - virtual SVGLength insertItemBefore (const SVGLength &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index>=items.size()) - { - items.push_back(newItem); - } - else - { - std::vector::iterator iter = items.begin() + index; - items.insert(iter, newItem); - } - return newItem; - } - - /** - * - */ - virtual SVGLength replaceItem (const SVGLength &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index>=items.size()) - { - SVGLength ret; - return ret; - } - std::vector::iterator iter = items.begin() + index; - *iter = newItem; - return newItem; - } - - /** - * - */ - virtual SVGLength removeItem (unsigned long index ) - throw( DOMException ) - { - if (index>=items.size()) - { - SVGLength ret; - return ret; - } - std::vector::iterator iter = items.begin() + index; - SVGLength oldval = *iter; - items.erase(iter); - return oldval; - } - - /** - * - */ - virtual SVGLength appendItem (const SVGLength &newItem ) - throw( DOMException, SVGException ) - { - items.push_back(newItem); - return newItem; - } - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGLengthList() {} - - /** - * - */ - SVGLengthList(const SVGLengthList &other) - { - items = other.items; - } - - /** - * - */ - virtual ~SVGLengthList() {} - -protected: - - std::vectoritems; - -}; - - - - - - -/*######################################################################### -## SVGAnimatedLengthList -#########################################################################*/ - -/** - * - */ -class SVGAnimatedLengthList -{ -public: - - /** - * - */ - virtual SVGLengthList &getBaseVal() - { - return baseVal; - } - - /** - * - */ - virtual SVGLengthList &getAnimVal() - { - return animVal; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGAnimatedLengthList() {} - - /** - * - */ - SVGAnimatedLengthList(const SVGAnimatedLengthList &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } - - /** - * - */ - virtual ~SVGAnimatedLengthList() {} - -protected: - - SVGLengthList baseVal, animVal; - -}; - - - - - - -/*######################################################################### -## SVGAngle -#########################################################################*/ - -/** - * - */ -class SVGAngle -{ -public: - - /** - * Angle Unit Types - */ - typedef enum - { - SVG_ANGLETYPE_UNKNOWN = 0, - SVG_ANGLETYPE_UNSPECIFIED = 1, - SVG_ANGLETYPE_DEG = 2, - SVG_ANGLETYPE_RAD = 3, - SVG_ANGLETYPE_GRAD = 4 - } AngleUnitType; - - - - /** - * - */ - virtual unsigned short getUnitType() - { - return unitType; - } - - /** - * - */ - virtual double getValue() - { - return value; - } - - /** - * - */ - virtual void setValue(double val) throw (DOMException) - { - value = val; - } - - /** - * - */ - virtual double getValueInSpecifiedUnits() - { - double result = 0.0; - //convert here - return result; - } - - /** - * - */ - virtual void setValueInSpecifiedUnits(double /*val*/) - throw (DOMException) - { - //do conversion - } - - /** - * - */ - virtual DOMString getValueAsString() - { - DOMString result; - char buf[32]; - snprintf(buf, 31, "%f", value); - result.append(buf); - return result; - } - - /** - * - */ - virtual void setValueAsString(const DOMString &/*val*/) - throw (DOMException) - { - //convert here - } - - - /** - * - */ - virtual void newValueSpecifiedUnits (unsigned short /*unitType*/, - double /*valueInSpecifiedUnits*/ ) - { - //convert here - } - - /** - * - */ - virtual void convertToSpecifiedUnits (unsigned short /*unitType*/ ) - { - //convert here - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGAngle() - { - unitType = SVG_ANGLETYPE_UNKNOWN; - value = 0.0; - } - - /** - * - */ - SVGAngle(const SVGAngle &other) - { - unitType = other.unitType; - value = other.value; - } - - /** - * - */ - virtual ~SVGAngle() {} - -protected: - - int unitType; - - double value; - -}; - - - - - - -/*######################################################################### -## SVGAnimatedAngle -#########################################################################*/ - -/** - * - */ -class SVGAnimatedAngle -{ -public: - - /** - * - */ - virtual SVGAngle getBaseVal() - { - return baseVal; - } - - /** - * - */ - virtual SVGAngle getAnimVal() - { - return animVal; - } - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGAnimatedAngle() {} - - /** - * - */ - SVGAnimatedAngle(const SVGAngle &angle) - { baseVal = angle; } - - /** - * - */ - SVGAnimatedAngle(const SVGAnimatedAngle &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } - - /** - * - */ - virtual ~SVGAnimatedAngle() {} - -protected: - - SVGAngle baseVal, animVal; - -}; - - - - - - -/*######################################################################### -## SVGICCColor -#########################################################################*/ - -/** - * - */ -class SVGICCColor -{ -public: - - /** - * - */ - virtual DOMString getColorProfile() - { - return colorProfile; - } - - /** - * - */ - virtual void setColorProfile(const DOMString &val) throw (DOMException) - { - colorProfile = val; - } - - /** - * - */ - virtual SVGNumberList &getColors() - { - return colors; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGICCColor() {} - - /** - * - */ - SVGICCColor(const SVGICCColor &other) - { - colorProfile = other.colorProfile; - colors = other.colors; - } - - /** - * - */ - virtual ~SVGICCColor() {} - -protected: - - DOMString colorProfile; - - SVGNumberList colors; - -}; - - -/*######################################################################### -## SVGColor -#########################################################################*/ - -/** - * - */ -class SVGColor : virtual public css::CSSValue -{ -public: - - - /** - * Color Types - */ - typedef enum - { - SVG_COLORTYPE_UNKNOWN = 0, - SVG_COLORTYPE_RGBCOLOR = 1, - SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2, - SVG_COLORTYPE_CURRENTCOLOR = 3 - } ColorType; - - - /** - * - */ - virtual unsigned short getColorType() - { - return colorType; - } - - /** - * - */ - virtual css::RGBColor getRgbColor() - { - css::RGBColor col; - return col; - } - - /** - * - */ - virtual SVGICCColor getIccColor() - { - SVGICCColor col; - return col; - } - - - /** - * - */ - virtual void setRGBColor (const DOMString& /*rgbColor*/ ) - throw( SVGException ) - { - } - - /** - * - */ - virtual void setRGBColorICCColor (const DOMString& /*rgbColor*/, - const DOMString& /*iccColor*/ ) - throw( SVGException ) - { - } - - /** - * - */ - virtual void setColor (unsigned short /*colorType*/, - const DOMString& /*rgbColor*/, - const DOMString& /*iccColor*/ ) - throw( SVGException ) - { - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGColor() - { - colorType = SVG_COLORTYPE_UNKNOWN; - } - - /** - * - */ - SVGColor(const SVGColor &other) : css::CSSValue(other) - { - colorType = other.colorType; - } - - /** - * - */ - virtual ~SVGColor() {} - -protected: - - int colorType; - -}; - - - - - - - - - - -/*######################################################################### -## SVGRect -#########################################################################*/ - -/** - * - */ -class SVGRect -{ -public: - - /** - * - */ - virtual double getX() - { - return x; - } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { - x = val; - } - - /** - * - */ - virtual double getY() - { - return y; - } - - /** - * - */ - virtual void setY(double val) throw (DOMException) - { - y = val; - } - - /** - * - */ - virtual double getWidth() - { - return width; - } - - /** - * - */ - virtual void setWidth(double val) throw (DOMException) - { - width = val; - } - - /** - * - */ - virtual double getHeight() - { - return height; - } - - /** - * - */ - virtual void setHeight(double val) throw (DOMException) - { - height = val; - } - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGRect() - { - x = y = width = height = 0.0; - } - - /** - * - */ - SVGRect(const SVGRect &other) - { - x = other.x; - y = other.y; - width = other.width; - height = other.height; - } - - /** - * - */ - virtual ~SVGRect() {} - -protected: - - double x, y, width, height; - -}; - - - - - - -/*######################################################################### -## SVGAnimatedRect -#########################################################################*/ - -/** - * - */ -class SVGAnimatedRect -{ -public: - - /** - * - */ - virtual SVGRect &getBaseVal() - { - return baseVal; - } - - /** - * - */ - virtual SVGRect &getAnimVal() - { - return animVal; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGAnimatedRect() - { - } - - /** - * - */ - SVGAnimatedRect(const SVGAnimatedRect &other) - { - baseVal = other.baseVal; - animVal = other.animVal; - } - - /** - * - */ - virtual ~SVGAnimatedRect() {} - -protected: - - SVGRect baseVal, animVal; - -}; - - - -/*######################################################################### -## SVGPoint -#########################################################################*/ - -/** - * - */ -class SVGPoint -{ -public: - - - - /** - * - */ - virtual double getX() - { return x; } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { x = val; } - - /** - * - */ - virtual double getY() - { return y; } - - /** - * - */ - virtual void setY(double val) throw (DOMException) - { y = val; } - - /** - * - */ - virtual SVGPoint matrixTransform(const SVGMatrix &/*matrix*/) - { - SVGPoint point; - return point; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGPoint() - { x = y = 0; } - - /** - * - */ - SVGPoint(const SVGPoint &other) - { - x = other.x; - y = other.y; - } - - /** - * - */ - virtual ~SVGPoint() {} - -protected: - - double x, y; -}; - - - - - - -/*######################################################################### -## SVGPointList -#########################################################################*/ - -/** - * - */ -class SVGPointList -{ -public: - - /** - * - */ - virtual unsigned long getNumberOfItems() - { return items.size(); } - - /** - * - */ - virtual void clear() throw( DOMException ) - { items.clear(); } - - /** - * - */ - virtual SVGPoint initialize(const SVGPoint &newItem) - throw( DOMException, SVGException ) - { - items.clear(); - items.push_back(newItem); - return newItem; - } - - /** - * - */ - virtual SVGPoint getItem(unsigned long index ) - throw( DOMException ) - { - if (index >= items.size()) - { - SVGPoint point; - return point; - } - return items[index]; - } - - /** - * - */ - virtual SVGPoint insertItemBefore(const SVGPoint &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index >= items.size()) - items.push_back(newItem); - else - { - std::vector::iterator iter = items.begin() + index; - items.insert(iter, newItem); - } - return newItem; - } - - /** - * - */ - virtual SVGPoint replaceItem(const SVGPoint &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index >= items.size()) - { - SVGPoint point; - return point; - } - std::vector::iterator iter = items.begin() + index; - *iter = newItem; - return newItem; - } - - /** - * - */ - virtual SVGPoint removeItem(unsigned long index ) - throw( DOMException ) - { - if (index >= items.size()) - { - SVGPoint point; - return point; - } - std::vector::iterator iter = items.begin() + index; - SVGPoint oldItem = *iter; - items.erase(iter); - return oldItem; - } - - /** - * - */ - virtual SVGPoint appendItem(const SVGPoint &newItem) - throw( DOMException, SVGException ) - { - items.push_back(newItem); - return newItem; - } - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGPointList() {} - - - /** - * - */ - SVGPointList(const SVGPointList &other) - { - items = other.items; - } - - - /** - * - */ - virtual ~SVGPointList() {} - -protected: - - std::vector items; - -}; - - - - -/*######################################################################### -## SVGUnitTypes -#########################################################################*/ - -/** - * - */ -class SVGUnitTypes -{ -public: - - /** - * Unit Types - */ - typedef enum - { - SVG_UNIT_TYPE_UNKNOWN = 0, - SVG_UNIT_TYPE_USERSPACEONUSE = 1, - SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2 - } UnitType; - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGUnitTypes() {} - - /** - * - */ - virtual ~SVGUnitTypes() {} - -}; - - - - - - -/*######################################################################### -## SVGStylable -#########################################################################*/ - -/** - * - */ -class SVGStylable -{ -public: - - /** - * - */ - virtual SVGAnimatedString getClassName() - { - return className; - } - - /** - * - */ - virtual css::CSSStyleDeclaration getStyle() - { - return style; - } - - - /** - * - */ - virtual css::CSSValue getPresentationAttribute (const DOMString& /*name*/ ) - { - css::CSSValue val; - //perform a lookup - return val; - } - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGStylable() {} - - /** - * - */ - SVGStylable(const SVGStylable &other) - { - className = other.className; - style = other.style; - } - - /** - * - */ - virtual ~SVGStylable() {} - -protected: - - SVGAnimatedString className; - css::CSSStyleDeclaration style; - -}; - - -/*######################################################################### -## SVGLocatable -#########################################################################*/ - -/** - * - */ -class SVGLocatable -{ -public: - - /** - * - */ - virtual SVGElementPtr getNearestViewportElement() - { - SVGElementPtr result; - return result; - } - - /** - * - */ - virtual SVGElementPtr getFarthestViewportElement() - { - SVGElementPtr result; - return result; - } - - /** - * - */ - virtual SVGRect getBBox ( ) - { - return bbox; - } - - /** - * - */ - virtual SVGMatrix getCTM ( ) - { - return ctm; - } - - /** - * - */ - virtual SVGMatrix getScreenCTM ( ) - { - return screenCtm; - } - - /** - * - */ - virtual SVGMatrix getTransformToElement (const SVGElement &/*element*/) - throw( SVGException ) - { - SVGMatrix result; - //do calculations - return result; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGLocatable() {} - - /** - * - */ - SVGLocatable(const SVGLocatable &/*other*/) - { - } - - /** - * - */ - virtual ~SVGLocatable() {} - -protected: - - SVGRect bbox; - SVGMatrix ctm; - SVGMatrix screenCtm; - -}; - - - - - - -/*######################################################################### -## SVGTransformable -#########################################################################*/ - -/** - * - */ -class SVGTransformable : public SVGLocatable -{ -public: - - - /** - * - */ - virtual SVGAnimatedTransformList &getTransform() - { - return transforms; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGTransformable() {} - - /** - * - */ - SVGTransformable(const SVGTransformable &other) : SVGLocatable(other) - { - transforms = other.transforms; - } - - /** - * - */ - virtual ~SVGTransformable() {} - -protected: - - SVGAnimatedTransformList transforms; -}; - - - - - - -/*######################################################################### -## SVGTests -#########################################################################*/ - -/** - * - */ -class SVGTests -{ -public: - - - /** - * - */ - virtual SVGStringList &getRequiredFeatures() - { - return requiredFeatures; - } - - /** - * - */ - virtual SVGStringList &getRequiredExtensions() - { - return requiredExtensions; - } - - /** - * - */ - virtual SVGStringList &getSystemLanguage() - { - return systemLanguage; - } - - - /** - * - */ - virtual bool hasExtension (const DOMString& /*extension*/ ) - { - return false; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGTests() {} - - /** - * - */ - SVGTests(const SVGTests &other) - { - requiredFeatures = other.requiredFeatures; - requiredExtensions = other.requiredExtensions; - systemLanguage = other.systemLanguage; - } - - /** - * - */ - virtual ~SVGTests() {} - -protected: - - SVGStringList requiredFeatures; - SVGStringList requiredExtensions; - SVGStringList systemLanguage; - -}; - - - - - - -/*######################################################################### -## SVGLangSpace -#########################################################################*/ - -/** - * - */ -class SVGLangSpace -{ -public: - - - /** - * - */ - virtual DOMString getXmllang() - { - return xmlLang; - } - - /** - * - */ - virtual void setXmllang(const DOMString &val) - throw (DOMException) - { - xmlLang = val; - } - - /** - * - */ - virtual DOMString getXmlspace() - { - return xmlSpace; - } - - /** - * - */ - virtual void setXmlspace(const DOMString &val) - throw (DOMException) - { - xmlSpace = val; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGLangSpace() {} - - /** - * - */ - SVGLangSpace(const SVGLangSpace &other) - { - xmlLang = other.xmlLang; - xmlSpace = other.xmlSpace; - } - - /** - * - */ - virtual ~SVGLangSpace() {} - -protected: - - DOMString xmlLang; - DOMString xmlSpace; - -}; - - - - - - -/*######################################################################### -## SVGExternalResourcesRequired -#########################################################################*/ - -/** - * - */ -class SVGExternalResourcesRequired -{ -public: - - - /** - * - */ - virtual SVGAnimatedBoolean getExternalResourcesRequired() - { return required; } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGExternalResourcesRequired() - { } - - - /** - * - */ - SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other) - { - required = other.required; - } - - /** - * - */ - virtual ~SVGExternalResourcesRequired() {} - -protected: - - SVGAnimatedBoolean required; - -}; - - - - - - -/*######################################################################### -## SVGPreserveAspectRatio -#########################################################################*/ - -/** - * - */ -class SVGPreserveAspectRatio -{ -public: - - - /** - * Alignment Types - */ - typedef enum - { - SVG_PRESERVEASPECTRATIO_UNKNOWN = 0, - SVG_PRESERVEASPECTRATIO_NONE = 1, - SVG_PRESERVEASPECTRATIO_XMINYMIN = 2, - SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3, - SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4, - SVG_PRESERVEASPECTRATIO_XMINYMID = 5, - SVG_PRESERVEASPECTRATIO_XMIDYMID = 6, - SVG_PRESERVEASPECTRATIO_XMAXYMID = 7, - SVG_PRESERVEASPECTRATIO_XMINYMAX = 8, - SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9, - SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10 - } AlignmentType; - - - /** - * Meet-or-slice Types - */ - typedef enum - { - SVG_MEETORSLICE_UNKNOWN = 0, - SVG_MEETORSLICE_MEET = 1, - SVG_MEETORSLICE_SLICE = 2 - } MeetOrSliceType; - - - /** - * - */ - virtual unsigned short getAlign() - { return align; } - - /** - * - */ - virtual void setAlign(unsigned short val) throw (DOMException) - { align = val; } - - /** - * - */ - virtual unsigned short getMeetOrSlice() - { return meetOrSlice; } - - /** - * - */ - virtual void setMeetOrSlice(unsigned short val) throw (DOMException) - { meetOrSlice = val; } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGPreserveAspectRatio() - { - align = SVG_PRESERVEASPECTRATIO_UNKNOWN; - meetOrSlice = SVG_MEETORSLICE_UNKNOWN; - } - - /** - * - */ - SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other) - { - align = other.align; - meetOrSlice = other.meetOrSlice; - } - - /** - * - */ - virtual ~SVGPreserveAspectRatio() {} - -protected: - - unsigned short align; - unsigned short meetOrSlice; - -}; - - - - - - -/*######################################################################### -## SVGAnimatedPreserveAspectRatio -#########################################################################*/ - -/** - * - */ -class SVGAnimatedPreserveAspectRatio -{ -public: - - - /** - * - */ - virtual SVGPreserveAspectRatio getBaseVal() - { return baseVal; } - - /** - * - */ - virtual SVGPreserveAspectRatio getAnimVal() - { return animVal; } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGAnimatedPreserveAspectRatio() {} - - /** - * - */ - SVGAnimatedPreserveAspectRatio(const SVGAnimatedPreserveAspectRatio &other) - { - baseVal = other.baseVal; - baseVal = other.animVal; - } - - /** - * - */ - virtual ~SVGAnimatedPreserveAspectRatio() {} - -protected: - - SVGPreserveAspectRatio baseVal; - SVGPreserveAspectRatio animVal; - -}; - - - - -/*######################################################################### -## SVGFitToViewBox -#########################################################################*/ - -/** - * - */ -class SVGFitToViewBox -{ -public: - - /** - * - */ - virtual SVGAnimatedRect getViewBox() - { return viewBox; } - - /** - * - */ - virtual SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() - { return preserveAspectRatio; } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGFitToViewBox() - {} - - /** - * - */ - - SVGFitToViewBox(const SVGFitToViewBox &other) - { - viewBox = other.viewBox; - preserveAspectRatio = other.preserveAspectRatio; - } - - /** - * - */ - virtual ~SVGFitToViewBox() {} - -protected: - - SVGAnimatedRect viewBox; - - SVGAnimatedPreserveAspectRatio preserveAspectRatio; - -}; - - -/*######################################################################### -## SVGZoomAndPan -#########################################################################*/ - -/** - * - */ -class SVGZoomAndPan -{ -public: - - - /** - * Zoom and Pan Types - */ - typedef enum - { - SVG_ZOOMANDPAN_UNKNOWN = 0, - SVG_ZOOMANDPAN_DISABLE = 1, - SVG_ZOOMANDPAN_MAGNIFY = 2 - } ZoomAndPanType; - - - /** - * - */ - virtual unsigned short getZoomAndPan() - { return zoomAndPan; } - - /** - * - */ - virtual void setZoomAndPan(unsigned short val) throw (DOMException) - { zoomAndPan = val; } - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGZoomAndPan() - { zoomAndPan = SVG_ZOOMANDPAN_UNKNOWN; } - - /** - * - */ - SVGZoomAndPan(const SVGZoomAndPan &other) - { zoomAndPan = other.zoomAndPan; } - - /** - * - */ - virtual ~SVGZoomAndPan() {} - -protected: - - unsigned short zoomAndPan; - -}; - - - - - - -/*######################################################################### -## SVGViewSpec -#########################################################################*/ - -/** - * - */ -class SVGViewSpec : public SVGZoomAndPan, - public SVGFitToViewBox -{ -public: - - /** - * - */ - virtual SVGTransformList getTransform() - { return transform; } - - /** - * - */ - virtual SVGElementPtr getViewTarget() - { return viewTarget; } - - /** - * - */ - virtual DOMString getViewBoxString() - { - DOMString ret; - return ret; - } - - /** - * - */ - virtual DOMString getPreserveAspectRatioString() - { - DOMString ret; - return ret; - } - - /** - * - */ - virtual DOMString getTransformString() - { - DOMString ret; - return ret; - } - - /** - * - */ - virtual DOMString getViewTargetString() - { - DOMString ret; - return ret; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGViewSpec() - { - viewTarget = NULL; - } - - /** - * - */ - SVGViewSpec(const SVGViewSpec &other) : SVGZoomAndPan(other), SVGFitToViewBox(other) - { - viewTarget = other.viewTarget; - transform = other.transform; - } - - /** - * - */ - virtual ~SVGViewSpec() {} - -protected: - - SVGElementPtr viewTarget; - SVGTransformList transform; -}; - - - - - - -/*######################################################################### -## SVGURIReference -#########################################################################*/ - -/** - * - */ -class SVGURIReference -{ -public: - - /** - * - */ - virtual SVGAnimatedString getHref() - { return href; } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGURIReference() {} - - /** - * - */ - SVGURIReference(const SVGURIReference &other) - { - href = other.href; - } - - /** - * - */ - virtual ~SVGURIReference() {} - -protected: - - SVGAnimatedString href; - -}; - - - - - - -/*######################################################################### -## SVGCSSRule -#########################################################################*/ - -/** - * - */ -class SVGCSSRule : public css::CSSRule -{ -public: - - - /** - * Additional CSS RuleType to support ICC color specifications - */ - typedef enum - { - COLOR_PROFILE_RULE = 7 - } ColorProfileRuleType; - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGCSSRule() - { type = COLOR_PROFILE_RULE; } - - /** - * - */ - SVGCSSRule(const SVGCSSRule &other) : css::CSSRule(other) - { type = COLOR_PROFILE_RULE; } - - /** - * - */ - virtual ~SVGCSSRule() {} - -}; - - - -/*######################################################################### -## SVGRenderingIntent -#########################################################################*/ - -/** - * - */ -class SVGRenderingIntent -{ -public: - - /** - * Rendering Intent Types - */ - typedef enum - { - RENDERING_INTENT_UNKNOWN = 0, - RENDERING_INTENT_AUTO = 1, - RENDERING_INTENT_PERCEPTUAL = 2, - RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3, - RENDERING_INTENT_SATURATION = 4, - RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5 - } RenderingIntentType; - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGRenderingIntent() - { - renderingIntentType = RENDERING_INTENT_UNKNOWN; - } - - /** - * - */ - SVGRenderingIntent(const SVGRenderingIntent &other) - { - renderingIntentType = other.renderingIntentType; - } - - /** - * - */ - virtual ~SVGRenderingIntent() {} - -protected: - - unsigned short renderingIntentType; -}; - - - - - - - -/*######################################################################### -########################################################################### -## P A T H S E G M E N T S -########################################################################### -#########################################################################*/ - -static char const *const pathSegLetters[] = -{ - "@", // PATHSEG_UNKNOWN, - "z", // PATHSEG_CLOSEPATH - "M", // PATHSEG_MOVETO_ABS - "m", // PATHSEG_MOVETO_REL, - "L", // PATHSEG_LINETO_ABS - "l", // PATHSEG_LINETO_REL - "C", // PATHSEG_CURVETO_CUBIC_ABS - "c", // PATHSEG_CURVETO_CUBIC_REL - "Q", // PATHSEG_CURVETO_QUADRATIC_ABS, - "q", // PATHSEG_CURVETO_QUADRATIC_REL - "A", // PATHSEG_ARC_ABS - "a", // PATHSEG_ARC_REL, - "H", // PATHSEG_LINETO_HORIZONTAL_ABS, - "h", // PATHSEG_LINETO_HORIZONTAL_REL - "V", // PATHSEG_LINETO_VERTICAL_ABS - "v", // PATHSEG_LINETO_VERTICAL_REL - "S", // PATHSEG_CURVETO_CUBIC_SMOOTH_ABS - "s", // PATHSEG_CURVETO_CUBIC_SMOOTH_REL - "T", // PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS - "t" // PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL -}; - -/*######################################################################### -## SVGPathSeg -#########################################################################*/ - -/** - * - */ -class SVGPathSeg -{ -public: - - - - /** - * Path Segment Types - */ - typedef enum + typedef enum { PATHSEG_UNKNOWN = 0, PATHSEG_CLOSEPATH = 1, @@ -4078,1248 +837,851 @@ public: PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17, PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18, PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19 - } PathSegmentType; - - /** - * - */ - virtual unsigned short getPathSegType() - { return type; } - - /** - * - */ - virtual DOMString getPathSegTypeAsLetter() - { - int typ = type; - if (typ<0 || typ>PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL) - typ = PATHSEG_UNKNOWN; - char const *ch = pathSegLetters[typ]; - DOMString letter = ch; - return letter; - } - - - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGPathSeg() - { type = PATHSEG_UNKNOWN; } - - /** - * - */ - SVGPathSeg(const SVGPathSeg &other) - { - type = other.type; - } - - /** - * - */ - virtual ~SVGPathSeg() {} - -protected: - - int type; - -}; - - - - - - -/*######################################################################### -## SVGPathSegClosePath -#########################################################################*/ - -/** - * - */ -class SVGPathSegClosePath : public SVGPathSeg -{ -public: - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGPathSegClosePath() - { - type = PATHSEG_CLOSEPATH; - } - - /** - * - */ - SVGPathSegClosePath(const SVGPathSegClosePath &other) : SVGPathSeg(other) - { - type = PATHSEG_CLOSEPATH; - } - - /** - * - */ - virtual ~SVGPathSegClosePath() {} - -}; - - - - -/*######################################################################### -## SVGPathSegMovetoAbs -#########################################################################*/ - -/** - * - */ -class SVGPathSegMovetoAbs : public SVGPathSeg -{ -public: - - /** - * - */ - virtual double getX() - { return x; } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { x = val; } - - /** - * - */ - virtual double getY() - { return y; } - - /** - * - */ - virtual void setY(double val) throw (DOMException) - { y = val; } - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGPathSegMovetoAbs() - { - type = PATHSEG_MOVETO_ABS; - x = y = 0.0; - } - - /** - * - */ - SVGPathSegMovetoAbs(double xArg, double yArg) - { - type = PATHSEG_MOVETO_ABS; - x = xArg; y = yArg; - } - - /** - * - */ - SVGPathSegMovetoAbs(const SVGPathSegMovetoAbs &other) : SVGPathSeg(other) - { - type = PATHSEG_MOVETO_ABS; - x = other.x; y = other.y; - } - - /** - * - */ - virtual ~SVGPathSegMovetoAbs() {} - -protected: - - double x,y; - -}; - - - - - - -/*######################################################################### -## SVGPathSegMovetoRel -#########################################################################*/ - -/** - * - */ -class SVGPathSegMovetoRel : public SVGPathSeg -{ -public: - - /** - * - */ - virtual double getX() - { return x; } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { x = val; } - - /** - * - */ - virtual double getY() - { return y; } - - /** - * - */ - virtual void setY(double val) throw (DOMException) - { y = val; } - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGPathSegMovetoRel() - { - type = PATHSEG_MOVETO_REL; - x = y = 0.0; - } - - - /** - * - */ - SVGPathSegMovetoRel(double xArg, double yArg) - { - type = PATHSEG_MOVETO_REL; - x = xArg; y = yArg; - } - - /** - * - */ - SVGPathSegMovetoRel(const SVGPathSegMovetoRel &other) : SVGPathSeg(other) - { - type = PATHSEG_MOVETO_REL; - x = other.x; y = other.y; - } - - /** - * - */ - virtual ~SVGPathSegMovetoRel() {} - -protected: - - double x,y; -}; - - - - - - -/*######################################################################### -## SVGPathSegLinetoAbs -#########################################################################*/ - -/** - * - */ -class SVGPathSegLinetoAbs : public SVGPathSeg -{ -public: - - /** - * - */ - virtual double getX() - { return x; } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { x = val; } - - /** - * - */ - virtual double getY() - { return y; } - - /** - * - */ - virtual void setY(double val) throw (DOMException) - { y = val; } - - //################## - //# Non-API methods - //################## + } PathSegmentType; /** * */ - SVGPathSegLinetoAbs() - { - type = PATHSEG_LINETO_ABS; - x = y = 0.0; - } - + unsigned short getPathSegType(); /** * */ - SVGPathSegLinetoAbs(double xArg, double yArg) - { - type = PATHSEG_LINETO_ABS; - x = xArg; y = yArg; - } + DOMString getPathSegTypeAsLetter(); /** - * + * From the various subclasses */ - SVGPathSegLinetoAbs(const SVGPathSegLinetoAbs &other) : SVGPathSeg(other) - { - type = PATHSEG_LINETO_ABS; - x = other.x; y = other.y; - } /** * */ - virtual ~SVGPathSegLinetoAbs() {} - -protected: - - double x,y; -}; - - - - - - -/*######################################################################### -## SVGPathSegLinetoRel -#########################################################################*/ - -/** - * - */ -class SVGPathSegLinetoRel : public SVGPathSeg -{ -public: + double getX(); /** * */ - virtual double getX() - { return x; } + void setX(double val) throw(DOMException); /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } + double getX1(); /** * */ - virtual double getY() - { return y; } + void setX1(double val) throw(DOMException); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } - - //################## - //# Non-API methods - //################## + double getX2(); /** * */ - SVGPathSegLinetoRel() - { - type = PATHSEG_LINETO_REL; - x = y = 0.0; - } - + void setX2(double val) throw(DOMException); /** * */ - SVGPathSegLinetoRel(double xArg, double yArg) - { - type = PATHSEG_LINETO_REL; - x = xArg; y = yArg; - } + double getY() /** * */ - SVGPathSegLinetoRel(const SVGPathSegLinetoRel &other) : SVGPathSeg(other) - { - type = PATHSEG_LINETO_REL; - x = other.x; y = other.y; - } + void setY(double val) throw(DOMException); /** * */ - virtual ~SVGPathSegLinetoRel() {} - -protected: - - double x,y; -}; - - - - - - -/*######################################################################### -## SVGPathSegCurvetoCubicAbs -#########################################################################*/ - -/** - * - */ -class SVGPathSegCurvetoCubicAbs : public SVGPathSeg -{ -public: + double getY1() /** * */ - virtual double getX() - { return x; } + void setY1(double val) throw(DOMException); /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } + double getY2(); /** * */ - virtual double getY() - { return y; } + void setY2(double val) throw(DOMException); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } + double getR1(); /** * */ - virtual double getX1() - { return x1; } + void setR1(double val) throw(DOMException); /** * */ - virtual void setX1(double val) throw (DOMException) - { x1 = val; } + double getR2(); /** * */ - virtual double getY1() - { return y1; } + void setR2(double val) throw(DOMException); /** * */ - virtual void setY1(double val) throw (DOMException) - { y1 = val; } + double getAngle(); + /** + * + */ + void setAngle(double val) throw(DOMException); /** * */ - virtual double getX2() - { return x2; } + bool getLargeArcFlag(); /** * */ - virtual void setX2(double val) throw (DOMException) - { x2 = val; } + void setLargeArcFlag(bool val) throw(DOMException); /** * */ - virtual double getY2() - { return y2; } + bool getSweepFlag(); /** * */ - virtual void setY2(double val) throw (DOMException) - { y2 = val; } + void setSweepFlag(bool val) throw(DOMException); //################## //# Non-API methods //################## + /** + * + */ + SVGPathSeg(); /** * */ - SVGPathSegCurvetoCubicAbs() - { - type = PATHSEG_CURVETO_CUBIC_ABS; - x = y = x1 = y1 = x2 = y2 = 0.0; - } + SVGPathSeg(int typeArg); /** * */ - SVGPathSegCurvetoCubicAbs(double xArg, double yArg, - double x1Arg, double y1Arg, - double x2Arg, double y2Arg) - { - type = PATHSEG_CURVETO_CUBIC_ABS; - x = xArg; y = yArg; - x1 = x1Arg; y1 = y1Arg; - x2 = x2Arg; y2 = y2Arg; - } + SVGPathSeg(const SVGPathSeg &other); /** * */ - SVGPathSegCurvetoCubicAbs(const SVGPathSegCurvetoCubicAbs &other) - : SVGPathSeg(other) - { - type = PATHSEG_CURVETO_CUBIC_ABS; - x = other.x; y = other.y; - x1 = other.x1; y1 = other.y1; - x2 = other.x2; y2 = other.y2; - } + SVGPathSeg &operator=(const SVGPathSeg &other); /** * */ - virtual ~SVGPathSegCurvetoCubicAbs() {} + ~SVGPathSeg(); protected: - double x, y, x1, y1, x2, y2; + void init(); + + void assign(const SVGPathSeg &other); + int type; + double x, y, x1, y1, x2, y2; + double r1, r2; + double angle; + bool largeArcFlag; + bool sweepFlag; }; - - /*######################################################################### -## SVGPathSegCurvetoCubicRel +## SVGPaint #########################################################################*/ /** * */ -class SVGPathSegCurvetoCubicRel : public SVGPathSeg +class SVGPaint : public SVGColor { public: /** - * + * Paint Types */ - virtual double getX() - { return x; } + typedef enum + { + SVG_PAINTTYPE_UNKNOWN = 0, + SVG_PAINTTYPE_RGBCOLOR = 1, + SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2, + SVG_PAINTTYPE_NONE = 101, + SVG_PAINTTYPE_CURRENTCOLOR = 102, + SVG_PAINTTYPE_URI_NONE = 103, + SVG_PAINTTYPE_URI_CURRENTCOLOR = 104, + SVG_PAINTTYPE_URI_RGBCOLOR = 105, + SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106, + SVG_PAINTTYPE_URI = 107 + } PaintType; + /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } + unsigned short getPaintType(); /** * */ - virtual double getY() - { return y; } + DOMString getUri(); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } + void setUri(const DOMString& uriArg); /** * */ - virtual double getX1() - { return x1; } + void setPaint(unsigned short paintTypeArg, + const DOMString& uriArg, + const DOMString& /*rgbColor*/, + const DOMString& /*iccColor*/) + throw(SVGException); + + //################## + //# Non-API methods + //################## /** * */ - virtual void setX1(double val) throw (DOMException) - { x1 = val; } + SVGPaint(); /** * */ - virtual double getY1() - { return y1; } + SVGPaint(const SVGPaint &other); /** * */ - virtual void setY1(double val) throw (DOMException) - { y1 = val; } + ~SVGPaint(); + +protected: + + unsigned int paintType; + DOMString uri; + +}; + + + +/*######################################################################### +## SVGPreserveAspectRatio +#########################################################################*/ + +/** + * + */ +class SVGPreserveAspectRatio +{ +public: /** - * + * Alignment Types + */ + typedef enum + { + SVG_PRESERVEASPECTRATIO_UNKNOWN = 0, + SVG_PRESERVEASPECTRATIO_NONE = 1, + SVG_PRESERVEASPECTRATIO_XMINYMIN = 2, + SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3, + SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4, + SVG_PRESERVEASPECTRATIO_XMINYMID = 5, + SVG_PRESERVEASPECTRATIO_XMIDYMID = 6, + SVG_PRESERVEASPECTRATIO_XMAXYMID = 7, + SVG_PRESERVEASPECTRATIO_XMINYMAX = 8, + SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9, + SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10 + } AlignmentType; + + + /** + * Meet-or-slice Types */ - virtual double getX2() - { return x2; } + typedef enum + { + SVG_MEETORSLICE_UNKNOWN = 0, + SVG_MEETORSLICE_MEET = 1, + SVG_MEETORSLICE_SLICE = 2 + } MeetOrSliceType; + /** * */ - virtual void setX2(double val) throw (DOMException) - { x2 = val; } + unsigned short getAlign(); /** * */ - virtual double getY2() - { return y2; } + void setAlign(unsigned short val) throw(DOMException); /** * */ - virtual void setY2(double val) throw (DOMException) - { y2 = val; } - - - //################## - //# Non-API methods - //################## - + unsigned short getMeetOrSlice(); /** * */ - SVGPathSegCurvetoCubicRel() - { - type = PATHSEG_CURVETO_CUBIC_REL; - x = y = x1 = y1 = x2 = y2 = 0.0; - } + void setMeetOrSlice(unsigned short val) throw(DOMException); + //################## + //# Non-API methods + //################## /** * */ - SVGPathSegCurvetoCubicRel(double xArg, double yArg, - double x1Arg, double y1Arg, - double x2Arg, double y2Arg) - { - type = PATHSEG_CURVETO_CUBIC_REL; - x = xArg; y = yArg; - x1 = x1Arg; y1 = y1Arg; - x2 = x2Arg; y2 = y2Arg; - } + SVGPreserveAspectRatio(); /** * */ - SVGPathSegCurvetoCubicRel(const SVGPathSegCurvetoCubicRel &other) - : SVGPathSeg(other) - { - type = PATHSEG_CURVETO_CUBIC_REL; - x = other.x; y = other.y; - x1 = other.x1; y1 = other.y1; - x2 = other.x2; y2 = other.y2; - } + SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other); /** * */ - virtual ~SVGPathSegCurvetoCubicRel() {} + ~SVGPreserveAspectRatio(); protected: - double x, y, x1, y1, x2, y2; + unsigned short align; + unsigned short meetOrSlice; }; - - - /*######################################################################### -## SVGPathSegCurvetoQuadraticAbs +## SVGRect #########################################################################*/ /** * */ -class SVGPathSegCurvetoQuadraticAbs : public SVGPathSeg +class SVGRect { public: /** * */ - virtual double getX() - { return x; } + double getX(); /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } + void setX(double val) throw(DOMException); /** * */ - virtual double getY() - { return y; } + double getY(); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } + void setY(double val) throw(DOMException); /** * */ - virtual double getX1() - { return x1; } + double getWidth(); /** * */ - virtual void setX1(double val) throw (DOMException) - { x1 = val; } + void setWidth(double val) throw(DOMException); /** * */ - virtual double getY1() - { return y1; } + double getHeight(); /** * */ - virtual void setY1(double val) throw (DOMException) - { y1 = val; } + void setHeight(double val) throw(DOMException); //################## //# Non-API methods //################## - - /** - * - */ - SVGPathSegCurvetoQuadraticAbs() - { - type = PATHSEG_CURVETO_QUADRATIC_ABS; - x = y = x1 = y1 = 0.0; - } - /** * */ - SVGPathSegCurvetoQuadraticAbs(double xArg, double yArg, - double x1Arg, double y1Arg) - { - type = PATHSEG_CURVETO_QUADRATIC_ABS; - x = xArg; y = yArg; - x1 = x1Arg; y1 = y1Arg; - } + SVGRect(); /** * */ - SVGPathSegCurvetoQuadraticAbs(const SVGPathSegCurvetoQuadraticAbs &other) - : SVGPathSeg(other) - { - type = PATHSEG_CURVETO_QUADRATIC_ABS; - x = other.x; y = other.y; - x1 = other.x1; y1 = other.y1; - } + SVGRect(const SVGRect &other); /** * */ - virtual ~SVGPathSegCurvetoQuadraticAbs() {} + ~SVGRect(); protected: - double x, y, x1, y1; + double x, y, width, height; }; - - - - - /*######################################################################### -## SVGPathSegCurvetoQuadraticRel +## SVGTransform #########################################################################*/ /** * */ -class SVGPathSegCurvetoQuadraticRel : public SVGPathSeg +class SVGTransform { public: /** - * + * Transform Types */ - virtual double getX() - { return x; } + typedef enum + { + SVG_TRANSFORM_UNKNOWN = 0, + SVG_TRANSFORM_MATRIX = 1, + SVG_TRANSFORM_TRANSLATE = 2, + SVG_TRANSFORM_SCALE = 3, + SVG_TRANSFORM_ROTATE = 4, + SVG_TRANSFORM_SKEWX = 5, + SVG_TRANSFORM_SKEWY = 6, + } TransformType; /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } + unsigned short getType(); + /** * */ - virtual double getY() - { return y; } + SVGMatrix getMatrix(); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } + double getAngle(); /** * */ - virtual double getX1() - { return x1; } + void setMatrix(const SVGMatrix &matrixArg); /** * */ - virtual void setX1(double val) throw (DOMException) - { x1 = val; } + void setTranslate(double tx, double ty); /** * */ - virtual double getY1() - { return y1; } + void setScale(double sx, double sy); /** * */ - virtual void setY1(double val) throw (DOMException) - { y1 = val; } - - - //################## - //# Non-API methods - //################## + void setRotate(double angleArg, double cx, double cy); + /** + * + */ + void setSkewX(double angleArg); /** * */ - SVGPathSegCurvetoQuadraticRel() - { - type = PATHSEG_CURVETO_QUADRATIC_REL; - x = y = x1 = y1 = 0.0; - } + void setSkewY(double angleArg); + //################## + //# Non-API methods + //################## + /** * */ - SVGPathSegCurvetoQuadraticRel(double xArg, double yArg, - double x1Arg, double y1Arg) - { - type = PATHSEG_CURVETO_QUADRATIC_REL; - x = xArg; y = yArg; - x1 = x1Arg; y1 = y1Arg; - } + SVGTransform(); /** * */ - SVGPathSegCurvetoQuadraticRel(const SVGPathSegCurvetoQuadraticRel &other) - : SVGPathSeg(other) - { - type = PATHSEG_CURVETO_QUADRATIC_REL; - x = other.x; y = other.y; - x1 = other.x1; y1 = other.y1; - } + SVGTransform(const SVGTransform &other); /** * */ - virtual ~SVGPathSegCurvetoQuadraticRel() {} + ~SVGTransform(); protected: - double x, y, x1, y1; + int type; + double angle; + SVGMatrix matrix; }; - - /*######################################################################### -## SVGPathSegArcAbs +## SVGUnitTypes #########################################################################*/ /** * */ -class SVGPathSegArcAbs : public SVGPathSeg +class SVGUnitTypes { public: + /** + * Unit Types + */ + typedef enum + { + SVG_UNIT_TYPE_UNKNOWN = 0, + SVG_UNIT_TYPE_USERSPACEONUSE = 1, + SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2 + } UnitType; + + + + //################## + //# Non-API methods + //################## + + /** + * + */ + SVGUnitTypes(); + /** * */ - virtual double getX() - { return x; } + ~SVGUnitTypes(); + +}; + + + + +/*######################################################################### +## SVGValue +#########################################################################*/ + +/** + * This is a helper class that will hold several types of data. It will + * be used in those situations where methods are common to different + * interfaces, except for the data type. This class holds the following: + * SVGAngle + * SVGBoolean + * SVGEnumeration + * SVGInteger + * SVGLength + * SVGNumber + * SVGPreserveAspectRatio + * SVGRect + * SVGString + */ +class SVGValue +{ +public: /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } + typedef enum + { + SVG_ANGLE, + SVG_BOOLEAN, + SVG_ENUMERATION, + SVG_INTEGER, + SVG_LENGTH, + SVG_NUMBER, + SVG_PRESERVE_ASPECT_RATIO, + SVG_RECT, + SVG_STRING, + } SVGValueType; /** - * + * Constructor */ - virtual double getY() - { return y; } - + SVGValue(); + /** - * + * Copy constructor */ - virtual void setY(double val) throw (DOMException) - { y = val; } - + SVGValue(const SVGValue &other); + /** - * + * Assignment */ - virtual double getR1() - { return r1; } - + SVGValue &operator=(const SVGValue &other); + /** * */ - virtual void setR1(double val) throw (DOMException) - { r1 = val; } + ~SVGValue(); + + //########################### + // TYPES + //########################### /** - * + * Angle */ - virtual double getR2() - { return r2; } - + SVGValue(const SVGAngle &v); + + SVGAngle angleValue(); + /** - * + * Boolean */ - virtual void setR2(double val) throw (DOMException) - { r2 = val; } - + SVGValue(bool v); + + bool booleanValue(); + + /** - * + * Enumeration */ - virtual double getAngle() - { return angle; } + SVGValue(short v); + + short enumerationValue(); /** - * + * Integer */ - virtual void setAngle(double val) throw (DOMException) - { angle = val; } - + SVGValue(long v); + + long integerValue(); + /** - * + * Length */ - virtual bool getLargeArcFlag() - { return largeArcFlag; } - + SVGValue(const SVGLength &v); + + SVGLength lengthValue(); + /** - * + * Number */ - virtual void setLargeArcFlag(bool val) throw (DOMException) - { largeArcFlag = val; } + SVGValue(double v); + + double numberValue(); /** - * + * PathSegment */ - virtual bool getSweepFlag() - { return sweepFlag; } - + SVGValue(const SVGPathSeg &v); + + SVGPathSeg pathDataValue(); + + /** - * + * Points */ - virtual void setSweepFlag(bool val) throw (DOMException) - { sweepFlag = val; } - - //################## - //# Non-API methods - //################## - - + SVGValue(const SVGPointList &v); + + SVGPointList pointListValue(); + + /** - * + * PreserveAspectRatio */ - SVGPathSegArcAbs() - { - type = PATHSEG_ARC_ABS; - x = y = r1 = r2 = angle = 0.0; - largeArcFlag = sweepFlag = false; - } - + SVGValue(const SVGPreserveAspectRatio &v); + + SVGPreserveAspectRatio preserveAspectRatioValue(); + /** - * + * Rect */ - SVGPathSegArcAbs(double xArg, double yArg, - double r1Arg, double r2Arg, - double angleArg, - bool largeArcFlagArg, - bool sweepFlagArg ) - - { - type = PATHSEG_ARC_ABS; - x = xArg; y = yArg; - r1 = r1Arg; r2 = r2Arg; - angle = angleArg; - largeArcFlag = largeArcFlagArg; - sweepFlag = sweepFlagArg; - } - + SVGValue(const SVGRect &v); + + SVGRect rectValue(); + /** - * + * String */ - SVGPathSegArcAbs(const SVGPathSegArcAbs &other) - : SVGPathSeg(other) - { - type = PATHSEG_ARC_ABS; - x = other.x; y = other.y; - r1 = other.r1; r2 = other.r2; - angle = other.angle; - largeArcFlag = other.largeArcFlag; - sweepFlag = other.sweepFlag; - } - + SVGValue(const DOMString &v); + + DOMString stringValue(); + /** - * + * TransformList */ - virtual ~SVGPathSegArcAbs() {} - -protected: + SVGValue(const SVGTransformList &v); + + SVGTransformList transformListValue(); + + +private: - double x, y, r1, r2, angle; - bool largeArcFlag; - bool sweepFlag; + void init(); + + void assign(const SVGValue &other); + + short type; + SVGAngle angleval; // SVGAngle + bool bval; // SVGBoolean + short eval; // SVGEnumeration + long ival; // SVGInteger + SVGLength lengthval; // SVGLength + double dval; // SVGNumber + SVGPathSegment segval; // SVGPathSegment + SVGPreserveAcpectRatio parval; // SVGPreserveAspectRatio + SVGRect rval; // SVGRect + DOMString sval; // SVGString }; - /*######################################################################### -## SVGPathSegArcRel +## SVGValueList #########################################################################*/ /** + * THis is used to generify a bit the several different types of lists: * + * SVGLengthList -> SVGValueList + * SVGNumberList -> SVGValueList + * SVGPathData -> SVGValueList + * SVGPoints -> SVGValueList + * SVGTransformList -> SVGValueList */ -class SVGPathSegArcRel : public SVGPathSeg +class SVGValueList { public: /** * */ - virtual double getX() - { return x; } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { x = val; } + typedef enum + { + SVG_LIST_LENGTH, + SVG_LIST_NUMBER, + SVG_LIST_PATHSEG, + SVG_LIST_POINT, + SVG_LIST_TRANSFORM + } SVGValueListTypes; /** * */ - virtual double getY() - { return y; } + unsigned long getNumberOfItems(); - /** - * - */ - virtual void setY(double val) throw (DOMException) - { y = val; } /** * */ - virtual double getR1() - { return r1; } + void clear() throw(DOMException); /** * */ - virtual void setR1(double val) throw (DOMException) - { r1 = val; } + SVGValue getItem(unsigned long index) throw(DOMException); /** * */ - virtual double getR2() - { return r2; } + SVGValue insertItemBefore(const SVGValue &newItem, + unsigned long index) + throw(DOMException, SVGException); /** * */ - virtual void setR2(double val) throw (DOMException) - { r2 = val; } + SVGValue replaceItem(const SVGValue &newItem, + unsigned long index) + throw(DOMException, SVGException); /** * */ - virtual double getAngle() - { return angle; } + SVGValue removeItem(unsigned long index) throw(DOMException); /** * */ - virtual void setAngle(double val) throw (DOMException) - { angle = val; } + SVGValue appendItem(const SVGValue &newItem) + throw(DOMException, SVGException); /** - * + * Matrix */ - virtual bool getLargeArcFlag() - { return largeArcFlag; } + SVGValue initialize(const SVGValue &newItem) + throw(DOMException, SVGException); /** - * + * Matrix */ - virtual void setLargeArcFlag(bool val) throw (DOMException) - { largeArcFlag = val; } + SVGValue createSVGTransformFromMatrix(const SVGValue &matrix); /** - * + * Matrix */ - virtual bool getSweepFlag() - { return sweepFlag; } + SVGValue consolidate(); - /** - * - */ - virtual void setSweepFlag(bool val) throw (DOMException) - { sweepFlag = val; } //################## //# Non-API methods //################## - - /** - * - */ - SVGPathSegArcRel() - { - type = PATHSEG_ARC_REL; - x = y = r1 = r2 = angle = 0.0; - largeArcFlag = sweepFlag = false; - } - - /** * */ - SVGPathSegArcRel(double xArg, double yArg, - double r1Arg, double r2Arg, - double angleArg, - bool largeArcFlagArg, - bool sweepFlagArg ) - - { - type = PATHSEG_ARC_REL; - x = xArg; y = yArg; - r1 = r1Arg; r2 = r2Arg; - angle = angleArg; - largeArcFlag = largeArcFlagArg; - sweepFlag = sweepFlagArg; - } + SVGValueList(); /** * */ - SVGPathSegArcRel(const SVGPathSegArcRel &other) - : SVGPathSeg(other) - { - type = PATHSEG_ARC_REL; - x = other.x; y = other.y; - r1 = other.r1; r2 = other.r2; - angle = other.angle; - largeArcFlag = other.largeArcFlag; - sweepFlag = other.sweepFlag; - } + SVGValueList(const SVGValueList &other); /** * */ - virtual ~SVGPathSegArcRel() {} + ~SVGValueList(); protected: - double x, y, r1, r2, angle; - bool largeArcFlag; - bool sweepFlag; + std::vector items; }; @@ -5327,281 +1689,161 @@ protected: - /*######################################################################### -## SVGPathSegLinetoHorizontalAbs +## SVGAnimatedValue #########################################################################*/ /** - * + * This class is used to merge all of the "Animated" values, with only + * a different type, into a single API. This class subsumes the following: + * SVGAnimatedAngle + * SVGAnimatedBoolean + * SVGAnimatedEnumeration + * SVGAnimatedInteger + * SVGAnimatedLength + * SVGAnimatedLengthList + * SVGAnimatedNumber + * SVGAnimatedNumberList + * SVGAnimatedPathData + * SVGAnimatedPoints + * SVGAnimatedPreserveAspectRatio + * SVGAnimatedRect + * SVGAnimatedString + * SVGAnimatedTransformList */ -class SVGPathSegLinetoHorizontalAbs : public SVGPathSeg +class SVGAnimatedValue { public: /** * */ - virtual double getX() - { return x; } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { x = val; } - - //################## - //# Non-API methods - //################## - - /** - * - */ - SVGPathSegLinetoHorizontalAbs() - { - type = PATHSEG_LINETO_HORIZONTAL_ABS; - x = 0.0; - } - + SVGValue &getBaseVal(); /** * */ - SVGPathSegLinetoHorizontalAbs(double xArg) - { - type = PATHSEG_LINETO_HORIZONTAL_ABS; - x = xArg; - } + void setBaseVal(const SVGValue &val) throw (DOMException); /** * */ - SVGPathSegLinetoHorizontalAbs(const SVGPathSegLinetoHorizontalAbs &other) - : SVGPathSeg(other) - { - type = PATHSEG_LINETO_HORIZONTAL_ABS; - x = other.x; - } + SVGValue &getAnimVal(); /** * */ - virtual ~SVGPathSegLinetoHorizontalAbs() {} - -protected: - - double x; - -}; - - - - - - -/*######################################################################### -## SVGPathSegLinetoHorizontalRel -#########################################################################*/ - -/** - * - */ -class SVGPathSegLinetoHorizontalRel : public SVGPathSeg -{ -public: - + SVGAnimatedValue(); + /** * */ - virtual double getX() - { return x; } + SVGAnimatedValue(const SVGValue &baseValue); /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } - - //################## - //# Non-API methods - //################## + SVGAnimatedValue(const SVGValue &baseValue, const SVGValue &animValue); /** * */ - SVGPathSegLinetoHorizontalRel() - { - type = PATHSEG_LINETO_HORIZONTAL_REL; - x = 0.0; - } - + SVGAnimatedValue(const SVGAnimatedValue &other); /** * */ - SVGPathSegLinetoHorizontalRel(double xArg) - { - type = PATHSEG_LINETO_HORIZONTAL_REL; - x = xArg; - } + SVGAnimatedValue &operator=(const SVGAnimatedValue &other); /** * */ - SVGPathSegLinetoHorizontalRel(const SVGPathSegLinetoHorizontalRel &other) - : SVGPathSeg(other) - { - type = PATHSEG_LINETO_HORIZONTAL_REL; - x = other.x; - } + SVGAnimatedValue &operator=(const SVGValue &baseVal); /** * */ - virtual ~SVGPathSegLinetoHorizontalRel() {} - -protected: - - double x; - -}; - - - -/*######################################################################### -## SVGPathSegLinetoVerticalAbs -#########################################################################*/ + ~SVGAnimatedValue(); + +private: -/** - * - */ -class SVGPathSegLinetoVerticalAbs : public SVGPathSeg -{ -public: + void init(); + + void assign(const SVGAnimatedValue &other); + + SVGValue baseVal; + + SVGValue animVal; +} - /** - * - */ - virtual double getY() - { return y; } - /** - * - */ - virtual void setY(double val) throw (DOMException) - { y = val; } - //################## - //# Non-API methods - //################## - /** - * - */ - SVGPathSegLinetoVerticalAbs() - { - type = PATHSEG_LINETO_VERTICAL_ABS; - y = 0.0; - } - /** - * - */ - SVGPathSegLinetoVerticalAbs(double yArg) - { - type = PATHSEG_LINETO_VERTICAL_ABS; - y = yArg; - } - /** - * - */ - SVGPathSegLinetoVerticalAbs(const SVGPathSegLinetoVerticalAbs &other) - : SVGPathSeg(other) - { - type = PATHSEG_LINETO_VERTICAL_ABS; - y = other.y; - } +//######################################################################## +//######################################################################## +//# I N T E R F A C E S +//######################################################################## +//######################################################################## - /** - * - */ - virtual ~SVGPathSegLinetoVerticalAbs() {} -protected: - double y; -}; /*######################################################################### -## SVGPathSegLinetoVerticalRel +## SVGStylable #########################################################################*/ /** * */ -class SVGPathSegLinetoVerticalRel : public SVGPathSeg +class SVGStylable { public: /** * */ - virtual double getY() - { return y; } + SVGAnimatedString getClassName(); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } + css::CSSStyleDeclaration getStyle(); - //################## - //# Non-API methods - //################## /** * */ - SVGPathSegLinetoVerticalRel() - { - type = PATHSEG_LINETO_VERTICAL_REL; - y = 0.0; - } + css::CSSValue getPresentationAttribute(const DOMString& /*name*/); + //################## + //# Non-API methods + //################## /** * */ - SVGPathSegLinetoVerticalRel(double yArg) - { - type = PATHSEG_LINETO_VERTICAL_REL; - y = yArg; - } + SVGStylable(); /** * */ - SVGPathSegLinetoVerticalRel(const SVGPathSegLinetoVerticalRel &other) - : SVGPathSeg(other) - { - type = PATHSEG_LINETO_VERTICAL_REL; - y = other.y; - } + SVGStylable(const SVGStylable &other); /** * */ - virtual ~SVGPathSegLinetoVerticalRel() {} + ~SVGStylable(); protected: - double y; + SVGAnimatedString className; + css::CSSStyleDeclaration style; }; @@ -5609,66 +1851,47 @@ protected: - /*######################################################################### -## SVGPathSegCurvetoCubicSmoothAbs +## SVGLocatable #########################################################################*/ /** * */ -class SVGPathSegCurvetoCubicSmoothAbs : public SVGPathSeg +class SVGLocatable { public: /** * */ - virtual double getX() - { return x; } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { x = val; } - - /** - * - */ - virtual double getY() - { return y; } + SVGElementPtr getNearestViewportElement(); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } + SVGElementPtr getFarthestViewportElement(); /** * */ - virtual double getX2() - { return x2; } + SVGRect getBBox(); /** * */ - virtual void setX2(double val) throw (DOMException) - { x2 = val; } + SVGMatrix getCTM(); /** * */ - virtual double getY2() - { return y2; } + SVGMatrix getScreenCTM(); /** * */ - virtual void setY2(double val) throw (DOMException) - { y2 = val; } - + SVGMatrix getTransformToElement(const SVGElement &/*element*/) + throw(SVGException); //################## //# Non-API methods @@ -5677,107 +1900,103 @@ public: /** * */ - SVGPathSegCurvetoCubicSmoothAbs() - { - type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; - x = y = x2 = y2 = 0.0; - } - - - /** - * - */ - SVGPathSegCurvetoCubicSmoothAbs(double xArg, double yArg, - double x2Arg, double y2Arg) - { - type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; - x = xArg; y = yArg; - x2 = x2Arg; y2 = y2Arg; - } + SVGLocatable(); /** * */ - SVGPathSegCurvetoCubicSmoothAbs(const SVGPathSegCurvetoCubicSmoothAbs &other) - : SVGPathSeg(other) - { - type = PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; - x = other.x; y = other.y; - x2 = other.x2; y2 = other.y2; - } + SVGLocatable(const SVGLocatable &/*other*/); /** * */ - virtual ~SVGPathSegCurvetoCubicSmoothAbs() {} + ~SVGLocatable(); protected: - double x, y, x2, y2; + SVGRect bbox; + SVGMatrix ctm; + SVGMatrix screenCtm; }; - /*######################################################################### -## SVGPathSegCurvetoCubicSmoothRel +## SVGTransformable #########################################################################*/ /** * */ -class SVGPathSegCurvetoCubicSmoothRel : public SVGPathSeg +class SVGTransformable : public SVGLocatable { public: + /** * */ - virtual double getX() - { return x; } + SVGAnimatedTransformList &getTransform(); + + //################## + //# Non-API methods + //################## /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } + SVGTransformable(); /** * */ - virtual double getY() - { return y; } + SVGTransformable(const SVGTransformable &other) : SVGLocatable(other); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } + ~SVGTransformable(); + +protected: + + SVGAnimatedTransformList transforms; +}; + + + + + + +/*######################################################################### +## SVGTests +#########################################################################*/ + +/** + * + */ +class SVGTests +{ +public: /** * */ - virtual double getX2() - { return x2; } + SVGValueList &getRequiredFeatures(); /** * */ - virtual void setX2(double val) throw (DOMException) - { x2 = val; } + SVGValueList &getRequiredExtensions(); /** * */ - virtual double getY2() - { return y2; } + SVGValueList &getSystemLanguage(); /** * */ - virtual void setY2(double val) throw (DOMException) - { y2 = val; } - + bool hasExtension(const DOMString& /*extension*/); //################## //# Non-API methods @@ -5786,43 +2005,23 @@ public: /** * */ - SVGPathSegCurvetoCubicSmoothRel() - { - type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL; - x = y = x2 = y2 = 0.0; - } - - - /** - * - */ - SVGPathSegCurvetoCubicSmoothRel(double xArg, double yArg, - double x2Arg, double y2Arg) - { - type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL; - x = xArg; y = yArg; - x2 = x2Arg; y2 = y2Arg; - } + SVGTests(); /** * */ - SVGPathSegCurvetoCubicSmoothRel(const SVGPathSegCurvetoCubicSmoothRel &other) - : SVGPathSeg(other) - { - type = PATHSEG_CURVETO_CUBIC_SMOOTH_REL; - x = other.x; y = other.y; - x2 = other.x2; y2 = other.y2; - } + SVGTests(const SVGTests &other); /** * */ - virtual ~SVGPathSegCurvetoCubicSmoothRel() {} + ~SVGTests(); protected: - double x, y, x2, y2; + SVGStringList requiredFeatures; + SVGStringList requiredExtensions; + SVGStringList systemLanguage; }; @@ -5832,41 +2031,36 @@ protected: /*######################################################################### -## SVGPathSegCurvetoQuadraticSmoothAbs +## SVGLangSpace #########################################################################*/ /** * */ -class SVGPathSegCurvetoQuadraticSmoothAbs : public SVGPathSeg +class SVGLangSpace { public: + /** * */ - virtual double getX() - { return x; } + DOMString getXmlLang(); /** * */ - virtual void setX(double val) throw (DOMException) - { x = val; } + void setXmlLang(const DOMString &val) throw(DOMException); /** * */ - virtual double getY() - { return y; } + DOMString getXmlSpace(); /** * */ - virtual void setY(double val) throw (DOMException) - { y = val; } - - + void setXmlSpace(const DOMString &val) throw(DOMException); //################## //# Non-API methods @@ -5875,84 +2069,42 @@ public: /** * */ - SVGPathSegCurvetoQuadraticSmoothAbs() - { - type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; - x = y = 0.0; - } - - - /** - * - */ - SVGPathSegCurvetoQuadraticSmoothAbs(double xArg, double yArg) - { - type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; - x = xArg; y = yArg; - } + SVGLangSpace(); /** * */ - SVGPathSegCurvetoQuadraticSmoothAbs(const SVGPathSegCurvetoQuadraticSmoothAbs &other) - : SVGPathSeg(other) - { - type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; - x = y = 0.0; - } + SVGLangSpace(const SVGLangSpace &other); /** * */ - virtual ~SVGPathSegCurvetoQuadraticSmoothAbs() {} + ~SVGLangSpace(); protected: - double x, y; + DOMString xmlLang; + DOMString xmlSpace; }; - - - /*######################################################################### -## SVGPathSegCurvetoQuadraticSmoothRel +## SVGExternalResourcesRequired #########################################################################*/ /** * */ -class SVGPathSegCurvetoQuadraticSmoothRel : public SVGPathSeg +class SVGExternalResourcesRequired { public: /** * */ - virtual double getX() - { return x; } - - /** - * - */ - virtual void setX(double val) throw (DOMException) - { x = val; } - - /** - * - */ - virtual double getY() - { return y; } - - /** - * - */ - virtual void setY(double val) throw (DOMException) - { y = val; } - - + SVGAnimatedBoolean getExternalResourcesRequired(); //################## //# Non-API methods @@ -5961,40 +2113,21 @@ public: /** * */ - SVGPathSegCurvetoQuadraticSmoothRel() - { - type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; - x = y = 0.0; - } - - - /** - * - */ - SVGPathSegCurvetoQuadraticSmoothRel(double xArg, double yArg) - { - type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; - x = xArg; y = yArg; - } + SVGExternalResourcesRequired(); /** * */ - SVGPathSegCurvetoQuadraticSmoothRel(const SVGPathSegCurvetoQuadraticSmoothRel &other) - : SVGPathSeg(other) - { - type = PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; - x = y = 0.0; - } + SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other); /** * */ - virtual ~SVGPathSegCurvetoQuadraticSmoothRel() {} + ~SVGExternalResourcesRequired(); protected: - double x, y; + SVGAnimatedBoolean required; }; @@ -6003,117 +2136,88 @@ protected: + + + /*######################################################################### -## SVGPathSegList +## SVGFitToViewBox #########################################################################*/ /** * */ -class SVGPathSegList +class SVGFitToViewBox { public: /** * */ - virtual unsigned long getNumberOfItems() - { return items.size(); } - + SVGAnimatedRect getViewBox(); /** * */ - virtual void clear () throw( DOMException ) - { items.clear(); } + SVGAnimatedPreserveAspectRatio getPreserveAspectRatio(); + + //################## + //# Non-API methods + //################## /** * */ - virtual SVGPathSeg initialize (const SVGPathSeg &newItem) - throw( DOMException, SVGException ) - { - items.clear(); - items.push_back(newItem); - return newItem; - } + SVGFitToViewBox(); /** * */ - virtual SVGPathSeg getItem (unsigned long index) - throw( DOMException ) - { - if (index >= items.size()) - { - SVGPathSeg seg; - return seg; - } - return items[index]; - } + SVGFitToViewBox(const SVGFitToViewBox &other); /** * */ - virtual SVGPathSeg insertItemBefore(const SVGPathSeg &newItem, - unsigned long index ) - throw( DOMException, SVGException ) - { - if (index >= items.size()) - items.push_back(newItem); - else - { - std::vector::iterator iter = items.begin() + index; - items.insert(iter, newItem); - } - return newItem; - } + ~SVGFitToViewBox(); + +protected: + + SVGAnimatedRect viewBox; + + SVGAnimatedPreserveAspectRatio preserveAspectRatio; + +}; + + +/*######################################################################### +## SVGZoomAndPan +#########################################################################*/ + +/** + * + */ +class SVGZoomAndPan +{ +public: /** - * + * Zoom and Pan Types */ - virtual SVGPathSeg replaceItem(const SVGPathSeg &newItem, - unsigned long index ) - throw( DOMException, SVGException ) + typedef enum { - if (index >= items.size()) - { - SVGPathSeg seg; - return seg; - } - std::vector::iterator iter = items.begin() + index; - *iter = newItem; - return newItem; - } + SVG_ZOOMANDPAN_UNKNOWN = 0, + SVG_ZOOMANDPAN_DISABLE = 1, + SVG_ZOOMANDPAN_MAGNIFY = 2 + } ZoomAndPanType; /** * */ - virtual SVGPathSeg removeItem (unsigned long index) - throw (DOMException) - { - if (index >= items.size()) - { - SVGPathSeg seg; - return seg; - } - std::vector::iterator iter = items.begin() + index; - SVGPathSeg olditem = *iter; - items.erase(iter); - return olditem; - } + unsigned short getZoomAndPan(); /** * */ - virtual SVGPathSeg appendItem (const SVGPathSeg &newItem) - throw( DOMException, SVGException ) - { - items.push_back(newItem); - return newItem; - } - - + void setZoomAndPan(unsigned short val) throw(DOMException); //################## //# Non-API methods @@ -6122,26 +2226,21 @@ public: /** * */ - SVGPathSegList() {} - + SVGZoomAndPan(); /** * */ - SVGPathSegList(const SVGPathSegList &other) - { - items = other.items; - } - + SVGZoomAndPan(const SVGZoomAndPan &other); /** * */ - virtual ~SVGPathSegList() {} + ~SVGZoomAndPan(); protected: - std::vector items; + unsigned short zoomAndPan; }; @@ -6151,53 +2250,46 @@ protected: /*######################################################################### -## SVGAnimatedPathData +## SVGViewSpec #########################################################################*/ /** * */ -class SVGAnimatedPathData +class SVGViewSpec : public SVGZoomAndPan, + public SVGFitToViewBox { public: /** * */ - virtual SVGPathSegList getPathSegList() - { - SVGPathSegList list; - return list; - } + SVGTransformList getTransform(); /** * */ - virtual SVGPathSegList getNormalizedPathSegList() - { - SVGPathSegList list; - return list; - } + SVGElementPtr getViewTarget(); /** * */ - virtual SVGPathSegList getAnimatedPathSegList() - { - SVGPathSegList list; - return list; - } + DOMString getViewBoxString(); /** * */ - virtual SVGPathSegList getAnimatedNormalizedPathSegList() - { - SVGPathSegList list; - return list; - } + DOMString getPreserveAspectRatioString(); + /** + * + */ + DOMString getTransformString(); + /** + * + */ + DOMString getViewTargetString(); //################## //# Non-API methods @@ -6206,52 +2298,40 @@ public: /** * */ - SVGAnimatedPathData() - {} + SVGViewSpec(); /** * */ - SVGAnimatedPathData(const SVGAnimatedPathData &/*other*/) - { - } + SVGViewSpec(const SVGViewSpec &other); /** * */ - virtual ~SVGAnimatedPathData() {} - -}; - - + ~SVGViewSpec(); +protected: + SVGElementPtr viewTarget; + SVGTransformList transform; +}; /*######################################################################### -## SVGAnimatedPoints +## SVGURIReference #########################################################################*/ /** * */ -class SVGAnimatedPoints +class SVGURIReference { public: /** * */ - virtual SVGPointList getPoints() - { return points; } - - /** - * - */ - virtual SVGPointList getAnimatedPoints() - { return animatedPoints; } - - + SVGAnimatedString getHref(); //################## //# Non-API methods @@ -6260,26 +2340,21 @@ public: /** * */ - SVGAnimatedPoints() {} + SVGURIReference(); /** * */ - SVGAnimatedPoints(const SVGAnimatedPoints &other) - { - points = other.points; - animatedPoints = other.animatedPoints; - } + SVGURIReference(const SVGURIReference &other); /** * */ - virtual ~SVGAnimatedPoints() {} + ~SVGURIReference(); protected: - SVGPointList points; - SVGPointList animatedPoints; + SVGAnimatedString href; }; @@ -6287,68 +2362,73 @@ protected: + /*######################################################################### -## SVGPaint +## SVGCSSRule #########################################################################*/ /** * */ -class SVGPaint : public SVGColor +class SVGCSSRule : public css::CSSRule { public: /** - * Paint Types + * Additional CSS RuleType to support ICC color specifications */ typedef enum { - SVG_PAINTTYPE_UNKNOWN = 0, - SVG_PAINTTYPE_RGBCOLOR = 1, - SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2, - SVG_PAINTTYPE_NONE = 101, - SVG_PAINTTYPE_CURRENTCOLOR = 102, - SVG_PAINTTYPE_URI_NONE = 103, - SVG_PAINTTYPE_URI_CURRENTCOLOR = 104, - SVG_PAINTTYPE_URI_RGBCOLOR = 105, - SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106, - SVG_PAINTTYPE_URI = 107 - } PaintType; + COLOR_PROFILE_RULE = 7 + } ColorProfileRuleType; + //################## + //# Non-API methods + //################## /** * */ - virtual unsigned short getPaintType() - { return paintType; } + SVGCSSRule(); /** * */ - virtual DOMString getUri() - { return uri; } + SVGCSSRule(const SVGCSSRule &other); /** * */ - virtual void setUri (const DOMString& uriArg ) - { uri = uriArg; } + ~SVGCSSRule(); + +}; + + + +/*######################################################################### +## SVGRenderingIntent +#########################################################################*/ + +/** + * + */ +class SVGRenderingIntent +{ +public: /** - * + * Rendering Intent Types */ - virtual void setPaint (unsigned short paintTypeArg, - const DOMString& uriArg, - const DOMString& /*rgbColor*/, - const DOMString& /*iccColor*/ ) - throw( SVGException ) + typedef enum { - paintType = paintTypeArg; - uri = uriArg; - //do something with rgbColor - //do something with iccColor; - } + RENDERING_INTENT_UNKNOWN = 0, + RENDERING_INTENT_AUTO = 1, + RENDERING_INTENT_PERCEPTUAL = 2, + RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3, + RENDERING_INTENT_SATURATION = 4, + RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5 + } RenderingIntentType; @@ -6359,36 +2439,31 @@ public: /** * */ - SVGPaint() - { - uri = ""; - paintType = SVG_PAINTTYPE_UNKNOWN; - } + SVGRenderingIntent(); /** * */ - SVGPaint(const SVGPaint &other) : css::CSSValue(other), SVGColor(other) - { - uri = ""; - paintType = SVG_PAINTTYPE_UNKNOWN; - } + SVGRenderingIntent(const SVGRenderingIntent &other); /** * */ - virtual ~SVGPaint() {} + ~SVGRenderingIntent(); protected: - unsigned int paintType; - DOMString uri; - + unsigned short renderingIntentType; }; + + + + + /*######################################################################### ## SVGColorProfileRule #########################################################################*/ @@ -6401,41 +2476,36 @@ class SVGColorProfileRule : public SVGCSSRule, { public: + /** * */ - virtual DOMString getSrc() - { return src; } + DOMString getSrc(); /** * */ - virtual void setSrc(const DOMString &val) throw (DOMException) - { src = val; } + void setSrc(const DOMString &val) throw(DOMException); /** * */ - virtual DOMString getName() - { return name; } + DOMString getName(); /** * */ - virtual void setName(const DOMString &val) throw (DOMException) - { name = val; } + void setName(const DOMString &val) throw(DOMException); /** * */ - virtual unsigned short getRenderingIntent() - { return renderingIntent; } + unsigned short getRenderingIntent(); /** * */ - virtual void setRenderingIntent(unsigned short val) throw (DOMException) - { renderingIntent = val; } + void setRenderingIntent(unsigned short val) throw(DOMException) //################## @@ -6445,23 +2515,17 @@ public: /** * */ - SVGColorProfileRule() {} + SVGColorProfileRule(); /** * */ - SVGColorProfileRule(const SVGColorProfileRule &other) - : SVGCSSRule(other), SVGRenderingIntent(other) - { - renderingIntent = other.renderingIntent; - src = other.src; - name = other.name; - } + SVGColorProfileRule(const SVGColorProfileRule &other); /** * */ - virtual ~SVGColorProfileRule() {} + ~SVGColorProfileRule(); protected: @@ -6484,68 +2548,50 @@ class SVGFilterPrimitiveStandardAttributes : public SVGStylable { public: - - /** * */ - virtual SVGAnimatedLength getX() - { return x; } + SVGAnimatedLength getX(); /** * */ - virtual SVGAnimatedLength getY() - { return y; } + SVGAnimatedLength getY(); /** * */ - virtual SVGAnimatedLength getWidth() - { return width; } + SVGAnimatedLength getWidth(); /** * */ - virtual SVGAnimatedLength getHeight() - { return height; } + SVGAnimatedLength getHeight(); /** * */ - virtual SVGAnimatedString getResult() - { return result; } - - + SVGAnimatedString getResult(); //################## //# Non-API methods //################## - /** * */ - SVGFilterPrimitiveStandardAttributes() - {} + SVGFilterPrimitiveStandardAttributes(); /** * */ - SVGFilterPrimitiveStandardAttributes(const SVGFilterPrimitiveStandardAttributes &other) - : SVGStylable(other) - { - x = other.x; - y = other.y; - width = other.width; - height = other.height; - result = other.result; - } + SVGFilterPrimitiveStandardAttributes( + const SVGFilterPrimitiveStandardAttributes &other); /** * */ - virtual ~SVGFilterPrimitiveStandardAttributes() {} + ~SVGFilterPrimitiveStandardAttributes(); protected: @@ -6558,15 +2604,6 @@ protected: }; - - - - - - - - - /*######################################################################### ## SVGEvent #########################################################################*/ @@ -6585,18 +2622,17 @@ public: /** * */ - SVGEvent() {} + SVGEvent(); /** * */ - SVGEvent(const SVGEvent &other) : events::Event(other) - {} + SVGEvent(const SVGEvent &other); /** * */ - virtual ~SVGEvent() {} + ~SVGEvent(); }; @@ -6617,33 +2653,27 @@ public: /** * */ - virtual SVGRect getZoomRectScreen() - { return zoomRectScreen; } + SVGRect getZoomRectScreen(); /** * */ - virtual double getPreviousScale() - { return previousScale; } + double getPreviousScale(); /** * */ - virtual SVGPoint getPreviousTranslate() - { return previousTranslate; } + SVGPoint getPreviousTranslate(); /** * */ - virtual double getNewScale() - { return newScale; } + double getNewScale(); /** * */ - virtual SVGPoint getNewTranslate() - { return newTranslate; } - + SVGPoint getNewTranslate() //################## @@ -6653,26 +2683,17 @@ public: /** * */ - SVGZoomEvent() - {} + SVGZoomEvent(); /** * */ - SVGZoomEvent(const SVGZoomEvent &other) : events::Event(other), - events::UIEvent(other) - { - zoomRectScreen = other.zoomRectScreen; - previousScale = other.previousScale; - previousTranslate = other.previousTranslate; - newScale = other.newScale; - newTranslate = other.newTranslate; - } + SVGZoomEvent(const SVGZoomEvent &other); /** * */ - virtual ~SVGZoomEvent() {} + ~SVGZoomEvent(); protected: @@ -6700,66 +2721,44 @@ public: /** * */ - virtual SVGElementPtr getCorrespondingElement() - { return correspondingElement; } + SVGElementPtr getCorrespondingElement(); /** * */ - virtual SVGUseElementPtr getCorrespondingUseElement() - { return correspondingUseElement; } + SVGUseElementPtr getCorrespondingUseElement(); /** * */ - virtual SVGElementInstance getParentNode() - { - SVGElementInstance ret; - return ret; - } + SVGElementInstance getParentNode(); /** * Since we are using stack types and this is a circular definition, * we will instead implement this as a global function below: * SVGElementInstanceList getChildNodes(const SVGElementInstance instance); */ - //virtual SVGElementInstanceList getChildNodes(); + //SVGElementInstanceList getChildNodes(); /** * */ - virtual SVGElementInstance getFirstChild() - { - SVGElementInstance ret; - return ret; - } + SVGElementInstance getFirstChild(); /** * */ - virtual SVGElementInstance getLastChild() - { - SVGElementInstance ret; - return ret; - } + SVGElementInstance getLastChild(); /** * */ - virtual SVGElementInstance getPreviousSibling() - { - SVGElementInstance ret; - return ret; - } + SVGElementInstance getPreviousSibling(); /** * */ - virtual SVGElementInstance getNextSibling() - { - SVGElementInstance ret; - return ret; - } + SVGElementInstance getNextSibling(); //################## @@ -6769,20 +2768,17 @@ public: /** * */ - SVGElementInstance() {} + SVGElementInstance(); /** * */ - SVGElementInstance(const SVGElementInstance &other) - : events::EventTarget(other) - { - } + SVGElementInstance(const SVGElementInstance &other); /** * */ - virtual ~SVGElementInstance() {} + ~SVGElementInstance(); protected: @@ -6807,36 +2803,22 @@ class SVGElementInstanceList { public: - /** * */ - virtual unsigned long getLength() - { return items.size(); } + unsigned long getLength(); /** * */ - virtual SVGElementInstance item (unsigned long index ) - { - if (index >= items.size()) - { - SVGElementInstance ret; - return ret; - } - return items[index]; - } + SVGElementInstance item(unsigned long index); /** * This static method replaces the circular definition of: * SVGElementInstanceList SVGElementInstance::getChildNodes() * */ - static SVGElementInstanceList getChildNodes(const SVGElementInstance &/*instance*/) - { - SVGElementInstanceList list; - return list; - } + static SVGElementInstanceList getChildNodes(const SVGElementInstance &/*instance*/); //################## @@ -6846,138 +2828,29 @@ public: /** * */ - SVGElementInstanceList() {} + SVGElementInstanceList(); /** * */ - SVGElementInstanceList(const SVGElementInstanceList &other) - { - items = other.items; - } + SVGElementInstanceList(const SVGElementInstanceList &other); /** * */ - virtual ~SVGElementInstanceList() {} - -protected: - - std::vector items; - - -}; - - -/** - * This is a helper class that will hold several types of data. It will - * be used in those situations where methods are common to different - * interfaces, except for the data type. - */ -class SVGValue -{ -public: - - typedef enum - { - SVG_DOUBLE, - SVG_INT, - SVG_STRING - }SVGValueType; - - SVGValue(long v) - { - init(); - ival = d; - type = SVG_INT; - } - - SVGValue(double v) - { - init(); - dval = v; - type = SVG_DOUBLE; - } - - SVGValue(const DOMString &v) - { - init(); - sval = v; - type = SVG_STRING; - } - - SVGValue(const SVGValue &other) - { - assign(other); - } - - SVGValue &operator=(const SVGValue &other) - { - assign(other); - return *this; - } - - SVGValue &operator=(long v) - { - init(); - ival = v; - type = SVG_INT; - return *this; - } - - SVGValue &operator=(double v) - { - init(); - ival = v; - type = SVG_DOUBLE; - return *this; - } - - SVGValue &operator=(const DOMString &v) - { - init(); - sval = v; - type = SVG_STRING; - return *this; - } - - ~SVGValue() - {} - - long intValue() - { return ival; } + ~SVGElementInstanceList(); - double doubleValue() - { return ival; } +protected: + + std::vector items; + + +}; - DOMString &stringValue() - { return sval; } -private: - void init() - { - type = SVG_DOUBLE; - ival = 0; - dval = 0.0; - sval = ""; - } - - void assign(const SVGValue &other) - { - type = other.type; - ival = other.ival; - dval = other.dval; - sval = other.sval; - } - - int type; - double dval; - long ival; - DOMString sval; -}; @@ -7146,91 +3019,6 @@ const char *svgElementEnumToStr(int type); -/*######################################################################### -## SVGValue -#########################################################################*/ - - -/** - * A helper class to provide a common API across several data types - */ -class SVGValue -{ -public: - - /** - * Constructors - */ - SVGValue() - { init(); } - - SVGValue(const SVGValue &other) - { assign(other); } - - SVGValue(double val) - { init(); type = SVG_DOUBLE; dval = val; } - - SVGValue(long val) - { init(); type = SVG_INT; ival = val; } - - SVGValue(const DOMString &val) - { init(); type = SVG_STRING; sval = val; } - - int getType() - { return type; } - - /** - * Assignment - */ - SVGValue &operator=(const SVGValue &val) - { assign(val); return *this; } - - SVGValue &operator=(double val) - { init(); type = SVG_DOUBLE; dval = val; return *this; } - - SVGValue &operator=(long val) - { init(); type = SVG_INT; ival = val; return *this; } - - SVGValue &operator=(const DOMString &val) - { init(); type = SVG_STRING; sval = val; return *this; } - - /** - * Getters - */ - double doubleValue() - { return dval; } - - long intValue() - { return ival; } - - DOMString &stringValue() - { return sval; } - -private: - - void init() - { - type = SVG_DOUBLE; - dval = 0.0; - ival = 0; - sval.clear(); - } - - void assign(const SVGValue &other) - { - type = other.type; - dval = other.dval; - ival = other.ival; - sval = other.sval; - } - - int type; - double dval; - long ival; - DOMString sval; - -}; - /*######################################################################### ## SVGElement @@ -7257,7 +3045,7 @@ public: /** * Set the value of the id attribute on the given element. */ - void setId(const DOMString &val) throw (DOMException); + void setId(const DOMString &val) throw(DOMException); /** * Corresponds to attribute xml:base on the given element. @@ -7267,7 +3055,7 @@ public: /** * Corresponds to attribute xml:base on the given element. */ - void setXmlBase(const DOMString &val) throw (DOMException); + void setXmlBase(const DOMString &val) throw(DOMException); /** * The nearest ancestor 'svg' element. Null if the given element is the @@ -7306,7 +3094,7 @@ public: /** * */ - void setValue(double val) throw (DOMException); + void setValue(double val) throw(DOMException); /** * @@ -7316,7 +3104,7 @@ public: /** * */ - void setValueInSpecifiedUnits(double /*val*/) throw (DOMException); + void setValueInSpecifiedUnits(double /*val*/) throw(DOMException); /** * @@ -7326,7 +3114,7 @@ public: /** * */ - void setValueAsString(const DOMString &/*val*/) throw (DOMException); + void setValueAsString(const DOMString &/*val*/) throw(DOMException); /** @@ -7341,170 +3129,85 @@ public: void convertToSpecifiedUnits(unsigned short /*unitType*/); //#################################################################### - //# SVGAnimatedAngle + //## The following animated types are rolled up into a single + //## SVGAnimatedValue interface //#################################################################### - /** - * - */ - SVGAngle getBaseAngleVal(); - - /** - * - */ - SVGAngle getAnimAngleVal(); - - //#################################################################### - //# SVGAnimatedBoolean + //## SVGAnimatedAngle //#################################################################### - /** - * - */ - bool getBaseBooleanVal(); - - /** - * - */ - void setBaseBooleanVal(bool val) throw (DOMException); - - /** - * - */ - bool getAnimBooleanVal(); - //#################################################################### - //# SVGAnimatedEnumeration + //## SVGAnimatedBoolean //#################################################################### - /** - * - */ - unsigned short getBaseEnumerationVal(); - - /** - * - */ - void setBaseEnumerationVal(unsigned short val) throw (DOMException); - - /** - * - */ - unsigned short getAnimEnumerationVal(); - //#################################################################### - //# SVGAnimatedInteger + //## SVGAnimatedEnumeration //#################################################################### - /** - * - */ - long getBaseIntegerVal(); - - /** - * - */ - void setBaseIntegerVal(long val) throw (DOMException); - - /** - * - */ - long getAnimIntegerVal(); - //#################################################################### - //# SVGAnimatedLength + //## SVGAnimatedInteger //#################################################################### - /** - * - */ - SVGLength &getBaseLengthVal(); - - /** - * - */ - SVGLength &getAnimLengthVal(); - //#################################################################### - //# SVGAnimatedLengthList + //## SVGAnimatedLength //#################################################################### - /** - * - */ - SVGLengthList &getBaseLengthListVal(); - - /** - * - */ - SVGLengthList &getAnimLengthListVal(); - //#################################################################### - //# SVGAnimatedNumber + //## SVGAnimatedLengthList //#################################################################### - /** - * - */ - double getBaseNumberVal(); - - /** - * - */ - void setBaseNumberVal(double val) throw (DOMException); + //#################################################################### + //## SVGAnimatedNumber + //#################################################################### - /** - * - */ - double getAnimNumberVal(); + //#################################################################### + //## SVGAnimatedNumberList + //#################################################################### //#################################################################### - //# SVGAnimatedNumberList + //## SVGAnimatedPathData //#################################################################### - /** - * - */ - SVGNumberList &getBaseNumberListVal(); + //#################################################################### + //## SVGAnimatedPoints + //#################################################################### - /** - * - */ - SVGNumberList &getAnimNumberListVal(); + //#################################################################### + //## SVGAnimatedPreserveAspectRatio + //#################################################################### //#################################################################### - //# SVGAnimatedRect + //## SVGAnimatedRect //#################################################################### - /** - * - */ - SVGRect &getBaseRectVal(); + //#################################################################### + //## SVGAnimatedString + //#################################################################### - /** - * - */ - SVGRect &getAnimRectVal(); + //#################################################################### + //## SVGAnimatedTransformList + //#################################################################### //#################################################################### - //# SVGAnimatedString + //# SVGAnimatedValue //#################################################################### /** * */ - DOMString getBaseVal(); + SVGValue &getBaseVal(); /** * */ - void setBaseVal(const DOMString &val) throw (DOMException); + void setBaseVal(const SVGValue &val) throw (DOMException); /** * */ - DOMString getAnimVal(); + SVGValue &getAnimVal(); + //#################################################################### //# SVGColor @@ -7527,7 +3230,7 @@ public: * A string representation of the current value. * Note that setting implies parsing. */ - void setCssText(const DOMString &val) throw (dom::DOMException); + void setCssText(const DOMString &val) throw(dom::DOMException); /** @@ -7549,14 +3252,14 @@ public: /** * */ - void setRGBColor(const DOMString& /*rgbColor*/) throw (SVGException); + void setRGBColor(const DOMString& /*rgbColor*/) throw(SVGException); /** * */ void setRGBColorICCColor(const DOMString& /*rgbColor*/, const DOMString& /*iccColor*/) - throw (SVGException); + throw(SVGException); /** * @@ -7564,7 +3267,7 @@ public: void setColor(unsigned short /*colorType*/, const DOMString& /*rgbColor*/, const DOMString& /*iccColor*/) - throw (SVGException); + throw(SVGException); //#################################################################### //# SVGCSSRule @@ -7591,7 +3294,7 @@ public: * state of the rule and not its initial value. * Note that setting involves reparsing. */ - void setCssText(const DOMString &val) throw (DOMException); + void setCssText(const DOMString &val) throw(DOMException); /** * From CSSRule @@ -7642,7 +3345,7 @@ public: /** * */ - void setColorProfile(const DOMString &val) throw (DOMException); + void setColorProfile(const DOMString &val) throw(DOMException); /** * @@ -7661,7 +3364,7 @@ public: /** * */ - void setXmllang(const DOMString &val) throw (DOMException); + void setXmllang(const DOMString &val) throw(DOMException); /** * @@ -7671,7 +3374,7 @@ public: /** * */ - void setXmlspace(const DOMString &val) throw (DOMException); + void setXmlspace(const DOMString &val) throw(DOMException); //#################################################################### //# SVGLength @@ -7690,7 +3393,7 @@ public: /** * */ - void setValue(double val) throw (DOMException); + void setValue(double val) throw(DOMException); /** * @@ -7700,7 +3403,7 @@ public: /** * */ - void setValueInSpecifiedUnits(double /*val*/) throw (DOMException); + void setValueInSpecifiedUnits(double /*val*/) throw(DOMException); /** * @@ -7710,7 +3413,7 @@ public: /** * */ - void setValueAsString(const DOMString& /*val*/) throw (DOMException); + void setValueAsString(const DOMString& /*val*/) throw(DOMException); /** @@ -7736,41 +3439,41 @@ public: /** * */ - void clear() throw (DOMException); + void clear() throw(DOMException); /** * */ SVGLength initialize(const SVGLength &newItem) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ - SVGLength getItem(unsigned long index) throw (DOMException); + SVGLength getItem(unsigned long index) throw(DOMException); /** * */ SVGLength insertItemBefore(const SVGLength &newItem, unsigned long index) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ SVGLength replaceItem(const SVGLength &newItem, unsigned long index) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ - SVGLength removeItem(unsigned long index) throw (DOMException); + SVGLength removeItem(unsigned long index) throw(DOMException); /** * */ SVGLength appendItem(const SVGLength &newItem) - throw (DOMException, SVGException); + throw(DOMException, SVGException); //#################################################################### //# SVGLocatable @@ -7805,7 +3508,7 @@ public: * */ SVGMatrix getTransformToElement(const SVGElement &/*element*/) - throw (SVGException); + throw(SVGException); //#################################################################### //# SVGNumber @@ -7819,7 +3522,7 @@ public: /** * */ - void setValue(double val) throw (DOMException); + void setValue(double val) throw(DOMException); //#################################################################### //# SVGNumberList @@ -7834,41 +3537,41 @@ public: /** * */ - void clear() throw (DOMException); + void clear() throw(DOMException); /** * */ SVGNumber initialize(const SVGNumber &newItem) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ - SVGNumber getItem(unsigned long index) throw (DOMException); + SVGNumber getItem(unsigned long index) throw(DOMException); /** * */ SVGNumber insertItemBefore(const SVGNumber &newItem, unsigned long index) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ SVGNumber replaceItem(const SVGNumber &newItem, unsigned long index) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ - SVGNumber removeItem(unsigned long index) throw (DOMException); + SVGNumber removeItem(unsigned long index) throw(DOMException); /** * */ SVGNumber appendItem(const SVGNumber &newItem) - throw (DOMException, SVGException); + throw(DOMException, SVGException); //#################################################################### //# SVGRect @@ -7882,7 +3585,7 @@ public: /** * */ - void setX(double val) throw (DOMException); + void setX(double val) throw(DOMException); /** * @@ -7892,7 +3595,7 @@ public: /** * */ - void setY(double val) throw (DOMException); + void setY(double val) throw(DOMException); /** * @@ -7902,7 +3605,7 @@ public: /** * */ - void setWidth(double val) throw (DOMException); + void setWidth(double val) throw(DOMException); /** * @@ -7912,7 +3615,7 @@ public: /** * */ - void setHeight(double val) throw (DOMException); + void setHeight(double val) throw(DOMException); //#################################################################### //# SVGRenderingIntent @@ -7930,41 +3633,41 @@ public: /** * */ - void clear() throw (DOMException); + void clear() throw(DOMException); /** * */ DOMString initialize(const DOMString& newItem) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ - DOMString getItem(unsigned long index) throw (DOMException); + DOMString getItem(unsigned long index) throw(DOMException); /** * */ DOMString insertItemBefore(const DOMString& newItem, unsigned long index) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ DOMString replaceItem(const DOMString& newItem, unsigned long index) - throw (DOMException, SVGException); + throw(DOMException, SVGException); /** * */ - DOMString removeItem(unsigned long index) throw (DOMException); + DOMString removeItem(unsigned long index) throw(DOMException); /** * */ DOMString appendItem(const DOMString& newItem) - throw (DOMException, SVGException); + throw(DOMException, SVGException); //#################################################################### //# SVGStylable @@ -8077,7 +3780,7 @@ public: /** * */ - void setZoomAndPan(unsigned short val) throw (DOMException); + void setZoomAndPan(unsigned short val) throw(DOMException); //#################################################################### //#################################################################### @@ -8110,7 +3813,7 @@ public: /** * Set the attribute glyphRef on the given element. */ - void setGlyphRef(const DOMString &val) throw (DOMException); + void setGlyphRef(const DOMString &val) throw(DOMException); /** * Get the attribute format on the given element. @@ -8120,7 +3823,7 @@ public: /** * Set the attribute format on the given element. */ - void setFormat(const DOMString &val) throw (DOMException); + void setFormat(const DOMString &val) throw(DOMException); //#################################################################### @@ -8174,7 +3877,7 @@ public: /** * */ - double getSimpleDuration() throw (DOMException); + double getSimpleDuration() throw(DOMException); @@ -8223,7 +3926,7 @@ public: /** * Set the attribute local on the given element. */ - void setLocal(const DOMString &val) throw (DOMException); + void setLocal(const DOMString &val) throw(DOMException); /** * Get the attribute name on the given element. @@ -8233,7 +3936,7 @@ public: /** * Set the attribute name on the given element. */ - void setName(const DOMString &val) throw (DOMException); + void setName(const DOMString &val) throw(DOMException); /** * Set the attribute rendering-intent on the given element. @@ -8245,7 +3948,7 @@ public: /** * Get the attribute rendering-intent on the given element. */ - void setRenderingIntent(unsigned short val) throw (DOMException); + void setRenderingIntent(unsigned short val) throw(DOMException); //#################################################################### @@ -9074,7 +4777,7 @@ public: /** * Set the attribute glyphRef on the given element. */ - void setGlyphRef(const DOMString &val) throw (DOMException); + void setGlyphRef(const DOMString &val) throw(DOMException); /** * Get the attribute format on the given element. @@ -9084,7 +4787,7 @@ public: /** * Set the attribute format on the given element. */ - void setFormat(const DOMString &val) throw (DOMException); + void setFormat(const DOMString &val) throw(DOMException); /** * Get the attribute x on the given element. @@ -9094,7 +4797,7 @@ public: /** * Set the attribute x on the given element. */ - void setX(double val) throw (DOMException); + void setX(double val) throw(DOMException); /** * Get the attribute y on the given element. @@ -9104,7 +4807,7 @@ public: /** * Set the attribute y on the given element. */ - void setY(double val) throw (DOMException); + void setY(double val) throw(DOMException); /** * Get the attribute dx on the given element. @@ -9114,7 +4817,7 @@ public: /** * Set the attribute dx on the given element. */ - void setDx(double val) throw (DOMException); + void setDx(double val) throw(DOMException); /** * Get the attribute dy on the given element. @@ -9124,7 +4827,7 @@ public: /** * Set the attribute dy on the given element. */ - void setDy(double val) throw (DOMException); + void setDy(double val) throw(DOMException); //#################################################################### @@ -9367,65 +5070,12 @@ public: //#################################################################### //#################################################################### - //# SVGMPathElement - //#################################################################### - - //#################################################################### - //# SVGPathElement - //#################################################################### - - //#################################################################### - //# SVGPatternElement - //#################################################################### - - /** - * Corresponds to attribute patternUnits on the given 'pattern' element. - * Takes one of the constants defined in SVGUnitTypes. - */ - SVGAnimatedEnumeration getPatternUnits(); - - /** - * Corresponds to attribute patternContentUnits on the given 'pattern' - * element. Takes one of the constants defined in SVGUnitTypes. - */ - SVGAnimatedEnumeration getPatternContentUnits(); - - /** - * Corresponds to attribute patternTransform on the given 'pattern' element. - */ - SVGAnimatedTransformList getPatternTransform(); - - /** - * Corresponds to attribute x on the given 'pattern' element. - */ - SVGAnimatedLength getX(); - - /** - * - */ - SVGAnimatedLength getY(); - - /** - * Corresponds to attribute width on the given 'pattern' element. - */ - SVGAnimatedLength getWidth(); - - /** - * Corresponds to attribute height on the given 'pattern' element. - */ - SVGAnimatedLength getHeight(); - - - //#################################################################### - //# SVGPolyLineElement + //# SVGMissingGlyphElement //#################################################################### - //#################################################################### - //# SVGPolygonElement - //#################################################################### //#################################################################### - //# SVGMissingGlyphElement + //# SVGMPathElement //#################################################################### /** @@ -9455,130 +5105,164 @@ public: /** * Returns a stand-alone, parentless SVGPathSegClosePath object. */ - SVGPathSegClosePath - createSVGPathSegClosePath(); + SVGPathSeg createSVGPathSegClosePath(); /** * Returns a stand-alone, parentless SVGPathSegMovetoAbs object. */ - SVGPathSegMovetoAbs - createSVGPathSegMovetoAbs(double x, double y); + SVGPathSeg createSVGPathSegMovetoAbs(double x, double y); /** * Returns a stand-alone, parentless SVGPathSegMovetoRel object. */ - SVGPathSegMovetoRel - createSVGPathSegMovetoRel(double x, double y); + SVGPathSeg createSVGPathSegMovetoRel(double x, double y); /** * Returns a stand-alone, parentless SVGPathSegLinetoAbs object. */ - SVGPathSegLinetoAbs - createSVGPathSegLinetoAbs(double x, double y); + SVGPathSeg createSVGPathSegLinetoAbs(double x, double y); /** * Returns a stand-alone, parentless SVGPathSegLinetoRel object. */ - SVGPathSegLinetoRel - createSVGPathSegLinetoRel(double x, double y); + SVGPathSeg createSVGPathSegLinetoRel(double x, double y); /** * Returns a stand-alone, parentless SVGPathSegCurvetoCubicAbs object. */ - SVGPathSegCurvetoCubicAbs - createSVGPathSegCurvetoCubicAbs(double x, double y, + SVGPathSeg createSVGPathSegCurvetoCubicAbs(double x, double y, double x1, double y1, double x2, double y2); /** * Returns a stand-alone, parentless SVGPathSegCurvetoCubicRel object. */ - SVGPathSegCurvetoCubicRel - createSVGPathSegCurvetoCubicRel(double x, double y, + SVGPathSeg createSVGPathSegCurvetoCubicRel(double x, double y, double x1, double y1, double x2, double y2); /** * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticAbs object. */ - SVGPathSegCurvetoQuadraticAbs - createSVGPathSegCurvetoQuadraticAbs(double x, double y, + SVGPathSeg createSVGPathSegCurvetoQuadraticAbs(double x, double y, double x1, double y1); /** * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticRel object. */ - SVGPathSegCurvetoQuadraticRel - createSVGPathSegCurvetoQuadraticRel(double x, double y, + SVGPathSeg createSVGPathSegCurvetoQuadraticRel(double x, double y, double x1, double y1); /** * Returns a stand-alone, parentless SVGPathSegArcAbs object. */ - SVGPathSegArcAbs - createSVGPathSegArcAbs(double x, double y, + SVGPathSeg createSVGPathSegArcAbs(double x, double y, double r1, double r2, double angle, bool largeArcFlag, bool sweepFlag); /** * Returns a stand-alone, parentless SVGPathSegArcRel object. */ - SVGPathSegArcRel - createSVGPathSegArcRel(double x, double y, double r1, + SVGPathSeg createSVGPathSegArcRel(double x, double y, double r1, double r2, double angle, bool largeArcFlag, bool sweepFlag); /** * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalAbs object. */ - SVGPathSegLinetoHorizontalAbs - createSVGPathSegLinetoHorizontalAbs(double x); + SVGPathSeg createSVGPathSegLinetoHorizontalAbs(double x); /** * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalRel object. */ - SVGPathSegLinetoHorizontalRel - createSVGPathSegLinetoHorizontalRel(double x); + SVGPathSeg createSVGPathSegLinetoHorizontalRel(double x); /** * Returns a stand-alone, parentless SVGPathSegLinetoVerticalAbs object. */ - SVGPathSegLinetoVerticalAbs - createSVGPathSegLinetoVerticalAbs(double y); + SVGPathSeg createSVGPathSegLinetoVerticalAbs(double y); /** * Returns a stand-alone, parentless SVGPathSegLinetoVerticalRel object. */ - SVGPathSegLinetoVerticalRel - createSVGPathSegLinetoVerticalRel(double y); + SVGPathSeg createSVGPathSegLinetoVerticalRel(double y); /** * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothAbs object. */ - SVGPathSegCurvetoCubicSmoothAbs - createSVGPathSegCurvetoCubicSmoothAbs(double x, double y, + SVGPathSeg createSVGPathSegCurvetoCubicSmoothAbs(double x, double y, double x2, double y2); /** * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothRel object. */ - SVGPathSegCurvetoCubicSmoothRel - createSVGPathSegCurvetoCubicSmoothRel(double x, double y, + SVGPathSeg createSVGPathSegCurvetoCubicSmoothRel(double x, double y, double x2, double y2); /** * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothAbs * object. */ - SVGPathSegCurvetoQuadraticSmoothAbs - createSVGPathSegCurvetoQuadraticSmoothAbs(double x, double y); + SVGPathSeg createSVGPathSegCurvetoQuadraticSmoothAbs(double x, double y); /** * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothRel * object. */ - SVGPathSegCurvetoQuadraticSmoothRel - createSVGPathSegCurvetoQuadraticSmoothRel(double x, double y); + SVGPathSeg createSVGPathSegCurvetoQuadraticSmoothRel(double x, double y); + + //#################################################################### + //# SVGPathElement + //#################################################################### + + //#################################################################### + //# SVGPatternElement + //#################################################################### + + /** + * Corresponds to attribute patternUnits on the given 'pattern' element. + * Takes one of the constants defined in SVGUnitTypes. + */ + SVGAnimatedEnumeration getPatternUnits(); + + /** + * Corresponds to attribute patternContentUnits on the given 'pattern' + * element. Takes one of the constants defined in SVGUnitTypes. + */ + SVGAnimatedEnumeration getPatternContentUnits(); + + /** + * Corresponds to attribute patternTransform on the given 'pattern' element. + */ + SVGAnimatedTransformList getPatternTransform(); + + /** + * Corresponds to attribute x on the given 'pattern' element. + */ + SVGAnimatedLength getX(); + + /** + * + */ + SVGAnimatedLength getY(); + + /** + * Corresponds to attribute width on the given 'pattern' element. + */ + SVGAnimatedLength getWidth(); + + /** + * Corresponds to attribute height on the given 'pattern' element. + */ + SVGAnimatedLength getHeight(); + //#################################################################### + //# SVGPolyLineElement + //#################################################################### + + //#################################################################### + //# SVGPolygonElement + //#################################################################### + //#################################################################### //# SVGRadialGradientElement //#################################################################### @@ -9662,7 +5346,7 @@ public: /** * */ - void setType(const DOMString &val) throw (DOMException); + void setType(const DOMString &val) throw(DOMException); //#################################################################### //# SVGSetElement @@ -9691,7 +5375,7 @@ public: /** * Set the attribute xml:space on the given element. */ - void setXmlspace(const DOMString &val) throw (DOMException); + void setXmlspace(const DOMString &val) throw(DOMException); /** * Get the attribute type on the given 'style' element. @@ -9701,7 +5385,7 @@ public: /** * Set the attribute type on the given 'style' element. */ - void setType(const DOMString &val) throw (DOMException); + void setType(const DOMString &val) throw(DOMException); /** * Get the attribute media on the given 'style' element. @@ -9711,7 +5395,7 @@ public: /** * Set the attribute media on the given 'style' element. */ - void setMedia(const DOMString &val) throw (DOMException); + void setMedia(const DOMString &val) throw(DOMException); /** * Get the attribute title on the given 'style' element. @@ -9721,7 +5405,7 @@ public: /** * Set the attribute title on the given 'style' element. */ - void setTitle(const DOMString &val) throw (DOMException); + void setTitle(const DOMString &val) throw(DOMException); //#################################################################### //# SVGSymbolElement @@ -9759,7 +5443,7 @@ public: /** * Set the attribute contentScriptType on the given 'svg' element. */ - void setContentScriptType(const DOMString &val) throw (DOMException); + void setContentScriptType(const DOMString &val) throw(DOMException); /** @@ -9770,7 +5454,7 @@ public: /** * Set the attribute contentStyleType on the given 'svg' element. */ - void setContentStyleType(const DOMString &val) throw (DOMException); + void setContentStyleType(const DOMString &val) throw(DOMException); /** * The position and size of the viewport(implicit or explicit) that corresponds @@ -9830,7 +5514,7 @@ public: /** * Set the value above */ - void setUseCurrentView(bool val) throw (DOMException); + void setUseCurrentView(bool val) throw(DOMException); /** * The definition of the initial view(i.e., before magnification and panning) of @@ -9879,7 +5563,7 @@ public: /** * Set the value above. */ - void setCurrentScale(double val) throw (DOMException); + void setCurrentScale(double val) throw(DOMException); /** * The corresponding translation factor that takes into account @@ -9907,7 +5591,7 @@ public: /** * Cancels a specified suspendRedraw() by providing a unique suspend_handle_id. */ - void unsuspendRedraw(unsigned long suspend_handle_id) throw (DOMException); + void unsuspendRedraw(unsigned long suspend_handle_id) throw(DOMException); /** * Cancels all currently active suspendRedraw() method calls. This method is most @@ -10029,14 +5713,14 @@ public: /** * Creates an SVGTransform object outside of any document trees. * The object is initialized to an identity matrix transform - * (SVG_TRANSFORM_MATRIX). + * (SVG_TRANSFORM_MATRIX). */ SVGTransform createSVGTransform(); /** * Creates an SVGTransform object outside of any document trees. * The object is initialized to the given matrix transform - * (i.e., SVG_TRANSFORM_MATRIX). + * (i.e., SVG_TRANSFORM_MATRIX). */ SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix); @@ -10108,7 +5792,7 @@ public: * assumptions about glyph metrics. */ double getSubStringLength(unsigned long charnum, unsigned long nchars) - throw (DOMException); + throw(DOMException); /** * Returns the current text position before rendering the character in the user @@ -10120,7 +5804,7 @@ public: * a single glyph or a sequence of glyphs), then each of the inseparable * characters will return the start position for the first glyph. */ - SVGPoint getStartPositionOfChar(unsigned long charnum) throw (DOMException); + SVGPoint getStartPositionOfChar(unsigned long charnum) throw(DOMException); /** * Returns the current text position after rendering the character in the user @@ -10132,7 +5816,7 @@ public: * inseparably(e.g., as a single glyph or a sequence of glyphs), then each of * the inseparable characters will return the end position for the last glyph. */ - SVGPoint getEndPositionOfChar(unsigned long charnum) throw (DOMException); + SVGPoint getEndPositionOfChar(unsigned long charnum) throw(DOMException); /** * Returns a tightest rectangle which defines the minimum and maximum X and Y @@ -10142,7 +5826,7 @@ public: * characters are rendered inseparably(e.g., as a single glyph or a sequence of * glyphs), then each of the inseparable characters will return the same extent. */ - SVGRect getExtentOfChar(unsigned long charnum) throw (DOMException); + SVGRect getExtentOfChar(unsigned long charnum) throw(DOMException); /** * Returns the rotation value relative to the current user coordinate system used @@ -10158,7 +5842,7 @@ public: *(e.g., as a single glyph or a sequence of glyphs), then each of the * inseparable characters will return the same rotation value. */ - double getRotationOfChar(unsigned long charnum) throw (DOMException); + double getRotationOfChar(unsigned long charnum) throw(DOMException); /** * Returns the index of the character whose corresponding glyph cell bounding box @@ -10179,7 +5863,7 @@ public: * selected the substring interactively. */ void selectSubString(unsigned long charnum, unsigned long nchars) - throw (DOMException); + throw(DOMException); @@ -10444,7 +6128,7 @@ public: * Returns the SVGDocument object for the referenced SVG document. */ SVGDocumentPtr getSVGDocument() - throw (DOMException); + throw(DOMException); //################## //# Non-API methods diff --git a/src/dom/work/svg2.cpp b/src/dom/work/svg2.cpp new file mode 100644 index 000000000..acbdf2a00 --- /dev/null +++ b/src/dom/work/svg2.cpp @@ -0,0 +1,7049 @@ +/** + * Phoebe DOM Implementation. + * + * This is a C++ approximation of the W3C DOM model, which follows + * fairly closely the specifications in the various .idl files, copies of + * which are provided for reference. Most important is this one: + * + * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html + * + * Authors: + * Bob Jamison + * + * Copyright(C) 2005-2008 Bob Jamison + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or(at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * ======================================================================= + * NOTES + * + * This API follows: + * http://www.w3.org/TR/SVG11/svgdom.html + * + * This file defines the main SVG-DOM Node types. Other non-Node types are + * defined in svgtypes.h. + * + */ + +#include "svg.h" + +#include + + +namespace org +{ +namespace w3c +{ +namespace dom +{ +namespace svg +{ + + + +//######################################################################## +//######################################################################## +//######################################################################## +//# I N T E R F A C E S +//######################################################################## +//######################################################################## +//######################################################################## + + + +/*######################################################################### +## SVGMatrix +#########################################################################*/ + +/** + * + */ +double SVGMatrix::getA() +{ + return a; +} + +/** + * + */ +void SVGMatrix::setA(double val) throw (DOMException) +{ + a = val; +} + +/** + * + */ +double SVGMatrix::getB() +{ + return b; +} + +/** + * + */ +void SVGMatrix::setB(double val) throw (DOMException) +{ + b = val; +} + +/** + * + */ +double SVGMatrix::getC() +{ + return c; +} + +/** + * + */ +void SVGMatrix::setC(double val) throw (DOMException) +{ + c = val; +} + +/** + * + */ +double SVGMatrix::getD() +{ + return d; +} + +/** + * + */ +void SVGMatrix::setD(double val) throw (DOMException) +{ + d = val; +} + +/** + * + */ +double SVGMatrix::getE() +{ + return e; +} + +/** + * + */ +void SVGMatrix::setE(double val) throw (DOMException) +{ + e = val; +} + +/** + * + */ +double SVGMatrix::getF() +{ + return f; +} + +/** + * + */ +void SVGMatrix::setF(double val) throw (DOMException) +{ + f = val; +} + + +/** + * Return the result of postmultiplying this matrix with another. + */ +SVGMatrix SVGMatrix::multiply(const SVGMatrix &other) +{ + SVGMatrix result; + result.a = a * other.a + c * other.b; + result.b = b * other.a + d * other.b; + result.c = a * other.c + c * other.d; + result.d = b * other.c + d * other.d; + result.e = a * other.e + c * other.f + e; + result.f = b * other.e + d * other.f + f; + return result; +} + +/** + * Calculate the inverse of this matrix + * + */ +SVGMatrix SVGMatrix::inverse() throw (SVGException) +{ + /*########################################### + The determinant of a 3x3 matrix E + (let's use our own notation for a bit) + + A B C + D E F + G H I + is + AEI - AFH - BDI + BFG + CDH - CEG + + Since in our affine transforms, G and H==0 and I==1, + this reduces to: + AE - BD + In SVG's naming scheme, that is: a * d - c * b . SIMPLE! + + In a similar method of attack, SVG's adjunct matrix is: + + d -c cf-ed + -b a eb-af + 0 0 ad-cb + + To get the inverse matrix, we divide the adjunct matrix by + the determinant. Notice that (ad-cb)/(ad-cb)==1. Very cool. + So what we end up with is this: + + a = d/(ad-cb) c = -c/(ad-cb) e = (cf-ed)/(ad-cb) + b = -b/(ad-cb) d = a/(ad-cb) f = (eb-af)/(ad-cb) + + (Since this would be in all SVG-DOM implementations, + somebody needed to document this! ^^) + #############################################*/ + + SVGMatrix result; + double determinant = a * d - c * b; + if (determinant < 1.0e-18)//invertible? + { + result.identity();//cop out + return result; + } + + double idet = 1.0 / determinant; + result.a = d * idet; + result.b = -b * idet; + result.c = -c * idet; + result.d = a * idet; + result.e = (c*f - e*d) * idet; + result.f = (e*b - a*f) * idet; + return result; +} + +/** + * Equivalent to multiplying by: + * | 1 0 x | + * | 0 1 y | + * | 0 0 1 | + * + */ +SVGMatrix SVGMatrix::translate(double x, double y) +{ + SVGMatrix result; + result.a = a; + result.b = b; + result.c = c; + result.d = d; + result.e = a * x + c * y + e; + result.f = b * x + d * y + f; + return result; +} + +/** + * Equivalent to multiplying by: + * | scale 0 0 | + * | 0 scale 0 | + * | 0 0 1 | + * + */ +:SVGMatrix SVGMatrix:scale(double scale) +{ + SVGMatrix result; + result.a = a * scale; + result.b = b * scale; + result.c = c * scale; + result.d = d * scale; + result.e = e; + result.f = f; + return result; +} + +/** + * Equivalent to multiplying by: + * | scaleX 0 0 | + * | 0 scaleY 0 | + * | 0 0 1 | + * + */ +SVGMatrix SVGMatrix::scaleNonUniform(double scaleX, + double scaleY) +{ + SVGMatrix result; + result.a = a * scaleX; + result.b = b * scaleX; + result.c = c * scaleY; + result.d = d * scaleY; + result.e = e; + result.f = f; + return result; +} + +/** + * Equivalent to multiplying by: + * | cos(a) -sin(a) 0 | + * | sin(a) cos(a) 0 | + * | 0 0 1 | + * + */ +SVGMatrix SVGMatrix::rotate (double angle) +{ + double sina = sin(angle); + double msina = -sina; + double cosa = cos(angle); + SVGMatrix result; + result.a = a * cosa + c * sina; + result.b = b * cosa + d + sina; + result.c = a * msina + c * cosa; + result.d = b * msina + d * cosa; + result.e = e; + result.f = f; + return result; +} + +/** + * Equivalent to multiplying by: + * | cos(a) -sin(a) 0 | + * | sin(a) cos(a) 0 | + * | 0 0 1 | + * In this case, angle 'a' is computed as the artangent + * of the slope y/x . It is negative if the slope is negative. + */ +SVGMatrix SVGMatrix::rotateFromVector(double x, double y) + throw (SVGException) +{ + double angle = atan(y / x); + if (y < 0.0) + angle = -angle; + SVGMatrix result; + double sina = sin(angle); + double msina = -sina; + double cosa = cos(angle); + result.a = a * cosa + c * sina; + result.b = b * cosa + d + sina; + result.c = a * msina + c * cosa; + result.d = b * msina + d * cosa; + result.e = e; + result.f = f; + return result; +} + +/** + * Equivalent to multiplying by: + * | -1 0 0 | + * | 0 1 0 | + * | 0 0 1 | + * + */ +SVGMatrix SVGMatrix::flipX() +{ + SVGMatrix result; + result.a = -a; + result.b = -b; + result.c = c; + result.d = d; + result.e = e; + result.f = f; + return result; +} + +/** + * Equivalent to multiplying by: + * | 1 0 0 | + * | 0 -1 0 | + * | 0 0 1 | + * + */ +SVGMatrix SVGMatrix::flipY() +{ + SVGMatrix result; + result.a = a; + result.b = b; + result.c = -c; + result.d = -d; + result.e = e; + result.f = f; + return result; +} + +/** + * | 1 tan(a) 0 | + * | 0 1 0 | + * | 0 0 1 | + * + */ +SVGMatrix SVGMatrix::skewX(double angle) +{ + double tana = tan(angle); + SVGMatrix result; + result.a = a; + result.b = b; + result.c = a * tana + c; + result.d = b * tana + d; + result.e = e; + result.f = f; + return result; +} + +/** + * Equivalent to multiplying by: + * | 1 0 0 | + * | tan(a) 1 0 | + * | 0 0 1 | + * + */ +SVGMatrix::SVGMatrix SVGMatrix::skewY(double angle) +{ + double tana = tan(angle); + SVGMatrix result; + result.a = a + c * tana; + result.b = b + d * tana; + result.c = c; + result.d = d; + result.e = e; + result.f = f; + return result; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGMatrix::SVGMatrix() +{ + identity(); +} + +/** + * + */ +SVGMatrix::SVGMatrix(double aArg, double bArg, double cArg, + double dArg, double eArg, double fArg) +{ + a = aArg; b = bArg; c = cArg; + d = dArg; e = eArg; f = fArg; +} + +/** + * Copy constructor + */ +SVGMatrix::SVGMatrix(const SVGMatrix &other) +{ + a = other.a; + b = other.b; + c = other.c; + d = other.d; + e = other.e; + f = other.f; +} + + + +/** + * + */ +SVGMatrix::~SVGMatrix() +{ +} + +/* + * Set to the identity matrix + */ +void SVGMatrix::identity() +{ + a = 1.0; + b = 0.0; + c = 0.0; + d = 1.0; + e = 0.0; + f = 0.0; +} + + +/*######################################################################### +## SVGTransform +#########################################################################*/ + +/** + * + */ +unsigned short SVGTransform::getType() +{ + return type; +} + + +/** + * + */ +SVGMatrix SVGTransform::getMatrix() +{ + return matrix; +} + +/** + * + */ +double SVGTransform::getAngle() +{ + return angle; +} + + +/** + * + */ +void SVGTransform::setMatrix(const SVGMatrix &matrixArg) +{ + type = SVG_TRANSFORM_MATRIX; + matrix = matrixArg; +} + +/** + * + */ +void SVGTransform::setTranslate(double tx, double ty) +{ + type = SVG_TRANSFORM_TRANSLATE; + matrix.setA(1.0); + matrix.setB(0.0); + matrix.setC(0.0); + matrix.setD(1.0); + matrix.setE(tx); + matrix.setF(ty); +} + +/** + * + */ +void SVGTransform::setScale(double sx, double sy) +{ + type = SVG_TRANSFORM_SCALE; + matrix.setA(sx); + matrix.setB(0.0); + matrix.setC(0.0); + matrix.setD(sy); + matrix.setE(0.0); + matrix.setF(0.0); +} + +/** + * + */ +void SVGTransform::setRotate(double angleArg, double cx, double cy) +{ + angle = angleArg; + setTranslate(cx, cy); + type = SVG_TRANSFORM_ROTATE; + matrix.rotate(angle); +} + +/** + * + */ +void SVGTransform::setSkewX(double angleArg) +{ + angle = angleArg; + type = SVG_TRANSFORM_SKEWX; + matrix.identity(); + matrix.skewX(angle); +} + +/** + * + */ +void SVGTransform::setSkewY(double angleArg) +{ + angle = angleArg; + type = SVG_TRANSFORM_SKEWY; + matrix.identity(); + matrix.skewY(angle); +} + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGTransform::SVGTransform() +{ + type = SVG_TRANSFORM_UNKNOWN; + angle = 0.0; +} + +/** + * + */ +SVGTransform::SVGTransform(const SVGTransform &other) +{ + type = other.type; + angle = other.angle; + matrix = other.matrix; +} + +/** + * + */ +~SVGTransform::SVGTransform() +{ +} + + + +/*######################################################################### +## SVGNumber +#########################################################################*/ + +/** + * + */ +double SVGNumber::getValue() +{ + return value; +} + +/** + * + */ +void SVGNumber::setValue(double val) throw (DOMException) +{ + value = val; +} + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGNumber::SVGNumber() +{ + value = 0.0; +} + +/** + * + */ +SVGNumber::SVGNumber(const SVGNumber &other) +{ + value = other.value; +} + +/** + * + */ +SVGNumber::~SVGNumber() +{ +} + + + +/*######################################################################### +## SVGLength +#########################################################################*/ + + +/** + * + */ +unsigned short SVGLength::getUnitType() +{ + return unitType; +} + +/** + * + */ +double SVGLength::getValue() +{ + return value; +} + +/** + * + */ +void SVGLength::setValue(double val) throw (DOMException) +{ + value = val; +} + +/** + * + */ +double SVGLength::getValueInSpecifiedUnits() +{ + double result = 0.0; + //fill this in + return result; +} + +/** + * + */ +void SVGLength::setValueInSpecifiedUnits(double /*val*/) + throw (DOMException) +{ + //fill this in +} + +/** + * + */ +DOMString SVGLength::getValueAsString() +{ + DOMString ret; + char buf[32]; + snprintf(buf, 31, "%f", value); + ret.append(buf); + return ret; +} + +/** + * + */ +void SVGLength::setValueAsString(const DOMString& /*val*/) + throw (DOMException) +{ +} + + +/** + * + */ +void SVGLength::newValueSpecifiedUnits (unsigned short /*unitType*/, double /*val*/) +{ +} + +/** + * + */ +void SVGLength::convertToSpecifiedUnits (unsigned short /*unitType*/) +{ +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGLength::SVGLength() +{ + unitType = SVG_LENGTHTYPE_UNKNOWN; + value = 0.0; +} + + +/** + * + */ +SVGLength::SVGLength(const SVGLength &other) +{ + unitType = other.unitType; + value = other.value; +} + +/** + * + */ +SVGLength::~SVGLength() +{ +} + + + + +/*######################################################################### +## SVGAngle +#########################################################################*/ + +/** + * + */ +unsigned short SVGAngle::getUnitType() +{ + return unitType; +} + +/** + * + */ +double SVGAngle::getValue() +{ + return value; +} + +/** + * + */ +void SVGAngle::setValue(double val) throw (DOMException) +{ + value = val; +} + +/** + * + */ +double SVGAngle::getValueInSpecifiedUnits() +{ + double result = 0.0; + //convert here + return result; +} + +/** + * + */ +void SVGAngle::setValueInSpecifiedUnits(double /*val*/) + throw (DOMException) +{ + //do conversion +} + +/** + * + */ +DOMString SVGAngle::getValueAsString() +{ + DOMString result; + char buf[32]; + snprintf(buf, 31, "%f", value); + result.append(buf); + return result; +} + +/** + * + */ +void SVGAngle::setValueAsString(const DOMString &/*val*/) + throw (DOMException) +{ + //convert here +} + + +/** + * + */ +void SVGAngle::newValueSpecifiedUnits (unsigned short /*unitType*/, + double /*valueInSpecifiedUnits*/) +{ + //convert here +} + +/** + * + */ +void SVGAngle::convertToSpecifiedUnits (unsigned short /*unitType*/) +{ + //convert here +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGAngle::SVGAngle() +{ + unitType = SVG_ANGLETYPE_UNKNOWN; + value = 0.0; +} + +/** + * + */ +SVGAngle::SVGAngle(const SVGAngle &other) +{ + unitType = other.unitType; + value = other.value; +} + +/** + * + */ +SVGAngle::~SVGAngle() +{ +} + + + + +/*######################################################################### +## SVGICCColor +#########################################################################*/ + + +/** + * + */ +DOMString SVGICCColor::getColorProfile() +{ + return colorProfile; +} + +/** + * + */ +void SVGICCColor::setColorProfile(const DOMString &val) throw (DOMException) +{ + colorProfile = val; +} + +/** + * + */ +SVGNumberList &SVGICCColor::getColors() +{ + return colors; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGICCColor::SVGICCColor() +{ +} + +/** + * + */ +SVGICCColor::SVGICCColor(const SVGICCColor &other) +{ + colorProfile = other.colorProfile; + colors = other.colors; +} + +/** + * + */ +SVGICCColor::~SVGICCColor() +{ +} + + + +/*######################################################################### +## SVGColor +#########################################################################*/ + + + +/** + * + */ +unsigned short SVGColor::getColorType() +{ + return colorType; +} + +/** + * + */ +css::RGBColor SVGColor::getRgbColor() +{ + css::RGBColor col; + return col; +} + +/** + * + */ +SVGICCColor SVGColor::getIccColor() +{ + SVGICCColor col; + return col; +} + + +/** + * + */ +void SVGColor::setRGBColor(const DOMString& /*rgbColor*/) + throw (SVGException) +{ +} + +/** + * + */ +void SVGColor::setRGBColorICCColor(const DOMString& /*rgbColor*/, + const DOMString& /*iccColor*/) + throw (SVGException) +{ +} + +/** + * + */ +void SVGColor::setColor (unsigned short /*colorType*/, + const DOMString& /*rgbColor*/, + const DOMString& /*iccColor*/) + throw (SVGException) +{ +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGColor::SVGColor() +{ + colorType = SVG_COLORTYPE_UNKNOWN; +} + +/** + * + */ +SVGColor::SVGColor(const SVGColor &other) : css::CSSValue(other) +{ + colorType = other.colorType; +} + +/** + * + */ +SVGColor::~SVGColor() +{ +} + + + +/*######################################################################### +## SVGRect +#########################################################################*/ + + +/** + * + */ +double SVGRect::getX() +{ + return x; +} + +/** + * + */ +void SVGRect::setX(double val) throw (DOMException) +{ + x = val; +} + +/** + * + */ +double SVGRect::getY() +{ + return y; +} + +/** + * + */ +void SVGRect::setY(double val) throw (DOMException) +{ + y = val; +} + +/** + * + */ +double SVGRect::getWidth() +{ + return width; +} + +/** + * + */ +void SVGRect::setWidth(double val) throw (DOMException) +{ + width = val; +} + +/** + * + */ +double SVGRect::getHeight() +{ + return height; +} + +/** + * + */ +void SVGRect::setHeight(double val) throw (DOMException) +{ + height = val; +} + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGRect::SVGRect() +{ + x = y = width = height = 0.0; +} + +/** + * + */ +SVGRect::SVGRect(const SVGRect &other) +{ + x = other.x; + y = other.y; + width = other.width; + height = other.height; +} + +/** + * + */ +SVGRect::~SVGRect() +{ +} + + + +/*######################################################################### +## SVGPoint +#########################################################################*/ + + +/** + * + */ +double SVGPoint::getX() +{ + return x; +} + +/** + * + */ +void SVGPoint::setX(double val) throw (DOMException) +{ + x = val; +} + +/** + * + */ +double SVGPoint::getY() +{ + return y; +} + +/** + * + */ +void SVGPoint::setY(double val) throw (DOMException) +{ + y = val; +} + +/** + * + */ +SVGPoint SVGPoint::matrixTransform(const SVGMatrix &/*matrix*/) +{ + SVGPoint point; + return point; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGPoint::SVGPoint() +{ + x = y = 0; +} + +/** + * + */ +SVGPoint::SVGPoint(const SVGPoint &other) +{ + x = other.x; + y = other.y; +} + +/** + * + */ +SVGPoint::~SVGPoint() +{ +} + + +/*######################################################################### +## SVGUnitTypes +#########################################################################*/ + +/** + * + */ +SVGUnitTypes::SVGUnitTypes() +{ +} + + + +/** + * + */ +SVGUnitTypes::~SVGUnitTypes() +{ +} + + +/*######################################################################### +## SVGStylable +#########################################################################*/ + + +/** + * + */ +SVGAnimatedString SVGStylable::getClassName() +{ + return className; +} + +/** + * + */ +css::CSSStyleDeclaration SVGStylable::getStyle() +{ + return style; +} + + +/** + * + */ +css::CSSValue SVGStylable::getPresentationAttribute(const DOMString& /*name*/) +{ + css::CSSValue val; + //perform a lookup + return val; +} + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGStylable::SVGStylable() +{ +} + +/** + * + */ +SVGStylable::SVGStylable(const SVGStylable &other) +{ + className = other.className; + style = other.style; +} + +/** + * + */ +SVGStylable::~SVGStylable() +{ +} + + + + +/*######################################################################### +## SVGLocatable +#########################################################################*/ + + +/** + * + */ +SVGElementPtr SVGLocatable::getNearestViewportElement() +{ + SVGElementPtr result; + return result; +} + +/** + * + */ +SVGElementPtr SVGLocatable::getFarthestViewportElement() +{ + SVGElementPtr result; + return result; +} + +/** + * + */ +SVGRect SVGLocatable::getBBox () +{ + return bbox; +} + +/** + * + */ +SVGMatrix SVGLocatable::getCTM () +{ + return ctm; +} + +/** + * + */ +SVGMatrix SVGLocatable::getScreenCTM () +{ + return screenCtm; +} + +/** + * + */ +SVGMatrix SVGLocatable::getTransformToElement (const SVGElement &/*element*/) + throw (SVGException) +{ + SVGMatrix result; + //do calculations + return result; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGLocatable::SVGLocatable() +{ +} + +/** + * + */ +SVGLocatable::SVGLocatable(const SVGLocatable &/*other*/) +{ +} + +/** + * + */ +SVGLocatable::~SVGLocatable() +{ +} + + +/*######################################################################### +## SVGTransformable +#########################################################################*/ + + +/** + * + */ +SVGAnimatedTransformList &SVGTransformable::getTransform() +{ + return transforms; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGTransformable::SVGTransformable() {} + +/** + * + */ +SVGTransformable::SVGTransformable(const SVGTransformable &other) : SVGLocatable(other) +{ + transforms = other.transforms; +} + +/** + * + */ +SVGTransformable::~SVGTransformable() +{ +} + + + + + + + +/*######################################################################### +## SVGTests +#########################################################################*/ + + +/** + * + */ +SVGStringList &SVGTests::getRequiredFeatures() +{ + return requiredFeatures; +} + +/** + * + */ +SVGStringList &SVGTests::getRequiredExtensions() +{ + return requiredExtensions; +} + +/** + * + */ +SVGStringList &SVGTests::getSystemLanguage() +{ + return systemLanguage; +} + + +/** + * + */ +bool SVGTests::hasExtension (const DOMString& /*extension*/) +{ + return false; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGTests::SVGTests() +{ +} + +/** + * + */ +SVGTests::SVGTests(const SVGTests &other) +{ + requiredFeatures = other.requiredFeatures; + requiredExtensions = other.requiredExtensions; + systemLanguage = other.systemLanguage; +} + +/** + * + */ +SVGTests::~SVGTests() +{ +} + + + +/*######################################################################### +## SVGLangSpace +#########################################################################*/ + + +/** + * + */ +DOMString SVGLangSpace::getXmllang() +{ + return xmlLang; +} + +/** + * + */ +void SVGLangSpace::setXmllang(const DOMString &val) throw (DOMException) +{ + xmlLang = val; +} + +/** + * + */ +DOMString SVGLangSpace::getXmlspace() +{ + return xmlSpace; +} + +/** + * + */ +void SVGLangSpace::setXmlspace(const DOMString &val) + throw (DOMException) +{ + xmlSpace = val; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGLangSpace::SVGLangSpace() +{ +} + +/** + * + */ +SVGLangSpace::SVGLangSpace(const SVGLangSpace &other) +{ + xmlLang = other.xmlLang; + xmlSpace = other.xmlSpace; +} + +/** + * + */ +SVGLangSpace::~SVGLangSpace() +{ +} + + + +/*######################################################################### +## SVGExternalResourcesRequired +#########################################################################*/ + +/** + * + */ +SVGAnimatedBoolean SVGExternalResourcesRequired::getExternalResourcesRequired() +{ + return required; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGExternalResourcesRequired::SVGExternalResourcesRequired() +{ +} + + +/** + * + */ +SVGExternalResourcesRequired::SVGExternalResourcesRequired( + const SVGExternalResourcesRequired &other) +{ + required = other.required; +} + +/** + * + */ +SVGExternalResourcesRequired::~SVGExternalResourcesRequired() {} + + +/*######################################################################### +## SVGPreserveAspectRatio +#########################################################################*/ + +/** + * + */ +unsigned short SVGPreserveAspectRatio::getAlign() +{ + return align; +} + +/** + * + */ +void SVGPreserveAspectRatio::setAlign(unsigned short val) throw (DOMException) +{ + align = val; +} + +/** + * + */ +unsigned short SVGPreserveAspectRatio::getMeetOrSlice() +{ + return meetOrSlice; +} + +/** + * + */ +void SVGPreserveAspectRatio::setMeetOrSlice(unsigned short val) throw (DOMException) +{ + meetOrSlice = val; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGPreserveAspectRatio::SVGPreserveAspectRatio() +{ + align = SVG_PRESERVEASPECTRATIO_UNKNOWN; + meetOrSlice = SVG_MEETORSLICE_UNKNOWN; +} + +/** + * + */ +SVGPreserveAspectRatio::SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other) +{ + align = other.align; + meetOrSlice = other.meetOrSlice; +} + +/** + * + */ +SVGPreserveAspectRatio::~SVGPreserveAspectRatio() +{ +} + + + +/*######################################################################### +## SVGFitToViewBox +#########################################################################*/ + + +/** + * + */ +SVGAnimatedRect SVGFitToViewBox::getViewBox() +{ + return viewBox; +} + +/** + * + */ +SVGAnimatedPreserveAspectRatio SVGFitToViewBox::getPreserveAspectRatio() +{ + return preserveAspectRatio; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGFitToViewBox::SVGFitToViewBox() +{ +} + +/** + * + */ + +SVGFitToViewBox::SVGFitToViewBox(const SVGFitToViewBox &other) +{ + viewBox = other.viewBox; + preserveAspectRatio = other.preserveAspectRatio; +} + +/** + * + */ +SVGFitToViewBox::~SVGFitToViewBox() +{ +} + +/*######################################################################### +## SVGZoomAndPan +#########################################################################*/ + +/** + * + */ +unsigned short SVGZoomAndPan::getZoomAndPan() +{ + return zoomAndPan; +} + +/** + * + */ +void SVGZoomAndPan::setZoomAndPan(unsigned short val) throw (DOMException) +{ + zoomAndPan = val; +} + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGZoomAndPan::SVGZoomAndPan() +{ + zoomAndPan = SVG_ZOOMANDPAN_UNKNOWN; +} + +/** + * + */ +SVGZoomAndPan::SVGZoomAndPan(const SVGZoomAndPan &other) +{ + zoomAndPan = other.zoomAndPan; +} + +/** + * + */ +SVGZoomAndPan::~SVGZoomAndPan() +{ +} + + +/*######################################################################### +## SVGViewSpec +#########################################################################*/ + +/** + * + */ +SVGTransformList SVGViewSpec::getTransform() +{ + return transform; +} + +/** + * + */ +SVGElementPtr SVGViewSpec::getViewTarget() +{ + return viewTarget; +} + +/** + * + */ +DOMString SVGViewSpec::getViewBoxString() +{ + DOMString ret; + return ret; +} + +/** + * + */ +DOMString SVGViewSpec::getPreserveAspectRatioString() +{ + DOMString ret; + return ret; +} + +/** + * + */ +DOMString SVGViewSpec::getTransformString() +{ + DOMString ret; + return ret; +} + +/** + * + */ +DOMString SVGViewSpec::getViewTargetString() +{ + DOMString ret; + return ret; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGViewSpec::SVGViewSpec() +{ + viewTarget = NULL; +} + +/** + * + */ +SVGViewSpec::SVGViewSpec(const SVGViewSpec &other) : SVGZoomAndPan(other), SVGFitToViewBox(other) +{ + viewTarget = other.viewTarget; + transform = other.transform; +} + +/** + * + */ +SVGViewSpec::~SVGViewSpec() +{ +} + + + +/*######################################################################### +## SVGURIReference +#########################################################################*/ + + +/** + * + */ +SVGAnimatedString SVGURIReference::getHref() +{ + return href; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGURIReference::SVGURIReference() +{ +} + +/** + * + */ +SVGURIReference::SVGURIReference(const SVGURIReference &other) +{ + href = other.href; +} + +/** + * + */ +SVGURIReference::~SVGURIReference() +{ +} + + + +/*######################################################################### +## SVGCSSRule +#########################################################################*/ + + + + +/*######################################################################### +## SVGRenderingIntent +#########################################################################*/ + + + + + +/*######################################################################### +## SVGPathSeg +#########################################################################*/ + +static const char *pathSegLetters[] = +{ + '@', // PATHSEG_UNKNOWN, + 'z', // PATHSEG_CLOSEPATH + 'M', // PATHSEG_MOVETO_ABS + 'm', // PATHSEG_MOVETO_REL, + 'L', // PATHSEG_LINETO_ABS + 'l', // PATHSEG_LINETO_REL + 'C', // PATHSEG_CURVETO_CUBIC_ABS + 'c', // PATHSEG_CURVETO_CUBIC_REL + 'Q', // PATHSEG_CURVETO_QUADRATIC_ABS, + 'q', // PATHSEG_CURVETO_QUADRATIC_REL + 'A', // PATHSEG_ARC_ABS + 'a', // PATHSEG_ARC_REL, + 'H', // PATHSEG_LINETO_HORIZONTAL_ABS, + 'h', // PATHSEG_LINETO_HORIZONTAL_REL + 'V', // PATHSEG_LINETO_VERTICAL_ABS + 'v', // PATHSEG_LINETO_VERTICAL_REL + 'S', // PATHSEG_CURVETO_CUBIC_SMOOTH_ABS + 's', // PATHSEG_CURVETO_CUBIC_SMOOTH_REL + 'T', // PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS + 't' // PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL +}; + + + +/** + * + */ +unsigned short getPathSegType() +{ + return type; +} + +/** + * + */ +DOMString getPathSegTypeAsLetter() +{ + int typ = type; + if (typ<0 || typ>PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL) + typ = PATHSEG_UNKNOWN; + char const ch = pathSegLetters[typ]; + DOMString letter = ch; + return letter; +} + + +/** + * + */ +unsigned short getPathSegType() +{ + return type; +} + +/** + * + */ +DOMString getPathSegTypeAsLetter() +{ + int typ = type; + if (typ<0 || typ>PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL) + typ = PATHSEG_UNKNOWN; + char const *ch = pathSegLetters[typ]; + DOMString letter = ch; + return letter; +} + +/** + * From the various subclasses + */ + +/** + * + */ +double SVGPathSeg::getX() +{ + return x; +} + +/** + * + */ +void SVGPathSeg::setX(double val) throw (DOMException) +{ + x = val; +} + +/** + * + */ +double SVGPathSeg::getX1() +{ + return x; +} + +/** + * + */ +void SVGPathSeg::setX1(double val) throw (DOMException) +{ + x = val; +} + +/** + * + */ +double SVGPathSeg::getX2() +{ + return x; +} + +/** + * + */ +void SVGPathSeg::setX2(double val) throw (DOMException) +{ + x = val; +} + +/** + * + */ +double SVGPathSeg::getY() +{ + return y; +} + +/** + * + */ +void SVGPathSeg::setY(double val) throw (DOMException) +{ + y = val; +} + +/** + * + */ +double SVGPathSeg::getY1() +{ + return y; +} + +/** + * + */ +void SVGPathSeg::setY1(double val) throw (DOMException) +{ + y = val; +} + +/** + * + */ +double SVGPathSeg::getY2() +{ + return y; +} + +/** + * + */ +void SVGPathSeg::setY2(double val) throw (DOMException) +{ + y = val; +} + +/** + * + */ +double SVGPathSeg::getR1() +{ + return r1; +} + +/** + * + */ +void SVGPathSeg::setR1(double val) throw (DOMException) +{ + r1 = val; +} + +/** + * + */ +double SVGPathSeg::getR2() +{ + return r2; +} + +/** + * + */ +void SVGPathSeg::setR2(double val) throw (DOMException) +{ + r2 = val; +} + +/** + * + */ +double SVGPathSeg::getAngle() +{ + return angle; +} + +/** + * + */ +void SVGPathSeg::setAngle(double val) throw (DOMException) +{ + angle = val; +} + +/** + * + */ +bool SVGPathSeg::getLargeArcFlag() +{ + return largeArcFlag; +} + +/** + * + */ +void SVGPathSeg::setLargeArcFlag(bool val) throw (DOMException) +{ + largeArcFlag = val; +} + +/** + * + */ +bool SVGPathSeg::getSweepFlag() +{ + return sweepFlag; +} + +/** + * + */ +void SVGPathSeg::setSweepFlag(bool val) throw (DOMException) +{ + sweepFlag = val; +} + + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGPathSeg::SVGPathSeg() +{ + init(); +} + +/** + * + */ +SVGPathSeg::SVGPathSeg(const SVGPathSeg &other) +{ + assign(other); +} + +/** + * + */ +SVGPathSeg &operator=(const SVGPathSeg &other) +{ + assign(other); + return *this; +} + +/** + * + */ +void SVGPathSeg::init() +{ + type = PATHSEG_UNKNOWN; + x = y = x1 = y1 = x2 = y2 = 0.0; + r1 = r2 = 0.0; + angle = 0.0; + largeArcFlag = false; + sweepFlag = false; +} + +/** + * + */ +void SVGPathSeg::assign(const SVGPathSeg &other) +{ + type = other.type; + x = other.x; + y = other.y; + x1 = other.x1; + y1 = other.y1; + x2 = other.x2; + y2 = other.y2; + r1 = other.r1; + r2 = other.r2; + angle = other.angle; + largeArcFlag = other.largeArcFlag; + sweepFlag = other.sweepFlag; +} + + +/** + * + */ +SVGPathSeg::~SVGPathSeg() +{ +} + + + + +/*######################################################################### +## SVGPaint +#########################################################################*/ + + +/** + * + */ +unsigned short SVGPaint::getPaintType() +{ return paintType; } + +/** + * + */ +DOMString SVGPaint::getUri() +{ return uri; } + +/** + * + */ +void SVGPaint::setUri(const DOMString& uriArg) +{ + uri = uriArg; +} + +/** + * + */ +void SVGPaint::setPaint (unsigned short paintTypeArg, + const DOMString& uriArg, + const DOMString& /*rgbColor*/, + const DOMString& /*iccColor*/) + throw (SVGException) +{ + paintType = paintTypeArg; + uri = uriArg; + //do something with rgbColor + //do something with iccColor; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGPaint::SVGPaint() +{ + uri = ""; + paintType = SVG_PAINTTYPE_UNKNOWN; +} + +/** + * + */ +SVGPaint::SVGPaint(const SVGPaint &other) : css::CSSValue(other), SVGColor(other) +{ + uri = ""; + paintType = SVG_PAINTTYPE_UNKNOWN; +} + +/** + * + */ +SVGPaint::~SVGPaint() {} + + +/*######################################################################### +## SVGColorProfileRule +#########################################################################*/ + + +/** + * + */ +DOMString SVGColorProfileRule::getSrc() +{ return src; } + +/** + * + */ +void SVGColorProfileRule::setSrc(const DOMString &val) throw (DOMException) +{ src = val; } + +/** + * + */ +DOMString SVGColorProfileRule::getName() +{ return name; } + +/** + * + */ +void SVGColorProfileRule::setName(const DOMString &val) throw (DOMException) +{ name = val; } + +/** + * + */ +unsigned short SVGColorProfileRule::getRenderingIntent() +{ return renderingIntent; } + +/** + * + */ +void SVGColorProfileRule::setRenderingIntent(unsigned short val) throw (DOMException) +{ renderingIntent = val; } + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGColorProfileRule::SVGColorProfileRule() +{ +} + +/** + * + */ +SVGColorProfileRule::SVGColorProfileRule(const SVGColorProfileRule &other) + : SVGCSSRule(other), SVGRenderingIntent(other) +{ + renderingIntent = other.renderingIntent; + src = other.src; + name = other.name; +} + +/** + * + */ +SVGColorProfileRule::~SVGColorProfileRule() +{ +} + + +/*######################################################################### +## SVGFilterPrimitiveStandardAttributes +#########################################################################*/ + +/** + * + */ +SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::getX() +{ return x; } + +/** + * + */ +SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::getY() +{ return y; } + +/** + * + */ +SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::getWidth() +{ return width; } + +/** + * + */ +SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::getHeight() +{ return height; } + +/** + * + */ +SVGAnimatedString SVGFilterPrimitiveStandardAttributes::getResult() +{ return result; } + + + +//################## +//# Non-API methods +//################## + + +/** + * + */ +SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes() +{ +} + +/** + * + */ +SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes( + const SVGFilterPrimitiveStandardAttributes &other) + : SVGStylable(other) +{ + x = other.x; + y = other.y; + width = other.width; + height = other.height; + result = other.result; +} + +/** + * + */ +SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes() +{ +} + + +/*######################################################################### +## SVGEvent +#########################################################################*/ + +/** + * + */ +SVGEvent:SVGEvent() +{ +} + +/** + * + */ +SVGEvent:SVGEvent(const SVGEvent &other) : events::Event(other) +{ +} + +/** + * + */ +SVGEvent::~SVGEvent() +{ +} + + +/*######################################################################### +## SVGZoomEvent +#########################################################################*/ + +/** + * + */ +SVGRect SVGZoomEvent::getZoomRectScreen() +{ + return zoomRectScreen; +} + +/** + * + */ +double SVGZoomEvent::getPreviousScale() +{ + return previousScale; +} + +/** + * + */ +SVGPoint SVGZoomEvent::getPreviousTranslate() +{ + return previousTranslate; +} + +/** + * + */ +double SVGZoomEvent::getNewScale() +{ + return newScale; +} + +/** + * + */ +SVGPoint SVGZoomEvent::getNewTranslate() +{ + return newTranslate; +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGZoomEvent::SVGZoomEvent() +{ +} + +/** + * + */ +SVGZoomEvent::SVGZoomEvent(const SVGZoomEvent &other) : + events::Event(other), events::UIEvent(other) +{ + zoomRectScreen = other.zoomRectScreen; + previousScale = other.previousScale; + previousTranslate = other.previousTranslate; + newScale = other.newScale; + newTranslate = other.newTranslate; +} + +/** + * + */ +SVGZoomEvent::~SVGZoomEvent() +{ +} + + +/*######################################################################### +## SVGElementInstance +#########################################################################*/ + + +/** + * + */ +SVGElementPtr SVGElementInstance::getCorrespondingElement() +{ + return correspondingElement; +} + +/** + * + */ +SVGUseElementPtr SVGElementInstance::getCorrespondingUseElement() +{ + return correspondingUseElement; +} + +/** + * + */ +SVGElementInstance SVGElementInstance::getParentNode() +{ + SVGElementInstance ret; + return ret; +} + +/** + * Since we are using stack types and this is a circular definition, + * we will instead implement this as a global function below: + * SVGElementInstanceList getChildNodes(const SVGElementInstance instance); + */ +//SVGElementInstanceList getChildNodes(); + +/** + * + */ +SVGElementInstance SVGElementInstance::getFirstChild() +{ + SVGElementInstance ret; + return ret; +} + +/** + * + */ +SVGElementInstance SVGElementInstance::getLastChild() +{ + SVGElementInstance ret; + return ret; +} + +/** + * + */ +SVGElementInstance SVGElementInstance::getPreviousSibling() +{ + SVGElementInstance ret; + return ret; +} + +/** + * + */ +SVGElementInstance SVGElementInstance::getNextSibling() +{ + SVGElementInstance ret; + return ret; +} + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGElementInstance::SVGElementInstance() +{ +} + +/** + * + */ +SVGElementInstance::SVGElementInstance(const SVGElementInstance &other) + : events::EventTarget(other) +{ +} + +/** + * + */ +SVGElementInstance::~SVGElementInstance() +{ +} + + +/*######################################################################### +## SVGElementInstanceList +#########################################################################*/ + +/** + * + */ +unsigned long SVGElementInstanceList::getLength() +{ return items.size(); } + +/** + * + */ +SVGElementInstance SVGElementInstanceList::item(unsigned long index) +{ + if (index >= items.size()) + { + SVGElementInstance ret; + return ret; + } + return items[index]; +} + +/** + * This static method replaces the circular definition of: + * SVGElementInstanceList SVGElementInstance::getChildNodes() + * + */ +static SVGElementInstanceList SVGElementInstanceList::getChildNodes(const SVGElementInstance &/*instance*/) +{ + SVGElementInstanceList list; + return list; +} + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGElementInstanceList::SVGElementInstanceList() +{ +} + +/** + * + */ +SVGElementInstanceList::SVGElementInstanceList(const SVGElementInstanceList &other) +{ + items = other.items; +} + +/** + * + */ +SVGElementInstanceList::~SVGElementInstanceList() +{ +} + + + + +/*######################################################################### +## SVGValue +#########################################################################*/ + +/** + * Constructor + */ +SVGValue() +{ + init(); +} + +/** + * Copy constructor + */ +SVGValue(const SVGValue &other) +{ + assign(other); +} + +/** + * Assignment + */ +SVGValue &operator=(const SVGValue &other) +{ + assign(other); + return *this; +} + +/** + * + */ +~SVGValue() +{ +} + +//########################### +// TYPES +//########################### + +/** + * Angle + */ +SVGValue::SVGValue(const SVGAngle &v) +{ + type = SVG_ANGLE; + angleval = v; +} + +SVGAngle SVGValue::angleValue() +{ + return algleval; +} + +/** + * Boolean + */ +SVGValue::SVGValue(bool v) +{ + type = SVG_BOOLEAN; + bval = v; +} + +bool SVGValue::booleanValue() +{ + return bval; +} + + +/** + * Enumeration + */ +SVGValue::SVGValue(short v) +{ + type = SVG_ENUMERATION; + eval = v; +} + +short SVGValue::enumerationValue() +{ + return eval; +} + +/** + * Integer + */ +SVGValue::SVGValue(long v) +{ + type = SVG_INTEGER; + ival = v; +} + +long SVGValue::integerValue() +{ + return ival; +} + +/** + * Length + */ +SVGValue::SVGValue(const SVGLength &v) +{ + type = SVG_LENGTH; + lengthval = v; +} + +SVGLength SVGValue::lengthValue() +{ + return lengthval; +} + +/** + * Number + */ +SVGValue::SVGValue(double v) +{ + type = SVG_NUMBER; + dval = v; +} + +double SVGValue::numberValue() +{ + return dval; +} + +/** + * Points + */ +SVGValue::SVGValue(const SVGPointList &v) +{ + type = SVG_POINTS; + plistval = v; +} + +SVGPointList SVGValue::pointListValue() +{ + return plistval; +} + + +/** + * PreserveAspectRatio + */ +SVGValue::SVGValue(const SVGPreserveAspectRatio &v) +{ + type = SVG_PRESERVE_ASPECT_RATIO; + parval = v; +} + +SVGPreserveAspectRatio SVGValue::preserveAspectRatioValue() +{ + return parval; +} + +/** + * Rect + */ +SVGValue::SVGValue(const SVGRect &v) +{ + type = SVG_RECT; + rectval = v; +} + +SVGRect SVGValue::rectValue() +{ + return rectval; +} + +/** + * String + */ +SVGValue::SVGValue(const DOMString &v) +{ + type = SVG_STRING; + sval = v; +} + +DOMString SVGValue::stringValue() +{ + return sval; +} + + +void SVGValue::init() +{ + type = SVG_NUMBER; + bval = false; + eval = 0; + ival = 0; + dval = 0.0; +} + +void SVGValue::assign(const SVGValue &other) +{ + type = other.type; + angleval = other.angleval; + bval = other.bval; + eval = other.eval; + ival = other.ival; + lengthval = other.lengthval; + dval = other.dval; + parval = other.parval; + rval = other.rval; + sval = other.sval; +} + + +/*######################################################################### +## SVGTransformList +#########################################################################*/ + + +/*######################################################################### +## SVGStringList +#########################################################################*/ + + +/*######################################################################### +## SVGNumberList +#########################################################################*/ + + +/*######################################################################### +## SVGLengthList +#########################################################################*/ + + +/*######################################################################### +## SVGPointList +#########################################################################*/ + +/*######################################################################### +## SVGPathSegList +#########################################################################*/ + +/*######################################################################### +## SVGValueList +#########################################################################*/ + + +/** + * + */ +unsigned long SVGValueList::getNumberOfItems() +{ + return items.size(); +} + +/** + * + */ +void SVGValueList::clear() throw (DOMException) +{ + items.clear(); +} + +/** + * + */ +SVGValue SVGValueList::initialize(const SVGValue& newItem) + throw (DOMException, SVGException) +{ + items.clear(); + items.push_back(newItem); + return newItem; +} + +/** + * + */ +SVGValue SVGValueList::getItem(unsigned long index) throw (DOMException) +{ + if (index >= items.size()) + return ""; + return items[index]; +} + +/** + * + */ +SVGValue SVGValueList::insertItemBefore(const SVGValue& newItem, + unsigned long index) + throw (DOMException, SVGException) +{ + if (index>=items.size()) + { + items.push_back(newItem); + } + else + { + std::vector::iterator iter = items.begin() + index; + items.insert(iter, newItem); + } + return newItem; +} + +/** + * + */ +SVGValue SVGValueList::replaceItem (const SVGValue& newItem, + unsigned long index) + throw (DOMException, SVGException) +{ + if (index>=items.size()) + return ""; + std::vector::iterator iter = items.begin() + index; + *iter = newItem; + return newItem; +} + +/** + * + */ +SVGValue SVGValueList::removeItem (unsigned long index) + throw (DOMException) +{ + if (index>=items.size()) + return ""; + std::vector::iterator iter = items.begin() + index; + SVGValue oldval = *iter; + items.erase(iter); + return oldval; +} + +/** + * + */ +SVGValue SVGValueList::appendItem (const SVGValue& newItem) + throw (DOMException, SVGException) +{ + items.push_back(newItem); + return newItem; +} + + +/** + * Matrix + */ +SVGValue SVGValueList::createSVGTransformFromMatrix(const SVGValue &matrix) +{ +} + +/** + * Matrix + */ +SVGValue SVGValueList::consolidate() +{ +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGValueList::SVGValueList() +{ +} + +/** + * + */ +SVGValueList::SVGValueList(const SVGValueList &other) +{ + items = other.items; +} + +/** + * + */ +SVGValueList::~SVGValueList() +{ +} + + + + + +/*######################################################################### +## SVGAnimatedValue +#########################################################################*/ + + + + +/** + * + */ +SVGValue &SVGAnimatedValue::getBaseVal() +{ + return baseVal; +} + +/** + * + */ +void SVGAnimatedValue::setBaseVal(const SVGValue &val) throw (DOMException) +{ + baseVal = val; +} + +/** + * + */ +SVGValue &SVGAnimatedValue::getAnimVal() +{ + return animVal; +} + + +/** + * + */ +SVGAnimatedValue::SVGAnimatedValue() +{ + init(); +} + + +/** + * + */ +SVGAnimatedValue::SVGAnimatedValue(const SVGValue &v) +{ + init(); + baseVal = v; +} + + +/** + * + */ +SVGAnimatedValue::SVGAnimatedValue(const SVGValue &bv, const SVGValue &av) +{ + init(); + baseVal = bv; + animVal = av; +} + + +/** + * + */ +SVGAnimatedValue::SVGAnimatedValue(const SVGAnimatedValue &other) +{ + assign(other); +} + + +/** + * + */ +SVGAnimatedValue &SVGAnimatedValue::operator=(const SVGAnimatedValue &other) +{ + assign(other); + return *this; +} + + +/** + * + */ +SVGAnimatedValue &SVGAnimatedValue::operator=(const SVGValue &bv) +{ + init(); + baseVal = bv; +} + + +/** + * + */ +SVGAnimatedValue::~SVGAnimatedValue() +{ +} + + + +void SVGAnimatedValue::init() +{ +} + + +void SVGAnimatedValue::assign(const SVGAnimatedValue &other) +{ + baseVal = other.baseVal; + animVal = other.animVal; +} + + + + + + + + + + + + + + + + + + + + + +//######################################################################## +//######################################################################## +//######################################################################## +//# D O M +//######################################################################## +//######################################################################## +//######################################################################## + + + + + + + +/*######################################################################### +## SVGElement +#########################################################################*/ + + +//#################################################################### +//# BASE METHODS FOR SVGElement +//#################################################################### + +/** + * Get the value of the id attribute on the given element. + */ +DOMString getId() +{ +} + +/** + * Set the value of the id attribute on the given element. + */ +void setId(const DOMString &val) throw (DOMException) +{ +} + + +/** + * Corresponds to attribute xml:base on the given element. + */ +DOMString getXmlBase() +{ +} + + +/** + * Corresponds to attribute xml:base on the given element. + */ +void setXmlBase(const DOMString &val) throw (DOMException) +{ +} + +/** + * The nearest ancestor 'svg' element. Null if the given element is the + * outermost 'svg' element. + */ +SVGElementPtr getOwnerSVGElement() +{ +} + +/** + * The element which established the current viewport. Often, the nearest + * ancestor 'svg' element. Null if the given element is the outermost 'svg' + * element. + */ +SVGElementPtr getViewportElement() +{ +} + + +//#################################################################### +//#################################################################### +//# I N T E R F A C E S +//#################################################################### +//#################################################################### + +//#################################################################### +//# SVGAngle +//#################################################################### + +/** + * + */ +unsigned short getUnitType() +{ +} + +/** + * + */ +double getValue() +{ +} + +/** + * + */ +void setValue(double val) throw (DOMException) +{ +} + +/** + * + */ +double getValueInSpecifiedUnits() +{ +} + +/** + * + */ +void setValueInSpecifiedUnits(double /*val*/) throw (DOMException) +{ +} + +/** + * + */ +DOMString getValueAsString() +{ +} + +/** + * + */ +void setValueAsString(const DOMString &/*val*/) throw (DOMException) +{ +} + + +/** + * + */ +void newValueSpecifiedUnits(unsigned short /*unitType*/, + double /*valueInSpecifiedUnits*/) +{ +} + +/** + * + */ +void convertToSpecifiedUnits(unsigned short /*unitType*/) +{ +} + +//#################################################################### +//## The following animated types are rolled up into a single +//## SVGAnimatedValue interface +//#################################################################### + +//#################################################################### +//## SVGAnimatedAngle +//#################################################################### + +//#################################################################### +//## SVGAnimatedBoolean +//#################################################################### + +//#################################################################### +//## SVGAnimatedEnumeration +//#################################################################### + +//#################################################################### +//## SVGAnimatedInteger +//#################################################################### + +//#################################################################### +//## SVGAnimatedLength +//#################################################################### + +//#################################################################### +//## SVGAnimatedLengthList +//#################################################################### + +//#################################################################### +//## SVGAnimatedNumber +//#################################################################### + +//#################################################################### +//## SVGAnimatedNumberList +//#################################################################### + +//#################################################################### +//## SVGAnimatedPathData +//#################################################################### + +//#################################################################### +//## SVGAnimatedPoints +//#################################################################### + +//#################################################################### +//## SVGAnimatedPreserveAspectRatio +//#################################################################### + +//#################################################################### +//## SVGAnimatedRect +//#################################################################### + +//#################################################################### +//## SVGAnimatedString +//#################################################################### + +//#################################################################### +//## SVGAnimatedTransformList +//#################################################################### + +//#################################################################### +//# SVGAnimatedValue +//#################################################################### + +/** + * + */ +SVGValue &getBaseVal() +{ + return baseVal(); +} + +/** + * + */ +void setBaseVal(const SVGValue &val) throw (DOMException) +{ + baseVal = val; +} + +/** + * + */ +SVGValue &getAnimVal() +{ + return animVal; +} + + + +//#################################################################### +//# SVGColor +//#################################################################### + +/** + * From CSSValue + * A code defining the type of the value as defined above. + */ +unsigned short getCssValueType() +{ +} + +/** + * From CSSValue + * A string representation of the current value. + */ +DOMString getCssText() +{ +} + +/** + * From CSSValue + * A string representation of the current value. + * Note that setting implies parsing. + */ +void setCssText(const DOMString &val) throw (dom::DOMException) +{ +} + + +/** + * + */ +unsigned short getColorType() +{ +} + +/** + * + */ +css::RGBColor getRgbColor() +{ +} + +/** + * + */ +SVGICCColor getIccColor() +{ +} + + +/** + * + */ +void setRGBColor(const DOMString& /*rgbColor*/) throw (SVGException) +{ +} + +/** + * + */ +void setRGBColorICCColor(const DOMString& /*rgbColor*/, + const DOMString& /*iccColor*/) + throw (SVGException) +{ +} + +/** + * + */ +void setColor(unsigned short /*colorType*/, + const DOMString& /*rgbColor*/, + const DOMString& /*iccColor*/) + throw (SVGException) +{ +} + +//#################################################################### +//# SVGCSSRule +//#################################################################### + +/** + * From CSSRule + * The type of the rule, as defined above. The expectation is that + * binding-specific casting methods can be used to cast down from an instance of + * the CSSRule interface to the specific derived interface implied by the type. + */ +unsigned short getType() +{ +} + +/** + * From CSSRule + * The parsable textual representation of the rule. This reflects the current + * state of the rule and not its initial value. + */ +DOMString getCssText() +{ +} + +/** + * From CSSRule + * The parsable textual representation of the rule. This reflects the current + * state of the rule and not its initial value. + * Note that setting involves reparsing. + */ +void setCssText(const DOMString &val) throw (DOMException) +{ +} + +/** + * From CSSRule + * The style sheet that contains this rule. + */ +css::CSSStyleSheet *getParentStyleSheet() +{ +} + +/** + * From CSSRule + * If this rule is contained inside another rule(e.g. a style rule inside an + * @media block), this is the containing rule. If this rule is not nested inside + * any other rules, this returns null. + */ +css::CSSRule *getParentRule() +{ +} + +//#################################################################### +//# SVGExternalResourcesRequired +//#################################################################### + +/** + * + */ +SVGAnimatedBoolean getExternalResourcesRequired() +{ +} + +//#################################################################### +//# SVGFitToViewBox +//#################################################################### + +/** + * + */ +SVGAnimatedRect getViewBox() +{ +} + +/** + * + */ +SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() +{ +} + +//#################################################################### +//# SVGICCColor +//#################################################################### + +/** + * + */ +DOMString getColorProfile() +{ +} + +/** + * + */ +void setColorProfile(const DOMString &val) throw (DOMException) +{ +} + +/** + * + */ +SVGNumberList &getColors() +{ +} + +//#################################################################### +//# SVGLangSpace +//#################################################################### + +/** + * + */ +DOMString getXmllang() +{ +} + +/** + * + */ +void setXmllang(const DOMString &val) throw (DOMException) +{ +} + +/** + * + */ +DOMString getXmlspace() +{ +} + +/** + * + */ +void setXmlspace(const DOMString &val) throw (DOMException) +{ +} + +//#################################################################### +//# SVGLength +//#################################################################### + +/** + * + */ +unsigned short getUnitType() +{ +} + +/** + * + */ +double getValue() +{ +} + +/** + * + */ +void setValue(double val) throw (DOMException) +{ +} + +/** + * + */ +double getValueInSpecifiedUnits() +{ +} + +/** + * + */ +void setValueInSpecifiedUnits(double /*val*/) throw (DOMException) +{ +} + +/** + * + */ +DOMString getValueAsString() +{ +} + +/** + * + */ +void setValueAsString(const DOMString& /*val*/) throw (DOMException) +{ +} + + +/** + * + */ +void newValueSpecifiedUnits(unsigned short /*unitType*/, double /*val*/) +{ +} + +/** + * + */ +void convertToSpecifiedUnits(unsigned short /*unitType*/) +{ +} + + +//#################################################################### +//## SVGLengthList - see SVGValueList +//#################################################################### + + + +//#################################################################### +//# SVGLocatable +//#################################################################### + +/** + * + */ +SVGElementPtr getNearestViewportElement() +{ +} + +/** + * + */ +SVGElement *getFarthestViewportElement() +{ +} + +/** + * + */ +SVGRect getBBox() +{ +} + +/** + * + */ +SVGMatrix getCTM() +{ +} + +/** + * + */ +SVGMatrix getScreenCTM() +{ +} + +/** + * + */ +SVGMatrix getTransformToElement(const SVGElement &/*element*/) + throw (SVGException) +{ +} + +//#################################################################### +//# SVGNumber +//#################################################################### + +/** + * + */ +double getValue() +{ +} + +/** + * + */ +void setValue(double val) throw (DOMException) +{ +} + +//#################################################################### +//# SVGNumberList - see SVGValueList +//#################################################################### + + +//#################################################################### +//# SVGRect +//#################################################################### + +/** + * + */ +double getX() +{ +} + +/** + * + */ +void setX(double val) throw (DOMException) +{ +} + +/** + * + */ +double getY() +{ +} + +/** + * + */ +void setY(double val) throw (DOMException) +{ +} + +/** + * + */ +double getWidth() +{ +} + +/** + * + */ +void setWidth(double val) throw (DOMException) +{ +} + +/** + * + */ +double getHeight() +{ +} + +/** + * + */ +void setHeight(double val) throw (DOMException) +{ +} + +//#################################################################### +//# SVGRenderingIntent +//#################################################################### + +//#################################################################### +//# SVGStringList - see SVGValueList +//#################################################################### + +//#################################################################### +//# SVGStylable +//#################################################################### + +/** + * + */ +SVGAnimatedString getClassName() +{ +} + +/** + * + */ +css::CSSStyleDeclaration getStyle() +{ +} + +/** + * + */ +css::CSSValue getPresentationAttribute(const DOMString& /*name*/) +{ +} + +//#################################################################### +//# SVGTests +//#################################################################### + +/** + * + */ +SVGValueList &getRequiredFeatures() +{ +} + +/** + * + */ +SVGValueList &getRequiredExtensions() +{ +} + +/** + * + */ +SVGValueList &getSystemLanguage() +{ +} + +/** + * + */ +bool hasExtension(const DOMString& /*extension*/) +{ +} + +//#################################################################### +//# SVGTransformable +//#################################################################### + +/** + * + */ +SVGAnimatedList &getTransform() +{ +} + +//#################################################################### +//# SVGUnitTypes +//#################################################################### + +//#################################################################### +//# SVGURIReference +//#################################################################### + +/** + * + */ +SVGAnimatedValue getHref() +{ +} + +//#################################################################### +//## SVGValueList - consolidation of other lists +//#################################################################### + +/** + * + */ +unsigned long SVGElement::getNumberOfItems() +{ + return items.size(); +} + +/** + * + */ +void SVGElement::clear() throw (DOMException) +{ + items.clear(); +} + +/** + * + */ +SVGValue SVGElement::initialize(const SVGValue& newItem) + throw (DOMException, SVGException) +{ + items.clear(); + items.push_back(newItem); + return newItem; +} + +/** + * + */ +SVGValue SVGElement::getItem(unsigned long index) throw (DOMException) +{ + if (index >= items.size()) + return ""; + return items[index]; +} + +/** + * + */ +SVGValue SVGElement::insertItemBefore(const SVGValue& newItem, + unsigned long index) + throw (DOMException, SVGException) +{ + if (index>=items.size()) + { + items.push_back(newItem); + } + else + { + std::vector::iterator iter = items.begin() + index; + items.insert(iter, newItem); + } + return newItem; +} + +/** + * + */ +SVGValue SVGElement::replaceItem (const SVGValue& newItem, + unsigned long index) + throw (DOMException, SVGException) +{ + if (index>=items.size()) + return ""; + std::vector::iterator iter = items.begin() + index; + *iter = newItem; + return newItem; +} + +/** + * + */ +SVGValue SVGElement::removeItem (unsigned long index) + throw (DOMException) +{ + if (index>=items.size()) + return ""; + std::vector::iterator iter = items.begin() + index; + SVGValue oldval = *iter; + items.erase(iter); + return oldval; +} + +/** + * + */ +SVGValue SVGElement::appendItem (const SVGValue& newItem) + throw (DOMException, SVGException) +{ + items.push_back(newItem); + return newItem; +} + + +/** + * Matrix + */ +SVGValue SVGElement::createSVGTransformFromMatrix(const SVGValue &matrix) +{ +} + +/** + * Matrix + */ +SVGValue SVGElement::consolidate() +{ +} + + +//#################################################################### +//# SVGViewSpec +//#################################################################### + +/** + * + */ +//SVGTransformList getTransform() +//{ +//} + +/** + * + */ +SVGElementPtr getViewTarget() +{ +} + +/** + * + */ +DOMString getViewBoxString() +{ +} + +/** + * + */ +DOMString getPreserveAspectRatioString() +{ +} + +/** + * + */ +DOMString getTransformString() +{ +} + +/** + * + */ +DOMString getViewTargetString() +{ +} + +//#################################################################### +//# SVGZoomAndPan +//#################################################################### + +/** + * + */ +unsigned short getZoomAndPan() +{ +} + +/** + * + */ +void setZoomAndPan(unsigned short val) throw (DOMException) +{ +} + +//#################################################################### +//#################################################################### +//# E L E M E N T S +//#################################################################### +//#################################################################### + +//#################################################################### +//# SVGAElement +//#################################################################### + + +/** + * + */ +SVGAnimatedString getTarget() +{ +} + + + +//#################################################################### +//# SVGAltGlyphElement +//#################################################################### + + +/** + * Get the attribute glyphRef on the given element. + */ +DOMString getGlyphRef() +{ +} + +/** + * Set the attribute glyphRef on the given element. + */ +void setGlyphRef(const DOMString &val) throw (DOMException) +{ +} + +/** + * Get the attribute format on the given element. + */ +DOMString getFormat() +{ +} + +/** + * Set the attribute format on the given element. + */ +void setFormat(const DOMString &val) throw (DOMException) +{ +} + + +//#################################################################### +//# SVGAltGlyphDefElement +//#################################################################### + +//#################################################################### +//# SVGAltGlyphItemElement +//#################################################################### + + +//#################################################################### +//# SVGAnimateElement +//#################################################################### + + +//#################################################################### +//# SVGAnimateColorElement +//#################################################################### + +//#################################################################### +//# SVGAnimateMotionElement +//#################################################################### + + +//#################################################################### +//# SVGAnimateTransformElement +//#################################################################### + + +//#################################################################### +//# SVGAnimationElement +//#################################################################### + + +/** + * + */ +SVGElementPtr getTargetElement() +{ +} + +/** + * + */ +double getStartTime() +{ +} + +/** + * + */ +double getCurrentTime() +{ +} + +/** + * + */ +double getSimpleDuration() throw (DOMException) +{ +} + + + +//#################################################################### +//# SVGCircleElement +//#################################################################### + +/** + * Corresponds to attribute cx on the given 'circle' element. + */ +SVGAnimatedLength getCx() +{ +} + +/** + * Corresponds to attribute cy on the given 'circle' element. + */ +SVGAnimatedLength getCy() +{ +} + +/** + * Corresponds to attribute r on the given 'circle' element. + */ +SVGAnimatedLength getR() +{ +} + +//#################################################################### +//# SVGClipPathElement +//#################################################################### + + +/** + * Corresponds to attribute clipPathUnits on the given 'clipPath' element. + * Takes one of the constants defined in SVGUnitTypes. + */ +SVGAnimatedEnumeration getClipPathUnits() +{ +} + + + +//#################################################################### +//# SVGColorProfileElement +//#################################################################### + + +/** + * Get the attribute local on the given element. + */ +DOMString getLocal() +{ +} + +/** + * Set the attribute local on the given element. + */ +void setLocal(const DOMString &val) throw (DOMException) +{ +} + +/** + * Get the attribute name on the given element. + */ +DOMString getName() +{ +} + +/** + * Set the attribute name on the given element. + */ +void setName(const DOMString &val) throw (DOMException) +{ +} + +/** + * Set the attribute rendering-intent on the given element. + * The type of rendering intent, identified by one of the + * SVGRenderingIntent constants. + */ +unsigned short getRenderingIntent() +{ +} + +/** + * Get the attribute rendering-intent on the given element. + */ +void setRenderingIntent(unsigned short val) throw (DOMException) +{ +} + + +//#################################################################### +//# SVGComponentTransferFunctionElement +//#################################################################### + +/** + * Corresponds to attribute type on the given element. Takes one + * of the Component Transfer Types. + */ +SVGAnimatedEnumeration getType() +{ +} + +/** + * Corresponds to attribute tableValues on the given element. + */ +SVGAnimatedNumberList getTableValues() +{ +} + +/** + * Corresponds to attribute slope on the given element. + */ +SVGAnimatedNumber getSlope() +{ +} + +/** + * Corresponds to attribute intercept on the given element. + */ +SVGAnimatedNumber getIntercept() +{ +} + +/** + * Corresponds to attribute amplitude on the given element. + */ +SVGAnimatedNumber getAmplitude() +{ +} + +/** + * Corresponds to attribute exponent on the given element. + */ +SVGAnimatedNumber getExponent() +{ +} + +/** + * Corresponds to attribute offset on the given element. + */ +SVGAnimatedNumber getOffset() +{ +} + +//#################################################################### +//# SVGCursorElement +//#################################################################### + +/** + * + */ +SVGAnimatedLength getX() +{ +} + +/** + * + */ +SVGAnimatedLength getY() +{ +} + + +//#################################################################### +//# SVGDefinitionSrcElement +//#################################################################### + +//#################################################################### +//# SVGDefsElement +//#################################################################### + +//#################################################################### +//# SVGDescElement +//#################################################################### + +//#################################################################### +//# SVGEllipseElement +//#################################################################### + +/** + * Corresponds to attribute cx on the given 'ellipse' element. + */ +SVGAnimatedLength getCx() +{ +} + +/** + * Corresponds to attribute cy on the given 'ellipse' element. + */ +SVGAnimatedLength getCy() +{ +} + +/** + * Corresponds to attribute rx on the given 'ellipse' element. + */ +SVGAnimatedLength getRx() +{ +} + +/** + * Corresponds to attribute ry on the given 'ellipse' element. + */ +SVGAnimatedLength getRy() +{ +} + + +//#################################################################### +//# SVGFEBlendElement +//#################################################################### + +/** + * Corresponds to attribute in on the given 'feBlend' element. + */ +SVGAnimatedString getIn1() +{ +} + +/** + * Corresponds to attribute in2 on the given 'feBlend' element. + */ +SVGAnimatedString getIn2() +{ +} + +/** + * Corresponds to attribute mode on the given 'feBlend' element. + * Takes one of the Blend Mode Types. + */ +SVGAnimatedEnumeration getMode() +{ +} + + +//#################################################################### +//# SVGFEColorMatrixElement +//#################################################################### + +/** + * Corresponds to attribute in on the given 'feColorMatrix' element. + */ +SVGAnimatedString getIn1() +{ +} + +/** + * Corresponds to attribute type on the given 'feColorMatrix' element. + * Takes one of the Color Matrix Types. + */ +SVGAnimatedEnumeration getType() +{ +} + +/** + * Corresponds to attribute values on the given 'feColorMatrix' element. + * Provides access to the contents of the values attribute. + */ +SVGAnimatedNumberList getValues() +{ +} + + +//#################################################################### +//# SVGFEComponentTransferElement +//#################################################################### + + +/** + * Corresponds to attribute in on the given 'feComponentTransfer' element. + */ +SVGAnimatedString getIn1() +{ +} + +//#################################################################### +//# SVGFECompositeElement +//#################################################################### + +/** + * Corresponds to attribute in on the given 'feComposite' element. + */ +SVGAnimatedString getIn1() +{ +} + +/** + * Corresponds to attribute in2 on the given 'feComposite' element. + */ +SVGAnimatedString getIn2() +{ +} + +/** + * Corresponds to attribute operator on the given 'feComposite' element. + * Takes one of the Composite Operators. + */ +SVGAnimatedEnumeration getOperator() +{ +} + +/** + * Corresponds to attribute k1 on the given 'feComposite' element. + */ +SVGAnimatedNumber getK1() +{ +} + +/** + * Corresponds to attribute k2 on the given 'feComposite' element. + */ +SVGAnimatedNumber getK2() +{ +} + +/** + * Corresponds to attribute k3 on the given 'feComposite' element. + */ +SVGAnimatedNumber getK3() +{ +} + +/** + * Corresponds to attribute k4 on the given 'feComposite' element. + */ +SVGAnimatedNumber getK4() +{ +} + + +//#################################################################### +//# SVGFEConvolveMatrixElement +//#################################################################### + + +/** + * Corresponds to attribute order on the given 'feConvolveMatrix' element. + */ +SVGAnimatedInteger getOrderX() +{ +} + +/** + * Corresponds to attribute order on the given 'feConvolveMatrix' element. + */ +SVGAnimatedInteger getOrderY() +{ +} + +/** + * Corresponds to attribute kernelMatrix on the given element. + */ +SVGAnimatedNumberList getKernelMatrix() +{ +} + +/** + * Corresponds to attribute divisor on the given 'feConvolveMatrix' element. + */ +SVGAnimatedNumber getDivisor() +{ +} + +/** + * Corresponds to attribute bias on the given 'feConvolveMatrix' element. + */ +SVGAnimatedNumber getBias() +{ +} + +/** + * Corresponds to attribute targetX on the given 'feConvolveMatrix' element. + */ +SVGAnimatedInteger getTargetX() +{ +} + +/** + * Corresponds to attribute targetY on the given 'feConvolveMatrix' element. + */ +SVGAnimatedInteger getTargetY() +{ +} + +/** + * Corresponds to attribute edgeMode on the given 'feConvolveMatrix' + * element. Takes one of the Edge Mode Types. + */ +SVGAnimatedEnumeration getEdgeMode() +{ +} + +/** + * Corresponds to attribute kernelUnitLength on the + * given 'feConvolveMatrix' element. + */ +SVGAnimatedLength getKernelUnitLengthX() +{ +} + +/** + * Corresponds to attribute kernelUnitLength on the given + * 'feConvolveMatrix' element. + */ +SVGAnimatedLength getKernelUnitLengthY() +{ +} + +/** + * Corresponds to attribute preserveAlpha on the + * given 'feConvolveMatrix' element. + */ +SVGAnimatedBoolean getPreserveAlpha() +{ +} + + + +//#################################################################### +//# SVGFEDiffuseLightingElement +//#################################################################### + + +/** + * Corresponds to attribute in on the given 'feDiffuseLighting' element. + */ +SVGAnimatedString getIn1() +{ +} + +/** + * Corresponds to attribute surfaceScale on the given + * 'feDiffuseLighting' element. + */ +SVGAnimatedNumber getSurfaceScale() +{ +} + +/** + * Corresponds to attribute diffuseConstant on the given + * 'feDiffuseLighting' element. + */ +SVGAnimatedNumber getDiffuseConstant() +{ +} + +/** + * Corresponds to attribute kernelUnitLength on the given + * 'feDiffuseLighting' element. + */ +SVGAnimatedNumber getKernelUnitLengthX() +{ +} + +/** + * Corresponds to attribute kernelUnitLength on the given + * 'feDiffuseLighting' element. + */ +SVGAnimatedNumber getKernelUnitLengthY() +{ +} + + + + +//#################################################################### +//# SVGFEDisplacementMapElement +//#################################################################### + +/** + * + */ +SVGAnimatedString getIn1() +{ +} + +/** + * + */ +SVGAnimatedString getIn2() +{ +} + + +/** + * + */ +SVGAnimatedNumber getScale() +{ +} + +/** + * + */ +SVGAnimatedEnumeration getXChannelSelector() +{ +} + +/** + * + */ +SVGAnimatedEnumeration getYChannelSelector() +{ +} + +//#################################################################### +//# SVGFEDistantLightElement +//#################################################################### + + +/** + * Corresponds to attribute azimuth on the given 'feDistantLight' element. + */ +SVGAnimatedNumber getAzimuth() +{ +} + + +/** + * Corresponds to attribute elevation on the given 'feDistantLight' + * element + */ +SVGAnimatedNumber getElevation() +{ +} + + +//#################################################################### +//# SVGFEFloodElement +//#################################################################### + + +/** + * + */ +SVGAnimatedString getIn1() +{ +} + + +//#################################################################### +//# SVGFEFuncAElement +//#################################################################### + +//#################################################################### +//# SVGFEFuncBElement +//#################################################################### + +//#################################################################### +//# SVGFEFuncGElement +//#################################################################### + +//#################################################################### +//# SVGFEFuncRElement +//#################################################################### + + +//#################################################################### +//# SVGFEGaussianBlurElement +//#################################################################### + + +/** + * + */ +SVGAnimatedString getIn1() +{ +} + + +/** + * + */ +SVGAnimatedNumber getStdDeviationX() +{ +} + +/** + * + */ +SVGAnimatedNumber getStdDeviationY() +{ +} + + +/** + * + */ +void setStdDeviation(double stdDeviationX, double stdDeviationY) +{ +} + + +//#################################################################### +//# SVGFEImageElement +//#################################################################### + + +//#################################################################### +//# SVGFEMergeElement +//#################################################################### + +//#################################################################### +//# SVGFEMergeNodeElement +//#################################################################### + +//#################################################################### +//# SVGFEMorphologyElement +//#################################################################### + +/** + * + */ +SVGAnimatedString getIn1() +{ +} + + +/** + * + */ +SVGAnimatedEnumeration getOperator() +{ +} + +/** + * + */ +SVGAnimatedLength getRadiusX() +{ +} + +/** + * + */ +SVGAnimatedLength getRadiusY() +{ +} + +//#################################################################### +//# SVGFEOffsetElement +//#################################################################### + +/** + * + */ +SVGAnimatedString getIn1() +{ +} + +/** + * + */ +SVGAnimatedLength getDx() +{ +} + +/** + * + */ +SVGAnimatedLength getDy() +{ +} + + +//#################################################################### +//# SVGFEPointLightElement +//#################################################################### + +/** + * Corresponds to attribute x on the given 'fePointLight' element. + */ +SVGAnimatedNumber getX() +{ +} + +/** + * Corresponds to attribute y on the given 'fePointLight' element. + */ +SVGAnimatedNumber getY() +{ +} + +/** + * Corresponds to attribute z on the given 'fePointLight' element. + */ +SVGAnimatedNumber getZ() +{ +} + +//#################################################################### +//# SVGFESpecularLightingElement +//#################################################################### + + +/** + * + */ +SVGAnimatedString getIn1() +{ +} + +/** + * + */ +SVGAnimatedNumber getSurfaceScale() +{ +} + +/** + * + */ +SVGAnimatedNumber getSpecularConstant() +{ +} + +/** + * + */ +SVGAnimatedNumber getSpecularExponent() +{ +} + + +//#################################################################### +//# SVGFESpotLightElement +//#################################################################### + +/** + * Corresponds to attribute x on the given 'feSpotLight' element. + */ +SVGAnimatedNumber getX() +{ +} + +/** + * Corresponds to attribute y on the given 'feSpotLight' element. + */ +SVGAnimatedNumber getY() +{ +} + +/** + * Corresponds to attribute z on the given 'feSpotLight' element. + */ +SVGAnimatedNumber getZ() +{ +} + +/** + * Corresponds to attribute pointsAtX on the given 'feSpotLight' element. + */ +SVGAnimatedNumber getPointsAtX() +{ +} + +/** + * Corresponds to attribute pointsAtY on the given 'feSpotLight' element. + */ +SVGAnimatedNumber getPointsAtY() +{ +} + +/** + * Corresponds to attribute pointsAtZ on the given 'feSpotLight' element. + */ +SVGAnimatedNumber getPointsAtZ() +{ +} + +/** + * Corresponds to attribute specularExponent on the + * given 'feSpotLight' element. + */ +SVGAnimatedNumber getSpecularExponent() +{ +} + +/** + * Corresponds to attribute limitingConeAngle on the + * given 'feSpotLight' element. + */ +SVGAnimatedNumber getLimitingConeAngle() +{ +} + + +//#################################################################### +//# SVGFETileElement +//#################################################################### + + +/** + * + */ +SVGAnimatedString getIn1() +{ +} + + +//#################################################################### +//# SVGFETurbulenceElement +//#################################################################### + + +/** + * + */ +SVGAnimatedNumber getBaseFrequencyX() +{ +} + +/** + * + */ +SVGAnimatedNumber getBaseFrequencyY() +{ +} + +/** + * + */ +SVGAnimatedInteger getNumOctaves() +{ +} + +/** + * + */ +SVGAnimatedNumber getSeed() +{ +} + +/** + * + */ +SVGAnimatedEnumeration getStitchTiles() +{ +} + +/** + * + */ +SVGAnimatedEnumeration getType() +{ +} + + + +//#################################################################### +//# SVGFilterElement +//#################################################################### + + +/** + * Corresponds to attribute filterUnits on the given 'filter' element. Takes one + * of the constants defined in SVGUnitTypes. + */ +SVGAnimatedEnumeration getFilterUnits() +{ +} + +/** + * Corresponds to attribute primitiveUnits on the given 'filter' element. Takes + * one of the constants defined in SVGUnitTypes. + */ +SVGAnimatedEnumeration getPrimitiveUnits() +{ +} + +/** + * + */ +SVGAnimatedLength getX() +{ +} + +/** + * Corresponds to attribute x on the given 'filter' element. + */ +SVGAnimatedLength getY() +{ +} + +/** + * Corresponds to attribute y on the given 'filter' element. + */ +SVGAnimatedLength getWidth() +{ +} + +/** + * Corresponds to attribute height on the given 'filter' element. + */ +SVGAnimatedLength getHeight() +{ +} + + +/** + * Corresponds to attribute filterRes on the given 'filter' element. + * Contains the X component of attribute filterRes. + */ +SVGAnimatedInteger getFilterResX() +{ +} + +/** + * Corresponds to attribute filterRes on the given 'filter' element. + * Contains the Y component(possibly computed automatically) + * of attribute filterRes. + */ +SVGAnimatedInteger getFilterResY() +{ +} + +/** + * Sets the values for attribute filterRes. + */ +void setFilterRes(unsigned long filterResX, unsigned long filterResY) +{ +} + + +//#################################################################### +//# SVGFontElement +//#################################################################### + +//#################################################################### +//# SVGFontFaceElement +//#################################################################### + +//#################################################################### +//# SVGFontFaceFormatElement +//#################################################################### + +//#################################################################### +//# SVGFontFaceNameElement +//#################################################################### + +//#################################################################### +//# SVGFontFaceSrcElement +//#################################################################### + +//#################################################################### +//# SVGFontFaceUriElement +//#################################################################### + +//#################################################################### +//# SVGForeignObjectElement +//#################################################################### + +/** + * + */ +SVGAnimatedLength getX() +{ +} + +/** + * + */ +SVGAnimatedLength getY() +{ +} + +/** + * + */ +SVGAnimatedLength getWidth() +{ +} + +/** + * + */ +SVGAnimatedLength getHeight() +{ +} + + + +//#################################################################### +//# SVGGlyphRefElement +//#################################################################### + + +/** + * Get the attribute glyphRef on the given element. + */ +DOMString getGlyphRef() +{ +} + +/** + * Set the attribute glyphRef on the given element. + */ +void setGlyphRef(const DOMString &val) throw (DOMException) +{ +} + +/** + * Get the attribute format on the given element. + */ +DOMString getFormat() +{ +} + +/** + * Set the attribute format on the given element. + */ +void setFormat(const DOMString &val) throw (DOMException) +{ +} + +/** + * Get the attribute x on the given element. + */ +double getX() +{ +} + +/** + * Set the attribute x on the given element. + */ +void setX(double val) throw (DOMException) +{ +} + +/** + * Get the attribute y on the given element. + */ +double getY() +{ +} + +/** + * Set the attribute y on the given element. + */ +void setY(double val) throw (DOMException) +{ +} + +/** + * Get the attribute dx on the given element. + */ +double getDx() +{ +} + +/** + * Set the attribute dx on the given element. + */ +void setDx(double val) throw (DOMException) +{ +} + +/** + * Get the attribute dy on the given element. + */ +double getDy() +{ +} + +/** + * Set the attribute dy on the given element. + */ +void setDy(double val) throw (DOMException) +{ +} + + +//#################################################################### +//# SVGGradientElement +//#################################################################### + +/** + * Corresponds to attribute gradientUnits on the given element. + * Takes one of the constants defined in SVGUnitTypes. + */ +SVGAnimatedEnumeration getGradientUnits() +{ +} + +/** + * Corresponds to attribute gradientTransform on the given element. + */ +SVGAnimatedTransformList getGradientTransform() +{ +} + +/** + * Corresponds to attribute spreadMethod on the given element. + * One of the Spread Method Types. + */ +SVGAnimatedEnumeration getSpreadMethod() +{ +} + + + +//#################################################################### +//# SVGHKernElement +//#################################################################### + +//#################################################################### +//# SVGImageElement +//#################################################################### + +/** + * Corresponds to attribute x on the given 'image' element. + */ +SVGAnimatedLength getX() +{ +} + +/** + * Corresponds to attribute y on the given 'image' element. + */ +SVGAnimatedLength getY() +{ +} + +/** + * Corresponds to attribute width on the given 'image' element. + */ +SVGAnimatedLength getWidth() +{ +} + +/** + * Corresponds to attribute height on the given 'image' element. + */ +SVGAnimatedLength getHeight() +{ +} + + +/** + * Corresponds to attribute preserveAspectRatio on the given element. + */ +SVGAnimatedPreserveAspectRatio getPreserveAspectRatio() +{ +} + +//#################################################################### +//# SVGLinearGradientElement +//#################################################################### + +/** + * Corresponds to attribute x1 on the given 'linearGradient' element. + */ +SVGAnimatedLength getX1() +{ +} + +/** + * Corresponds to attribute y1 on the given 'linearGradient' element. + */ +SVGAnimatedLength getY1() +{ +} + +/** + * Corresponds to attribute x2 on the given 'linearGradient' element. + */ +SVGAnimatedLength getX2() +{ +} + +/** + * Corresponds to attribute y2 on the given 'linearGradient' element. + */ +SVGAnimatedLength getY2() +{ +} + + + +//#################################################################### +//# SVGLineElement +//#################################################################### + +/** + * Corresponds to attribute x1 on the given 'line' element. + */ +SVGAnimatedLength getX1() +{ +} + +/** + * Corresponds to attribute y1 on the given 'line' element. + */ +SVGAnimatedLength getY1() +{ +} + +/** + * Corresponds to attribute x2 on the given 'line' element. + */ +SVGAnimatedLength getX2() +{ +} + +/** + * Corresponds to attribute y2 on the given 'line' element. + */ +SVGAnimatedLength getY2() +{ +} + + +//#################################################################### +//# SVGMarkerElement +//#################################################################### + + +/** + * Corresponds to attribute refX on the given 'marker' element. + */ +SVGAnimatedLength getRefX() +{ +} + +/** + * Corresponds to attribute refY on the given 'marker' element. + */ +SVGAnimatedLength getRefY() +{ +} + +/** + * Corresponds to attribute markerUnits on the given 'marker' element. + * One of the Marker Units Types defined above. + */ +SVGAnimatedEnumeration getMarkerUnits() +{ +} + +/** + * Corresponds to attribute markerWidth on the given 'marker' element. + */ +SVGAnimatedLength getMarkerWidth() +{ +} + +/** + * Corresponds to attribute markerHeight on the given 'marker' element. + */ +SVGAnimatedLength getMarkerHeight() +{ +} + +/** + * Corresponds to attribute orient on the given 'marker' element. + * One of the Marker Orientation Types defined above. + */ +SVGAnimatedEnumeration getOrientType() +{ +} + +/** + * Corresponds to attribute orient on the given 'marker' element. + * If markerUnits is SVG_MARKER_ORIENT_ANGLE, the angle value for + * attribute orient ; otherwise, it will be set to zero. + */ +SVGAnimatedAngle getOrientAngle() +{ +} + + +/** + * Sets the value of attribute orient to 'auto'. + */ +void setOrientToAuto() +{ +} + +/** + * Sets the value of attribute orient to the given angle. + */ +void setOrientToAngle(const SVGAngle &angle) +{ +} + + +//#################################################################### +//# SVGMaskElement +//#################################################################### + + +/** + * Corresponds to attribute maskUnits on the given 'mask' element. Takes one of + * the constants defined in SVGUnitTypes. + */ +SVGAnimatedEnumeration getMaskUnits() +{ +} + +/** + * Corresponds to attribute maskContentUnits on the given 'mask' element. Takes + * one of the constants defined in SVGUnitTypes. + */ +SVGAnimatedEnumeration getMaskContentUnits() +{ +} + +/** + * Corresponds to attribute x on the given 'mask' element. + */ +SVGAnimatedLength getX() +{ +} + +/** + * Corresponds to attribute y on the given 'mask' element. + */ +SVGAnimatedLength getY() +{ +} + +/** + * Corresponds to attribute width on the given 'mask' element. + */ +SVGAnimatedLength getWidth() +{ +} + +/** + * Corresponds to attribute height on the given 'mask' element. + */ +SVGAnimatedLength getHeight() +{ +} + +//#################################################################### +//# SVGMetadataElement +//#################################################################### + +//#################################################################### +//# SVGMissingGlyphElement +//#################################################################### + +//#################################################################### +//# SVGMPathElement +//#################################################################### + +//#################################################################### +//# SVGPathElement +//#################################################################### + +/** + * Corresponds to attribute pathLength on the given 'path' element. + */ +SVGAnimatedNumber getPathLength() +{ +} + +/** + * Returns the user agent's computed value for the total length of the path using + * the user agent's distance-along-a-path algorithm, as a distance in the current + * user coordinate system. + */ +double getTotalLength() +{ +} + +/** + * Returns the(x,y) coordinate in user space which is distance units along the + * path, utilizing the user agent's distance-along-a-path algorithm. + */ +SVGPoint getPointAtLength(double distance) +{ +} + +/** + * Returns the index into pathSegList which is distance units along the path, + * utilizing the user agent's distance-along-a-path algorithm. + */ +unsigned long getPathSegAtLength(double distance) +{ +} + +/** + * Returns a stand-alone, parentless SVGPathSegClosePath object. + */ +SVGPathSeg createSVGPathSegClosePath() +{ + SVGPathSeg seg(PATHSEG_CLOSEPATH); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegMovetoAbs object. + */ +SVGPathSeg createSVGPathSegMovetoAbs(double x, double y) +{ + SVGPathSeg seg(PATHSEG_MOVETO_ABS); + seg.setX(x); + seg.setY(y); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegMovetoRel object. + */ +SVGPathSeg createSVGPathSegMovetoRel(double x, double y) +{ + SVGPathSeg seg(PATHSEG_MOVETO_REL); + seg.setX(x); + seg.setY(y); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegLinetoAbs object. + */ +SVGPathSeg createSVGPathSegLinetoAbs(double x, double y) +{ + SVGPathSeg seg(PATHSEG_LINETO_ABS); + seg.setX(x); + seg.setY(y); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegLinetoRel object. + */ +SVGPathSeg createSVGPathSegLinetoRel(double x, double y) +{ + SVGPathSeg seg(PATHSEG_LINETO_REL); + seg.setX(x); + seg.setY(y); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegCurvetoCubicAbs object. + */ +SVGPathSeg createSVGPathSegCurvetoCubicAbs(double x, double y, + double x1, double y1, double x2, double y2) +{ + SVGPathSeg seg(PATHSEG_CURVETO_CUBIC_ABS); + seg.setX(x); + seg.setY(y); + seg.setX1(x1); + seg.setY1(y1); + seg.setX2(x2); + seg.setY2(y2); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegCurvetoCubicRel object. + */ +SVGPathSeg createSVGPathSegCurvetoCubicRel(double x, double y, + double x1, double y1, double x2, double y2) +{ + SVGPathSeg seg(PATHSEG_CURVETO_CUBIC_REL); + seg.setX(x); + seg.setY(y); + seg.setX1(x1); + seg.setY1(y1); + seg.setX2(x2); + seg.setY2(y2); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticAbs object. + */ +SVGPathSeg createSVGPathSegCurvetoQuadraticAbs(double x, double y, + double x1, double y1) +{ + SVGPathSeg seg(PATHSEG_CURVETO_QUADRATIC_ABS); + seg.setX(x); + seg.setY(y); + seg.setX1(x1); + seg.setY1(y1); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticRel object. + */ +SVGPathSeg createSVGPathSegCurvetoQuadraticRel(double x, double y, + double x1, double y1) +{ + SVGPathSeg seg(PATHSEG_CURVETO_QUADRATIC_REL); + seg.setX(x); + seg.setY(y); + seg.setX1(x1); + seg.setY1(y1); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegArcAbs object. + */ +SVGPathSeg createSVGPathSegArcAbs(double x, double y, + double r1, double r2, double angle, + bool largeArcFlag, bool sweepFlag) +{ + SVGPathSeg seg(PATHSEG_ARC_ABS); + seg.setX(x); + seg.setY(y); + seg.setR1(r1); + seg.setR2(r2); + seg.setAngle(angle); + seg.setLargeArcFlag(largeArcFlag); + seg.setSweepFlag(sweepFlag); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegArcRel object. + */ +SVGPathSeg createSVGPathSegArcRel(double x, double y, double r1, + double r2, double angle, bool largeArcFlag, + bool sweepFlag) +{ + SVGPathSeg seg(PATHSEG_ARC_REL); + seg.setX(x); + seg.setY(y); + seg.setR1(r1); + seg.setR2(r2); + seg.setAngle(angle); + seg.setLargeArcFlag(largeArcFlag); + seg.setSweepFlag(sweepFlag); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalAbs object. + */ +SVGPathSeg createSVGPathSegLinetoHorizontalAbs(double x) +{ + SVGPathSeg seg(PATHSEG_LINETO_HORIZONTAL_ABS); + seg.setX(x); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegLinetoHorizontalRel object. + */ +SVGPathSeg createSVGPathSegLinetoHorizontalRel(double x) +{ + SVGPathSeg seg(PATHSEG_LINETO_HORIZONTAL_REL); + seg.setX(x); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegLinetoVerticalAbs object. + */ +SVGPathSeg createSVGPathSegLinetoVerticalAbs(double y) +{ + SVGPathSeg seg(PATHSEG_LINETO_VERTICAL_ABS); + seg.setY(y); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegLinetoVerticalRel object. + */ +SVGPathSeg createSVGPathSegLinetoVerticalRel(double y) +{ + SVGPathSeg seg(PATHSEG_LINETO_VERTICAL_REL); + seg.setY(y); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothAbs object. + */ +SVGPathSeg createSVGPathSegCurvetoCubicSmoothAbs(double x, double y, + double x2, double y2) +{ + SVGPathSeg seg(PATHSEG_CURVETO_CUBIC_SMOOTH_ABS); + seg.setX(x); + seg.setY(y); + seg.setX2(x2); + seg.setY2(y2); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegCurvetoCubicSmoothRel object. + */ +SVGPathSeg createSVGPathSegCurvetoCubicSmoothRel(double x, double y, + double x2, double y2) +{ + SVGPathSeg seg(PATHSEG_CURVETO_CUBIC_SMOOTH_REL); + seg.setX(x); + seg.setY(y); + seg.setX2(x2); + seg.setY2(y2); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothAbs + * object. + */ +SVGPathSeg createSVGPathSegCurvetoQuadraticSmoothAbs(double x, double y) +{ + SVGPathSeg seg(PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS); + seg.setX(x); + seg.setY(y); + return seg; +} + +/** + * Returns a stand-alone, parentless SVGPathSegCurvetoQuadraticSmoothRel + * object. + */ +SVGPathSeg createSVGPathSegCurvetoQuadraticSmoothRel(double x, double y) +{ + SVGPathSeg seg(PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL); + seg.setX(x); + seg.setY(y); + return seg; +} + + +//#################################################################### +//# SVGPatternElement +//#################################################################### + +/** + * Corresponds to attribute patternUnits on the given 'pattern' element. + * Takes one of the constants defined in SVGUnitTypes. + */ +SVGAnimatedEnumeration getPatternUnits() +{ +} + +/** + * Corresponds to attribute patternContentUnits on the given 'pattern' + * element. Takes one of the constants defined in SVGUnitTypes. + */ +SVGAnimatedEnumeration getPatternContentUnits() +{ +} + +/** + * Corresponds to attribute patternTransform on the given 'pattern' element. + */ +SVGAnimatedTransformList getPatternTransform() +{ +} + +/** + * Corresponds to attribute x on the given 'pattern' element. + */ +SVGAnimatedLength getX() +{ +} + +/** + * + */ +SVGAnimatedLength getY() +{ +} + +/** + * Corresponds to attribute width on the given 'pattern' element. + */ +SVGAnimatedLength getWidth() +{ +} + +/** + * Corresponds to attribute height on the given 'pattern' element. + */ +SVGAnimatedLength getHeight() +{ +} + + +//#################################################################### +//# SVGPolyLineElement +//#################################################################### + +//#################################################################### +//# SVGPolygonElement +//#################################################################### + + +//#################################################################### +//# SVGRadialGradientElement +//#################################################################### + + +/** + * Corresponds to attribute cx on the given 'radialGradient' element. + */ +SVGAnimatedLength getCx() +{ +} + + +/** + * Corresponds to attribute cy on the given 'radialGradient' element. + */ +SVGAnimatedLength getCy() +{ +} + + +/** + * Corresponds to attribute r on the given 'radialGradient' element. + */ +SVGAnimatedLength getR() +{ +} + + +/** + * Corresponds to attribute fx on the given 'radialGradient' element. + */ +SVGAnimatedLength getFx() +{ +} + + +/** + * Corresponds to attribute fy on the given 'radialGradient' element. + */ +SVGAnimatedLength getFy() +{ +} + + +//#################################################################### +//# SVGRectElement +//#################################################################### + +/** + * Corresponds to attribute x on the given 'rect' element. + */ +SVGAnimatedLength getX() +{ +} + +/** + * Corresponds to attribute y on the given 'rect' element. + */ +SVGAnimatedLength getY() +{ +} + +/** + * Corresponds to attribute width on the given 'rect' element. + */ +SVGAnimatedLength getWidth() +{ +} + +/** + * Corresponds to attribute height on the given 'rect' element. + */ +SVGAnimatedLength getHeight() +{ +} + + +/** + * Corresponds to attribute rx on the given 'rect' element. + */ +SVGAnimatedLength getRx() +{ +} + +/** + * Corresponds to attribute ry on the given 'rect' element. + */ +SVGAnimatedLength getRy() +{ +} + + +//#################################################################### +//# SVGScriptElement +//#################################################################### + +/** + * + */ +DOMString getType() +{ +} + +/** + * + */ +void setType(const DOMString &val) throw (DOMException) +{ +} + +//#################################################################### +//# SVGSetElement +//#################################################################### + +//#################################################################### +//# SVGStopElement +//#################################################################### + + +/** + * Corresponds to attribute offset on the given 'stop' element. + */ +SVGAnimatedNumber getOffset() +{ +} + + +//#################################################################### +//# SVGStyleElement +//#################################################################### + +/** + * Get the attribute xml:space on the given element. + */ +DOMString getXmlspace() +{ +} + +/** + * Set the attribute xml:space on the given element. + */ +void setXmlspace(const DOMString &val) throw (DOMException) +{ +} + +/** + * Get the attribute type on the given 'style' element. + */ +DOMString getType() +{ +} + +/** + * Set the attribute type on the given 'style' element. + */ +void setType(const DOMString &val) throw (DOMException) +{ +} + +/** + * Get the attribute media on the given 'style' element. + */ +DOMString getMedia() +{ +} + +/** + * Set the attribute media on the given 'style' element. + */ +void setMedia(const DOMString &val) throw (DOMException) +{ +} + +/** + * Get the attribute title on the given 'style' element. + */ +DOMString getTitle() +{ +} + +/** + * Set the attribute title on the given 'style' element. + */ +void setTitle(const DOMString &val) throw (DOMException) +{ +} + +//#################################################################### +//# SVGSymbolElement +//#################################################################### + +//#################################################################### +//# SVGSVGElement +//#################################################################### + +/** + * Corresponds to attribute x on the given 'svg' element. + */ +SVGAnimatedLength getX() +{ +} + +/** + * Corresponds to attribute y on the given 'svg' element. + */ +SVGAnimatedLength getY() +{ +} + +/** + * Corresponds to attribute width on the given 'svg' element. + */ +SVGAnimatedLength getWidth() +{ +} + +/** + * Corresponds to attribute height on the given 'svg' element. + */ +SVGAnimatedLength getHeight() +{ +} + +/** + * Get the attribute contentScriptType on the given 'svg' element. + */ +DOMString getContentScriptType() +{ +} + +/** + * Set the attribute contentScriptType on the given 'svg' element. + */ +void setContentScriptType(const DOMString &val) throw (DOMException) +{ +} + + +/** + * Get the attribute contentStyleType on the given 'svg' element. + */ +DOMString getContentStyleType() +{ +} + +/** + * Set the attribute contentStyleType on the given 'svg' element. + */ +void setContentStyleType(const DOMString &val) throw (DOMException) +{ +} + +/** + * The position and size of the viewport(implicit or explicit) that corresponds + * to this 'svg' element. When the user agent is actually rendering the content, + * then the position and size values represent the actual values when rendering. + * The position and size values are unitless values in the coordinate system of + * the parent element. If no parent element exists(i.e., 'svg' element + * represents the root of the document tree), if this SVG document is embedded as + * part of another document(e.g., via the HTML 'object' element), then the + * position and size are unitless values in the coordinate system of the parent + * document.(If the parent uses CSS or XSL layout, then unitless values + * represent pixel units for the current CSS or XSL viewport, as described in the + * CSS2 specification.) If the parent element does not have a coordinate system, + * then the user agent should provide reasonable default values for this attribute. + */ +SVGRect getViewport() +{ +} + +/** + * Size of a pixel units(as defined by CSS2) along the x-axis of the viewport, + * which represents a unit somewhere in the range of 70dpi to 120dpi, and, on + * systems that support this, might actually match the characteristics of the + * target medium. On systems where it is impossible to know the size of a pixel, + * a suitable default pixel size is provided. + */ +double getPixelUnitToMillimeterX() +{ +} + +/** + * Corresponding size of a pixel unit along the y-axis of the viewport. + */ +double getPixelUnitToMillimeterY() +{ +} + +/** + * User interface(UI) events in DOM Level 2 indicate the screen positions at + * which the given UI event occurred. When the user agent actually knows the + * physical size of a "screen unit", this attribute will express that information +{ +} + * otherwise, user agents will provide a suitable default value such as .28mm. + */ +double getScreenPixelToMillimeterX() +{ +} + +/** + * Corresponding size of a screen pixel along the y-axis of the viewport. + */ +double getScreenPixelToMillimeterY() +{ +} + + +/** + * The initial view(i.e., before magnification and panning) of the current + * innermost SVG document fragment can be either the "standard" view(i.e., based + * on attributes on the 'svg' element such as fitBoxToViewport) or to a "custom" + * view(i.e., a hyperlink into a particular 'view' or other element - see + * Linking into SVG content: URI fragments and SVG views). If the initial view is + * the "standard" view, then this attribute is false. If the initial view is a + * "custom" view, then this attribute is true. + */ +bool getUseCurrentView() +{ +} + +/** + * Set the value above + */ +void setUseCurrentView(bool val) throw (DOMException) +{ +} + +/** + * The definition of the initial view(i.e., before magnification and panning) of + * the current innermost SVG document fragment. The meaning depends on the + * situation: + * + * * If the initial view was a "standard" view, then: + * o the values for viewBox, preserveAspectRatio and zoomAndPan within + * currentView will match the values for the corresponding DOM attributes that + * are on SVGSVGElement directly + * o the values for transform and viewTarget within currentView will be null + * * If the initial view was a link into a 'view' element, then: + * o the values for viewBox, preserveAspectRatio and zoomAndPan within + * currentView will correspond to the corresponding attributes for the given + * 'view' element + * o the values for transform and viewTarget within currentView will be null + * * If the initial view was a link into another element(i.e., other than a + * 'view'), then: + * o the values for viewBox, preserveAspectRatio and zoomAndPan within + * currentView will match the values for the corresponding DOM attributes that + * are on SVGSVGElement directly for the closest ancestor 'svg' element + * o the values for transform within currentView will be null + * o the viewTarget within currentView will represent the target of the link + * * If the initial view was a link into the SVG document fragment using an SVG + * view specification fragment identifier(i.e., #svgView(...)), then: + * o the values for viewBox, preserveAspectRatio, zoomAndPan, transform and + * viewTarget within currentView will correspond to the values from the SVG view + * specification fragment identifier + * + */ +SVGViewSpec getCurrentView() +{ +} + + +/** + * This attribute indicates the current scale factor relative to the initial view + * to take into account user magnification and panning operations, as described + * under Magnification and panning. DOM attributes currentScale and + * currentTranslate are equivalent to the 2x3 matrix [a b c d e f] = + * [currentScale 0 0 currentScale currentTranslate.x currentTranslate.y]. If + * "magnification" is enabled(i.e., zoomAndPan="magnify"), then the effect is as + * if an extra transformation were placed at the outermost level on the SVG + * document fragment(i.e., outside the outermost 'svg' element). + */ +double getCurrentScale() +{ +} + +/** + * Set the value above. + */ +void setCurrentScale(double val) throw (DOMException) +{ +} + +/** + * The corresponding translation factor that takes into account + * user "magnification". + */ +SVGPoint getCurrentTranslate() +{ +} + +/** + * Takes a time-out value which indicates that redraw shall not occur until:(a) + * the corresponding unsuspendRedraw(suspend_handle_id) call has been made,(b) + * an unsuspendRedrawAll() call has been made, or(c) its timer has timed out. In + * environments that do not support interactivity(e.g., print media), then + * redraw shall not be suspended. suspend_handle_id = + * suspendRedraw(max_wait_milliseconds) and unsuspendRedraw(suspend_handle_id) + * must be packaged as balanced pairs. When you want to suspend redraw actions as + * a collection of SVG DOM changes occur, then precede the changes to the SVG DOM + * with a method call similar to suspend_handle_id = + * suspendRedraw(max_wait_milliseconds) and follow the changes with a method call + * similar to unsuspendRedraw(suspend_handle_id). Note that multiple + * suspendRedraw calls can be used at once and that each such method call is + * treated independently of the other suspendRedraw method calls. + */ +unsigned long suspendRedraw(unsigned long max_wait_milliseconds) +{ +} + +/** + * Cancels a specified suspendRedraw() by providing a unique suspend_handle_id. + */ +void unsuspendRedraw(unsigned long suspend_handle_id) throw (DOMException) +{ +} + +/** + * Cancels all currently active suspendRedraw() method calls. This method is most + * useful at the very end of a set of SVG DOM calls to ensure that all pending + * suspendRedraw() method calls have been cancelled. + */ +void unsuspendRedrawAll() +{ +} + +/** + * In rendering environments supporting interactivity, forces the user agent to + * immediately redraw all regions of the viewport that require updating. + */ +void forceRedraw() +{ +} + +/** + * Suspends(i.e., pauses) all currently running animations that are defined + * within the SVG document fragment corresponding to this 'svg' element, causing + * the animation clock corresponding to this document fragment to stand still + * until it is unpaused. + */ +void pauseAnimations() +{ +} + +/** + * Unsuspends(i.e., unpauses) currently running animations that are defined + * within the SVG document fragment, causing the animation clock to continue from + * the time at which it was suspended. + */ +void unpauseAnimations() +{ +} + +/** + * Returns true if this SVG document fragment is in a paused state. + */ +bool animationsPaused() +{ +} + +/** + * Returns the current time in seconds relative to the start time for + * the current SVG document fragment. + */ +double getCurrentTime() +{ +} + +/** + * Adjusts the clock for this SVG document fragment, establishing + * a new current time. + */ +void setCurrentTime(double seconds) +{ +} + +/** + * Returns the list of graphics elements whose rendered content intersects the + * supplied rectangle, honoring the 'pointer-events' property value on each + * candidate graphics element. + */ +NodeList getIntersectionList(const SVGRect &rect, + const SVGElementPtr referenceElement) +{ +} + +/** + * Returns the list of graphics elements whose rendered content is entirely + * contained within the supplied rectangle, honoring the 'pointer-events' + * property value on each candidate graphics element. + */ +NodeList getEnclosureList(const SVGRect &rect, + const SVGElementPtr referenceElement) +{ +} + +/** + * Returns true if the rendered content of the given element intersects the + * supplied rectangle, honoring the 'pointer-events' property value on each + * candidate graphics element. + */ +bool checkIntersection(const SVGElementPtr element, const SVGRect &rect) +{ +} + +/** + * Returns true if the rendered content of the given element is entirely + * contained within the supplied rectangle, honoring the 'pointer-events' + * property value on each candidate graphics element. + */ +bool checkEnclosure(const SVGElementPtr element, const SVGRect &rect) +{ +} + +/** + * Unselects any selected objects, including any selections of text + * strings and type-in bars. + */ +void deselectAll() +{ +} + +/** + * Creates an SVGNumber object outside of any document trees. The object + * is initialized to a value of zero. + */ +SVGNumber createSVGNumber() +{ +} + +/** + * Creates an SVGLength object outside of any document trees. The object + * is initialized to the value of 0 user units. + */ +SVGLength createSVGLength() +{ +} + +/** + * Creates an SVGAngle object outside of any document trees. The object + * is initialized to the value 0 degrees(unitless). + */ +SVGAngle createSVGAngle() +{ +} + +/** + * Creates an SVGPoint object outside of any document trees. The object + * is initialized to the point(0,0) in the user coordinate system. + */ +SVGPoint createSVGPoint() +{ +} + +/** + * Creates an SVGMatrix object outside of any document trees. The object + * is initialized to the identity matrix. + */ +SVGMatrix createSVGMatrix() +{ +} + +/** + * Creates an SVGRect object outside of any document trees. The object + * is initialized such that all values are set to 0 user units. + */ +SVGRect createSVGRect() +{ +} + +/** + * Creates an SVGTransform object outside of any document trees. + * The object is initialized to an identity matrix transform + * (SVG_TRANSFORM_MATRIX). + */ +SVGTransform createSVGTransform() +{ +} + +/** + * Creates an SVGTransform object outside of any document trees. + * The object is initialized to the given matrix transform + * (i.e., SVG_TRANSFORM_MATRIX). + */ +SVGTransform createSVGTransformFromMatrix(const SVGMatrix &matrix) +{ +} + +/** + * Searches this SVG document fragment(i.e., the search is restricted to a + * subset of the document tree) for an Element whose id is given by elementId. If + * an Element is found, that Element is returned. If no such element exists, + * returns null. Behavior is not defined if more than one element has this id. + */ +ElementPtr getElementById(const DOMString& elementId) +{ +} + + +//#################################################################### +//# SVGTextElement +//#################################################################### + + +//#################################################################### +//# SVGTextContentElement +//#################################################################### + + +/** + * Corresponds to attribute textLength on the given element. + */ +SVGAnimatedLength getTextLength() +{ +} + + +/** + * Corresponds to attribute lengthAdjust on the given element. The value must be + * one of the length adjust constants specified above. + */ +SVGAnimatedEnumeration getLengthAdjust() +{ +} + + +/** + * Returns the total number of characters to be rendered within the current + * element. Includes characters which are included via a 'tref' reference. + */ +long getNumberOfChars() +{ +} + +/** + * The total sum of all of the advance values from rendering all of the + * characters within this element, including the advance value on the glyphs + *(horizontal or vertical), the effect of properties 'kerning', 'letter-spacing' + * and 'word-spacing' and adjustments due to attributes dx and dy on 'tspan' + * elements. For non-rendering environments, the user agent shall make reasonable + * assumptions about glyph metrics. + */ +double getComputedTextLength() +{ +} + +/** + * The total sum of all of the advance values from rendering the specified + * substring of the characters, including the advance value on the glyphs + *(horizontal or vertical), the effect of properties 'kerning', 'letter-spacing' + * and 'word-spacing' and adjustments due to attributes dx and dy on 'tspan' + * elements. For non-rendering environments, the user agent shall make reasonable + * assumptions about glyph metrics. + */ +double getSubStringLength(unsigned long charnum, unsigned long nchars) + throw (DOMException) +{ +} + +/** + * Returns the current text position before rendering the character in the user + * coordinate system for rendering the glyph(s) that correspond to the specified + * character. The current text position has already taken into account the + * effects of any inter-character adjustments due to properties 'kerning', + * 'letter-spacing' and 'word-spacing' and adjustments due to attributes x, y, dx + * and dy. If multiple consecutive characters are rendered inseparably(e.g., as + * a single glyph or a sequence of glyphs), then each of the inseparable + * characters will return the start position for the first glyph. + */ +SVGPoint getStartPositionOfChar(unsigned long charnum) throw (DOMException) +{ +} + +/** + * Returns the current text position after rendering the character in the user + * coordinate system for rendering the glyph(s) that correspond to the specified + * character. This current text position does not take into account the effects + * of any inter-character adjustments to prepare for the next character, such as + * properties 'kerning', 'letter-spacing' and 'word-spacing' and adjustments due + * to attributes x, y, dx and dy. If multiple consecutive characters are rendered + * inseparably(e.g., as a single glyph or a sequence of glyphs), then each of + * the inseparable characters will return the end position for the last glyph. + */ +SVGPoint getEndPositionOfChar(unsigned long charnum) throw (DOMException) +{ +} + +/** + * Returns a tightest rectangle which defines the minimum and maximum X and Y + * values in the user coordinate system for rendering the glyph(s) that + * correspond to the specified character. The calculations assume that all glyphs + * occupy the full standard glyph cell for the font. If multiple consecutive + * characters are rendered inseparably(e.g., as a single glyph or a sequence of + * glyphs), then each of the inseparable characters will return the same extent. + */ +SVGRect getExtentOfChar(unsigned long charnum) throw (DOMException) +{ +} + +/** + * Returns the rotation value relative to the current user coordinate system used + * to render the glyph(s) corresponding to the specified character. If multiple + * glyph(s) are used to render the given character and the glyphs each have + * different rotations(e.g., due to text-on-a-path), the user agent shall return + * an average value(e.g., the rotation angle at the midpoint along the path for + * all glyphs used to render this character). The rotation value represents the + * rotation that is supplemental to any rotation due to properties + * 'glyph-orientation-horizontal' and 'glyph-orientation-vertical'; thus, any + * glyph rotations due to these properties are not included into the returned + * rotation value. If multiple consecutive characters are rendered inseparably + *(e.g., as a single glyph or a sequence of glyphs), then each of the + * inseparable characters will return the same rotation value. + */ +double getRotationOfChar(unsigned long charnum) throw (DOMException) +{ +} + +/** + * Returns the index of the character whose corresponding glyph cell bounding box + * contains the specified point. The calculations assume that all glyphs occupy + * the full standard glyph cell for the font. If no such character exists, a + * value of -1 is returned. If multiple such characters exist, the character + * within the element whose glyphs were rendered last(i.e., take into account + * any reordering such as for bidirectional text) is used. If multiple + * consecutive characters are rendered inseparably(e.g., as a single glyph or a + * sequence of glyphs), then the user agent shall allocate an equal percentage of + * the text advance amount to each of the contributing characters in determining + * which of the characters is chosen. + */ +long getCharNumAtPosition(const SVGPoint &point) +{ +} + +/** + * Causes the specified substring to be selected just as if the user + * selected the substring interactively. + */ +void selectSubString(unsigned long charnum, unsigned long nchars) + throw (DOMException) +{ +} + + + + + +//#################################################################### +//# SVGTextPathElement +//#################################################################### + + +/** + * Corresponds to attribute startOffset on the given 'textPath' element. + */ +SVGAnimatedLength getStartOffset() +{ +} + +/** + * Corresponds to attribute method on the given 'textPath' element. The value + * must be one of the method type constants specified above. + */ +SVGAnimatedEnumeration getMethod() +{ +} + +/** + * Corresponds to attribute spacing on the given 'textPath' element. + * The value must be one of the spacing type constants specified above. + */ +SVGAnimatedEnumeration getSpacing() +{ +} + + +//#################################################################### +//# SVGTextPositioningElement +//#################################################################### + + +/** + * Corresponds to attribute x on the given element. + */ +SVGAnimatedLength getX() +{ +} + +/** + * Corresponds to attribute y on the given element. + */ +SVGAnimatedLength getY() +{ +} + +/** + * Corresponds to attribute dx on the given element. + */ +SVGAnimatedLength getDx() +{ +} + +/** + * Corresponds to attribute dy on the given element. + */ +SVGAnimatedLength getDy() +{ +} + + +/** + * Corresponds to attribute rotate on the given element. + */ +SVGAnimatedNumberList getRotate() +{ +} + + +//#################################################################### +//# SVGTitleElement +//#################################################################### + +//#################################################################### +//# SVGTRefElement +//#################################################################### + +//#################################################################### +//# SVGTSpanElement +//#################################################################### + +//#################################################################### +//# SVGSwitchElement +//#################################################################### + +//#################################################################### +//# SVGUseElement +//#################################################################### + +/** + * Corresponds to attribute x on the given 'use' element. + */ +SVGAnimatedLength getX() +{ +} + +/** + * Corresponds to attribute y on the given 'use' element. + */ +SVGAnimatedLength getY() +{ +} + +/** + * Corresponds to attribute width on the given 'use' element. + */ +SVGAnimatedLength getWidth() +{ +} + +/** + * Corresponds to attribute height on the given 'use' element. + */ +SVGAnimatedLength getHeight() +{ +} + +/** + * The root of the "instance tree". See description of SVGElementInstance for + * a discussion on the instance tree. + * */ +SVGElementInstance getInstanceRoot() +{ +} + +/** + * If the 'href' attribute is being animated, contains the current animated root + * of the "instance tree". If the 'href' attribute is not currently being + * animated, contains the same value as 'instanceRoot'. The root of the "instance + * tree". See description of SVGElementInstance for a discussion on the instance + * tree. + */ +SVGElementInstance getAnimatedInstanceRoot() +{ +} + + +//#################################################################### +//# SVGVKernElement +//#################################################################### + +//#################################################################### +//# SVGViewElement +//#################################################################### + + +/** + * + */ +SVGStringList getViewTarget(); + + + + +//################## +//# Non-API methods +//################## + + +/** + * + */ +SVGElement::~SVGElement() +{ +} + + + + +/*######################################################################### +## SVGDocument +#########################################################################*/ + + +/** + * The title of a document as specified by the title sub-element of the 'svg' + * root element(i.e., Here is the title...) + */ +DOMString SVGDocument::getTitle() +{ +} + +/** + * Returns the URI of the page that linked to this page. The value is an empty + * string if the user navigated to the page directly(not through a link, but, + * for example, via a bookmark). + */ +DOMString SVGDocument::getReferrer() +{ +} + + +/** + * The domain name of the server that served the document, or a null string if + * the server cannot be identified by a domain name. + */ +DOMString SVGDocument::getDomain() +{ +} + + +/** + * The complete URI of the document. + */ +DOMString SVGDocument::getURL() +{ +} + + +/** + * The root 'svg' element in the document hierarchy. + */ +SVGElementPtr SVGDocument::getRootElement() +{ +} + + +/** + * Overloaded from Document + * + */ +ElementPtr SVGDocument::createElement(const DOMString &tagName) +{ + ElementPtr ptr; + return ptr; +} + + +/** + * Overloaded from Document + * + */ +ElementPtr SVGDocument::createElementNS(const DOMString &tagName, + const DOMString &namespaceURI) +{ + ElementPtr ptr; + return ptr; +} + + +/** + * The root 'svg' element in the document hierarchy. + */ +SVGElementPtr SVGDocument::getRootElement() +{ +} + + + +//################## +//# Non-API methods +//################## + +/** + * + */ +SVGDocument::~SVGDocument() +{ +} + + + +/*######################################################################### +## GetSVGDocument +#########################################################################*/ + + +/** + * Returns the SVGDocument object for the referenced SVG document. + */ +SVGDocumentPtr GetSVGDocument::getSVGDocument() + throw (DOMException) +{ + SVGDocumentPtr ptr; + return ptr; +} + +//################## +//# Non-API methods +//################## + +/** + * + */ +GetSVGDocument::~GetSVGDocument() +{ +} + + + + + + + +} //namespace svg +} //namespace dom +} //namespace w3c +} //namespace org + +#endif // __SVG_H__ +/*######################################################################### +## E N D O F F I L E +#########################################################################*/ + -- 2.30.2