summaryrefslogtreecommitdiffstats
path: root/ksvg/dom
diff options
context:
space:
mode:
Diffstat (limited to 'ksvg/dom')
-rw-r--r--ksvg/dom/Makefile.am58
-rw-r--r--ksvg/dom/SVGAElement.cc80
-rw-r--r--ksvg/dom/SVGAElement.h64
-rw-r--r--ksvg/dom/SVGAltGlyphDefElement.cc67
-rw-r--r--ksvg/dom/SVGAltGlyphDefElement.h50
-rw-r--r--ksvg/dom/SVGAltGlyphElement.cc80
-rw-r--r--ksvg/dom/SVGAltGlyphElement.h55
-rw-r--r--ksvg/dom/SVGAngle.cc120
-rw-r--r--ksvg/dom/SVGAngle.h74
-rw-r--r--ksvg/dom/SVGAnimateColorElement.cc67
-rw-r--r--ksvg/dom/SVGAnimateColorElement.h50
-rw-r--r--ksvg/dom/SVGAnimateElement.cc67
-rw-r--r--ksvg/dom/SVGAnimateElement.h50
-rw-r--r--ksvg/dom/SVGAnimateMotionElement.cc65
-rw-r--r--ksvg/dom/SVGAnimateMotionElement.h47
-rw-r--r--ksvg/dom/SVGAnimateTransformElement.cc67
-rw-r--r--ksvg/dom/SVGAnimateTransformElement.h50
-rw-r--r--ksvg/dom/SVGAnimatedAngle.cc79
-rw-r--r--ksvg/dom/SVGAnimatedAngle.h52
-rw-r--r--ksvg/dom/SVGAnimatedBoolean.cc84
-rw-r--r--ksvg/dom/SVGAnimatedBoolean.h53
-rw-r--r--ksvg/dom/SVGAnimatedEnumeration.cc84
-rw-r--r--ksvg/dom/SVGAnimatedEnumeration.h53
-rw-r--r--ksvg/dom/SVGAnimatedInteger.cc84
-rw-r--r--ksvg/dom/SVGAnimatedInteger.h53
-rw-r--r--ksvg/dom/SVGAnimatedLength.cc79
-rw-r--r--ksvg/dom/SVGAnimatedLength.h52
-rw-r--r--ksvg/dom/SVGAnimatedLengthList.cc78
-rw-r--r--ksvg/dom/SVGAnimatedLengthList.h51
-rw-r--r--ksvg/dom/SVGAnimatedNumber.cc84
-rw-r--r--ksvg/dom/SVGAnimatedNumber.h53
-rw-r--r--ksvg/dom/SVGAnimatedNumberList.cc78
-rw-r--r--ksvg/dom/SVGAnimatedNumberList.h51
-rw-r--r--ksvg/dom/SVGAnimatedPathData.cc91
-rw-r--r--ksvg/dom/SVGAnimatedPathData.h54
-rw-r--r--ksvg/dom/SVGAnimatedPoints.cc79
-rw-r--r--ksvg/dom/SVGAnimatedPoints.h52
-rw-r--r--ksvg/dom/SVGAnimatedPreserveAspectRatio.cc79
-rw-r--r--ksvg/dom/SVGAnimatedPreserveAspectRatio.h52
-rw-r--r--ksvg/dom/SVGAnimatedRect.cc79
-rw-r--r--ksvg/dom/SVGAnimatedRect.h51
-rw-r--r--ksvg/dom/SVGAnimatedString.cc84
-rw-r--r--ksvg/dom/SVGAnimatedString.h55
-rw-r--r--ksvg/dom/SVGAnimatedTransformList.cc79
-rw-r--r--ksvg/dom/SVGAnimatedTransformList.h52
-rw-r--r--ksvg/dom/SVGAnimationElement.cc93
-rw-r--r--ksvg/dom/SVGAnimationElement.h60
-rw-r--r--ksvg/dom/SVGCSSRule.cc66
-rw-r--r--ksvg/dom/SVGCSSRule.h51
-rw-r--r--ksvg/dom/SVGCircleElement.cc92
-rw-r--r--ksvg/dom/SVGCircleElement.h117
-rw-r--r--ksvg/dom/SVGClipPathElement.cc79
-rw-r--r--ksvg/dom/SVGClipPathElement.h65
-rw-r--r--ksvg/dom/SVGColor.cc105
-rw-r--r--ksvg/dom/SVGColor.h69
-rw-r--r--ksvg/dom/SVGColorProfileElement.cc105
-rw-r--r--ksvg/dom/SVGColorProfileElement.h62
-rw-r--r--ksvg/dom/SVGColorProfileRule.cc103
-rw-r--r--ksvg/dom/SVGColorProfileRule.h57
-rw-r--r--ksvg/dom/SVGComponentTransferFunctionElement.cc112
-rw-r--r--ksvg/dom/SVGComponentTransferFunctionElement.h71
-rw-r--r--ksvg/dom/SVGCursorElement.cc83
-rw-r--r--ksvg/dom/SVGCursorElement.h60
-rw-r--r--ksvg/dom/SVGDefinitionSrcElement.cc67
-rw-r--r--ksvg/dom/SVGDefinitionSrcElement.h50
-rw-r--r--ksvg/dom/SVGDefsElement.cc72
-rw-r--r--ksvg/dom/SVGDefsElement.h78
-rw-r--r--ksvg/dom/SVGDescElement.cc69
-rw-r--r--ksvg/dom/SVGDescElement.h54
-rw-r--r--ksvg/dom/SVGDocument.cc138
-rw-r--r--ksvg/dom/SVGDocument.h70
-rw-r--r--ksvg/dom/SVGElement.cc124
-rw-r--r--ksvg/dom/SVGElement.h83
-rw-r--r--ksvg/dom/SVGElementInstance.cc117
-rw-r--r--ksvg/dom/SVGElementInstance.h60
-rw-r--r--ksvg/dom/SVGElementInstanceList.cc79
-rw-r--r--ksvg/dom/SVGElementInstanceList.h52
-rw-r--r--ksvg/dom/SVGEllipseElement.cc98
-rw-r--r--ksvg/dom/SVGEllipseElement.h131
-rw-r--r--ksvg/dom/SVGEvent.cc187
-rw-r--r--ksvg/dom/SVGEvent.h95
-rw-r--r--ksvg/dom/SVGException.h51
-rw-r--r--ksvg/dom/SVGExternalResourcesRequired.cc65
-rw-r--r--ksvg/dom/SVGExternalResourcesRequired.h53
-rw-r--r--ksvg/dom/SVGFEBlendElement.cc88
-rw-r--r--ksvg/dom/SVGFEBlendElement.h68
-rw-r--r--ksvg/dom/SVGFEColorMatrixElement.cc89
-rw-r--r--ksvg/dom/SVGFEColorMatrixElement.h68
-rw-r--r--ksvg/dom/SVGFEComponentTransferElement.cc75
-rw-r--r--ksvg/dom/SVGFEComponentTransferElement.h55
-rw-r--r--ksvg/dom/SVGFECompositeElement.cc113
-rw-r--r--ksvg/dom/SVGFECompositeElement.h74
-rw-r--r--ksvg/dom/SVGFEConvolveMatrixElement.cc140
-rw-r--r--ksvg/dom/SVGFEConvolveMatrixElement.h78
-rw-r--r--ksvg/dom/SVGFEDiffuseLightingElement.cc88
-rw-r--r--ksvg/dom/SVGFEDiffuseLightingElement.h58
-rw-r--r--ksvg/dom/SVGFEDisplacementMapElement.cc101
-rw-r--r--ksvg/dom/SVGFEDisplacementMapElement.h69
-rw-r--r--ksvg/dom/SVGFEDistantLightElement.cc80
-rw-r--r--ksvg/dom/SVGFEDistantLightElement.h54
-rw-r--r--ksvg/dom/SVGFEFloodElement.cc76
-rw-r--r--ksvg/dom/SVGFEFloodElement.h57
-rw-r--r--ksvg/dom/SVGFEFuncAElement.cc67
-rw-r--r--ksvg/dom/SVGFEFuncAElement.h50
-rw-r--r--ksvg/dom/SVGFEFuncBElement.cc67
-rw-r--r--ksvg/dom/SVGFEFuncBElement.h50
-rw-r--r--ksvg/dom/SVGFEFuncGElement.cc67
-rw-r--r--ksvg/dom/SVGFEFuncGElement.h50
-rw-r--r--ksvg/dom/SVGFEFuncRElement.cc67
-rw-r--r--ksvg/dom/SVGFEFuncRElement.h50
-rw-r--r--ksvg/dom/SVGFEGaussianBlurElement.cc94
-rw-r--r--ksvg/dom/SVGFEGaussianBlurElement.h60
-rw-r--r--ksvg/dom/SVGFEImageElement.cc72
-rw-r--r--ksvg/dom/SVGFEImageElement.h60
-rw-r--r--ksvg/dom/SVGFEMergeElement.cc68
-rw-r--r--ksvg/dom/SVGFEMergeElement.h52
-rw-r--r--ksvg/dom/SVGFEMergeNodeElement.cc74
-rw-r--r--ksvg/dom/SVGFEMergeNodeElement.h53
-rw-r--r--ksvg/dom/SVGFEMorphologyElement.cc95
-rw-r--r--ksvg/dom/SVGFEMorphologyElement.h67
-rw-r--r--ksvg/dom/SVGFEOffsetElement.cc88
-rw-r--r--ksvg/dom/SVGFEOffsetElement.h58
-rw-r--r--ksvg/dom/SVGFEPointLightElement.cc86
-rw-r--r--ksvg/dom/SVGFEPointLightElement.h55
-rw-r--r--ksvg/dom/SVGFESpecularLightingElement.cc94
-rw-r--r--ksvg/dom/SVGFESpecularLightingElement.h59
-rw-r--r--ksvg/dom/SVGFESpotLightElement.cc116
-rw-r--r--ksvg/dom/SVGFESpotLightElement.h60
-rw-r--r--ksvg/dom/SVGFETileElement.cc75
-rw-r--r--ksvg/dom/SVGFETileElement.h55
-rw-r--r--ksvg/dom/SVGFETurbulenceElement.cc107
-rw-r--r--ksvg/dom/SVGFETurbulenceElement.h71
-rw-r--r--ksvg/dom/SVGFilterElement.cc128
-rw-r--r--ksvg/dom/SVGFilterElement.h74
-rw-r--r--ksvg/dom/SVGFilterPrimitiveStandardAttributes.cc88
-rw-r--r--ksvg/dom/SVGFilterPrimitiveStandardAttributes.h55
-rw-r--r--ksvg/dom/SVGFitToViewBox.cc72
-rw-r--r--ksvg/dom/SVGFitToViewBox.h55
-rw-r--r--ksvg/dom/SVGFontElement.cc69
-rw-r--r--ksvg/dom/SVGFontElement.h54
-rw-r--r--ksvg/dom/SVGFontFaceElement.cc67
-rw-r--r--ksvg/dom/SVGFontFaceElement.h50
-rw-r--r--ksvg/dom/SVGFontFaceFormatElement.cc67
-rw-r--r--ksvg/dom/SVGFontFaceFormatElement.h50
-rw-r--r--ksvg/dom/SVGFontFaceNameElement.cc67
-rw-r--r--ksvg/dom/SVGFontFaceNameElement.h50
-rw-r--r--ksvg/dom/SVGFontFaceSrcElement.cc67
-rw-r--r--ksvg/dom/SVGFontFaceSrcElement.h50
-rw-r--r--ksvg/dom/SVGFontFaceUriElement.cc67
-rw-r--r--ksvg/dom/SVGFontFaceUriElement.h50
-rw-r--r--ksvg/dom/SVGForeignObjectElement.cc97
-rw-r--r--ksvg/dom/SVGForeignObjectElement.h66
-rw-r--r--ksvg/dom/SVGGElement.cc72
-rw-r--r--ksvg/dom/SVGGElement.h83
-rw-r--r--ksvg/dom/SVGGlyphElement.cc68
-rw-r--r--ksvg/dom/SVGGlyphElement.h52
-rw-r--r--ksvg/dom/SVGGlyphRefElement.cc81
-rw-r--r--ksvg/dom/SVGGlyphRefElement.h57
-rw-r--r--ksvg/dom/SVGGradientElement.cc80
-rw-r--r--ksvg/dom/SVGGradientElement.h71
-rw-r--r--ksvg/dom/SVGHKernElement.cc67
-rw-r--r--ksvg/dom/SVGHKernElement.h50
-rw-r--r--ksvg/dom/SVGICCColor.cc85
-rw-r--r--ksvg/dom/SVGICCColor.h56
-rw-r--r--ksvg/dom/SVGImageElement.cc106
-rw-r--r--ksvg/dom/SVGImageElement.h70
-rw-r--r--ksvg/dom/SVGLangSpace.cc82
-rw-r--r--ksvg/dom/SVGLangSpace.h58
-rw-r--r--ksvg/dom/SVGLength.cc135
-rw-r--r--ksvg/dom/SVGLength.h81
-rw-r--r--ksvg/dom/SVGLengthList.cc115
-rw-r--r--ksvg/dom/SVGLengthList.h59
-rw-r--r--ksvg/dom/SVGLineElement.cc98
-rw-r--r--ksvg/dom/SVGLineElement.h126
-rw-r--r--ksvg/dom/SVGLinearGradientElement.cc92
-rw-r--r--ksvg/dom/SVGLinearGradientElement.h141
-rw-r--r--ksvg/dom/SVGLocatable.cc97
-rw-r--r--ksvg/dom/SVGLocatable.h122
-rw-r--r--ksvg/dom/SVGMPathElement.cc69
-rw-r--r--ksvg/dom/SVGMPathElement.h54
-rw-r--r--ksvg/dom/SVGMarkerElement.cc129
-rw-r--r--ksvg/dom/SVGMarkerElement.h87
-rw-r--r--ksvg/dom/SVGMaskElement.cc109
-rw-r--r--ksvg/dom/SVGMaskElement.h69
-rw-r--r--ksvg/dom/SVGMatrix.cc210
-rw-r--r--ksvg/dom/SVGMatrix.h79
-rw-r--r--ksvg/dom/SVGMetadataElement.cc67
-rw-r--r--ksvg/dom/SVGMetadataElement.h50
-rw-r--r--ksvg/dom/SVGMissingGlyphElement.cc68
-rw-r--r--ksvg/dom/SVGMissingGlyphElement.h52
-rw-r--r--ksvg/dom/SVGNumber.cc78
-rw-r--r--ksvg/dom/SVGNumber.h51
-rw-r--r--ksvg/dom/SVGNumberList.cc115
-rw-r--r--ksvg/dom/SVGNumberList.h58
-rw-r--r--ksvg/dom/SVGPaint.cc93
-rw-r--r--ksvg/dom/SVGPaint.h70
-rw-r--r--ksvg/dom/SVGPathElement.cc200
-rw-r--r--ksvg/dom/SVGPathElement.h107
-rw-r--r--ksvg/dom/SVGPathSeg.cc69
-rw-r--r--ksvg/dom/SVGPathSeg.h76
-rw-r--r--ksvg/dom/SVGPathSegArc.cc238
-rw-r--r--ksvg/dom/SVGPathSegArc.h109
-rw-r--r--ksvg/dom/SVGPathSegClosePath.cc46
-rw-r--r--ksvg/dom/SVGPathSegClosePath.h50
-rw-r--r--ksvg/dom/SVGPathSegCurvetoCubic.cc214
-rw-r--r--ksvg/dom/SVGPathSegCurvetoCubic.h103
-rw-r--r--ksvg/dom/SVGPathSegCurvetoCubicSmooth.cc166
-rw-r--r--ksvg/dom/SVGPathSegCurvetoCubicSmooth.h91
-rw-r--r--ksvg/dom/SVGPathSegCurvetoQuadratic.cc166
-rw-r--r--ksvg/dom/SVGPathSegCurvetoQuadratic.h91
-rw-r--r--ksvg/dom/SVGPathSegCurvetoQuadraticSmooth.cc118
-rw-r--r--ksvg/dom/SVGPathSegCurvetoQuadraticSmooth.h79
-rw-r--r--ksvg/dom/SVGPathSegLineto.cc118
-rw-r--r--ksvg/dom/SVGPathSegLineto.h79
-rw-r--r--ksvg/dom/SVGPathSegLinetoHorizontal.cc94
-rw-r--r--ksvg/dom/SVGPathSegLinetoHorizontal.h73
-rw-r--r--ksvg/dom/SVGPathSegLinetoVertical.cc94
-rw-r--r--ksvg/dom/SVGPathSegLinetoVertical.h73
-rw-r--r--ksvg/dom/SVGPathSegList.cc114
-rw-r--r--ksvg/dom/SVGPathSegList.h59
-rw-r--r--ksvg/dom/SVGPathSegMoveto.cc118
-rw-r--r--ksvg/dom/SVGPathSegMoveto.h79
-rw-r--r--ksvg/dom/SVGPatternElement.cc117
-rw-r--r--ksvg/dom/SVGPatternElement.h188
-rw-r--r--ksvg/dom/SVGPoint.cc97
-rw-r--r--ksvg/dom/SVGPoint.h57
-rw-r--r--ksvg/dom/SVGPointList.cc114
-rw-r--r--ksvg/dom/SVGPointList.h57
-rw-r--r--ksvg/dom/SVGPolygonElement.cc84
-rw-r--r--ksvg/dom/SVGPolygonElement.h106
-rw-r--r--ksvg/dom/SVGPolylineElement.cc85
-rw-r--r--ksvg/dom/SVGPolylineElement.h106
-rw-r--r--ksvg/dom/SVGPreserveAspectRatio.cc81
-rw-r--r--ksvg/dom/SVGPreserveAspectRatio.h76
-rw-r--r--ksvg/dom/SVGRadialGradientElement.cc98
-rw-r--r--ksvg/dom/SVGRadialGradientElement.h57
-rw-r--r--ksvg/dom/SVGRect.cc114
-rw-r--r--ksvg/dom/SVGRect.h87
-rw-r--r--ksvg/dom/SVGRectElement.cc109
-rw-r--r--ksvg/dom/SVGRectElement.h173
-rw-r--r--ksvg/dom/SVGRenderingIntent.h41
-rw-r--r--ksvg/dom/SVGSVGElement.cc337
-rw-r--r--ksvg/dom/SVGSVGElement.h581
-rw-r--r--ksvg/dom/SVGScriptElement.cc81
-rw-r--r--ksvg/dom/SVGScriptElement.h58
-rw-r--r--ksvg/dom/SVGSetElement.cc67
-rw-r--r--ksvg/dom/SVGSetElement.h50
-rw-r--r--ksvg/dom/SVGStopElement.cc75
-rw-r--r--ksvg/dom/SVGStopElement.h81
-rw-r--r--ksvg/dom/SVGStringList.cc115
-rw-r--r--ksvg/dom/SVGStringList.h60
-rw-r--r--ksvg/dom/SVGStylable.cc76
-rw-r--r--ksvg/dom/SVGStylable.h56
-rw-r--r--ksvg/dom/SVGStyleElement.cc115
-rw-r--r--ksvg/dom/SVGStyleElement.h63
-rw-r--r--ksvg/dom/SVGSwitchElement.cc72
-rw-r--r--ksvg/dom/SVGSwitchElement.h60
-rw-r--r--ksvg/dom/SVGSymbolElement.cc71
-rw-r--r--ksvg/dom/SVGSymbolElement.h58
-rw-r--r--ksvg/dom/SVGTRefElement.cc68
-rw-r--r--ksvg/dom/SVGTRefElement.h52
-rw-r--r--ksvg/dom/SVGTSpanElement.cc67
-rw-r--r--ksvg/dom/SVGTSpanElement.h70
-rw-r--r--ksvg/dom/SVGTests.cc83
-rw-r--r--ksvg/dom/SVGTests.h59
-rw-r--r--ksvg/dom/SVGTextContentElement.cc120
-rw-r--r--ksvg/dom/SVGTextContentElement.h79
-rw-r--r--ksvg/dom/SVGTextElement.cc68
-rw-r--r--ksvg/dom/SVGTextElement.h115
-rw-r--r--ksvg/dom/SVGTextPathElement.cc89
-rw-r--r--ksvg/dom/SVGTextPathElement.h70
-rw-r--r--ksvg/dom/SVGTextPositioningElement.cc85
-rw-r--r--ksvg/dom/SVGTextPositioningElement.h60
-rw-r--r--ksvg/dom/SVGTitleElement.cc69
-rw-r--r--ksvg/dom/SVGTitleElement.h54
-rw-r--r--ksvg/dom/SVGTransform.cc119
-rw-r--r--ksvg/dom/SVGTransform.h71
-rw-r--r--ksvg/dom/SVGTransformList.cc129
-rw-r--r--ksvg/dom/SVGTransformList.h63
-rw-r--r--ksvg/dom/SVGTransformable.cc67
-rw-r--r--ksvg/dom/SVGTransformable.h55
-rw-r--r--ksvg/dom/SVGURIReference.cc63
-rw-r--r--ksvg/dom/SVGURIReference.h53
-rw-r--r--ksvg/dom/SVGUnitTypes.h41
-rw-r--r--ksvg/dom/SVGUseElement.cc111
-rw-r--r--ksvg/dom/SVGUseElement.h71
-rw-r--r--ksvg/dom/SVGVKernElement.cc67
-rw-r--r--ksvg/dom/SVGVKernElement.h50
-rw-r--r--ksvg/dom/SVGViewElement.cc77
-rw-r--r--ksvg/dom/SVGViewElement.h59
-rw-r--r--ksvg/dom/SVGViewSpec.cc107
-rw-r--r--ksvg/dom/SVGViewSpec.h63
-rw-r--r--ksvg/dom/SVGWindow.cc175
-rw-r--r--ksvg/dom/SVGWindow.h127
-rw-r--r--ksvg/dom/SVGZoomAndPan.cc70
-rw-r--r--ksvg/dom/SVGZoomAndPan.h60
-rw-r--r--ksvg/dom/SVGZoomEvent.cc99
-rw-r--r--ksvg/dom/SVGZoomEvent.h58
298 files changed, 24612 insertions, 0 deletions
diff --git a/ksvg/dom/Makefile.am b/ksvg/dom/Makefile.am
new file mode 100644
index 00000000..9b6b1cf7
--- /dev/null
+++ b/ksvg/dom/Makefile.am
@@ -0,0 +1,58 @@
+noinst_LTLIBRARIES = libksvgdom.la
+
+myincludedir = $(includedir)/dom
+myinclude_HEADERS = SVGAElement.h SVGAltGlyphElement.h SVGAltGlyphDefElement.h SVGGlyphRefElement.h SVGAngle.h SVGAnimateColorElement.h SVGAnimateElement.h \
+ SVGAnimateMotionElement.h SVGAnimateTransformElement.h SVGAnimatedAngle.h SVGAnimatedBoolean.h \
+ SVGAnimatedEnumeration.h SVGAnimatedInteger.h SVGAnimatedLength.h SVGAnimatedLengthList.h \
+ SVGAnimatedNumber.h SVGAnimatedNumberList.h SVGAnimatedPathData.h SVGAnimatedPoints.h \
+ SVGAnimatedPreserveAspectRatio.h SVGAnimatedRect.h SVGAnimatedString.h SVGAnimatedTransformList.h \
+ SVGAnimationElement.h SVGCSSRule.h SVGCircleElement.h SVGClipPathElement.h SVGColor.h \
+ SVGColorProfileElement.h SVGColorProfileRule.h SVGComponentTransferFunctionElement.h SVGCursorElement.h \
+ SVGDefinitionSrcElement.h SVGDefsElement.h SVGDescElement.h SVGDocument.h SVGElement.h SVGElementInstance.h \
+ SVGElementInstanceList.h SVGEllipseElement.h SVGEvent.h SVGException.h SVGExternalResourcesRequired.h \
+ SVGFEBlendElement.h SVGFEColorMatrixElement.h SVGFEComponentTransferElement.h SVGFECompositeElement.h \
+ SVGFEConvolveMatrixElement.h SVGFEDiffuseLightingElement.h SVGFEDisplacementMapElement.h SVGFEDistantLightElement.h \
+ SVGFEFloodElement.h SVGFEFuncAElement.h SVGFEFuncBElement.h SVGFEFuncGElement.h SVGFEFuncRElement.h \
+ SVGFEGaussianBlurElement.h SVGFEImageElement.h SVGFEMergeElement.h SVGFEMergeNodeElement.h SVGFEMorphologyElement.h \
+ SVGFEOffsetElement.h SVGFEPointLightElement.h SVGFESpecularLightingElement.h SVGFESpotLightElement.h \
+ SVGFETileElement.h SVGFETurbulenceElement.h SVGFilterElement.h SVGFilterPrimitiveStandardAttributes.h \
+ SVGFitToViewBox.h SVGFontElement.h SVGFontFaceElement.h SVGFontFaceFormatElement.h SVGFontFaceNameElement.h \
+ SVGFontFaceSrcElement.h SVGFontFaceUriElement.h SVGForeignObjectElement.h SVGGElement.h SVGGlyphElement.h \
+ SVGGradientElement.h SVGHKernElement.h SVGICCColor.h SVGImageElement.h SVGLangSpace.h SVGLength.h SVGLengthList.h \
+ SVGLineElement.h SVGLinearGradientElement.h SVGLocatable.h SVGMPathElement.h SVGMarkerElement.h SVGMaskElement.h \
+ SVGMatrix.h SVGMetadataElement.h SVGMissingGlyphElement.h SVGNumber.h SVGNumberList.h SVGPaint.h SVGPathElement.h \
+ SVGPathSeg.h SVGPathSegArc.h SVGPathSegClosePath.h SVGPathSegCurvetoCubic.h SVGPathSegCurvetoCubicSmooth.h \
+ SVGPathSegCurvetoQuadratic.h SVGPathSegCurvetoQuadraticSmooth.h SVGPathSegLineto.h SVGPathSegLinetoHorizontal.h \
+ SVGPathSegLinetoVertical.h SVGPathSegList.h SVGPathSegMoveto.h SVGPatternElement.h SVGPoint.h SVGPointList.h \
+ SVGPolygonElement.h SVGPolylineElement.h SVGPreserveAspectRatio.h SVGRadialGradientElement.h SVGRect.h \
+ SVGRectElement.h SVGRenderingIntent.h SVGSVGElement.h SVGScriptElement.h SVGSetElement.h SVGStopElement.h \
+ SVGStringList.h SVGStylable.h SVGStyleElement.h SVGSwitchElement.h SVGSymbolElement.h SVGTRefElement.h \
+ SVGTSpanElement.h SVGTests.h SVGTextContentElement.h SVGTextElement.h SVGTextPathElement.h SVGTextPositioningElement.h \
+ SVGTitleElement.h SVGTransform.h SVGTransformList.h SVGTransformable.h SVGURIReference.h SVGUnitTypes.h \
+ SVGUseElement.h SVGVKernElement.h SVGViewElement.h SVGViewSpec.h SVGWindow.h SVGZoomAndPan.h SVGZoomEvent.h
+
+libksvgdom_la_SOURCES = SVGLength.cc SVGAnimatedLength.cc SVGNumber.cc SVGAnimatedNumber.cc SVGPoint.cc SVGTSpanElement.cc SVGTRefElement.cc \
+ SVGAnimatedLengthList.cc SVGAnimatedNumberList.cc SVGTransformList.cc SVGAElement.cc SVGAnimatedTransformList.cc \
+ SVGRectElement.cc SVGCircleElement.cc SVGEllipseElement.cc SVGLineElement.cc SVGPolylineElement.cc SVGPolygonElement.cc \
+ SVGTextPositioningElement.cc SVGTextContentElement.cc SVGTextElement.cc SVGImageElement.cc SVGUseElement.cc \
+ SVGMatrix.cc SVGTransform.cc SVGPointList.cc SVGDocument.cc SVGAnimatedEnumeration.cc SVGDefsElement.cc \
+ SVGLocatable.cc SVGTransformable.cc SVGStylable.cc SVGGElement.cc SVGAngle.cc SVGAnimatedAngle.cc \
+ SVGColor.cc SVGPathElement.cc SVGPathSegList.cc SVGTests.cc SVGLangSpace.cc SVGStringList.cc \
+ SVGPathSeg.cc SVGPathSegClosePath.cc SVGPathSegMoveto.cc SVGPathSegLinetoHorizontal.cc SVGPathSegLinetoVertical.cc SVGPathSegLineto.cc \
+ SVGPathSegCurvetoCubic.cc SVGDescElement.cc SVGTitleElement.cc SVGExternalResourcesRequired.cc SVGAnimatedBoolean.cc SVGNumberList.cc \
+ SVGPathSegCurvetoCubicSmooth.cc SVGPathSegCurvetoQuadratic.cc SVGAnimatedRect.cc SVGAnimatedString.cc \
+ SVGPathSegCurvetoQuadraticSmooth.cc SVGPathSegArc.cc SVGURIReference.cc SVGAnimatedInteger.cc SVGLengthList.cc \
+ SVGSVGElement.cc SVGRect.cc SVGFitToViewBox.cc SVGAnimatedPreserveAspectRatio.cc SVGPreserveAspectRatio.cc SVGElement.cc \
+ SVGStyleElement.cc SVGClipPathElement.cc SVGMaskElement.cc SVGColorProfileElement.cc SVGColorProfileRule.cc SVGZoomAndPan.cc SVGScriptElement.cc \
+ SVGSwitchElement.cc SVGSymbolElement.cc \
+ SVGDefinitionSrcElement.cc SVGFontFaceElement.cc SVGFontFaceFormatElement.cc SVGFontFaceNameElement.cc SVGFontFaceSrcElement.cc SVGHKernElement.cc SVGMetadataElement.cc SVGVKernElement.cc SVGCursorElement.cc SVGForeignObjectElement.cc SVGFontFaceUriElement.cc \
+ SVGElementInstance.cc SVGElementInstanceList.cc SVGAnimatedPoints.cc SVGAnimatedPathData.cc SVGMarkerElement.cc SVGViewSpec.cc SVGViewElement.cc \
+ SVGFilterElement.cc SVGFilterPrimitiveStandardAttributes.cc SVGFEBlendElement.cc SVGFEColorMatrixElement.cc SVGFEComponentTransferElement.cc SVGComponentTransferFunctionElement.cc SVGFEFuncAElement.cc SVGFEFuncBElement.cc SVGFEFuncGElement.cc SVGFEFuncRElement.cc SVGFECompositeElement.cc SVGFEConvolveMatrixElement.cc SVGFEFloodElement.cc SVGFEGaussianBlurElement.cc SVGFEDiffuseLightingElement.cc SVGFEDistantLightElement.cc SVGFEPointLightElement.cc SVGFESpotLightElement.cc SVGFEDisplacementMapElement.cc SVGFEMergeElement.cc SVGFEMergeNodeElement.cc SVGFEImageElement.cc SVGFEMorphologyElement.cc SVGFEOffsetElement.cc SVGFESpecularLightingElement.cc SVGFETileElement.cc SVGFETurbulenceElement.cc \
+ SVGAnimationElement.cc SVGAnimateElement.cc SVGSetElement.cc SVGAnimateMotionElement.cc SVGAnimateColorElement.cc SVGAnimateTransformElement.cc \
+ SVGEvent.cc SVGZoomEvent.cc SVGICCColor.cc SVGCSSRule.cc \
+ SVGGradientElement.cc SVGRadialGradientElement.cc SVGLinearGradientElement.cc SVGStopElement.cc SVGPatternElement.cc SVGMPathElement.cc \
+ SVGFontElement.cc SVGAltGlyphElement.cc SVGGlyphRefElement.cc SVGAltGlyphDefElement.cc SVGGlyphElement.cc SVGMissingGlyphElement.cc SVGPaint.cc SVGTextPathElement.cc SVGWindow.cc
+
+libksvgdom_la_METASOURCES = AUTO
+
+INCLUDES = -I$(top_srcdir)/ksvg/core -I$(top_srcdir)/ksvg/ecma -I$(top_srcdir)/ksvg/impl -I$(top_srcdir)/ksvg/impl/libs/libtext2path/src -I$(top_srcdir)/impl/ $(all_includes)
diff --git a/ksvg/dom/SVGAElement.cc b/ksvg/dom/SVGAElement.cc
new file mode 100644
index 00000000..a4d7d5b1
--- /dev/null
+++ b/ksvg/dom/SVGAElement.cc
@@ -0,0 +1,80 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAElement.h"
+#include "SVGAElementImpl.h"
+#include "SVGAnimatedString.h"
+
+using namespace KSVG;
+
+SVGAElement::SVGAElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable(), SVGURIReference()
+{
+ impl = 0;
+}
+
+SVGAElement::SVGAElement(const SVGAElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGURIReference(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGAElement &SVGAElement::operator=(const SVGAElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+ SVGURIReference::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAElement::SVGAElement(SVGAElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGURIReference(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAElement::~SVGAElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGAElement::target() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->target());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAElement.h b/ksvg/dom/SVGAElement.h
new file mode 100644
index 00000000..98b0f54e
--- /dev/null
+++ b/ksvg/dom/SVGAElement.h
@@ -0,0 +1,64 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAElement_H
+#define SVGAElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+#include "SVGURIReference.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGAElementImpl;
+class SVGAElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public SVGURIReference
+{
+public:
+ SVGAElement();
+ SVGAElement(const SVGAElement &other);
+ SVGAElement &operator=(const SVGAElement &other);
+ SVGAElement(SVGAElementImpl *other);
+ virtual ~SVGAElement();
+
+ SVGAnimatedString target() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAElementImpl *handle() const { return impl; }
+
+private:
+ SVGAElementImpl *impl;
+};
+
+}
+
+#endif
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAltGlyphDefElement.cc b/ksvg/dom/SVGAltGlyphDefElement.cc
new file mode 100644
index 00000000..f150b982
--- /dev/null
+++ b/ksvg/dom/SVGAltGlyphDefElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAltGlyphDefElement.h"
+#include "SVGAltGlyphDefElementImpl.h"
+
+using namespace KSVG;
+
+SVGAltGlyphDefElement::SVGAltGlyphDefElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGAltGlyphDefElement::SVGAltGlyphDefElement(const SVGAltGlyphDefElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGAltGlyphDefElement &SVGAltGlyphDefElement::operator=(const SVGAltGlyphDefElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAltGlyphDefElement::SVGAltGlyphDefElement(SVGAltGlyphDefElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAltGlyphDefElement::~SVGAltGlyphDefElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAltGlyphDefElement.h b/ksvg/dom/SVGAltGlyphDefElement.h
new file mode 100644
index 00000000..c0672cf6
--- /dev/null
+++ b/ksvg/dom/SVGAltGlyphDefElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAltGlyphDefElement_H
+#define SVGAltGlyphDefElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGAltGlyphDefElementImpl;
+class SVGAltGlyphDefElement : public SVGElement
+{
+public:
+ SVGAltGlyphDefElement();
+ SVGAltGlyphDefElement(const SVGAltGlyphDefElement &other);
+ SVGAltGlyphDefElement &operator=(const SVGAltGlyphDefElement &other);
+ SVGAltGlyphDefElement(SVGAltGlyphDefElementImpl *other);
+ virtual ~SVGAltGlyphDefElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAltGlyphDefElementImpl *handle() const { return impl; }
+
+private:
+ SVGAltGlyphDefElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAltGlyphElement.cc b/ksvg/dom/SVGAltGlyphElement.cc
new file mode 100644
index 00000000..33877a74
--- /dev/null
+++ b/ksvg/dom/SVGAltGlyphElement.cc
@@ -0,0 +1,80 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAltGlyphElement.h"
+#include "SVGAltGlyphElementImpl.h"
+
+using namespace KSVG;
+
+SVGAltGlyphElement::SVGAltGlyphElement() : SVGTextPositioningElement(), SVGURIReference()
+{
+ impl = 0;
+}
+
+SVGAltGlyphElement::SVGAltGlyphElement(const SVGAltGlyphElement &other) : SVGTextPositioningElement(other), SVGURIReference(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGAltGlyphElement &SVGAltGlyphElement::operator=(const SVGAltGlyphElement &other)
+{
+ SVGTextPositioningElement::operator=(other);
+ SVGURIReference::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAltGlyphElement::SVGAltGlyphElement(SVGAltGlyphElementImpl *other) : SVGTextPositioningElement(other), SVGURIReference(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAltGlyphElement::~SVGAltGlyphElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+DOM::DOMString SVGAltGlyphElement::format()
+{
+ if(!impl) return DOM::DOMString();
+ return impl->format();
+}
+
+DOM::DOMString SVGAltGlyphElement::glyphRef()
+{
+ if(!impl) return DOM::DOMString();
+ return impl->glyphRef();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAltGlyphElement.h b/ksvg/dom/SVGAltGlyphElement.h
new file mode 100644
index 00000000..191c67fe
--- /dev/null
+++ b/ksvg/dom/SVGAltGlyphElement.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAltGlyphElement_H
+#define SVGAltGlyphElement_H
+
+#include "SVGTextPositioningElement.h"
+#include "SVGURIReference.h"
+
+namespace KSVG
+{
+
+class SVGAltGlyphElementImpl;
+class SVGAltGlyphElement : public SVGTextPositioningElement,
+ public SVGURIReference
+{
+public:
+ SVGAltGlyphElement();
+ SVGAltGlyphElement(const SVGAltGlyphElement &other);
+ SVGAltGlyphElement &operator=(const SVGAltGlyphElement &other);
+ SVGAltGlyphElement(SVGAltGlyphElementImpl *other);
+ virtual ~SVGAltGlyphElement();
+
+ DOM::DOMString glyphRef();
+ DOM::DOMString format();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAltGlyphElementImpl *handle() const { return impl; }
+
+private:
+ SVGAltGlyphElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAngle.cc b/ksvg/dom/SVGAngle.cc
new file mode 100644
index 00000000..c3cb1fae
--- /dev/null
+++ b/ksvg/dom/SVGAngle.cc
@@ -0,0 +1,120 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAngle.h"
+#include "SVGAngleImpl.h"
+
+using namespace KSVG;
+
+SVGAngle::SVGAngle()
+{
+ impl = new SVGAngleImpl();
+ impl->ref();
+}
+
+SVGAngle::SVGAngle(const SVGAngle &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAngle &SVGAngle::operator =(const SVGAngle &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAngle::SVGAngle(SVGAngleImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAngle::~SVGAngle()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned short SVGAngle::unitType() const
+{
+ if(!impl) return SVG_ANGLETYPE_UNKNOWN;
+ return impl->unitType();
+}
+
+void SVGAngle::setValue(float value)
+{
+ if(impl)
+ impl->setValue(value);
+}
+
+float SVGAngle::value() const
+{
+ if(!impl) return -1;
+ return impl->value();
+}
+
+void SVGAngle::setValueInSpecifiedUnits(float valueInSpecifiedUnits)
+{
+ if(impl)
+ impl->setValueInSpecifiedUnits(valueInSpecifiedUnits);
+}
+
+float SVGAngle::valueInSpecifiedUnits() const
+{
+ if(!impl) return -1;
+ return impl->valueInSpecifiedUnits();
+}
+
+void SVGAngle::setValueAsString(const DOM::DOMString &valueAsString)
+{
+ if(impl)
+ impl->setValueAsString(valueAsString);
+}
+
+DOM::DOMString SVGAngle::valueAsString() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->valueAsString();
+}
+
+void SVGAngle::newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits)
+{
+ if(impl)
+ impl->newValueSpecifiedUnits(unitType, valueInSpecifiedUnits);
+}
+
+void SVGAngle::convertToSpecifiedUnits(unsigned short unitType)
+{
+ if(impl)
+ impl->convertToSpecifiedUnits(unitType);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAngle.h b/ksvg/dom/SVGAngle.h
new file mode 100644
index 00000000..9e301660
--- /dev/null
+++ b/ksvg/dom/SVGAngle.h
@@ -0,0 +1,74 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAngle_H
+#define SVGAngle_H
+
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_ANGLETYPE_UNKNOWN = 0,
+ SVG_ANGLETYPE_UNSPECIFIED = 1,
+ SVG_ANGLETYPE_DEG = 2,
+ SVG_ANGLETYPE_RAD = 3,
+ SVG_ANGLETYPE_GRAD = 4
+};
+
+class SVGAngleImpl;
+class SVGAngle
+{
+public:
+
+ SVGAngle();
+ SVGAngle(const SVGAngle &other);
+ SVGAngle &operator=(const SVGAngle &other);
+ SVGAngle(SVGAngleImpl *other);
+ ~SVGAngle();
+
+ unsigned short unitType() const;
+
+ void setValue(float value);
+ float value() const;
+
+ void setValueInSpecifiedUnits(float valueInSpecifiedUnits);
+ float valueInSpecifiedUnits() const;
+
+ void setValueAsString(const DOM::DOMString &valueAsString);
+ DOM::DOMString valueAsString() const;
+
+ void newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits);
+ void convertToSpecifiedUnits(unsigned short unitType);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAngleImpl *handle() const { return impl; }
+
+private:
+ SVGAngleImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimateColorElement.cc b/ksvg/dom/SVGAnimateColorElement.cc
new file mode 100644
index 00000000..0090513f
--- /dev/null
+++ b/ksvg/dom/SVGAnimateColorElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimateColorElement.h"
+#include "SVGAnimateColorElementImpl.h"
+
+using namespace KSVG;
+
+SVGAnimateColorElement::SVGAnimateColorElement() : SVGAnimationElement()
+{
+ impl = 0;
+}
+
+SVGAnimateColorElement::SVGAnimateColorElement(const SVGAnimateColorElement &other) : SVGAnimationElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimateColorElement &SVGAnimateColorElement::operator=(const SVGAnimateColorElement &other)
+{
+ SVGAnimationElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimateColorElement::SVGAnimateColorElement(SVGAnimateColorElementImpl *other) : SVGAnimationElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimateColorElement::~SVGAnimateColorElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimateColorElement.h b/ksvg/dom/SVGAnimateColorElement.h
new file mode 100644
index 00000000..3e5d1616
--- /dev/null
+++ b/ksvg/dom/SVGAnimateColorElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimateColorElement_H
+#define SVGAnimateColorElement_H
+
+#include "SVGAnimationElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimateColorElementImpl;
+class SVGAnimateColorElement : public SVGAnimationElement
+{
+public:
+ SVGAnimateColorElement();
+ SVGAnimateColorElement(const SVGAnimateColorElement &other);
+ SVGAnimateColorElement &operator=(const SVGAnimateColorElement &other);
+ SVGAnimateColorElement(SVGAnimateColorElementImpl *other);
+ virtual ~SVGAnimateColorElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimateColorElementImpl *handle() const { return impl; }
+
+private:
+ SVGAnimateColorElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimateElement.cc b/ksvg/dom/SVGAnimateElement.cc
new file mode 100644
index 00000000..b0b4503e
--- /dev/null
+++ b/ksvg/dom/SVGAnimateElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimateElement.h"
+#include "SVGAnimateElementImpl.h"
+
+using namespace KSVG;
+
+SVGAnimateElement::SVGAnimateElement() : SVGAnimationElement()
+{
+ impl = 0;
+}
+
+SVGAnimateElement::SVGAnimateElement(const SVGAnimateElement &other) : SVGAnimationElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimateElement &SVGAnimateElement::operator=(const SVGAnimateElement &other)
+{
+ SVGAnimationElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimateElement::SVGAnimateElement(SVGAnimateElementImpl *other) : SVGAnimationElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimateElement::~SVGAnimateElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimateElement.h b/ksvg/dom/SVGAnimateElement.h
new file mode 100644
index 00000000..5856f9b2
--- /dev/null
+++ b/ksvg/dom/SVGAnimateElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimateElement_H
+#define SVGAnimateElement_H
+
+#include "SVGAnimationElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimateElementImpl;
+class SVGAnimateElement : public SVGAnimationElement
+{
+public:
+ SVGAnimateElement();
+ SVGAnimateElement(const SVGAnimateElement &other);
+ SVGAnimateElement &operator=(const SVGAnimateElement &other);
+ SVGAnimateElement(SVGAnimateElementImpl *other);
+ virtual ~SVGAnimateElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimateElementImpl *handle() const { return impl; }
+
+private:
+ SVGAnimateElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimateMotionElement.cc b/ksvg/dom/SVGAnimateMotionElement.cc
new file mode 100644
index 00000000..f2758fe3
--- /dev/null
+++ b/ksvg/dom/SVGAnimateMotionElement.cc
@@ -0,0 +1,65 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimateMotionElement.h"
+#include "SVGAnimateMotionElementImpl.h"
+
+using namespace KSVG;
+
+SVGAnimateMotionElement::SVGAnimateMotionElement() : SVGAnimationElement()
+{
+ impl = 0;
+}
+
+SVGAnimateMotionElement::SVGAnimateMotionElement(const SVGAnimateMotionElement &other) : SVGAnimationElement(), impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimateMotionElement &SVGAnimateMotionElement::operator =(const SVGAnimateMotionElement &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimateMotionElement::SVGAnimateMotionElement(SVGAnimateMotionElementImpl *other) : SVGAnimationElement()
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimateMotionElement::~SVGAnimateMotionElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimateMotionElement.h b/ksvg/dom/SVGAnimateMotionElement.h
new file mode 100644
index 00000000..62b477b0
--- /dev/null
+++ b/ksvg/dom/SVGAnimateMotionElement.h
@@ -0,0 +1,47 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimateMotionElement_H
+#define SVGAnimateMotionElement_H
+
+#include "SVGAnimationElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimateMotionElementImpl;
+class SVGAnimateMotionElement : public SVGAnimationElement
+{
+public:
+ SVGAnimateMotionElement();
+ SVGAnimateMotionElement(const SVGAnimateMotionElement &other);
+ SVGAnimateMotionElement &operator=(const SVGAnimateMotionElement &other);
+ SVGAnimateMotionElement(SVGAnimateMotionElementImpl *other);
+ virtual ~SVGAnimateMotionElement();
+
+private:
+ SVGAnimateMotionElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimateTransformElement.cc b/ksvg/dom/SVGAnimateTransformElement.cc
new file mode 100644
index 00000000..91bbb9a3
--- /dev/null
+++ b/ksvg/dom/SVGAnimateTransformElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimateTransformElement.h"
+#include "SVGAnimateTransformElementImpl.h"
+
+using namespace KSVG;
+
+SVGAnimateTransformElement::SVGAnimateTransformElement() : SVGAnimationElement()
+{
+ impl = 0;
+}
+
+SVGAnimateTransformElement::SVGAnimateTransformElement(const SVGAnimateTransformElement &other) : SVGAnimationElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimateTransformElement &SVGAnimateTransformElement::operator=(const SVGAnimateTransformElement &other)
+{
+ SVGAnimationElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimateTransformElement::SVGAnimateTransformElement(SVGAnimateTransformElementImpl *other) : SVGAnimationElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimateTransformElement::~SVGAnimateTransformElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimateTransformElement.h b/ksvg/dom/SVGAnimateTransformElement.h
new file mode 100644
index 00000000..b6c1a5ad
--- /dev/null
+++ b/ksvg/dom/SVGAnimateTransformElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimateTransformElement_H
+#define SVGAnimateTransformElement_H
+
+#include "SVGAnimationElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimateTransformElementImpl;
+class SVGAnimateTransformElement : public SVGAnimationElement
+{
+public:
+ SVGAnimateTransformElement();
+ SVGAnimateTransformElement(const SVGAnimateTransformElement &other);
+ SVGAnimateTransformElement &operator=(const SVGAnimateTransformElement &other);
+ SVGAnimateTransformElement(SVGAnimateTransformElementImpl *other);
+ virtual ~SVGAnimateTransformElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimateTransformElementImpl *handle() const { return impl; }
+
+private:
+ SVGAnimateTransformElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedAngle.cc b/ksvg/dom/SVGAnimatedAngle.cc
new file mode 100644
index 00000000..b8c4ff4d
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedAngle.cc
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedAngle.h"
+#include "SVGAnimatedAngleImpl.h"
+#include "SVGAngle.h"
+
+using namespace KSVG;
+
+SVGAnimatedAngle::SVGAnimatedAngle()
+{
+ impl = new SVGAnimatedAngleImpl();
+ impl->ref();
+}
+
+SVGAnimatedAngle::SVGAnimatedAngle(const SVGAnimatedAngle &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedAngle &SVGAnimatedAngle::operator=(const SVGAnimatedAngle &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedAngle::SVGAnimatedAngle(SVGAnimatedAngleImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedAngle::~SVGAnimatedAngle()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAngle SVGAnimatedAngle::baseVal() const
+{
+ if(!impl) return SVGAngle(0);
+ return SVGAngle(impl->baseVal());
+}
+
+SVGAngle SVGAnimatedAngle::animVal() const
+{
+ if(!impl) return SVGAngle(0);
+ return SVGAngle(impl->animVal());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedAngle.h b/ksvg/dom/SVGAnimatedAngle.h
new file mode 100644
index 00000000..156b9c39
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedAngle.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedAngle_H
+#define SVGAnimatedAngle_H
+
+namespace KSVG
+{
+
+class SVGAngle;
+class SVGAnimatedAngleImpl;
+class SVGAnimatedAngle
+{
+public:
+ SVGAnimatedAngle();
+ SVGAnimatedAngle(const SVGAnimatedAngle &other);
+ SVGAnimatedAngle &operator=(const SVGAnimatedAngle &other);
+ SVGAnimatedAngle(SVGAnimatedAngleImpl *other);
+ ~SVGAnimatedAngle();
+
+ SVGAngle baseVal() const;
+ SVGAngle animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedAngleImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedAngleImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedBoolean.cc b/ksvg/dom/SVGAnimatedBoolean.cc
new file mode 100644
index 00000000..40bb765b
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedBoolean.cc
@@ -0,0 +1,84 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedBoolean.h"
+#include "SVGAnimatedBooleanImpl.h"
+
+using namespace KSVG;
+
+SVGAnimatedBoolean::SVGAnimatedBoolean()
+{
+ impl = new SVGAnimatedBooleanImpl();
+ impl->ref();
+}
+
+SVGAnimatedBoolean::SVGAnimatedBoolean(const SVGAnimatedBoolean &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedBoolean &SVGAnimatedBoolean::operator=(const SVGAnimatedBoolean &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedBoolean::SVGAnimatedBoolean(SVGAnimatedBooleanImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedBoolean::~SVGAnimatedBoolean()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGAnimatedBoolean::setBaseVal(bool baseVal)
+{
+ if(impl)
+ impl->setBaseVal(baseVal);
+}
+
+bool SVGAnimatedBoolean::baseVal() const
+{
+ if(!impl) return false;
+ return impl->baseVal();
+}
+
+bool SVGAnimatedBoolean::animVal() const
+{
+ if(!impl) return false;
+ return impl->animVal();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedBoolean.h b/ksvg/dom/SVGAnimatedBoolean.h
new file mode 100644
index 00000000..c223fa9a
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedBoolean.h
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedBoolean_H
+#define SVGAnimatedBoolean_H
+
+namespace KSVG
+{
+
+class SVGAnimatedBooleanImpl;
+class SVGAnimatedBoolean
+{
+public:
+ SVGAnimatedBoolean();
+ SVGAnimatedBoolean(const SVGAnimatedBoolean &other);
+ SVGAnimatedBoolean &operator=(const SVGAnimatedBoolean &other);
+ SVGAnimatedBoolean(SVGAnimatedBooleanImpl *other);
+ ~SVGAnimatedBoolean();
+
+ void setBaseVal(bool baseVal);
+ bool baseVal() const;
+
+ bool animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedBooleanImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedBooleanImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedEnumeration.cc b/ksvg/dom/SVGAnimatedEnumeration.cc
new file mode 100644
index 00000000..2e9610d4
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedEnumeration.cc
@@ -0,0 +1,84 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedEnumeration.h"
+#include "SVGAnimatedEnumerationImpl.h"
+
+using namespace KSVG;
+
+SVGAnimatedEnumeration::SVGAnimatedEnumeration()
+{
+ impl = new SVGAnimatedEnumerationImpl();
+ impl->ref();
+}
+
+SVGAnimatedEnumeration::SVGAnimatedEnumeration(const SVGAnimatedEnumeration &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedEnumeration &SVGAnimatedEnumeration::operator=(const SVGAnimatedEnumeration &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedEnumeration::SVGAnimatedEnumeration(SVGAnimatedEnumerationImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedEnumeration::~SVGAnimatedEnumeration()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGAnimatedEnumeration::setBaseVal(unsigned short baseVal)
+{
+ if(impl)
+ impl->setBaseVal(baseVal);
+}
+
+unsigned short SVGAnimatedEnumeration::baseVal() const
+{
+ if(!impl) return 0;
+ return impl->baseVal();
+}
+
+unsigned short SVGAnimatedEnumeration::animVal() const
+{
+ if(!impl) return 0;
+ return impl->animVal();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedEnumeration.h b/ksvg/dom/SVGAnimatedEnumeration.h
new file mode 100644
index 00000000..79f75a67
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedEnumeration.h
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedEnumeration_H
+#define SVGAnimatedEnumeration_H
+
+namespace KSVG
+{
+
+class SVGAnimatedEnumerationImpl;
+class SVGAnimatedEnumeration
+{
+public:
+ SVGAnimatedEnumeration();
+ SVGAnimatedEnumeration(const SVGAnimatedEnumeration &other);
+ SVGAnimatedEnumeration &operator=(const SVGAnimatedEnumeration &other);
+ SVGAnimatedEnumeration(SVGAnimatedEnumerationImpl *other);
+ ~SVGAnimatedEnumeration();
+
+ void setBaseVal(unsigned short baseVal);
+ unsigned short baseVal() const;
+
+ unsigned short animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedEnumerationImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedEnumerationImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedInteger.cc b/ksvg/dom/SVGAnimatedInteger.cc
new file mode 100644
index 00000000..df5f9011
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedInteger.cc
@@ -0,0 +1,84 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedInteger.h"
+#include "SVGAnimatedIntegerImpl.h"
+
+using namespace KSVG;
+
+SVGAnimatedInteger::SVGAnimatedInteger()
+{
+ impl = new SVGAnimatedIntegerImpl();
+ impl->ref();
+}
+
+SVGAnimatedInteger::SVGAnimatedInteger(const SVGAnimatedInteger &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedInteger &SVGAnimatedInteger::operator=(const SVGAnimatedInteger &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedInteger::SVGAnimatedInteger(SVGAnimatedIntegerImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedInteger::~SVGAnimatedInteger()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGAnimatedInteger::setBaseVal(long baseVal)
+{
+ if(impl)
+ impl->setBaseVal(baseVal);
+}
+
+long SVGAnimatedInteger::baseVal() const
+{
+ if(!impl) return -1;
+ return impl->baseVal();
+}
+
+long SVGAnimatedInteger::animVal() const
+{
+ if(!impl) return -1;
+ return impl->animVal();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedInteger.h b/ksvg/dom/SVGAnimatedInteger.h
new file mode 100644
index 00000000..495cda75
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedInteger.h
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedInteger_H
+#define SVGAnimatedInteger_H
+
+namespace KSVG
+{
+
+class SVGAnimatedIntegerImpl;
+class SVGAnimatedInteger
+{
+public:
+ SVGAnimatedInteger();
+ SVGAnimatedInteger(const SVGAnimatedInteger &other);
+ SVGAnimatedInteger &operator=(const SVGAnimatedInteger &other);
+ SVGAnimatedInteger(SVGAnimatedIntegerImpl *other);
+ ~SVGAnimatedInteger();
+
+ void setBaseVal(long baseVal);
+ long baseVal() const;
+
+ long animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedIntegerImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedIntegerImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedLength.cc b/ksvg/dom/SVGAnimatedLength.cc
new file mode 100644
index 00000000..50172f13
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedLength.cc
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedLength.h"
+#include "SVGAnimatedLengthImpl.h"
+#include "SVGLength.h"
+
+using namespace KSVG;
+
+SVGAnimatedLength::SVGAnimatedLength()
+{
+ impl = new SVGAnimatedLengthImpl();
+ impl->ref();
+}
+
+SVGAnimatedLength::SVGAnimatedLength(const SVGAnimatedLength &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedLength &SVGAnimatedLength::operator=(const SVGAnimatedLength &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedLength::SVGAnimatedLength(SVGAnimatedLengthImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedLength::~SVGAnimatedLength()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGLength SVGAnimatedLength::baseVal() const
+{
+ if(!impl) return SVGLength(0);
+ return SVGLength(impl->baseVal());
+}
+
+SVGLength SVGAnimatedLength::animVal() const
+{
+ if(!impl) return SVGLength(0);
+ return SVGLength(impl->animVal());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedLength.h b/ksvg/dom/SVGAnimatedLength.h
new file mode 100644
index 00000000..a59792e3
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedLength.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedLength_H
+#define SVGAnimatedLength_H
+
+namespace KSVG
+{
+
+class SVGLength;
+class SVGAnimatedLengthImpl;
+class SVGAnimatedLength
+{
+public:
+ SVGAnimatedLength();
+ SVGAnimatedLength(const SVGAnimatedLength &other);
+ SVGAnimatedLength &operator=(const SVGAnimatedLength &other);
+ SVGAnimatedLength(SVGAnimatedLengthImpl *other);
+ ~SVGAnimatedLength();
+
+ SVGLength baseVal() const;
+ SVGLength animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedLengthImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedLengthImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedLengthList.cc b/ksvg/dom/SVGAnimatedLengthList.cc
new file mode 100644
index 00000000..f1e9c001
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedLengthList.cc
@@ -0,0 +1,78 @@
+/*
+ Copyright (C) 2002 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedLengthList.h"
+#include "SVGAnimatedLengthListImpl.h"
+
+using namespace KSVG;
+
+SVGAnimatedLengthList::SVGAnimatedLengthList()
+{
+ impl = new SVGAnimatedLengthListImpl();
+ impl->ref();
+}
+
+SVGAnimatedLengthList::SVGAnimatedLengthList(const SVGAnimatedLengthList &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedLengthList &SVGAnimatedLengthList::operator=(const SVGAnimatedLengthList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedLengthList::SVGAnimatedLengthList(SVGAnimatedLengthListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedLengthList::~SVGAnimatedLengthList()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGLengthList SVGAnimatedLengthList::baseVal() const
+{
+ if(!impl) return 0;
+ return impl->animVal();
+}
+
+SVGLengthList SVGAnimatedLengthList::animVal() const
+{
+ if(!impl) return 0;
+ return impl->baseVal();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedLengthList.h b/ksvg/dom/SVGAnimatedLengthList.h
new file mode 100644
index 00000000..80eafb03
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedLengthList.h
@@ -0,0 +1,51 @@
+/*
+ Copyright (C) 2002 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedLengthList_H
+#define SVGAnimatedLengthList_H
+
+#include "SVGLengthList.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLengthListImpl;
+class SVGAnimatedLengthList
+{
+public:
+ SVGAnimatedLengthList();
+ SVGAnimatedLengthList(const SVGAnimatedLengthList &);
+ SVGAnimatedLengthList &operator=(const SVGAnimatedLengthList &);
+ SVGAnimatedLengthList(SVGAnimatedLengthListImpl *);
+ ~SVGAnimatedLengthList();
+
+ SVGLengthList baseVal() const;
+ SVGLengthList animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedLengthListImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedLengthListImpl *impl;
+};
+
+}
+
+#endif
diff --git a/ksvg/dom/SVGAnimatedNumber.cc b/ksvg/dom/SVGAnimatedNumber.cc
new file mode 100644
index 00000000..9e801842
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedNumber.cc
@@ -0,0 +1,84 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedNumberImpl.h"
+
+using namespace KSVG;
+
+SVGAnimatedNumber::SVGAnimatedNumber()
+{
+ impl = new SVGAnimatedNumberImpl();
+ impl->ref();
+}
+
+SVGAnimatedNumber::SVGAnimatedNumber(const SVGAnimatedNumber &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedNumber &SVGAnimatedNumber::operator=(const SVGAnimatedNumber &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedNumber::SVGAnimatedNumber(SVGAnimatedNumberImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedNumber::~SVGAnimatedNumber()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGAnimatedNumber::setBaseVal(float baseVal)
+{
+ if(impl)
+ impl->setBaseVal(baseVal);
+}
+
+float SVGAnimatedNumber::baseVal() const
+{
+ if(!impl) return -1;
+ return impl->baseVal();
+}
+
+float SVGAnimatedNumber::animVal() const
+{
+ if(!impl) return -1;
+ return impl->animVal();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedNumber.h b/ksvg/dom/SVGAnimatedNumber.h
new file mode 100644
index 00000000..8c3f1670
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedNumber.h
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedNumber_H
+#define SVGAnimatedNumber_H
+
+namespace KSVG
+{
+
+class SVGAnimatedNumberImpl;
+class SVGAnimatedNumber
+{
+public:
+ SVGAnimatedNumber();
+ SVGAnimatedNumber(const SVGAnimatedNumber &other);
+ SVGAnimatedNumber &operator=(const SVGAnimatedNumber &other);
+ SVGAnimatedNumber(SVGAnimatedNumberImpl *other);
+ ~SVGAnimatedNumber();
+
+ void setBaseVal(float baseVal);
+ float baseVal() const;
+
+ float animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedNumberImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedNumberImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedNumberList.cc b/ksvg/dom/SVGAnimatedNumberList.cc
new file mode 100644
index 00000000..66881cac
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedNumberList.cc
@@ -0,0 +1,78 @@
+/*
+ Copyright (C) 2002 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedNumberList.h"
+#include "SVGAnimatedNumberListImpl.h"
+
+using namespace KSVG;
+
+SVGAnimatedNumberList::SVGAnimatedNumberList()
+{
+ impl = new SVGAnimatedNumberListImpl();
+ impl->ref();
+}
+
+SVGAnimatedNumberList::SVGAnimatedNumberList(const SVGAnimatedNumberList &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedNumberList &SVGAnimatedNumberList::operator=(const SVGAnimatedNumberList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedNumberList::SVGAnimatedNumberList(SVGAnimatedNumberListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedNumberList::~SVGAnimatedNumberList()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGNumberList SVGAnimatedNumberList::baseVal() const
+{
+ if(!impl) return 0;
+ return impl->animVal();
+}
+
+SVGNumberList SVGAnimatedNumberList::animVal() const
+{
+ if(!impl) return 0;
+ return impl->baseVal();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedNumberList.h b/ksvg/dom/SVGAnimatedNumberList.h
new file mode 100644
index 00000000..525ce0fd
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedNumberList.h
@@ -0,0 +1,51 @@
+/*
+ Copyright (C) 2002 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedNumberList_H
+#define SVGAnimatedNumberList_H
+
+#include "SVGNumberList.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedNumberListImpl;
+class SVGAnimatedNumberList
+{
+public:
+ SVGAnimatedNumberList();
+ SVGAnimatedNumberList(const SVGAnimatedNumberList &);
+ SVGAnimatedNumberList &operator=(const SVGAnimatedNumberList &);
+ SVGAnimatedNumberList(SVGAnimatedNumberListImpl *);
+ ~SVGAnimatedNumberList();
+
+ SVGNumberList baseVal() const;
+ SVGNumberList animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedNumberListImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedNumberListImpl *impl;
+};
+
+}
+
+#endif
diff --git a/ksvg/dom/SVGAnimatedPathData.cc b/ksvg/dom/SVGAnimatedPathData.cc
new file mode 100644
index 00000000..d332f567
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedPathData.cc
@@ -0,0 +1,91 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedPathData.h"
+#include "SVGAnimatedPathDataImpl.h"
+#include "SVGPathSegList.h"
+
+using namespace KSVG;
+
+SVGAnimatedPathData::SVGAnimatedPathData()
+{
+ impl = new SVGAnimatedPathDataImpl();
+ impl->ref();
+}
+
+SVGAnimatedPathData::SVGAnimatedPathData(const SVGAnimatedPathData &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedPathData &SVGAnimatedPathData::operator=(const SVGAnimatedPathData &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedPathData::SVGAnimatedPathData(SVGAnimatedPathDataImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedPathData::~SVGAnimatedPathData()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGPathSegList SVGAnimatedPathData::pathSegList() const
+{
+ if(!impl) return SVGPathSegList(0);
+ return SVGPathSegList(impl->pathSegList());
+}
+
+SVGPathSegList SVGAnimatedPathData::normalizedPathSegList() const
+{
+ if(!impl) return SVGPathSegList(0);
+ return SVGPathSegList(impl->normalizedPathSegList());
+}
+
+SVGPathSegList SVGAnimatedPathData::animatedPathSegList() const
+{
+ if(!impl) return SVGPathSegList(0);
+ return SVGPathSegList(impl->animatedPathSegList());
+}
+
+SVGPathSegList SVGAnimatedPathData::animatedNormalizedPathSegList() const
+{
+ if(!impl) return SVGPathSegList(0);
+ return SVGPathSegList(impl->animatedNormalizedPathSegList());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedPathData.h b/ksvg/dom/SVGAnimatedPathData.h
new file mode 100644
index 00000000..06ae2905
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedPathData.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedPathData_H
+#define SVGAnimatedPathData_H
+
+namespace KSVG
+{
+
+class SVGPathSegList;
+class SVGAnimatedPathDataImpl;
+class SVGAnimatedPathData
+{
+public:
+ SVGAnimatedPathData();
+ SVGAnimatedPathData(const SVGAnimatedPathData &other);
+ SVGAnimatedPathData &operator=(const SVGAnimatedPathData &other);
+ SVGAnimatedPathData(SVGAnimatedPathDataImpl *other);
+ virtual ~SVGAnimatedPathData();
+
+ SVGPathSegList pathSegList() const;
+ SVGPathSegList normalizedPathSegList() const;
+ SVGPathSegList animatedPathSegList() const;
+ SVGPathSegList animatedNormalizedPathSegList() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedPathDataImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedPathDataImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedPoints.cc b/ksvg/dom/SVGAnimatedPoints.cc
new file mode 100644
index 00000000..cc4e999d
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedPoints.cc
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedPoints.h"
+#include "SVGAnimatedPointsImpl.h"
+#include "SVGPointList.h"
+
+using namespace KSVG;
+
+SVGAnimatedPoints::SVGAnimatedPoints()
+{
+ impl = new SVGAnimatedPointsImpl();
+ impl->ref();
+}
+
+SVGAnimatedPoints::SVGAnimatedPoints(const SVGAnimatedPoints &other) : impl(0)
+{
+ (*this) = other;;
+}
+
+SVGAnimatedPoints &SVGAnimatedPoints::operator=(const SVGAnimatedPoints &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedPoints::SVGAnimatedPoints(SVGAnimatedPointsImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedPoints::~SVGAnimatedPoints()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGPointList SVGAnimatedPoints::points() const
+{
+ if(!impl) return SVGPointList(0);
+ return SVGPointList(impl->points());
+}
+
+SVGPointList SVGAnimatedPoints::animatedPoints() const
+{
+ if(!impl) return SVGPointList(0);
+ return SVGPointList(impl->animatedPoints());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedPoints.h b/ksvg/dom/SVGAnimatedPoints.h
new file mode 100644
index 00000000..3f035722
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedPoints.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedPoints_H
+#define SVGAnimatedPoints_H
+
+namespace KSVG
+{
+
+class SVGPointList;
+class SVGAnimatedPointsImpl;
+class SVGAnimatedPoints
+{
+public:
+ SVGAnimatedPoints();
+ SVGAnimatedPoints(const SVGAnimatedPoints &other);
+ SVGAnimatedPoints &operator=(const SVGAnimatedPoints &other);
+ SVGAnimatedPoints(SVGAnimatedPointsImpl *other);
+ virtual ~SVGAnimatedPoints();
+
+ SVGPointList points() const;
+ SVGPointList animatedPoints() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedPointsImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedPointsImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedPreserveAspectRatio.cc b/ksvg/dom/SVGAnimatedPreserveAspectRatio.cc
new file mode 100644
index 00000000..ed157028
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedPreserveAspectRatio.cc
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedPreserveAspectRatio.h"
+#include "SVGAnimatedPreserveAspectRatioImpl.h"
+#include "SVGPreserveAspectRatio.h"
+
+using namespace KSVG;
+
+SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio()
+{
+ impl = new SVGAnimatedPreserveAspectRatioImpl();
+ impl->ref();
+}
+
+SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio(const SVGAnimatedPreserveAspectRatio &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedPreserveAspectRatio &SVGAnimatedPreserveAspectRatio::operator=(const SVGAnimatedPreserveAspectRatio &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio(SVGAnimatedPreserveAspectRatioImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedPreserveAspectRatio::~SVGAnimatedPreserveAspectRatio()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGPreserveAspectRatio SVGAnimatedPreserveAspectRatio::baseVal() const
+{
+ if(!impl) return SVGPreserveAspectRatio(0);
+ return SVGPreserveAspectRatio(impl->baseVal());
+}
+
+SVGPreserveAspectRatio SVGAnimatedPreserveAspectRatio::animVal() const
+{
+ if(!impl) return SVGPreserveAspectRatio(0);
+ return SVGPreserveAspectRatio(impl->animVal());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedPreserveAspectRatio.h b/ksvg/dom/SVGAnimatedPreserveAspectRatio.h
new file mode 100644
index 00000000..4eea042f
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedPreserveAspectRatio.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedPreserveAspectRatio_H
+#define SVGAnimatedPreserveAspectRatio_H
+
+
+namespace KSVG
+{
+
+class SVGPreserveAspectRatio;
+class SVGAnimatedPreserveAspectRatioImpl;
+class SVGAnimatedPreserveAspectRatio
+{
+public:
+ SVGAnimatedPreserveAspectRatio();
+ SVGAnimatedPreserveAspectRatio(const SVGAnimatedPreserveAspectRatio &other);
+ SVGAnimatedPreserveAspectRatio &operator=(const SVGAnimatedPreserveAspectRatio &other);
+ SVGAnimatedPreserveAspectRatio(SVGAnimatedPreserveAspectRatioImpl *other);
+ ~SVGAnimatedPreserveAspectRatio();
+
+ SVGPreserveAspectRatio baseVal() const;
+ SVGPreserveAspectRatio animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedPreserveAspectRatioImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedPreserveAspectRatioImpl *impl;
+};
+
+}
+
+#endif
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedRect.cc b/ksvg/dom/SVGAnimatedRect.cc
new file mode 100644
index 00000000..2c315003
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedRect.cc
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedRect.h"
+#include "SVGAnimatedRectImpl.h"
+#include "SVGRect.h"
+
+using namespace KSVG;
+
+SVGAnimatedRect::SVGAnimatedRect()
+{
+ impl = new SVGAnimatedRectImpl();
+ impl->ref();
+}
+
+SVGAnimatedRect::SVGAnimatedRect(const SVGAnimatedRect &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedRect &SVGAnimatedRect::operator=(const SVGAnimatedRect &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedRect::SVGAnimatedRect(SVGAnimatedRectImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedRect::~SVGAnimatedRect()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGRect SVGAnimatedRect::baseVal() const
+{
+ if(!impl) return SVGRect(0);
+ return SVGRect(impl->baseVal());
+}
+
+SVGRect SVGAnimatedRect::animVal() const
+{
+ if(!impl) return SVGRect(0);
+ return SVGRect(impl->animVal());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedRect.h b/ksvg/dom/SVGAnimatedRect.h
new file mode 100644
index 00000000..c45a8f2d
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedRect.h
@@ -0,0 +1,51 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedRect_H
+#define SVGAnimatedRect_H
+
+namespace KSVG
+{
+
+class SVGRect;
+class SVGAnimatedRectImpl;
+class SVGAnimatedRect
+{
+public:
+ SVGAnimatedRect();
+ SVGAnimatedRect(const SVGAnimatedRect &other);
+ SVGAnimatedRect &operator=(const SVGAnimatedRect &other);
+ SVGAnimatedRect(SVGAnimatedRectImpl *other);
+ ~SVGAnimatedRect();
+
+ SVGRect baseVal() const;
+ SVGRect animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedRectImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedRectImpl *impl;
+};
+
+}
+
+#endif
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedString.cc b/ksvg/dom/SVGAnimatedString.cc
new file mode 100644
index 00000000..5d22f4ae
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedString.cc
@@ -0,0 +1,84 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedStringImpl.h"
+
+using namespace KSVG;
+
+SVGAnimatedString::SVGAnimatedString()
+{
+ impl = new SVGAnimatedStringImpl();
+ impl->ref();
+}
+
+SVGAnimatedString::SVGAnimatedString(const SVGAnimatedString &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedString &SVGAnimatedString::operator=(const SVGAnimatedString &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedString::SVGAnimatedString(SVGAnimatedStringImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedString::~SVGAnimatedString()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGAnimatedString::setBaseVal(const DOM::DOMString &baseVal)
+{
+ if(impl)
+ impl->setBaseVal(baseVal);
+}
+
+DOM::DOMString SVGAnimatedString::baseVal() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->baseVal();
+}
+
+DOM::DOMString SVGAnimatedString::animVal() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->animVal();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedString.h b/ksvg/dom/SVGAnimatedString.h
new file mode 100644
index 00000000..f97bb5c8
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedString.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedString_H
+#define SVGAnimatedString_H
+
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+class SVGAnimatedStringImpl;
+class SVGAnimatedString
+{
+public:
+ SVGAnimatedString();
+ SVGAnimatedString(const SVGAnimatedString &other);
+ SVGAnimatedString &operator=(const SVGAnimatedString &other);
+ SVGAnimatedString(SVGAnimatedStringImpl *other);
+ ~SVGAnimatedString();
+
+ void setBaseVal(const DOM::DOMString &baseVal);
+ DOM::DOMString baseVal() const;
+
+ DOM::DOMString animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedStringImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedStringImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedTransformList.cc b/ksvg/dom/SVGAnimatedTransformList.cc
new file mode 100644
index 00000000..a1eb43ca
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedTransformList.cc
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimatedTransformList.h"
+#include "SVGAnimatedTransformListImpl.h"
+#include "SVGTransformList.h"
+
+using namespace KSVG;
+
+SVGAnimatedTransformList::SVGAnimatedTransformList()
+{
+ impl = new SVGAnimatedTransformListImpl();
+ impl->ref();
+}
+
+SVGAnimatedTransformList::SVGAnimatedTransformList(const SVGAnimatedTransformList &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimatedTransformList &SVGAnimatedTransformList::operator=(const SVGAnimatedTransformList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimatedTransformList::SVGAnimatedTransformList(SVGAnimatedTransformListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimatedTransformList::~SVGAnimatedTransformList()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGTransformList SVGAnimatedTransformList::baseVal() const
+{
+ if(!impl) return SVGTransformList(0);
+ return SVGTransformList(impl->baseVal());
+}
+
+SVGTransformList SVGAnimatedTransformList::animVal() const
+{
+ if(!impl) return SVGTransformList(0);
+ return SVGTransformList(impl->animVal());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimatedTransformList.h b/ksvg/dom/SVGAnimatedTransformList.h
new file mode 100644
index 00000000..87a12d3b
--- /dev/null
+++ b/ksvg/dom/SVGAnimatedTransformList.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimatedTransformList_H
+#define SVGAnimatedTransformList_H
+
+namespace KSVG
+{
+
+class SVGTransformList;
+class SVGAnimatedTransformListImpl;
+class SVGAnimatedTransformList
+{
+public:
+ SVGAnimatedTransformList();
+ SVGAnimatedTransformList(const SVGAnimatedTransformList &other);
+ SVGAnimatedTransformList &operator=(const SVGAnimatedTransformList &other);
+ SVGAnimatedTransformList(SVGAnimatedTransformListImpl *other);
+ ~SVGAnimatedTransformList();
+
+ SVGTransformList baseVal() const;
+ SVGTransformList animVal() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimatedTransformListImpl *handle() const { return impl; }
+
+private:
+ SVGAnimatedTransformListImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimationElement.cc b/ksvg/dom/SVGAnimationElement.cc
new file mode 100644
index 00000000..0d4014a7
--- /dev/null
+++ b/ksvg/dom/SVGAnimationElement.cc
@@ -0,0 +1,93 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGAnimationElement.h"
+#include "SVGAnimationElementImpl.h"
+
+using namespace KSVG;
+
+SVGAnimationElement::SVGAnimationElement() : SVGElement(), SVGTests(), SVGExternalResourcesRequired()
+{
+ impl = 0;
+}
+
+SVGAnimationElement::SVGAnimationElement(const SVGAnimationElement &other) : SVGElement(other), SVGTests(other), SVGExternalResourcesRequired(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGAnimationElement &SVGAnimationElement::operator=(const SVGAnimationElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGAnimationElement::SVGAnimationElement(SVGAnimationElementImpl *other) : SVGElement(other), SVGTests(other), SVGExternalResourcesRequired(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGAnimationElement::~SVGAnimationElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGElement SVGAnimationElement::targetElement() const
+{
+ if(!impl) return SVGElement(0);
+ return SVGElement(impl->targetElement());
+}
+
+float SVGAnimationElement::getStartTime()
+{
+ if(!impl) return -1;
+ return impl->getStartTime();
+}
+
+float SVGAnimationElement::getCurrentTime()
+{
+ if(!impl) return -1;
+ return impl->getCurrentTime();
+}
+
+float SVGAnimationElement::getSimpleDuration()
+{
+ if(!impl) return -1;
+ return impl->getSimpleDuration();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGAnimationElement.h b/ksvg/dom/SVGAnimationElement.h
new file mode 100644
index 00000000..2e4df665
--- /dev/null
+++ b/ksvg/dom/SVGAnimationElement.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGAnimationElement_H
+#define SVGAnimationElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGExternalResourcesRequired.h"
+
+namespace KSVG
+{
+
+class SVGAnimationElementImpl;
+class SVGAnimationElement : public SVGElement,
+ public SVGTests,
+ public SVGExternalResourcesRequired
+{
+public:
+ SVGAnimationElement();
+ SVGAnimationElement(const SVGAnimationElement &other);
+ SVGAnimationElement &operator=(const SVGAnimationElement &other);
+ SVGAnimationElement(SVGAnimationElementImpl *other);
+ virtual ~SVGAnimationElement();
+
+ SVGElement targetElement() const;
+
+ float getStartTime();
+ float getCurrentTime();
+ float getSimpleDuration();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGAnimationElementImpl *handle() const { return impl; }
+
+private:
+ SVGAnimationElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGCSSRule.cc b/ksvg/dom/SVGCSSRule.cc
new file mode 100644
index 00000000..cad5657e
--- /dev/null
+++ b/ksvg/dom/SVGCSSRule.cc
@@ -0,0 +1,66 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGCSSRule.h"
+#include "SVGCSSRuleImpl.h"
+
+using namespace KSVG;
+
+SVGCSSRule::SVGCSSRule() //: css::CSSRule()
+{
+ impl = new SVGCSSRuleImpl();
+ impl->ref();
+}
+
+SVGCSSRule::SVGCSSRule(const SVGCSSRule &other) : /*css::CSSRule(),*/ impl(0)
+{
+ (*this) = other;
+}
+
+SVGCSSRule &SVGCSSRule::operator=(const SVGCSSRule &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGCSSRule::SVGCSSRule(SVGCSSRuleImpl *other) //: css::CSSRule()
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGCSSRule::~SVGCSSRule()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGCSSRule.h b/ksvg/dom/SVGCSSRule.h
new file mode 100644
index 00000000..dc9e9360
--- /dev/null
+++ b/ksvg/dom/SVGCSSRule.h
@@ -0,0 +1,51 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGCSSRule_H
+#define SVGCSSRule_H
+
+namespace KSVG
+{
+
+class SVGCSSRuleImpl;
+class SVGCSSRule //: public css::CSSRule
+{
+public:
+ SVGCSSRule();
+ SVGCSSRule(const SVGCSSRule &other);
+ SVGCSSRule &operator=(const SVGCSSRule &other);
+ SVGCSSRule(SVGCSSRuleImpl *other);
+ virtual ~SVGCSSRule();
+
+ // add to enum
+ // const unsigned short COLOR_PROFILE_RULE = 7;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGCSSRuleImpl *handle() const { return impl; }
+
+private:
+ SVGCSSRuleImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGCircleElement.cc b/ksvg/dom/SVGCircleElement.cc
new file mode 100644
index 00000000..13875211
--- /dev/null
+++ b/ksvg/dom/SVGCircleElement.cc
@@ -0,0 +1,92 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <kdebug.h>
+#include "SVGCircleElement.h"
+#include "SVGCircleElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGCircleElement::SVGCircleElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGCircleElement::SVGCircleElement(const SVGCircleElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGCircleElement &SVGCircleElement::operator=(const SVGCircleElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGCircleElement::SVGCircleElement(SVGCircleElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGCircleElement::~SVGCircleElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGCircleElement::cx()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->cx());
+}
+
+SVGAnimatedLength SVGCircleElement::cy()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->cy());
+}
+
+SVGAnimatedLength SVGCircleElement::r()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->r());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGCircleElement.h b/ksvg/dom/SVGCircleElement.h
new file mode 100644
index 00000000..65406a1c
--- /dev/null
+++ b/ksvg/dom/SVGCircleElement.h
@@ -0,0 +1,117 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; see the file COPYING.LIB. If
+ not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+ Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+
+ $Id$
+ */
+
+#ifndef SVGCircleElement_H
+#define SVGCircleElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGCircleElementImpl;
+
+class SVGAnimatedLength;
+/**
+ * The <code>circle</code> element defines a circle based on a center
+ * point and radius.
+ *
+ * For more info look here : <a href =
+ * "http://www.w3.org/TR/SVG/shapes.html#CircleElement">9.3 The
+ * 'circle' element</a>.
+ */
+class SVGCircleElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable
+{
+public:
+ SVGCircleElement();
+ SVGCircleElement(const SVGCircleElement &);
+ SVGCircleElement &operator=(const SVGCircleElement &other);
+ SVGCircleElement(SVGCircleElementImpl *);
+ ~SVGCircleElement();
+
+ /**
+ * The x-axis coordinate of the center of the circle.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x-axis coordinate of the center of the circle.
+ */
+ SVGAnimatedLength cx();
+
+ /**
+ * The y-axis coordinate of the center of the circle.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y-axis coordinate of the center of the circle.
+ */
+ SVGAnimatedLength cy();
+
+ /**
+ * The radius of the circle.
+ * A negative value is an error (see <a href =
+ * "http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing">
+ * Error processing</a>). A value of zero disables rendering of
+ * the element.
+ *
+ * This attribute is animatable.
+ *
+ * @return The radius of the circle.
+ */
+ SVGAnimatedLength r();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGCircleElementImpl *handle() const { return impl; }
+
+private:
+ SVGCircleElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGClipPathElement.cc b/ksvg/dom/SVGClipPathElement.cc
new file mode 100644
index 00000000..f0785efc
--- /dev/null
+++ b/ksvg/dom/SVGClipPathElement.cc
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGClipPathElement.h"
+#include "SVGClipPathElementImpl.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGClipPathElement::SVGClipPathElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGClipPathElement::SVGClipPathElement(const SVGClipPathElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ (*this) = other;
+}
+
+SVGClipPathElement &SVGClipPathElement::operator=(const SVGClipPathElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGClipPathElement::SVGClipPathElement(SVGClipPathElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGClipPathElement::~SVGClipPathElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedEnumeration SVGClipPathElement::clipPathUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->clipPathUnits());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGClipPathElement.h b/ksvg/dom/SVGClipPathElement.h
new file mode 100644
index 00000000..70cfe6bb
--- /dev/null
+++ b/ksvg/dom/SVGClipPathElement.h
@@ -0,0 +1,65 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGClipPathElement_H
+#define SVGClipPathElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+#include "SVGUnitTypes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedEnumeration;
+class SVGClipPathElementImpl;
+class SVGClipPathElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public SVGUnitTypes
+{
+public:
+ SVGClipPathElement();
+ SVGClipPathElement(const SVGClipPathElement &other);
+ SVGClipPathElement &operator=(const SVGClipPathElement &other);
+ SVGClipPathElement(SVGClipPathElementImpl *other);
+ virtual ~SVGClipPathElement();
+
+ SVGAnimatedEnumeration clipPathUnits() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGClipPathElementImpl *handle() const { return impl; }
+
+private:
+ SVGClipPathElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGColor.cc b/ksvg/dom/SVGColor.cc
new file mode 100644
index 00000000..e9294c5d
--- /dev/null
+++ b/ksvg/dom/SVGColor.cc
@@ -0,0 +1,105 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGColor.h"
+#include "SVGICCColor.h"
+#include "SVGColorImpl.h"
+
+using namespace KSVG;
+
+SVGColor::SVGColor()
+{
+ // FIXME: no icc color support...
+ impl = new SVGColorImpl(0);
+ impl->ref();
+}
+
+SVGColor::SVGColor(const SVGColor &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGColor &SVGColor::operator=(const SVGColor &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+
+}
+
+SVGColor::SVGColor(SVGColorImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGColor::~SVGColor()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned short SVGColor::colorType() const
+{
+ if(!impl) return SVG_COLORTYPE_UNKNOWN;
+ return impl->colorType();
+}
+
+DOM::RGBColor SVGColor::rgbColor() const
+{
+ if(!impl) return DOM::RGBColor();
+ return impl->rgbColor();
+}
+
+SVGICCColor SVGColor::iccColor() const
+{
+ if(!impl) return SVGICCColor();
+ return impl->iccColor();
+}
+
+void SVGColor::setRGBColor(const DOM::DOMString &rgbColor)
+{
+ if(impl)
+ impl->setRGBColor(rgbColor);
+}
+
+void SVGColor::setRGBColorICCColor(const DOM::DOMString &rgbColor, const DOM::DOMString &iccColor)
+{
+ if(impl)
+ impl->setRGBColorICCColor(rgbColor, iccColor);
+}
+
+void SVGColor::setColor(unsigned short colorType, const DOM::DOMString &rgbColor, const DOM::DOMString &iccColor)
+{
+ if(impl)
+ impl->setColor(colorType, rgbColor, iccColor);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGColor.h b/ksvg/dom/SVGColor.h
new file mode 100644
index 00000000..62147ed0
--- /dev/null
+++ b/ksvg/dom/SVGColor.h
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGColor_H
+#define SVGColor_H
+
+#include <dom/css_value.h>
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_COLORTYPE_UNKNOWN = 0,
+ SVG_COLORTYPE_RGBCOLOR = 1,
+ SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2,
+ SVG_COLORTYPE_CURRENTCOLOR = 3
+};
+
+class SVGColorImpl;
+class SVGICCColor;
+class SVGColor // : public css::CSSValue
+{
+public:
+ SVGColor();
+ SVGColor(const SVGColor &);
+ SVGColor &operator=(const SVGColor &other);
+ SVGColor(SVGColorImpl *);
+ ~SVGColor();
+
+ unsigned short colorType() const;
+
+ DOM::RGBColor rgbColor() const;
+ SVGICCColor iccColor() const;
+
+ void setRGBColor(const DOM::DOMString &rgbColor);
+ void setRGBColorICCColor(const DOM::DOMString &rgbColor, const DOM::DOMString &iccColor);
+ void setColor(unsigned short colorType, const DOM::DOMString &rgbColor, const DOM::DOMString &iccColor);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGColorImpl *handle() const { return impl; }
+
+private:
+ SVGColorImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGColorProfileElement.cc b/ksvg/dom/SVGColorProfileElement.cc
new file mode 100644
index 00000000..5acdb1a1
--- /dev/null
+++ b/ksvg/dom/SVGColorProfileElement.cc
@@ -0,0 +1,105 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGColorProfileElement.h"
+#include "SVGColorProfileElementImpl.h"
+#include "SVGRenderingIntent.h"
+
+using namespace KSVG;
+
+SVGColorProfileElement::SVGColorProfileElement() : SVGElement(), SVGURIReference()
+{
+ impl = 0;
+}
+
+SVGColorProfileElement::SVGColorProfileElement(const SVGColorProfileElement &other) : SVGElement(other), SVGURIReference(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGColorProfileElement &SVGColorProfileElement::operator=(const SVGColorProfileElement &other)
+{
+ SVGElement::operator=(other);
+ SVGURIReference::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGColorProfileElement::SVGColorProfileElement(SVGColorProfileElementImpl *other) : SVGElement(other), SVGURIReference(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGColorProfileElement::~SVGColorProfileElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGColorProfileElement::setLocal(const DOM::DOMString &local)
+{
+ if(impl)
+ impl->setLocal(local);
+}
+
+DOM::DOMString SVGColorProfileElement::local() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->local();
+}
+
+void SVGColorProfileElement::setName(const DOM::DOMString &name)
+{
+ if(impl)
+ impl->setName(name);
+}
+
+DOM::DOMString SVGColorProfileElement::name() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->name();
+}
+
+void SVGColorProfileElement::setRenderingIntent(unsigned short renderingIntent)
+{
+ if(impl)
+ impl->setRenderingIntent(renderingIntent);
+}
+
+unsigned short SVGColorProfileElement::renderingIntent() const
+{
+ if(!impl) return RENDERING_INTENT_UNKNOWN;
+ return impl->renderingIntent();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGColorProfileElement.h b/ksvg/dom/SVGColorProfileElement.h
new file mode 100644
index 00000000..f7f3bd41
--- /dev/null
+++ b/ksvg/dom/SVGColorProfileElement.h
@@ -0,0 +1,62 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGColorProfileElement_H
+#define SVGColorProfileElement_H
+
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+class SVGColorProfileElementImpl;
+class SVGColorProfileElement : public SVGElement,
+ public SVGURIReference
+{
+public:
+ SVGColorProfileElement();
+ SVGColorProfileElement(const SVGColorProfileElement &other);
+ SVGColorProfileElement &operator=(const SVGColorProfileElement &other);
+ SVGColorProfileElement(SVGColorProfileElementImpl *other);
+ virtual ~SVGColorProfileElement();
+
+ void setLocal(const DOM::DOMString &local);
+ DOM::DOMString local() const;
+
+ void setName(const DOM::DOMString &name);
+ DOM::DOMString name() const;
+
+ void setRenderingIntent(unsigned short renderingIntent);
+ unsigned short renderingIntent() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGColorProfileElementImpl *handle() const { return impl; }
+
+private:
+ SVGColorProfileElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGColorProfileRule.cc b/ksvg/dom/SVGColorProfileRule.cc
new file mode 100644
index 00000000..8c4ecea7
--- /dev/null
+++ b/ksvg/dom/SVGColorProfileRule.cc
@@ -0,0 +1,103 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGColorProfileRule.h"
+#include "SVGColorProfileRuleImpl.h"
+#include "SVGRenderingIntent.h"
+
+using namespace KSVG;
+
+SVGColorProfileRule::SVGColorProfileRule() : SVGCSSRule()
+{
+ impl = new SVGColorProfileRuleImpl();
+ impl->ref();
+}
+
+SVGColorProfileRule::SVGColorProfileRule(const SVGColorProfileRule &other) : SVGCSSRule(), impl(0)
+{
+ (*this) = other;
+}
+
+SVGColorProfileRule &SVGColorProfileRule::operator=(const SVGColorProfileRule &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGColorProfileRule::SVGColorProfileRule(SVGColorProfileRuleImpl *other) : SVGCSSRule(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGColorProfileRule::~SVGColorProfileRule()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGColorProfileRule::setSrc(const DOM::DOMString &src)
+{
+ if(impl)
+ impl->setSrc(src);
+}
+
+DOM::DOMString SVGColorProfileRule::src() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->src();
+}
+
+void SVGColorProfileRule::setName(const DOM::DOMString &name)
+{
+ if(impl)
+ impl->setName(name);
+}
+
+DOM::DOMString SVGColorProfileRule::name() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->name();
+}
+
+void SVGColorProfileRule::setRenderingIntent(unsigned short renderingIntent)
+{
+ if(impl)
+ impl->setRenderingIntent(renderingIntent);
+}
+
+unsigned short SVGColorProfileRule::renderingIntent() const
+{
+ if(!impl) return RENDERING_INTENT_UNKNOWN;
+ return impl->renderingIntent();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGColorProfileRule.h b/ksvg/dom/SVGColorProfileRule.h
new file mode 100644
index 00000000..b99321ad
--- /dev/null
+++ b/ksvg/dom/SVGColorProfileRule.h
@@ -0,0 +1,57 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGColorProfileRule_H
+#define SVGColorProfileRule_H
+
+#include <dom/dom_string.h>
+#include "SVGCSSRule.h"
+
+namespace KSVG
+{
+
+class SVGColorProfileRuleImpl;
+class SVGColorProfileRule : public SVGCSSRule
+{
+public:
+ SVGColorProfileRule();
+ SVGColorProfileRule(const SVGColorProfileRule &other);
+ SVGColorProfileRule &operator=(const SVGColorProfileRule &other);
+ SVGColorProfileRule(SVGColorProfileRuleImpl *other);
+ virtual ~SVGColorProfileRule();
+
+ void setSrc(const DOM::DOMString &src);
+ DOM::DOMString src() const;
+
+ void setName(const DOM::DOMString &name);
+ DOM::DOMString name() const;
+
+ void setRenderingIntent(unsigned short renderingIntent);
+ unsigned short renderingIntent() const;
+
+private:
+ SVGColorProfileRuleImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGComponentTransferFunctionElement.cc b/ksvg/dom/SVGComponentTransferFunctionElement.cc
new file mode 100644
index 00000000..970da9ea
--- /dev/null
+++ b/ksvg/dom/SVGComponentTransferFunctionElement.cc
@@ -0,0 +1,112 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGComponentTransferFunctionElement.h"
+#include "SVGComponentTransferFunctionElementImpl.h"
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedNumberList.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement(const SVGComponentTransferFunctionElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGComponentTransferFunctionElement &SVGComponentTransferFunctionElement::operator =(const SVGComponentTransferFunctionElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement(SVGComponentTransferFunctionElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGComponentTransferFunctionElement::~SVGComponentTransferFunctionElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedEnumeration SVGComponentTransferFunctionElement::type() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->type());
+}
+
+SVGAnimatedNumberList SVGComponentTransferFunctionElement::tableValues() const
+{
+ if(!impl) return SVGAnimatedNumberList(0);
+ return SVGAnimatedNumberList(impl->tableValues());
+}
+
+SVGAnimatedNumber SVGComponentTransferFunctionElement::slope() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->slope());
+}
+
+SVGAnimatedNumber SVGComponentTransferFunctionElement::intercept() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->intercept());
+}
+
+SVGAnimatedNumber SVGComponentTransferFunctionElement::amplitude() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->amplitude());
+}
+
+SVGAnimatedNumber SVGComponentTransferFunctionElement::exponent() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->exponent());
+}
+
+SVGAnimatedNumber SVGComponentTransferFunctionElement::offset() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->offset());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGComponentTransferFunctionElement.h b/ksvg/dom/SVGComponentTransferFunctionElement.h
new file mode 100644
index 00000000..d9dd0080
--- /dev/null
+++ b/ksvg/dom/SVGComponentTransferFunctionElement.h
@@ -0,0 +1,71 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGComponentTransferFunctionElement_H
+#define SVGComponentTransferFunctionElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,
+ SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
+ SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,
+ SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
+ SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,
+ SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5
+};
+
+class SVGAnimatedEnumeration;
+class SVGAnimatedNumberList;
+class SVGAnimatedNumber;
+class SVGComponentTransferFunctionElementImpl;
+class SVGComponentTransferFunctionElement : public SVGElement
+{
+public:
+ SVGComponentTransferFunctionElement();
+ SVGComponentTransferFunctionElement(const SVGComponentTransferFunctionElement &other);
+ SVGComponentTransferFunctionElement &operator=(const SVGComponentTransferFunctionElement &other);
+ SVGComponentTransferFunctionElement(SVGComponentTransferFunctionElementImpl *other);
+ virtual ~SVGComponentTransferFunctionElement();
+
+ SVGAnimatedEnumeration type() const;
+ SVGAnimatedNumberList tableValues() const;
+ SVGAnimatedNumber slope() const;
+ SVGAnimatedNumber intercept() const;
+ SVGAnimatedNumber amplitude() const;
+ SVGAnimatedNumber exponent() const;
+ SVGAnimatedNumber offset() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGComponentTransferFunctionElementImpl *handle() const { return impl; }
+
+private:
+ SVGComponentTransferFunctionElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGCursorElement.cc b/ksvg/dom/SVGCursorElement.cc
new file mode 100644
index 00000000..2eb3c0dc
--- /dev/null
+++ b/ksvg/dom/SVGCursorElement.cc
@@ -0,0 +1,83 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGCursorElement.h"
+#include "SVGCursorElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGCursorElement::SVGCursorElement() : SVGElement(), SVGURIReference(), SVGTests(), SVGExternalResourcesRequired()
+{
+ impl = 0;
+}
+
+SVGCursorElement::SVGCursorElement(const SVGCursorElement &other) : SVGElement(other), SVGURIReference(other), SVGTests(other), SVGExternalResourcesRequired(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGCursorElement &SVGCursorElement::operator =(const SVGCursorElement &other)
+{
+ SVGElement::operator=(other);
+ SVGURIReference::operator=(other);
+ SVGTests::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGCursorElement::SVGCursorElement(SVGCursorElementImpl *other) : SVGElement(other), SVGURIReference(other), SVGTests(other), SVGExternalResourcesRequired(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGCursorElement::~SVGCursorElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGCursorElement::x() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGCursorElement::y() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGCursorElement.h b/ksvg/dom/SVGCursorElement.h
new file mode 100644
index 00000000..feb9b2b7
--- /dev/null
+++ b/ksvg/dom/SVGCursorElement.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGCursorElement_H
+#define SVGCursorElement_H
+
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include "SVGTests.h"
+#include "SVGExternalResourcesRequired.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGCursorElementImpl;
+class SVGCursorElement : public SVGElement,
+ public SVGURIReference,
+ public SVGTests,
+ public SVGExternalResourcesRequired
+{
+public:
+ SVGCursorElement();
+ SVGCursorElement(const SVGCursorElement &other);
+ SVGCursorElement &operator=(const SVGCursorElement &other);
+ SVGCursorElement(SVGCursorElementImpl *other);
+ virtual ~SVGCursorElement();
+
+ SVGAnimatedLength x() const;
+ SVGAnimatedLength y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGCursorElementImpl *handle() const { return impl; }
+
+private:
+ SVGCursorElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGDefinitionSrcElement.cc b/ksvg/dom/SVGDefinitionSrcElement.cc
new file mode 100644
index 00000000..755b6b4f
--- /dev/null
+++ b/ksvg/dom/SVGDefinitionSrcElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGDefinitionSrcElement.h"
+#include "SVGDefinitionSrcElementImpl.h"
+
+using namespace KSVG;
+
+SVGDefinitionSrcElement::SVGDefinitionSrcElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGDefinitionSrcElement::SVGDefinitionSrcElement(const SVGDefinitionSrcElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGDefinitionSrcElement &SVGDefinitionSrcElement::operator =(const SVGDefinitionSrcElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGDefinitionSrcElement::SVGDefinitionSrcElement(SVGDefinitionSrcElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGDefinitionSrcElement::~SVGDefinitionSrcElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGDefinitionSrcElement.h b/ksvg/dom/SVGDefinitionSrcElement.h
new file mode 100644
index 00000000..fc1b7f52
--- /dev/null
+++ b/ksvg/dom/SVGDefinitionSrcElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGDefinitionSrcElement_H
+#define SVGDefinitionSrcElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGDefinitionSrcElementImpl;
+class SVGDefinitionSrcElement : public SVGElement
+{
+public:
+ SVGDefinitionSrcElement();
+ SVGDefinitionSrcElement(const SVGDefinitionSrcElement &other);
+ SVGDefinitionSrcElement &operator=(const SVGDefinitionSrcElement &other);
+ SVGDefinitionSrcElement(SVGDefinitionSrcElementImpl *other);
+ virtual ~SVGDefinitionSrcElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGDefinitionSrcElementImpl *handle() const { return impl; }
+
+private:
+ SVGDefinitionSrcElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGDefsElement.cc b/ksvg/dom/SVGDefsElement.cc
new file mode 100644
index 00000000..67bb2baf
--- /dev/null
+++ b/ksvg/dom/SVGDefsElement.cc
@@ -0,0 +1,72 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGDefsElement.h"
+#include "SVGDefsElementImpl.h"
+
+using namespace KSVG;
+
+SVGDefsElement::SVGDefsElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGDefsElement::SVGDefsElement(const SVGDefsElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGDefsElement &SVGDefsElement::operator =(const SVGDefsElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGDefsElement::SVGDefsElement(SVGDefsElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGDefsElement::~SVGDefsElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGDefsElement.h b/ksvg/dom/SVGDefsElement.h
new file mode 100644
index 00000000..e1e7e0a5
--- /dev/null
+++ b/ksvg/dom/SVGDefsElement.h
@@ -0,0 +1,78 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGDefsElement_H
+#define SVGDefsElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGDefsElementImpl;
+
+/**
+ * The 'defs' element is a container element for referenced elements. For understandability and accessibility
+ * reasons, it is recommended that, whenever possible, referenced elements be defined inside of a 'defs'.
+ *
+ * The content model for 'defs' is the same as for the <code> g </code> element; thus, any element that can be a child of
+ * a <code> g </code> can also be a child of a 'defs', and vice versa.
+ */
+class SVGDefsElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable
+{
+public:
+ SVGDefsElement();
+ SVGDefsElement(const SVGDefsElement &other);
+ SVGDefsElement &operator=(const SVGDefsElement &other);
+ SVGDefsElement(SVGDefsElementImpl *other);
+ virtual ~SVGDefsElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGDefsElementImpl *handle() const { return impl; }
+
+private:
+ SVGDefsElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGDescElement.cc b/ksvg/dom/SVGDescElement.cc
new file mode 100644
index 00000000..6eed0ed9
--- /dev/null
+++ b/ksvg/dom/SVGDescElement.cc
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGDescElement.h"
+#include "SVGDescElementImpl.h"
+
+using namespace KSVG;
+
+SVGDescElement::SVGDescElement() : SVGElement(), SVGLangSpace(), SVGStylable()
+{
+ impl = 0;
+}
+
+SVGDescElement::SVGDescElement(const SVGDescElement &other) : SVGElement(other), SVGLangSpace(other), SVGStylable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGDescElement &SVGDescElement::operator =(const SVGDescElement &other)
+{
+ SVGElement::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGDescElement::SVGDescElement(SVGDescElementImpl *other) : SVGElement(other), SVGLangSpace(other), SVGStylable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGDescElement::~SVGDescElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGDescElement.h b/ksvg/dom/SVGDescElement.h
new file mode 100644
index 00000000..9a5b270f
--- /dev/null
+++ b/ksvg/dom/SVGDescElement.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGDescElement_H
+#define SVGDescElement_H
+
+#include "SVGElement.h"
+#include "SVGLangSpace.h"
+#include "SVGStylable.h"
+
+namespace KSVG
+{
+
+class SVGDescElementImpl;
+class SVGDescElement : public SVGElement,
+ public SVGLangSpace,
+ public SVGStylable
+{
+public:
+ SVGDescElement();
+ SVGDescElement(const SVGDescElement &other);
+ SVGDescElement &operator=(const SVGDescElement &other);
+ SVGDescElement(SVGDescElementImpl *other);
+ virtual ~SVGDescElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGDescElementImpl *handle() const { return impl; }
+
+private:
+ SVGDescElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGDocument.cc b/ksvg/dom/SVGDocument.cc
new file mode 100644
index 00000000..8734b8da
--- /dev/null
+++ b/ksvg/dom/SVGDocument.cc
@@ -0,0 +1,138 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "ksvg_ecma.h"
+
+#include "SVGDocument.h"
+#include "SVGDocumentImpl.h"
+#include "SVGSVGElement.h"
+#include "SVGWindow.h"
+
+using namespace KSVG;
+
+SVGDocument::SVGDocument() : DOM::Document(*(new SVGDocumentImpl()))
+{
+ impl = reinterpret_cast<SVGDocumentImpl *>(handle());
+ impl->ref();
+}
+
+SVGDocument::SVGDocument(const SVGDocument &other) : DOM::Document(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGDocument &SVGDocument::operator=(const SVGDocument &other)
+{
+ DOM::Document::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGDocument::SVGDocument(SVGDocumentImpl *other) : DOM::Document(other->handle())
+{
+ impl = other;
+
+ if(impl)
+ impl->ref();
+}
+
+SVGDocument::~SVGDocument()
+{
+ if(impl)
+ impl->deref();
+}
+
+DOM::DOMString SVGDocument::title() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->title();
+}
+
+DOM::DOMString SVGDocument::referrer() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->referrer();
+}
+
+DOM::DOMString SVGDocument::domain() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->domain();
+}
+
+DOM::DOMString SVGDocument::URL() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->URL();
+}
+
+SVGWindow SVGDocument::window() const
+{
+ if(!impl) return SVGWindow();
+ return impl->window();
+}
+
+SVGSVGElement SVGDocument::rootElement() const
+{
+ if(!impl) return SVGSVGElement(0);
+ return SVGSVGElement(impl->rootElement());
+}
+
+SVGElement SVGDocument::createElement(const DOM::DOMString &tagName)
+{
+ if(!impl) return SVGElement(0);
+
+ DOM::Element impl = DOM::Document::createElement(tagName);
+ return SVGElement(SVGDocumentImpl::createElement(tagName, impl));
+}
+
+SVGElement SVGDocument::createElementNS(const DOM::DOMString &namespaceURI, const DOM::DOMString &qualifiedName)
+{
+ if(!impl) return SVGElement(0);
+
+ DOM::Element impl = DOM::Document::createElementNS(namespaceURI, qualifiedName);
+ return SVGElement(SVGDocumentImpl::createElement(qualifiedName, impl));
+}
+
+// Internal
+KJS::Object SVGDocument::globalJSObject()
+{
+ if(!impl) return KJS::Object();
+ return impl->ecmaEngine()->globalObject();
+}
+
+KJS::ExecState *SVGDocument::globalJSExec()
+{
+ if(!impl) return 0;
+ return impl->ecmaEngine()->globalExec();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGDocument.h b/ksvg/dom/SVGDocument.h
new file mode 100644
index 00000000..c3f5c7bd
--- /dev/null
+++ b/ksvg/dom/SVGDocument.h
@@ -0,0 +1,70 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGDocument_H
+#define SVGDocument_H
+
+#include <kjs/object.h>
+
+#include <dom/dom_doc.h>
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+class SVGWindow;
+class SVGElement;
+class SVGSVGElement;
+class SVGDocumentImpl;
+class SVGDocument : public DOM::Document
+{
+public:
+ SVGDocument();
+ SVGDocument(const SVGDocument &other);
+ SVGDocument &operator=(const SVGDocument &other);
+ SVGDocument(SVGDocumentImpl *other);
+ ~SVGDocument();
+
+ DOM::DOMString title() const;
+ DOM::DOMString referrer() const;
+ DOM::DOMString domain() const;
+ DOM::DOMString URL() const;
+ SVGWindow window() const;
+
+ SVGSVGElement rootElement() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGDocumentImpl *handle() const { return impl; }
+
+ SVGElement createElement(const DOM::DOMString &tagName);
+ SVGElement createElementNS(const DOM::DOMString &namespaceURI, const DOM::DOMString &qualifiedName);
+
+ KJS::Object globalJSObject();
+ KJS::ExecState *globalJSExec();
+
+private:
+ SVGDocumentImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGElement.cc b/ksvg/dom/SVGElement.cc
new file mode 100644
index 00000000..0edef368
--- /dev/null
+++ b/ksvg/dom/SVGElement.cc
@@ -0,0 +1,124 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGSVGElement.h"
+#include "SVGElement.h"
+#include "SVGElementImpl.h"
+
+using namespace KSVG;
+
+// There is no way to create a SVGElement this way! Use SVGDocument.
+SVGElement::SVGElement() : DOM::Element()
+{
+ impl = 0; // new SVGElementImpl(ownerDocument().createElement().handle());
+}
+
+SVGElement::SVGElement(const SVGElement &other) : DOM::Element(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGElement &SVGElement::operator=(const SVGElement &other)
+{
+ // Baseclass assignement operators always first (Niko)
+ DOM::Element::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGElement::SVGElement(SVGElementImpl *other) : DOM::Element(other->handle())
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGElement::~SVGElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGElement::setId(DOM::DOMString value)
+{
+ if(impl)
+ impl->setId(value);
+}
+
+DOM::DOMString SVGElement::id()
+{
+ if(!impl) return DOM::DOMString();
+ return impl->id();
+}
+
+void SVGElement::setXmlbase(DOM::DOMString value)
+{
+ if(impl)
+ impl->setXmlbase(value);
+}
+
+DOM::DOMString SVGElement::xmlbase()
+{
+ if(!impl) return DOM::DOMString();
+ return impl->xmlbase();
+}
+
+SVGSVGElement SVGElement::ownerSVGElement()
+{
+ if(!impl) return SVGSVGElement(0);
+ return impl->ownerSVGElement();
+}
+
+SVGElement SVGElement::viewportElement()
+{
+ if(!impl) return SVGElement(0);
+ return impl->viewportElement();
+}
+
+void SVGElement::setAttribute(const DOM::DOMString &name, const DOM::DOMString &value)
+{
+ if(impl)
+ impl->setAttributeInternal(name, value);
+}
+
+DOM::DOMString SVGElement::getAttribute(const DOM::DOMString &name)
+{
+ if(!impl) return DOM::DOMString();
+ return impl->getAttributeInternal(name);
+}
+
+bool SVGElement::hasAttribute(const DOM::DOMString &name)
+{
+ if(!impl) return false;
+ return impl->hasAttribute(name);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGElement.h b/ksvg/dom/SVGElement.h
new file mode 100644
index 00000000..12191b05
--- /dev/null
+++ b/ksvg/dom/SVGElement.h
@@ -0,0 +1,83 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGElement_H
+#define SVGElement_H
+
+#include <dom/dom_string.h>
+#include <dom/dom_element.h>
+
+namespace KSVG
+{
+
+// Not part of the DOM specification. Internal use only!
+#define dom_cast(Class, Obj) reinterpret_cast<Class##Impl *>(Obj.handle())
+
+template<class A, class B>
+class SVGSafeCreator
+{
+public:
+ SVGSafeCreator() { }
+ ~SVGSafeCreator() { }
+
+ static A create(B *impl)
+ {
+ if(!impl) return A(); // Don't use A(0) it'll crash!
+ return A(impl);
+ }
+};
+
+class SVGSVGElement;
+class SVGElementImpl;
+class SVGElement : public DOM::Element
+{
+public:
+ SVGElement();
+ SVGElement(const SVGElement &other);
+ SVGElement &operator=(const SVGElement &other);
+ SVGElement(SVGElementImpl *other);
+ ~SVGElement();
+
+ void setId(DOM::DOMString);
+ DOM::DOMString id();
+
+ void setXmlbase(DOM::DOMString);
+ DOM::DOMString xmlbase();
+
+ SVGSVGElement ownerSVGElement();
+ SVGElement viewportElement();
+
+ // We need to overwrite set/get/hasAttribute(s)
+ void setAttribute(const DOM::DOMString &name, const DOM::DOMString &value);
+ DOM::DOMString getAttribute(const DOM::DOMString &name);
+ bool hasAttribute(const DOM::DOMString &name);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGElementImpl *handle() const { return impl; }
+
+private:
+ SVGElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGElementInstance.cc b/ksvg/dom/SVGElementInstance.cc
new file mode 100644
index 00000000..9bc027c0
--- /dev/null
+++ b/ksvg/dom/SVGElementInstance.cc
@@ -0,0 +1,117 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGElementInstance.h"
+#include "SVGElementInstanceImpl.h"
+#include "SVGElementInstanceList.h"
+#include "SVGElement.h"
+#include "SVGUseElement.h"
+
+using namespace KSVG;
+
+SVGElementInstance::SVGElementInstance()
+{
+ impl = new SVGElementInstanceImpl();
+ impl->ref();
+}
+
+SVGElementInstance::SVGElementInstance(const SVGElementInstance &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGElementInstance &SVGElementInstance::operator =(const SVGElementInstance &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGElementInstance::SVGElementInstance(SVGElementInstanceImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGElementInstance::~SVGElementInstance()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGElement SVGElementInstance::correspondingElement() const
+{
+ if(!impl) return SVGElement(0);
+ return SVGElement(impl->correspondingElement());
+}
+
+SVGUseElement SVGElementInstance::correspondingUseElement() const
+{
+ if(!impl) return SVGUseElement(0);
+ return SVGUseElement(impl->correspondingUseElement());
+}
+
+SVGElementInstance SVGElementInstance::parentNode() const
+{
+ if(!impl) return SVGElementInstance(0);
+ return SVGElementInstance(impl->parentNode());
+}
+
+SVGElementInstanceList SVGElementInstance::childNodes() const
+{
+ if(!impl) return SVGElementInstanceList(0);
+ return SVGElementInstanceList(impl->childNodes());
+}
+
+SVGElementInstance SVGElementInstance::firstChild() const
+{
+ if(!impl) return SVGElementInstance(0);
+ return SVGElementInstance(impl->firstChild());
+}
+
+SVGElementInstance SVGElementInstance::lastChild() const
+{
+ if(!impl) return SVGElementInstance(0);
+ return SVGElementInstance(impl->lastChild());
+}
+
+SVGElementInstance SVGElementInstance::previousSibling() const
+{
+ if(!impl) return SVGElementInstance(0);
+ return SVGElementInstance(impl->previousSibling());
+}
+
+SVGElementInstance SVGElementInstance::nextSibling() const
+{
+ if(!impl) return SVGElementInstance(0);
+ return SVGElementInstance(impl->nextSibling());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGElementInstance.h b/ksvg/dom/SVGElementInstance.h
new file mode 100644
index 00000000..51d81831
--- /dev/null
+++ b/ksvg/dom/SVGElementInstance.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGElementInstance_H
+#define SVGElementInstance_H
+
+namespace KSVG
+{
+
+class SVGElement;
+class SVGUseElement;
+class SVGElementInstanceList;
+class SVGElementInstanceImpl;
+class SVGElementInstance
+{
+public:
+ SVGElementInstance();
+ SVGElementInstance(const SVGElementInstance &other);
+ SVGElementInstance &operator=(const SVGElementInstance &other);
+ SVGElementInstance(SVGElementInstanceImpl *other);
+ ~SVGElementInstance();
+
+ SVGElement correspondingElement() const;
+ SVGUseElement correspondingUseElement() const;
+ SVGElementInstance parentNode() const;
+ SVGElementInstanceList childNodes() const;
+ SVGElementInstance firstChild() const;
+ SVGElementInstance lastChild() const;
+ SVGElementInstance previousSibling() const;
+ SVGElementInstance nextSibling() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGElementInstanceImpl *handle() const { return impl; }
+
+private:
+ SVGElementInstanceImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGElementInstanceList.cc b/ksvg/dom/SVGElementInstanceList.cc
new file mode 100644
index 00000000..ccc99f37
--- /dev/null
+++ b/ksvg/dom/SVGElementInstanceList.cc
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGElementInstanceList.h"
+#include "SVGElementInstanceListImpl.h"
+#include "SVGElementInstance.h"
+
+using namespace KSVG;
+
+SVGElementInstanceList::SVGElementInstanceList()
+{
+ impl = new SVGElementInstanceListImpl();
+ impl->ref();
+}
+
+SVGElementInstanceList::SVGElementInstanceList(const SVGElementInstanceList &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGElementInstanceList &SVGElementInstanceList::operator=(const SVGElementInstanceList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGElementInstanceList::SVGElementInstanceList(SVGElementInstanceListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGElementInstanceList::~SVGElementInstanceList()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned long SVGElementInstanceList::length() const
+{
+ if(!impl) return 0;
+ return impl->length();
+}
+
+SVGElementInstance SVGElementInstanceList::item(unsigned long index)
+{
+ if(!impl) return SVGElementInstance(0);
+ return SVGElementInstance(impl->item(index));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGElementInstanceList.h b/ksvg/dom/SVGElementInstanceList.h
new file mode 100644
index 00000000..9beb40ed
--- /dev/null
+++ b/ksvg/dom/SVGElementInstanceList.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGElementInstanceList_H
+#define SVGElementInstanceList_H
+
+namespace KSVG
+{
+
+class SVGElementInstance;
+class SVGElementInstanceListImpl;
+class SVGElementInstanceList
+{
+public:
+ SVGElementInstanceList();
+ SVGElementInstanceList(const SVGElementInstanceList &other);
+ SVGElementInstanceList &operator=(const SVGElementInstanceList &other);
+ SVGElementInstanceList(SVGElementInstanceListImpl *other);
+ ~SVGElementInstanceList();
+
+ unsigned long length() const;
+ SVGElementInstance item(unsigned long index);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGElementInstanceListImpl *handle() const { return impl; }
+
+private:
+ SVGElementInstanceListImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGEllipseElement.cc b/ksvg/dom/SVGEllipseElement.cc
new file mode 100644
index 00000000..2b744ccb
--- /dev/null
+++ b/ksvg/dom/SVGEllipseElement.cc
@@ -0,0 +1,98 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <kdebug.h>
+#include "SVGEllipseElement.h"
+#include "SVGEllipseElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGEllipseElement::SVGEllipseElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGEllipseElement::SVGEllipseElement(const SVGEllipseElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGEllipseElement &SVGEllipseElement::operator=(const SVGEllipseElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGEllipseElement::SVGEllipseElement(SVGEllipseElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGEllipseElement::~SVGEllipseElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGEllipseElement::cx()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->cx());
+}
+
+SVGAnimatedLength SVGEllipseElement::cy()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->cy());
+}
+
+SVGAnimatedLength SVGEllipseElement::rx()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->rx());
+}
+
+SVGAnimatedLength SVGEllipseElement::ry()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->ry());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGEllipseElement.h b/ksvg/dom/SVGEllipseElement.h
new file mode 100644
index 00000000..78399779
--- /dev/null
+++ b/ksvg/dom/SVGEllipseElement.h
@@ -0,0 +1,131 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; see the file COPYING.LIB. If
+ not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+ Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+
+ $Id$
+ */
+
+#ifndef SVGEllipseElement_H
+#define SVGEllipseElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGEllipseElementImpl;
+
+/**
+ * The <code>ellipse</code> element defines an ellipse which is
+ * axis-aligned with the current user coordinate system based on a
+ * center point and two radii.
+ *
+ * For more info look here : <a href =
+ * "http://www.w3.org/TR/SVG/shapes.html#EllipseElement">9.4 The
+ * 'ellipse' element</a>.
+ */
+class SVGEllipseElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable
+{
+public:
+ SVGEllipseElement();
+ SVGEllipseElement(const SVGEllipseElement &);
+ SVGEllipseElement &operator=(const SVGEllipseElement &other);
+ SVGEllipseElement(SVGEllipseElementImpl *);
+ ~SVGEllipseElement();
+
+ /**
+ * The x-axis coordinate of the center of the ellipse.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x-axis coordinate of the center of the ellipse.
+ */
+ SVGAnimatedLength cx();
+
+ /**
+ * The y-axis coordinate of the center of the ellipse.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y-axis coordinate of the center of the ellipse.
+ */
+ SVGAnimatedLength cy();
+
+ /**
+ * The x-axis radius of the ellipse.
+ * A negative value is an error (see <a href =
+ * "http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing">
+ * Error processing</a>). A value of zero disables rendering of
+ * the element.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x-radius of the ellipse.
+ */
+ SVGAnimatedLength rx();
+
+ /**
+ * The y-axis radius of the ellipse.
+ * A negative value is an error (see <a href =
+ * "http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing">
+ * Error processing</a>). A value of zero disables rendering of
+ * the element.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y-radius of the ellipse.
+ */
+ SVGAnimatedLength ry();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGEllipseElementImpl *handle() const { return impl; }
+
+private:
+ SVGEllipseElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGEvent.cc b/ksvg/dom/SVGEvent.cc
new file mode 100644
index 00000000..19fa6d27
--- /dev/null
+++ b/ksvg/dom/SVGEvent.cc
@@ -0,0 +1,187 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGEvent.h"
+#include "SVGEventImpl.h"
+
+using namespace KSVG;
+
+SVGEvent::SVGEvent() : DOM::Event()
+{
+ impl = 0;
+}
+
+SVGEvent::SVGEvent(const SVGEvent &other) : DOM::Event(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGEvent &SVGEvent::operator =(const SVGEvent &other)
+{
+ DOM::Event::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGEvent::SVGEvent(SVGEventImpl *other) : DOM::Event()
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGEvent::~SVGEvent()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGEvent::EventId SVGEvent::typeToId(DOM::DOMString type)
+{
+ if(type == "DOMFocusIn")
+ return DOMFOCUSIN_EVENT;
+ else if(type == "DOMFocusOut")
+ return DOMFOCUSOUT_EVENT;
+ else if(type == "DOMActivate")
+ return DOMACTIVATE_EVENT;
+ else if(type == "click")
+ return CLICK_EVENT;
+ else if(type == "mousedown")
+ return MOUSEDOWN_EVENT;
+ else if(type == "mouseup")
+ return MOUSEUP_EVENT;
+ else if(type == "mouseover")
+ return MOUSEOVER_EVENT;
+ else if(type == "mousemove")
+ return MOUSEMOVE_EVENT;
+ else if(type == "mouseout")
+ return MOUSEOUT_EVENT;
+ else if(type == "DOMSubtreeModified")
+ return DOMSUBTREEMODIFIED_EVENT;
+ else if(type == "DOMNodeInserted")
+ return DOMNODEINSERTED_EVENT;
+ else if(type == "DOMNodeRemoved")
+ return DOMNODEREMOVED_EVENT;
+ else if(type == "DOMNodeRemovedFromDocument")
+ return DOMNODEREMOVEDFROMDOCUMENT_EVENT;
+ else if(type == "DOMNodeInsertedIntoDocument")
+ return DOMNODEINSERTEDINTODOCUMENT_EVENT;
+ else if(type == "DOMAttrModified")
+ return DOMATTRMODIFIED_EVENT;
+ else if(type == "DOMCharacterDataModified")
+ return DOMCHARACTERDATAMODIFIED_EVENT;
+ else if(type == "load")
+ return LOAD_EVENT;
+ else if(type == "unload")
+ return UNLOAD_EVENT;
+ else if(type == "abort")
+ return ABORT_EVENT;
+ else if(type == "error")
+ return ERROR_EVENT;
+ else if(type == "resize")
+ return RESIZE_EVENT;
+ else if(type == "scroll")
+ return SCROLL_EVENT;
+ else if(type == "zoom")
+ return ZOOM_EVENT;
+ else if(type == "keydown")
+ return KEYDOWN_EVENT;
+ else if(type == "keyup")
+ return KEYUP_EVENT;
+ else if(type == "keypress")
+ return KEYPRESS_EVENT;
+
+ return UNKNOWN_EVENT;
+}
+
+DOM::DOMString SVGEvent::idToType(EventId id)
+{
+ switch(id)
+ {
+ case DOMFOCUSIN_EVENT:
+ return "DOMFocusIn";
+ case DOMFOCUSOUT_EVENT:
+ return "DOMFocusOut";
+ case DOMACTIVATE_EVENT:
+ return "DOMActivate";
+ case CLICK_EVENT:
+ return "click";
+ case MOUSEDOWN_EVENT:
+ return "mousedown";
+ case MOUSEUP_EVENT:
+ return "mouseup";
+ case MOUSEOVER_EVENT:
+ return "mouseover";
+ case MOUSEMOVE_EVENT:
+ return "mousemove";
+ case MOUSEOUT_EVENT:
+ return "mouseout";
+ case DOMSUBTREEMODIFIED_EVENT:
+ return "DOMSubtreeModified";
+ case DOMNODEINSERTED_EVENT:
+ return "DOMNodeInserted";
+ case DOMNODEREMOVED_EVENT:
+ return "DOMNodeRemoved";
+ case DOMNODEREMOVEDFROMDOCUMENT_EVENT:
+ return "DOMNodeRemovedFromDocument";
+ case DOMNODEINSERTEDINTODOCUMENT_EVENT:
+ return "DOMNodeInsertedIntoDocument";
+ case DOMATTRMODIFIED_EVENT:
+ return "DOMAttrModified";
+ case DOMCHARACTERDATAMODIFIED_EVENT:
+ return "DOMCharacterDataModified";
+ case LOAD_EVENT:
+ return "load";
+ case UNLOAD_EVENT:
+ return "unload";
+ case ABORT_EVENT:
+ return "abort";
+ case ERROR_EVENT:
+ return "error";
+ case RESIZE_EVENT:
+ return "resize";
+ case SCROLL_EVENT:
+ return "scroll";
+ case ZOOM_EVENT:
+ return "zoom";
+ case KEYDOWN_EVENT:
+ return "keydown";
+ case KEYUP_EVENT:
+ return "keyup";
+ case KEYPRESS_EVENT:
+ return "keypress";
+ default:
+ return DOM::DOMString();
+ break;
+ }
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGEvent.h b/ksvg/dom/SVGEvent.h
new file mode 100644
index 00000000..6aebf0aa
--- /dev/null
+++ b/ksvg/dom/SVGEvent.h
@@ -0,0 +1,95 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGEvent_H
+#define SVGEvent_H
+
+#include <dom/dom2_events.h>
+
+namespace KSVG
+{
+
+class SVGEventImpl;
+class SVGEvent : public DOM::Event
+{
+public:
+ enum EventId
+ {
+ UNKNOWN_EVENT = 0,
+
+ // UI events
+ DOMFOCUSIN_EVENT,
+ DOMFOCUSOUT_EVENT,
+ DOMACTIVATE_EVENT,
+
+ // Mouse events
+ CLICK_EVENT,
+ MOUSEDOWN_EVENT,
+ MOUSEUP_EVENT,
+ MOUSEOVER_EVENT,
+ MOUSEMOVE_EVENT,
+ MOUSEOUT_EVENT,
+
+ // Mutation events
+ DOMSUBTREEMODIFIED_EVENT,
+ DOMNODEINSERTED_EVENT,
+ DOMNODEREMOVED_EVENT,
+ DOMNODEREMOVEDFROMDOCUMENT_EVENT,
+ DOMNODEINSERTEDINTODOCUMENT_EVENT,
+ DOMATTRMODIFIED_EVENT,
+ DOMCHARACTERDATAMODIFIED_EVENT,
+
+ // SVG events
+ LOAD_EVENT,
+ UNLOAD_EVENT,
+ ABORT_EVENT,
+ ERROR_EVENT,
+ RESIZE_EVENT,
+ SCROLL_EVENT,
+ ZOOM_EVENT,
+
+ // Key Events
+ KEYDOWN_EVENT,
+ KEYPRESS_EVENT,
+ KEYUP_EVENT
+ };
+
+ SVGEvent();
+ SVGEvent(const SVGEvent &other);
+ SVGEvent &operator=(const SVGEvent &other);
+ SVGEvent(SVGEventImpl *other);
+ virtual ~SVGEvent();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGEventImpl *handle() const { return impl; }
+
+ // Helper functions
+ static EventId typeToId(DOM::DOMString type);
+ static DOM::DOMString idToType(EventId id);
+
+private:
+ SVGEventImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGException.h b/ksvg/dom/SVGException.h
new file mode 100644
index 00000000..dbbe7175
--- /dev/null
+++ b/ksvg/dom/SVGException.h
@@ -0,0 +1,51 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGException_H
+#define SVGException_H
+
+namespace KSVG
+{
+// TODO : use when DOM is full and/or ecma binding comes into play
+class SVGException
+{
+public:
+ SVGException(unsigned short code) { m_code = code; }
+ SVGException(const SVGException &other) { m_code = other.m_code; }
+ SVGException &operator=(const SVGException &other)
+ {
+ m_code = other.m_code;
+ return *this;
+ }
+ ~SVGException() {}
+
+ enum ExceptionCode {
+ SVG_WRONG_TYPE_ERR = 0,
+ SVG_INVALID_VALUE_ERR = 1,
+ SVG_MATRIX_NOT_INVERTABLE = 2
+ };
+ unsigned short m_code;
+};
+
+};
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGExternalResourcesRequired.cc b/ksvg/dom/SVGExternalResourcesRequired.cc
new file mode 100644
index 00000000..986bf564
--- /dev/null
+++ b/ksvg/dom/SVGExternalResourcesRequired.cc
@@ -0,0 +1,65 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGExternalResourcesRequired.h"
+#include "SVGExternalResourcesRequiredImpl.h"
+#include "SVGAnimatedBoolean.h"
+
+using namespace KSVG;
+
+// This class can't be constructed seperately.
+SVGExternalResourcesRequired::SVGExternalResourcesRequired()
+{
+ impl = 0;
+}
+
+SVGExternalResourcesRequired::SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGExternalResourcesRequired &SVGExternalResourcesRequired::operator=(const SVGExternalResourcesRequired &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGExternalResourcesRequired::SVGExternalResourcesRequired(SVGExternalResourcesRequiredImpl *other)
+{
+ impl = other;
+}
+
+SVGExternalResourcesRequired::~SVGExternalResourcesRequired()
+{
+ // We are not allowed to delete 'impl' as it's not refcounted.
+ // delete impl;
+}
+
+SVGAnimatedBoolean SVGExternalResourcesRequired::externalResourcesRequired() const
+{
+ if(!impl) return SVGAnimatedBoolean(0);
+ return SVGAnimatedBoolean(impl->externalResourcesRequired());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGExternalResourcesRequired.h b/ksvg/dom/SVGExternalResourcesRequired.h
new file mode 100644
index 00000000..e3668881
--- /dev/null
+++ b/ksvg/dom/SVGExternalResourcesRequired.h
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGExternalResourcesRequired_H
+#define SVGExternalResourcesRequired_H
+
+namespace KSVG
+{
+
+class SVGAnimatedBoolean;
+class SVGExternalResourcesRequiredImpl;
+class SVGExternalResourcesRequired
+{
+public:
+ SVGExternalResourcesRequired(const SVGExternalResourcesRequired &other);
+ SVGExternalResourcesRequired &operator=(const SVGExternalResourcesRequired &other);
+ SVGExternalResourcesRequired(SVGExternalResourcesRequiredImpl *other);
+ ~SVGExternalResourcesRequired();
+
+ SVGAnimatedBoolean externalResourcesRequired() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGExternalResourcesRequiredImpl *handle() const { return impl; }
+
+protected:
+ SVGExternalResourcesRequired();
+
+private:
+ SVGExternalResourcesRequiredImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEBlendElement.cc b/ksvg/dom/SVGFEBlendElement.cc
new file mode 100644
index 00000000..c991d18c
--- /dev/null
+++ b/ksvg/dom/SVGFEBlendElement.cc
@@ -0,0 +1,88 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEBlendElement.h"
+#include "SVGFEBlendElementImpl.h"
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGFEBlendElement::SVGFEBlendElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEBlendElement::SVGFEBlendElement(const SVGFEBlendElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEBlendElement &SVGFEBlendElement::operator =(const SVGFEBlendElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEBlendElement::SVGFEBlendElement(SVGFEBlendElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEBlendElement::~SVGFEBlendElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEBlendElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedString SVGFEBlendElement::in2() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in2());
+}
+
+SVGAnimatedEnumeration SVGFEBlendElement::mode() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->mode());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEBlendElement.h b/ksvg/dom/SVGFEBlendElement.h
new file mode 100644
index 00000000..91c64b3f
--- /dev/null
+++ b/ksvg/dom/SVGFEBlendElement.h
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEBlendElement_H
+#define SVGFEBlendElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_FEBLEND_MODE_UNKNOWN = 0,
+ SVG_FEBLEND_MODE_NORMAL = 1,
+ SVG_FEBLEND_MODE_MULTIPLY = 2,
+ SVG_FEBLEND_MODE_SCREEN = 3,
+ SVG_FEBLEND_MODE_DARKEN = 4,
+ SVG_FEBLEND_MODE_LIGHTEN = 5
+};
+
+class SVGAnimatedString;
+class SVGAnimatedEnumeration;
+class SVGFEBlendElementImpl;
+class SVGFEBlendElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEBlendElement();
+ SVGFEBlendElement(const SVGFEBlendElement &other);
+ SVGFEBlendElement &operator=(const SVGFEBlendElement &other);
+ SVGFEBlendElement(SVGFEBlendElementImpl *other);
+ virtual ~SVGFEBlendElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedString in2() const;
+ SVGAnimatedEnumeration mode() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEBlendElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEBlendElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEColorMatrixElement.cc b/ksvg/dom/SVGFEColorMatrixElement.cc
new file mode 100644
index 00000000..1f77ac0e
--- /dev/null
+++ b/ksvg/dom/SVGFEColorMatrixElement.cc
@@ -0,0 +1,89 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEColorMatrixElement.h"
+#include "SVGFEColorMatrixElementImpl.h"
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedEnumeration.h"
+#include "SVGAnimatedNumberList.h"
+
+using namespace KSVG;
+
+SVGFEColorMatrixElement::SVGFEColorMatrixElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEColorMatrixElement::SVGFEColorMatrixElement(const SVGFEColorMatrixElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEColorMatrixElement &SVGFEColorMatrixElement::operator =(const SVGFEColorMatrixElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEColorMatrixElement::SVGFEColorMatrixElement(SVGFEColorMatrixElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEColorMatrixElement::~SVGFEColorMatrixElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEColorMatrixElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedEnumeration SVGFEColorMatrixElement::type() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->type());
+}
+
+SVGAnimatedNumberList SVGFEColorMatrixElement::values() const
+{
+ if(!impl) return SVGAnimatedNumberList(0);
+ return SVGAnimatedNumberList(impl->values());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEColorMatrixElement.h b/ksvg/dom/SVGFEColorMatrixElement.h
new file mode 100644
index 00000000..bbe51f16
--- /dev/null
+++ b/ksvg/dom/SVGFEColorMatrixElement.h
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEColorMatrixElement_H
+#define SVGFEColorMatrixElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,
+ SVG_FECOLORMATRIX_TYPE_MATRIX = 1,
+ SVG_FECOLORMATRIX_TYPE_SATURATE = 2,
+ SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,
+ SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4
+};
+
+class SVGAnimatedString;
+class SVGAnimatedEnumeration;
+class SVGAnimatedNumberList;
+class SVGFEColorMatrixElementImpl;
+class SVGFEColorMatrixElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEColorMatrixElement();
+ SVGFEColorMatrixElement(const SVGFEColorMatrixElement &other);
+ SVGFEColorMatrixElement &operator=(const SVGFEColorMatrixElement &other);
+ SVGFEColorMatrixElement(SVGFEColorMatrixElementImpl *other);
+ virtual ~SVGFEColorMatrixElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedEnumeration type() const;
+ SVGAnimatedNumberList values() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEColorMatrixElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEColorMatrixElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEComponentTransferElement.cc b/ksvg/dom/SVGFEComponentTransferElement.cc
new file mode 100644
index 00000000..ea0d7490
--- /dev/null
+++ b/ksvg/dom/SVGFEComponentTransferElement.cc
@@ -0,0 +1,75 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEComponentTransferElement.h"
+#include "SVGFEComponentTransferElementImpl.h"
+#include "SVGAnimatedString.h"
+
+using namespace KSVG;
+
+SVGFEComponentTransferElement::SVGFEComponentTransferElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEComponentTransferElement::SVGFEComponentTransferElement(const SVGFEComponentTransferElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEComponentTransferElement &SVGFEComponentTransferElement::operator =(const SVGFEComponentTransferElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEComponentTransferElement::SVGFEComponentTransferElement(SVGFEComponentTransferElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEComponentTransferElement::~SVGFEComponentTransferElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEComponentTransferElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEComponentTransferElement.h b/ksvg/dom/SVGFEComponentTransferElement.h
new file mode 100644
index 00000000..c387a4ca
--- /dev/null
+++ b/ksvg/dom/SVGFEComponentTransferElement.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEComponentTransferElement_H
+#define SVGFEComponentTransferElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGFEComponentTransferElementImpl;
+class SVGFEComponentTransferElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEComponentTransferElement();
+ SVGFEComponentTransferElement(const SVGFEComponentTransferElement &other);
+ SVGFEComponentTransferElement &operator=(const SVGFEComponentTransferElement &other);
+ SVGFEComponentTransferElement(SVGFEComponentTransferElementImpl *other);
+ virtual ~SVGFEComponentTransferElement();
+
+ SVGAnimatedString in1() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEComponentTransferElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEComponentTransferElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFECompositeElement.cc b/ksvg/dom/SVGFECompositeElement.cc
new file mode 100644
index 00000000..61cf4352
--- /dev/null
+++ b/ksvg/dom/SVGFECompositeElement.cc
@@ -0,0 +1,113 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFECompositeElement.h"
+#include "SVGFECompositeElementImpl.h"
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGFECompositeElement::SVGFECompositeElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFECompositeElement::SVGFECompositeElement(const SVGFECompositeElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFECompositeElement &SVGFECompositeElement::operator =(const SVGFECompositeElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFECompositeElement::SVGFECompositeElement(SVGFECompositeElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFECompositeElement::~SVGFECompositeElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFECompositeElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedString SVGFECompositeElement::in2() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in2());
+}
+
+SVGAnimatedEnumeration SVGFECompositeElement::Operator() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->Operator());
+}
+
+SVGAnimatedNumber SVGFECompositeElement::k1() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->k1());
+}
+
+SVGAnimatedNumber SVGFECompositeElement::k2() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->k2());
+}
+
+SVGAnimatedNumber SVGFECompositeElement::k3() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->k3());
+}
+
+SVGAnimatedNumber SVGFECompositeElement::k4() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->k4());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFECompositeElement.h b/ksvg/dom/SVGFECompositeElement.h
new file mode 100644
index 00000000..dcfa1817
--- /dev/null
+++ b/ksvg/dom/SVGFECompositeElement.h
@@ -0,0 +1,74 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFECompositeElement_H
+#define SVGFECompositeElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0,
+ SVG_FECOMPOSITE_OPERATOR_OVER = 1,
+ SVG_FECOMPOSITE_OPERATOR_IN = 2,
+ SVG_FECOMPOSITE_OPERATOR_OUT = 3,
+ SVG_FECOMPOSITE_OPERATOR_ATOP = 4,
+ SVG_FECOMPOSITE_OPERATOR_XOR = 5,
+ SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6
+};
+
+class SVGAnimatedString;
+class SVGAnimatedEnumeration;
+class SVGAnimatedNumber;
+class SVGFECompositeElementImpl;
+class SVGFECompositeElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFECompositeElement();
+ SVGFECompositeElement(const SVGFECompositeElement &other);
+ SVGFECompositeElement &operator=(const SVGFECompositeElement &other);
+ SVGFECompositeElement(SVGFECompositeElementImpl *other);
+ virtual ~SVGFECompositeElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedString in2() const;
+ SVGAnimatedEnumeration Operator() const; // TODO : impossible otherwise ?
+ SVGAnimatedNumber k1() const;
+ SVGAnimatedNumber k2() const;
+ SVGAnimatedNumber k3() const;
+ SVGAnimatedNumber k4() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFECompositeElementImpl *handle() const { return impl; }
+
+private:
+ SVGFECompositeElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEConvolveMatrixElement.cc b/ksvg/dom/SVGFEConvolveMatrixElement.cc
new file mode 100644
index 00000000..5ecc292c
--- /dev/null
+++ b/ksvg/dom/SVGFEConvolveMatrixElement.cc
@@ -0,0 +1,140 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEConvolveMatrixElement.h"
+#include "SVGFEConvolveMatrixElementImpl.h"
+#include "SVGAnimatedInteger.h"
+#include "SVGAnimatedNumberList.h"
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedEnumeration.h"
+#include "SVGAnimatedLength.h"
+#include "SVGAnimatedBoolean.h"
+
+using namespace KSVG;
+
+SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement(const SVGFEConvolveMatrixElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEConvolveMatrixElement &SVGFEConvolveMatrixElement::operator =(const SVGFEConvolveMatrixElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement(SVGFEConvolveMatrixElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedInteger SVGFEConvolveMatrixElement::orderX() const
+{
+ if(!impl) return SVGAnimatedInteger(0);
+ return SVGAnimatedInteger(impl->orderX());
+}
+
+SVGAnimatedInteger SVGFEConvolveMatrixElement::orderY() const
+{
+ if(!impl) return SVGAnimatedInteger(0);
+ return SVGAnimatedInteger(impl->orderY());
+}
+
+SVGAnimatedNumberList SVGFEConvolveMatrixElement::kernelMatrix() const
+{
+ if(!impl) return SVGAnimatedNumberList(0);
+ return SVGAnimatedNumberList(impl->kernelMatrix());
+}
+
+SVGAnimatedNumber SVGFEConvolveMatrixElement::divisor() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->divisor());
+}
+
+SVGAnimatedNumber SVGFEConvolveMatrixElement::bias() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->bias());
+}
+
+SVGAnimatedInteger SVGFEConvolveMatrixElement::targetX() const
+{
+ if(!impl) return SVGAnimatedInteger(0);
+ return SVGAnimatedInteger(impl->targetX());
+}
+
+SVGAnimatedInteger SVGFEConvolveMatrixElement::targetY() const
+{
+ if(!impl) return SVGAnimatedInteger(0);
+ return SVGAnimatedInteger(impl->targetY());
+}
+
+SVGAnimatedEnumeration SVGFEConvolveMatrixElement::edgeMode() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->edgeMode());
+}
+
+SVGAnimatedLength SVGFEConvolveMatrixElement::kernelUnitLengthX() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->kernelUnitLengthX());
+}
+
+SVGAnimatedLength SVGFEConvolveMatrixElement::kernelUnitLengthY() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->kernelUnitLengthY());
+}
+
+SVGAnimatedBoolean SVGFEConvolveMatrixElement::preserveAlpha() const
+{
+ if(!impl) return SVGAnimatedBoolean(0);
+ return SVGAnimatedBoolean(impl->preserveAlpha());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEConvolveMatrixElement.h b/ksvg/dom/SVGFEConvolveMatrixElement.h
new file mode 100644
index 00000000..88a7ed00
--- /dev/null
+++ b/ksvg/dom/SVGFEConvolveMatrixElement.h
@@ -0,0 +1,78 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEConvolveMatrixElement_H
+#define SVGFEConvolveMatrixElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_EDGEMODE_UNKNOWN = 0,
+ SVG_EDGEMODE_DUPLICATE = 1,
+ SVG_EDGEMODE_WRAP = 2,
+ SVG_EDGEMODE_NONE = 3
+};
+
+class SVGAnimatedInteger;
+class SVGAnimatedNumberList;
+class SVGAnimatedNumber;
+class SVGAnimatedEnumeration;
+class SVGAnimatedLength;
+class SVGAnimatedBoolean;
+class SVGFEConvolveMatrixElementImpl;
+class SVGFEConvolveMatrixElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEConvolveMatrixElement();
+ SVGFEConvolveMatrixElement(const SVGFEConvolveMatrixElement &other);
+ SVGFEConvolveMatrixElement &operator=(const SVGFEConvolveMatrixElement &other);
+ SVGFEConvolveMatrixElement(SVGFEConvolveMatrixElementImpl *other);
+ virtual ~SVGFEConvolveMatrixElement();
+
+ SVGAnimatedInteger orderX() const;
+ SVGAnimatedInteger orderY() const;
+ SVGAnimatedNumberList kernelMatrix() const;
+ SVGAnimatedNumber divisor() const;
+ SVGAnimatedNumber bias() const;
+ SVGAnimatedInteger targetX() const;
+ SVGAnimatedInteger targetY() const;
+ SVGAnimatedEnumeration edgeMode() const;
+ SVGAnimatedLength kernelUnitLengthX() const;
+ SVGAnimatedLength kernelUnitLengthY() const;
+ SVGAnimatedBoolean preserveAlpha() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEConvolveMatrixElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEConvolveMatrixElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEDiffuseLightingElement.cc b/ksvg/dom/SVGFEDiffuseLightingElement.cc
new file mode 100644
index 00000000..eba5935f
--- /dev/null
+++ b/ksvg/dom/SVGFEDiffuseLightingElement.cc
@@ -0,0 +1,88 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEDiffuseLightingElement.h"
+#include "SVGFEDiffuseLightingElementImpl.h"
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedNumber.h"
+
+using namespace KSVG;
+
+SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement(const SVGFEDiffuseLightingElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEDiffuseLightingElement &SVGFEDiffuseLightingElement::operator =(const SVGFEDiffuseLightingElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement(SVGFEDiffuseLightingElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEDiffuseLightingElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedNumber SVGFEDiffuseLightingElement::surfaceScale() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->surfaceScale());
+}
+
+SVGAnimatedNumber SVGFEDiffuseLightingElement::diffuseConstant() const
+{
+ if(!impl) return SVGAnimatedNumber();
+ return SVGAnimatedNumber(impl->diffuseConstant());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEDiffuseLightingElement.h b/ksvg/dom/SVGFEDiffuseLightingElement.h
new file mode 100644
index 00000000..6356d996
--- /dev/null
+++ b/ksvg/dom/SVGFEDiffuseLightingElement.h
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEDiffuseLightingElement_H
+#define SVGFEDiffuseLightingElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGAnimatedNumber;
+class SVGFEDiffuseLightingElementImpl;
+class SVGFEDiffuseLightingElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEDiffuseLightingElement();
+ SVGFEDiffuseLightingElement(const SVGFEDiffuseLightingElement &other);
+ SVGFEDiffuseLightingElement &operator=(const SVGFEDiffuseLightingElement &other);
+ SVGFEDiffuseLightingElement(SVGFEDiffuseLightingElementImpl *other);
+ virtual ~SVGFEDiffuseLightingElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedNumber surfaceScale() const;
+ SVGAnimatedNumber diffuseConstant() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEDiffuseLightingElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEDiffuseLightingElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEDisplacementMapElement.cc b/ksvg/dom/SVGFEDisplacementMapElement.cc
new file mode 100644
index 00000000..7c41fd3e
--- /dev/null
+++ b/ksvg/dom/SVGFEDisplacementMapElement.cc
@@ -0,0 +1,101 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEDisplacementMapElement.h"
+#include "SVGFEDisplacementMapElementImpl.h"
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGFEDisplacementMapElement::SVGFEDisplacementMapElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(const SVGFEDisplacementMapElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEDisplacementMapElement &SVGFEDisplacementMapElement::operator =(const SVGFEDisplacementMapElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEDisplacementMapElement::SVGFEDisplacementMapElement(SVGFEDisplacementMapElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEDisplacementMapElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedString SVGFEDisplacementMapElement::in2() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in2());
+}
+
+SVGAnimatedNumber SVGFEDisplacementMapElement::scale() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->scale());
+}
+
+SVGAnimatedEnumeration SVGFEDisplacementMapElement::xChannelSelector() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->xChannelSelector());
+}
+
+SVGAnimatedEnumeration SVGFEDisplacementMapElement::yChannelSelector() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->yChannelSelector());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEDisplacementMapElement.h b/ksvg/dom/SVGFEDisplacementMapElement.h
new file mode 100644
index 00000000..ee591ca4
--- /dev/null
+++ b/ksvg/dom/SVGFEDisplacementMapElement.h
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEDisplacementMapElement_H
+#define SVGFEDisplacementMapElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+enum
+{
+ SVG_CHANNEL_UNKNOWN = 0,
+ SVG_CHANNEL_R = 1,
+ SVG_CHANNEL_G = 2,
+ SVG_CHANNEL_B = 3,
+ SVG_CHANNEL_A = 4
+};
+
+class SVGAnimatedNumber;
+class SVGAnimatedString;
+class SVGAnimatedEnumeration;
+class SVGFEDisplacementMapElementImpl;
+class SVGFEDisplacementMapElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEDisplacementMapElement();
+ SVGFEDisplacementMapElement(const SVGFEDisplacementMapElement &other);
+ SVGFEDisplacementMapElement &operator=(const SVGFEDisplacementMapElement &other);
+ SVGFEDisplacementMapElement(SVGFEDisplacementMapElementImpl *other);
+ virtual ~SVGFEDisplacementMapElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedString in2() const;
+ SVGAnimatedNumber scale() const;
+ SVGAnimatedEnumeration xChannelSelector() const;
+ SVGAnimatedEnumeration yChannelSelector() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEDisplacementMapElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEDisplacementMapElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEDistantLightElement.cc b/ksvg/dom/SVGFEDistantLightElement.cc
new file mode 100644
index 00000000..92371abc
--- /dev/null
+++ b/ksvg/dom/SVGFEDistantLightElement.cc
@@ -0,0 +1,80 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEDistantLightElement.h"
+#include "SVGFEDistantLightElementImpl.h"
+#include "SVGAnimatedNumber.h"
+
+using namespace KSVG;
+
+SVGFEDistantLightElement::SVGFEDistantLightElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFEDistantLightElement::SVGFEDistantLightElement(const SVGFEDistantLightElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEDistantLightElement &SVGFEDistantLightElement::operator =(const SVGFEDistantLightElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEDistantLightElement::SVGFEDistantLightElement(SVGFEDistantLightElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEDistantLightElement::~SVGFEDistantLightElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedNumber SVGFEDistantLightElement::azimuth() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->azimuth());
+}
+
+SVGAnimatedNumber SVGFEDistantLightElement::elevation() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->elevation());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEDistantLightElement.h b/ksvg/dom/SVGFEDistantLightElement.h
new file mode 100644
index 00000000..4b2c926a
--- /dev/null
+++ b/ksvg/dom/SVGFEDistantLightElement.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEDistantLightElement_H
+#define SVGFEDistantLightElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedNumber;
+class SVGFEDistantLightElementImpl;
+class SVGFEDistantLightElement : public SVGElement
+{
+public:
+ SVGFEDistantLightElement();
+ SVGFEDistantLightElement(const SVGFEDistantLightElement &other);
+ SVGFEDistantLightElement &operator=(const SVGFEDistantLightElement &other);
+ SVGFEDistantLightElement(SVGFEDistantLightElementImpl *other);
+ virtual ~SVGFEDistantLightElement();
+
+ SVGAnimatedNumber azimuth() const;
+ SVGAnimatedNumber elevation() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEDistantLightElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEDistantLightElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFloodElement.cc b/ksvg/dom/SVGFEFloodElement.cc
new file mode 100644
index 00000000..7b0b320c
--- /dev/null
+++ b/ksvg/dom/SVGFEFloodElement.cc
@@ -0,0 +1,76 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEFloodElement.h"
+#include "SVGFEFloodElementImpl.h"
+#include "SVGAnimatedString.h"
+
+using namespace KSVG;
+
+SVGFEFloodElement::SVGFEFloodElement() : SVGElement(), SVGStylable(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEFloodElement::SVGFEFloodElement(const SVGFEFloodElement &other) : SVGElement(other), SVGStylable(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEFloodElement &SVGFEFloodElement::operator =(const SVGFEFloodElement &other)
+{
+ SVGElement::operator=(other);
+ SVGStylable::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEFloodElement::SVGFEFloodElement(SVGFEFloodElementImpl *other) : SVGElement(other), SVGStylable(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEFloodElement::~SVGFEFloodElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEFloodElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFloodElement.h b/ksvg/dom/SVGFEFloodElement.h
new file mode 100644
index 00000000..401e056b
--- /dev/null
+++ b/ksvg/dom/SVGFEFloodElement.h
@@ -0,0 +1,57 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEFloodElement_H
+#define SVGFEFloodElement_H
+
+#include "SVGElement.h"
+#include "SVGStylable.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGFEFloodElementImpl;
+class SVGFEFloodElement : public SVGElement,
+ public SVGStylable,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEFloodElement();
+ SVGFEFloodElement(const SVGFEFloodElement &other);
+ SVGFEFloodElement &operator=(const SVGFEFloodElement &other);
+ SVGFEFloodElement(SVGFEFloodElementImpl *other);
+ virtual ~SVGFEFloodElement();
+
+ SVGAnimatedString in1() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEFloodElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEFloodElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFuncAElement.cc b/ksvg/dom/SVGFEFuncAElement.cc
new file mode 100644
index 00000000..cd0e9f10
--- /dev/null
+++ b/ksvg/dom/SVGFEFuncAElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEFuncAElement.h"
+#include "SVGFEFuncAElementImpl.h"
+
+using namespace KSVG;
+
+SVGFEFuncAElement::SVGFEFuncAElement() : SVGComponentTransferFunctionElement()
+{
+ impl = 0;
+}
+
+SVGFEFuncAElement::SVGFEFuncAElement(const SVGFEFuncAElement &other) : SVGComponentTransferFunctionElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEFuncAElement &SVGFEFuncAElement::operator =(const SVGFEFuncAElement &other)
+{
+ SVGComponentTransferFunctionElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEFuncAElement::SVGFEFuncAElement(SVGFEFuncAElementImpl *other) : SVGComponentTransferFunctionElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEFuncAElement::~SVGFEFuncAElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFuncAElement.h b/ksvg/dom/SVGFEFuncAElement.h
new file mode 100644
index 00000000..64287f27
--- /dev/null
+++ b/ksvg/dom/SVGFEFuncAElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEFuncAElement_H
+#define SVGFEFuncAElement_H
+
+#include "SVGComponentTransferFunctionElement.h"
+
+namespace KSVG
+{
+
+class SVGFEFuncAElementImpl;
+class SVGFEFuncAElement : public SVGComponentTransferFunctionElement
+{
+public:
+ SVGFEFuncAElement();
+ SVGFEFuncAElement(const SVGFEFuncAElement &other);
+ SVGFEFuncAElement &operator=(const SVGFEFuncAElement &other);
+ SVGFEFuncAElement(SVGFEFuncAElementImpl *other);
+ virtual ~SVGFEFuncAElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEFuncAElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEFuncAElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFuncBElement.cc b/ksvg/dom/SVGFEFuncBElement.cc
new file mode 100644
index 00000000..2cf0fdb0
--- /dev/null
+++ b/ksvg/dom/SVGFEFuncBElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEFuncBElement.h"
+#include "SVGFEFuncBElementImpl.h"
+
+using namespace KSVG;
+
+SVGFEFuncBElement::SVGFEFuncBElement() : SVGComponentTransferFunctionElement()
+{
+ impl = 0;
+}
+
+SVGFEFuncBElement::SVGFEFuncBElement(const SVGFEFuncBElement &other) : SVGComponentTransferFunctionElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEFuncBElement &SVGFEFuncBElement::operator =(const SVGFEFuncBElement &other)
+{
+ SVGComponentTransferFunctionElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEFuncBElement::SVGFEFuncBElement(SVGFEFuncBElementImpl *other) : SVGComponentTransferFunctionElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEFuncBElement::~SVGFEFuncBElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFuncBElement.h b/ksvg/dom/SVGFEFuncBElement.h
new file mode 100644
index 00000000..2eacbbc3
--- /dev/null
+++ b/ksvg/dom/SVGFEFuncBElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEFuncBElement_H
+#define SVGFEFuncBElement_H
+
+#include "SVGComponentTransferFunctionElement.h"
+
+namespace KSVG
+{
+
+class SVGFEFuncBElementImpl;
+class SVGFEFuncBElement : public SVGComponentTransferFunctionElement
+{
+public:
+ SVGFEFuncBElement();
+ SVGFEFuncBElement(const SVGFEFuncBElement &other);
+ SVGFEFuncBElement &operator=(const SVGFEFuncBElement &other);
+ SVGFEFuncBElement(SVGFEFuncBElementImpl *other);
+ virtual ~SVGFEFuncBElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEFuncBElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEFuncBElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFuncGElement.cc b/ksvg/dom/SVGFEFuncGElement.cc
new file mode 100644
index 00000000..ef8fdfea
--- /dev/null
+++ b/ksvg/dom/SVGFEFuncGElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEFuncGElement.h"
+#include "SVGFEFuncGElementImpl.h"
+
+using namespace KSVG;
+
+SVGFEFuncGElement::SVGFEFuncGElement() : SVGComponentTransferFunctionElement()
+{
+ impl = 0;
+}
+
+SVGFEFuncGElement::SVGFEFuncGElement(const SVGFEFuncGElement &other) : SVGComponentTransferFunctionElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEFuncGElement &SVGFEFuncGElement::operator =(const SVGFEFuncGElement &other)
+{
+ SVGComponentTransferFunctionElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEFuncGElement::SVGFEFuncGElement(SVGFEFuncGElementImpl *other) : SVGComponentTransferFunctionElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEFuncGElement::~SVGFEFuncGElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFuncGElement.h b/ksvg/dom/SVGFEFuncGElement.h
new file mode 100644
index 00000000..09c98195
--- /dev/null
+++ b/ksvg/dom/SVGFEFuncGElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEFuncGElement_H
+#define SVGFEFuncGElement_H
+
+#include "SVGComponentTransferFunctionElement.h"
+
+namespace KSVG
+{
+
+class SVGFEFuncGElementImpl;
+class SVGFEFuncGElement : public SVGComponentTransferFunctionElement
+{
+public:
+ SVGFEFuncGElement();
+ SVGFEFuncGElement(const SVGFEFuncGElement &other);
+ SVGFEFuncGElement &operator=(const SVGFEFuncGElement &other);
+ SVGFEFuncGElement(SVGFEFuncGElementImpl *other);
+ virtual ~SVGFEFuncGElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEFuncGElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEFuncGElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFuncRElement.cc b/ksvg/dom/SVGFEFuncRElement.cc
new file mode 100644
index 00000000..2020e33c
--- /dev/null
+++ b/ksvg/dom/SVGFEFuncRElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEFuncRElement.h"
+#include "SVGFEFuncRElementImpl.h"
+
+using namespace KSVG;
+
+SVGFEFuncRElement::SVGFEFuncRElement() : SVGComponentTransferFunctionElement()
+{
+ impl = 0;
+}
+
+SVGFEFuncRElement::SVGFEFuncRElement(const SVGFEFuncRElement &other) : SVGComponentTransferFunctionElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEFuncRElement &SVGFEFuncRElement::operator =(const SVGFEFuncRElement &other)
+{
+ SVGComponentTransferFunctionElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEFuncRElement::SVGFEFuncRElement(SVGFEFuncRElementImpl *other) : SVGComponentTransferFunctionElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEFuncRElement::~SVGFEFuncRElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEFuncRElement.h b/ksvg/dom/SVGFEFuncRElement.h
new file mode 100644
index 00000000..1a58ef15
--- /dev/null
+++ b/ksvg/dom/SVGFEFuncRElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEFuncRElement_H
+#define SVGFEFuncRElement_H
+
+#include "SVGComponentTransferFunctionElement.h"
+
+namespace KSVG
+{
+
+class SVGFEFuncRElementImpl;
+class SVGFEFuncRElement : public SVGComponentTransferFunctionElement
+{
+public:
+ SVGFEFuncRElement();
+ SVGFEFuncRElement(const SVGFEFuncRElement &other);
+ SVGFEFuncRElement &operator=(const SVGFEFuncRElement &other);
+ SVGFEFuncRElement(SVGFEFuncRElementImpl *other);
+ virtual ~SVGFEFuncRElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEFuncRElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEFuncRElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEGaussianBlurElement.cc b/ksvg/dom/SVGFEGaussianBlurElement.cc
new file mode 100644
index 00000000..2daaa8b8
--- /dev/null
+++ b/ksvg/dom/SVGFEGaussianBlurElement.cc
@@ -0,0 +1,94 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEGaussianBlurElement.h"
+#include "SVGFEGaussianBlurElementImpl.h"
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedNumber.h"
+
+using namespace KSVG;
+
+SVGFEGaussianBlurElement::SVGFEGaussianBlurElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEGaussianBlurElement::SVGFEGaussianBlurElement(const SVGFEGaussianBlurElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEGaussianBlurElement &SVGFEGaussianBlurElement::operator =(const SVGFEGaussianBlurElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEGaussianBlurElement::SVGFEGaussianBlurElement(SVGFEGaussianBlurElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEGaussianBlurElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedNumber SVGFEGaussianBlurElement::stdDeviationX() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->stdDeviationX());
+}
+
+SVGAnimatedNumber SVGFEGaussianBlurElement::stdDeviationY() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->stdDeviationY());
+}
+
+void SVGFEGaussianBlurElement::setStdDeviation(float stdDeviationX, float stdDeviationY)
+{
+ if(impl)
+ impl->setStdDeviation(stdDeviationX, stdDeviationY);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEGaussianBlurElement.h b/ksvg/dom/SVGFEGaussianBlurElement.h
new file mode 100644
index 00000000..a920ea68
--- /dev/null
+++ b/ksvg/dom/SVGFEGaussianBlurElement.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEGaussianBlurElement_H
+#define SVGFEGaussianBlurElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGAnimatedNumber;
+class SVGFEGaussianBlurElementImpl;
+class SVGFEGaussianBlurElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEGaussianBlurElement();
+ SVGFEGaussianBlurElement(const SVGFEGaussianBlurElement &other);
+ SVGFEGaussianBlurElement &operator=(const SVGFEGaussianBlurElement &other);
+ SVGFEGaussianBlurElement(SVGFEGaussianBlurElementImpl *other);
+ virtual ~SVGFEGaussianBlurElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedNumber stdDeviationX() const;
+ SVGAnimatedNumber stdDeviationY() const;
+
+ void setStdDeviation(float stdDeviationX, float stdDeviationY);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEGaussianBlurElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEGaussianBlurElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEImageElement.cc b/ksvg/dom/SVGFEImageElement.cc
new file mode 100644
index 00000000..6781edb6
--- /dev/null
+++ b/ksvg/dom/SVGFEImageElement.cc
@@ -0,0 +1,72 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEImageElement.h"
+#include "SVGFEImageElementImpl.h"
+
+using namespace KSVG;
+
+SVGFEImageElement::SVGFEImageElement() : SVGElement(), SVGURIReference(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEImageElement::SVGFEImageElement(const SVGFEImageElement &other) : SVGElement(other), SVGURIReference(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEImageElement &SVGFEImageElement::operator =(const SVGFEImageElement &other)
+{
+ SVGElement::operator=(other);
+ SVGURIReference::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEImageElement::SVGFEImageElement(SVGFEImageElementImpl *other) : SVGElement(other), SVGURIReference(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEImageElement::~SVGFEImageElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEImageElement.h b/ksvg/dom/SVGFEImageElement.h
new file mode 100644
index 00000000..2c8d5b38
--- /dev/null
+++ b/ksvg/dom/SVGFEImageElement.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEImageElement_H
+#define SVGFEImageElement_H
+
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGFEImageElementImpl;
+class SVGFEImageElement : public SVGElement,
+ public SVGURIReference,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEImageElement();
+ SVGFEImageElement(const SVGFEImageElement &other);
+ SVGFEImageElement &operator=(const SVGFEImageElement &other);
+ SVGFEImageElement(SVGFEImageElementImpl *other);
+ virtual ~SVGFEImageElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEImageElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEImageElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEMergeElement.cc b/ksvg/dom/SVGFEMergeElement.cc
new file mode 100644
index 00000000..8440cd53
--- /dev/null
+++ b/ksvg/dom/SVGFEMergeElement.cc
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEMergeElement.h"
+#include "SVGFEMergeElementImpl.h"
+
+using namespace KSVG;
+
+SVGFEMergeElement::SVGFEMergeElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEMergeElement::SVGFEMergeElement(const SVGFEMergeElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEMergeElement &SVGFEMergeElement::operator =(const SVGFEMergeElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEMergeElement::SVGFEMergeElement(SVGFEMergeElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEMergeElement::~SVGFEMergeElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEMergeElement.h b/ksvg/dom/SVGFEMergeElement.h
new file mode 100644
index 00000000..72e915ec
--- /dev/null
+++ b/ksvg/dom/SVGFEMergeElement.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEMergeElement_H
+#define SVGFEMergeElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGFEMergeElementImpl;
+class SVGFEMergeElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEMergeElement();
+ SVGFEMergeElement(const SVGFEMergeElement &other);
+ SVGFEMergeElement &operator=(const SVGFEMergeElement &other);
+ SVGFEMergeElement(SVGFEMergeElementImpl *other);
+ virtual ~SVGFEMergeElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEMergeElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEMergeElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEMergeNodeElement.cc b/ksvg/dom/SVGFEMergeNodeElement.cc
new file mode 100644
index 00000000..7abe70e7
--- /dev/null
+++ b/ksvg/dom/SVGFEMergeNodeElement.cc
@@ -0,0 +1,74 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEMergeNodeElement.h"
+#include "SVGFEMergeNodeElementImpl.h"
+#include "SVGAnimatedString.h"
+
+using namespace KSVG;
+
+SVGFEMergeNodeElement::SVGFEMergeNodeElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFEMergeNodeElement::SVGFEMergeNodeElement(const SVGFEMergeNodeElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEMergeNodeElement &SVGFEMergeNodeElement::operator =(const SVGFEMergeNodeElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEMergeNodeElement::SVGFEMergeNodeElement(SVGFEMergeNodeElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEMergeNodeElement::~SVGFEMergeNodeElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEMergeNodeElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEMergeNodeElement.h b/ksvg/dom/SVGFEMergeNodeElement.h
new file mode 100644
index 00000000..e9002f0c
--- /dev/null
+++ b/ksvg/dom/SVGFEMergeNodeElement.h
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEMergeNodeElement_H
+#define SVGFEMergeNodeElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGFEMergeNodeElementImpl;
+class SVGFEMergeNodeElement : public SVGElement
+{
+public:
+ SVGFEMergeNodeElement();
+ SVGFEMergeNodeElement(const SVGFEMergeNodeElement &other);
+ SVGFEMergeNodeElement &operator=(const SVGFEMergeNodeElement &other);
+ SVGFEMergeNodeElement(SVGFEMergeNodeElementImpl *other);
+ virtual ~SVGFEMergeNodeElement();
+
+ SVGAnimatedString in1() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEMergeNodeElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEMergeNodeElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEMorphologyElement.cc b/ksvg/dom/SVGFEMorphologyElement.cc
new file mode 100644
index 00000000..293d86a8
--- /dev/null
+++ b/ksvg/dom/SVGFEMorphologyElement.cc
@@ -0,0 +1,95 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEMorphologyElement.h"
+#include "SVGFEMorphologyElementImpl.h"
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedEnumeration.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGFEMorphologyElement::SVGFEMorphologyElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEMorphologyElement::SVGFEMorphologyElement(const SVGFEMorphologyElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEMorphologyElement &SVGFEMorphologyElement::operator =(const SVGFEMorphologyElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEMorphologyElement::SVGFEMorphologyElement(SVGFEMorphologyElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEMorphologyElement::~SVGFEMorphologyElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEMorphologyElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedEnumeration SVGFEMorphologyElement::Operator() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->Operator());
+}
+
+SVGAnimatedLength SVGFEMorphologyElement::radiusX() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->radiusX());
+}
+
+SVGAnimatedLength SVGFEMorphologyElement::radiusY() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->radiusY());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEMorphologyElement.h b/ksvg/dom/SVGFEMorphologyElement.h
new file mode 100644
index 00000000..7ca1b6a0
--- /dev/null
+++ b/ksvg/dom/SVGFEMorphologyElement.h
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEMorphologyElement_H
+#define SVGFEMorphologyElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,
+ SVG_MORPHOLOGY_OPERATOR_ERODE = 1,
+ SVG_MORPHOLOGY_OPERATOR_DILATE = 2
+};
+
+class SVGAnimatedString;
+class SVGAnimatedEnumeration;
+class SVGAnimatedLength;
+class SVGFEMorphologyElementImpl;
+class SVGFEMorphologyElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEMorphologyElement();
+ SVGFEMorphologyElement(const SVGFEMorphologyElement &other);
+ SVGFEMorphologyElement &operator=(const SVGFEMorphologyElement &other);
+ SVGFEMorphologyElement(SVGFEMorphologyElementImpl *other);
+ virtual ~SVGFEMorphologyElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedEnumeration Operator() const;
+ SVGAnimatedLength radiusX() const;
+ SVGAnimatedLength radiusY() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEMorphologyElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEMorphologyElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEOffsetElement.cc b/ksvg/dom/SVGFEOffsetElement.cc
new file mode 100644
index 00000000..f16ff5ed
--- /dev/null
+++ b/ksvg/dom/SVGFEOffsetElement.cc
@@ -0,0 +1,88 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEOffsetElement.h"
+#include "SVGFEOffsetElementImpl.h"
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedString.h"
+
+using namespace KSVG;
+
+SVGFEOffsetElement::SVGFEOffsetElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFEOffsetElement::SVGFEOffsetElement(const SVGFEOffsetElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEOffsetElement &SVGFEOffsetElement::operator =(const SVGFEOffsetElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEOffsetElement::SVGFEOffsetElement(SVGFEOffsetElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEOffsetElement::~SVGFEOffsetElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFEOffsetElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedNumber SVGFEOffsetElement::dx() const
+{
+ if(!impl) return SVGAnimatedNumber(0); // FIXME
+ return SVGAnimatedNumber(impl->dx());
+}
+
+SVGAnimatedNumber SVGFEOffsetElement::dy() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->dy());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEOffsetElement.h b/ksvg/dom/SVGFEOffsetElement.h
new file mode 100644
index 00000000..62b63407
--- /dev/null
+++ b/ksvg/dom/SVGFEOffsetElement.h
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEOffsetElement_H
+#define SVGFEOffsetElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGAnimatedNumber;
+class SVGFEOffsetElementImpl;
+class SVGFEOffsetElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFEOffsetElement();
+ SVGFEOffsetElement(const SVGFEOffsetElement &other);
+ SVGFEOffsetElement &operator=(const SVGFEOffsetElement &other);
+ SVGFEOffsetElement(SVGFEOffsetElementImpl *other);
+ virtual ~SVGFEOffsetElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedNumber dx() const;
+ SVGAnimatedNumber dy() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEOffsetElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEOffsetElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEPointLightElement.cc b/ksvg/dom/SVGFEPointLightElement.cc
new file mode 100644
index 00000000..ce5e4635
--- /dev/null
+++ b/ksvg/dom/SVGFEPointLightElement.cc
@@ -0,0 +1,86 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFEPointLightElement.h"
+#include "SVGFEPointLightElementImpl.h"
+#include "SVGAnimatedNumber.h"
+
+using namespace KSVG;
+
+SVGFEPointLightElement::SVGFEPointLightElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFEPointLightElement::SVGFEPointLightElement(const SVGFEPointLightElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFEPointLightElement &SVGFEPointLightElement::operator =(const SVGFEPointLightElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFEPointLightElement::SVGFEPointLightElement(SVGFEPointLightElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFEPointLightElement::~SVGFEPointLightElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedNumber SVGFEPointLightElement::x() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->x());
+}
+
+SVGAnimatedNumber SVGFEPointLightElement::y() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->y());
+}
+
+SVGAnimatedNumber SVGFEPointLightElement::z() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->z());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFEPointLightElement.h b/ksvg/dom/SVGFEPointLightElement.h
new file mode 100644
index 00000000..1d029e00
--- /dev/null
+++ b/ksvg/dom/SVGFEPointLightElement.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFEPointLightElement_H
+#define SVGFEPointLightElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedNumber;
+class SVGFEPointLightElementImpl;
+class SVGFEPointLightElement : public SVGElement
+{
+public:
+ SVGFEPointLightElement();
+ SVGFEPointLightElement(const SVGFEPointLightElement &other);
+ SVGFEPointLightElement &operator=(const SVGFEPointLightElement &other);
+ SVGFEPointLightElement(SVGFEPointLightElementImpl *other);
+ virtual ~SVGFEPointLightElement();
+
+ SVGAnimatedNumber x() const;
+ SVGAnimatedNumber y() const;
+ SVGAnimatedNumber z() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFEPointLightElementImpl *handle() const { return impl; }
+
+private:
+ SVGFEPointLightElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFESpecularLightingElement.cc b/ksvg/dom/SVGFESpecularLightingElement.cc
new file mode 100644
index 00000000..924e1ce7
--- /dev/null
+++ b/ksvg/dom/SVGFESpecularLightingElement.cc
@@ -0,0 +1,94 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFESpecularLightingElement.h"
+#include "SVGFESpecularLightingElementImpl.h"
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedString.h"
+
+using namespace KSVG;
+
+SVGFESpecularLightingElement::SVGFESpecularLightingElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFESpecularLightingElement::SVGFESpecularLightingElement(const SVGFESpecularLightingElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFESpecularLightingElement &SVGFESpecularLightingElement::operator =(const SVGFESpecularLightingElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFESpecularLightingElement::SVGFESpecularLightingElement(SVGFESpecularLightingElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFESpecularLightingElement::~SVGFESpecularLightingElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFESpecularLightingElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+SVGAnimatedNumber SVGFESpecularLightingElement::surfaceScale() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->surfaceScale());
+}
+
+SVGAnimatedNumber SVGFESpecularLightingElement::specularConstant() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->specularConstant());
+}
+
+SVGAnimatedNumber SVGFESpecularLightingElement::specularExponent() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->specularExponent());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFESpecularLightingElement.h b/ksvg/dom/SVGFESpecularLightingElement.h
new file mode 100644
index 00000000..3566006c
--- /dev/null
+++ b/ksvg/dom/SVGFESpecularLightingElement.h
@@ -0,0 +1,59 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFESpecularLightingElement_H
+#define SVGFESpecularLightingElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGAnimatedNumber;
+class SVGFESpecularLightingElementImpl;
+class SVGFESpecularLightingElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFESpecularLightingElement();
+ SVGFESpecularLightingElement(const SVGFESpecularLightingElement &other);
+ SVGFESpecularLightingElement &operator=(const SVGFESpecularLightingElement &other);
+ SVGFESpecularLightingElement(SVGFESpecularLightingElementImpl *other);
+ virtual ~SVGFESpecularLightingElement();
+
+ SVGAnimatedString in1() const;
+ SVGAnimatedNumber surfaceScale() const;
+ SVGAnimatedNumber specularConstant() const;
+ SVGAnimatedNumber specularExponent() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFESpecularLightingElementImpl *handle() const { return impl; }
+
+private:
+ SVGFESpecularLightingElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFESpotLightElement.cc b/ksvg/dom/SVGFESpotLightElement.cc
new file mode 100644
index 00000000..57dd498f
--- /dev/null
+++ b/ksvg/dom/SVGFESpotLightElement.cc
@@ -0,0 +1,116 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFESpotLightElement.h"
+#include "SVGFESpotLightElementImpl.h"
+#include "SVGAnimatedNumber.h"
+
+using namespace KSVG;
+
+SVGFESpotLightElement::SVGFESpotLightElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFESpotLightElement::SVGFESpotLightElement(const SVGFESpotLightElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFESpotLightElement &SVGFESpotLightElement::operator =(const SVGFESpotLightElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFESpotLightElement::SVGFESpotLightElement(SVGFESpotLightElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFESpotLightElement::~SVGFESpotLightElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedNumber SVGFESpotLightElement::x() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->x());
+}
+
+SVGAnimatedNumber SVGFESpotLightElement::y() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->y());
+}
+
+SVGAnimatedNumber SVGFESpotLightElement::z() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->z());
+}
+
+SVGAnimatedNumber SVGFESpotLightElement::pointsAtX() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->pointsAtX());
+}
+
+SVGAnimatedNumber SVGFESpotLightElement::pointsAtY() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->pointsAtY());
+}
+
+SVGAnimatedNumber SVGFESpotLightElement::pointsAtZ() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->pointsAtZ());
+}
+
+SVGAnimatedNumber SVGFESpotLightElement::specularExponent() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->specularExponent());
+}
+
+SVGAnimatedNumber SVGFESpotLightElement::limitingConeAngle() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->limitingConeAngle());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFESpotLightElement.h b/ksvg/dom/SVGFESpotLightElement.h
new file mode 100644
index 00000000..735a6428
--- /dev/null
+++ b/ksvg/dom/SVGFESpotLightElement.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFESpotLightElement_H
+#define SVGFESpotLightElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedNumber;
+class SVGFESpotLightElementImpl;
+class SVGFESpotLightElement : public SVGElement
+{
+public:
+ SVGFESpotLightElement();
+ SVGFESpotLightElement(const SVGFESpotLightElement &other);
+ SVGFESpotLightElement &operator=(const SVGFESpotLightElement &other);
+ SVGFESpotLightElement(SVGFESpotLightElementImpl *other);
+ virtual ~SVGFESpotLightElement();
+
+ SVGAnimatedNumber x() const;
+ SVGAnimatedNumber y() const;
+ SVGAnimatedNumber z() const;
+ SVGAnimatedNumber pointsAtX() const;
+ SVGAnimatedNumber pointsAtY() const;
+ SVGAnimatedNumber pointsAtZ() const;
+ SVGAnimatedNumber specularExponent() const;
+ SVGAnimatedNumber limitingConeAngle() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFESpotLightElementImpl *handle() const { return impl; }
+
+private:
+ SVGFESpotLightElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFETileElement.cc b/ksvg/dom/SVGFETileElement.cc
new file mode 100644
index 00000000..01c7ffed
--- /dev/null
+++ b/ksvg/dom/SVGFETileElement.cc
@@ -0,0 +1,75 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFETileElement.h"
+#include "SVGFETileElementImpl.h"
+#include "SVGAnimatedString.h"
+
+using namespace KSVG;
+
+SVGFETileElement::SVGFETileElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFETileElement::SVGFETileElement(const SVGFETileElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFETileElement &SVGFETileElement::operator =(const SVGFETileElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFETileElement::SVGFETileElement(SVGFETileElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFETileElement::~SVGFETileElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedString SVGFETileElement::in1() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->in1());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFETileElement.h b/ksvg/dom/SVGFETileElement.h
new file mode 100644
index 00000000..cbf548b1
--- /dev/null
+++ b/ksvg/dom/SVGFETileElement.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFETileElement_H
+#define SVGFETileElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGFETileElementImpl;
+class SVGFETileElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFETileElement();
+ SVGFETileElement(const SVGFETileElement &other);
+ SVGFETileElement &operator=(const SVGFETileElement &other);
+ SVGFETileElement(SVGFETileElementImpl *other);
+ virtual ~SVGFETileElement();
+
+ SVGAnimatedString in1() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFETileElementImpl *handle() const { return impl; }
+
+private:
+ SVGFETileElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFETurbulenceElement.cc b/ksvg/dom/SVGFETurbulenceElement.cc
new file mode 100644
index 00000000..7d846e6b
--- /dev/null
+++ b/ksvg/dom/SVGFETurbulenceElement.cc
@@ -0,0 +1,107 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFETurbulenceElement.h"
+#include "SVGFETurbulenceElementImpl.h"
+#include "SVGAnimatedEnumeration.h"
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedInteger.h"
+
+using namespace KSVG;
+
+SVGFETurbulenceElement::SVGFETurbulenceElement() : SVGElement(), SVGFilterPrimitiveStandardAttributes()
+{
+ impl = 0;
+}
+
+SVGFETurbulenceElement::SVGFETurbulenceElement(const SVGFETurbulenceElement &other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFETurbulenceElement &SVGFETurbulenceElement::operator =(const SVGFETurbulenceElement &other)
+{
+ SVGElement::operator=(other);
+ SVGFilterPrimitiveStandardAttributes::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFETurbulenceElement::SVGFETurbulenceElement(SVGFETurbulenceElementImpl *other) : SVGElement(other), SVGFilterPrimitiveStandardAttributes(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFETurbulenceElement::~SVGFETurbulenceElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedNumber SVGFETurbulenceElement::baseFrequencyX() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->baseFrequencyX());
+}
+
+SVGAnimatedNumber SVGFETurbulenceElement::baseFrequencyY() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->baseFrequencyY());
+}
+
+SVGAnimatedInteger SVGFETurbulenceElement::numOctaves() const
+{
+ if(!impl) return SVGAnimatedInteger(0);
+ return SVGAnimatedInteger(impl->numOctaves());
+}
+
+SVGAnimatedNumber SVGFETurbulenceElement::seed() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->seed());
+}
+
+SVGAnimatedEnumeration SVGFETurbulenceElement::stitchTiles() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->stitchTiles());
+}
+
+SVGAnimatedEnumeration SVGFETurbulenceElement::type() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->type());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFETurbulenceElement.h b/ksvg/dom/SVGFETurbulenceElement.h
new file mode 100644
index 00000000..39b6050d
--- /dev/null
+++ b/ksvg/dom/SVGFETurbulenceElement.h
@@ -0,0 +1,71 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFETurbulenceElement_H
+#define SVGFETurbulenceElement_H
+
+#include "SVGElement.h"
+#include "SVGFilterPrimitiveStandardAttributes.h"
+
+namespace KSVG
+{
+enum
+{
+ SVG_TURBULENCE_TYPE_UNKNOWN = 0,
+ SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,
+ SVG_TURBULENCE_TYPE_TURBULENCE = 2,
+ SVG_STITCHTYPE_UNKNOWN = 0,
+ SVG_STITCHTYPE_STITCH = 1,
+ SVG_STITCHTYPE_NOSTITCH = 2
+};
+
+class SVGAnimatedEnumeration;
+class SVGAnimatedNumber;
+class SVGAnimatedInteger;
+class SVGFETurbulenceElementImpl;
+class SVGFETurbulenceElement : public SVGElement,
+ public SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFETurbulenceElement();
+ SVGFETurbulenceElement(const SVGFETurbulenceElement &other);
+ SVGFETurbulenceElement &operator=(const SVGFETurbulenceElement &other);
+ SVGFETurbulenceElement(SVGFETurbulenceElementImpl *other);
+ virtual ~SVGFETurbulenceElement();
+
+ SVGAnimatedNumber baseFrequencyX() const;
+ SVGAnimatedNumber baseFrequencyY() const;
+ SVGAnimatedInteger numOctaves() const;
+ SVGAnimatedNumber seed() const;
+ SVGAnimatedEnumeration stitchTiles() const;
+ SVGAnimatedEnumeration type() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFETurbulenceElementImpl *handle() const { return impl; }
+
+private:
+ SVGFETurbulenceElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFilterElement.cc b/ksvg/dom/SVGFilterElement.cc
new file mode 100644
index 00000000..3644a807
--- /dev/null
+++ b/ksvg/dom/SVGFilterElement.cc
@@ -0,0 +1,128 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFilterElement.h"
+#include "SVGFilterElementImpl.h"
+#include "SVGAnimatedEnumeration.h"
+#include "SVGAnimatedInteger.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGFilterElement::SVGFilterElement() : SVGElement(), SVGURIReference(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGUnitTypes()
+{
+ impl = 0;
+}
+
+SVGFilterElement::SVGFilterElement(const SVGFilterElement &other) : SVGElement(other), SVGURIReference(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGUnitTypes(), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFilterElement &SVGFilterElement::operator =(const SVGFilterElement &other)
+{
+ SVGElement::operator=(other);
+ SVGURIReference::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFilterElement::SVGFilterElement(SVGFilterElementImpl *other) : SVGElement(other), SVGURIReference(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGUnitTypes()
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFilterElement::~SVGFilterElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedEnumeration SVGFilterElement::filterUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->filterUnits());
+}
+
+SVGAnimatedEnumeration SVGFilterElement::primitiveUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->primitiveUnits());
+}
+
+SVGAnimatedLength SVGFilterElement::x() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGFilterElement::y() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+SVGAnimatedLength SVGFilterElement::width() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->width());
+}
+
+SVGAnimatedLength SVGFilterElement::height() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->height());
+}
+
+SVGAnimatedInteger SVGFilterElement::filterResX() const
+{
+ if(!impl) return SVGAnimatedInteger(0);
+ return SVGAnimatedInteger(impl->filterResX());
+}
+
+SVGAnimatedInteger SVGFilterElement::filterResY() const
+{
+ if(!impl) return SVGAnimatedInteger(0);
+ return SVGAnimatedInteger(impl->filterResY());
+}
+
+void SVGFilterElement::setFilterRes(unsigned long filterResX, unsigned long filterResY)
+{
+ if(impl)
+ impl->setFilterRes(filterResX, filterResY);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFilterElement.h b/ksvg/dom/SVGFilterElement.h
new file mode 100644
index 00000000..82f67e5c
--- /dev/null
+++ b/ksvg/dom/SVGFilterElement.h
@@ -0,0 +1,74 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFilterElement_H
+#define SVGFilterElement_H
+
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGUnitTypes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedEnumeration;
+class SVGAnimatedLength;
+class SVGAnimatedInteger;
+class SVGFilterElementImpl;
+class SVGFilterElement : public SVGElement,
+ public SVGURIReference,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGUnitTypes
+{
+public:
+ SVGFilterElement();
+ SVGFilterElement(const SVGFilterElement &other);
+ SVGFilterElement &operator=(const SVGFilterElement &other);
+ SVGFilterElement(SVGFilterElementImpl *other);
+ virtual ~SVGFilterElement();
+
+ SVGAnimatedEnumeration filterUnits() const;
+ SVGAnimatedEnumeration primitiveUnits() const;
+ SVGAnimatedLength x() const;
+ SVGAnimatedLength y() const;
+ SVGAnimatedLength width() const;
+ SVGAnimatedLength height() const;
+ SVGAnimatedInteger filterResX() const;
+ SVGAnimatedInteger filterResY() const;
+
+ void setFilterRes(unsigned long filterResX, unsigned long filterResY);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFilterElementImpl *handle() const { return impl; }
+
+private:
+ SVGFilterElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFilterPrimitiveStandardAttributes.cc b/ksvg/dom/SVGFilterPrimitiveStandardAttributes.cc
new file mode 100644
index 00000000..05b2ef2a
--- /dev/null
+++ b/ksvg/dom/SVGFilterPrimitiveStandardAttributes.cc
@@ -0,0 +1,88 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFilterPrimitiveStandardAttributes.h"
+#include "SVGFilterPrimitiveStandardAttributesImpl.h"
+#include "SVGAnimatedString.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes()
+{
+ impl = new SVGFilterPrimitiveStandardAttributesImpl();
+}
+
+SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes(const SVGFilterPrimitiveStandardAttributes &other)
+{
+ impl = other.impl;
+}
+
+SVGFilterPrimitiveStandardAttributes &SVGFilterPrimitiveStandardAttributes::operator=(const SVGFilterPrimitiveStandardAttributes &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ delete impl;
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes(SVGFilterPrimitiveStandardAttributesImpl *other)
+{
+ impl = other;
+}
+
+SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes()
+{
+}
+
+SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::x() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::y() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::width() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->width());
+}
+
+SVGAnimatedLength SVGFilterPrimitiveStandardAttributes::height() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->height());
+}
+
+SVGAnimatedString SVGFilterPrimitiveStandardAttributes::result() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->result());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFilterPrimitiveStandardAttributes.h b/ksvg/dom/SVGFilterPrimitiveStandardAttributes.h
new file mode 100644
index 00000000..9d2c9894
--- /dev/null
+++ b/ksvg/dom/SVGFilterPrimitiveStandardAttributes.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFilterPrimitiveStandardAttributes_H
+#define SVGFilterPrimitiveStandardAttributes_H
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGAnimatedString;
+class SVGFilterPrimitiveStandardAttributesImpl;
+class SVGFilterPrimitiveStandardAttributes
+{
+public:
+ SVGFilterPrimitiveStandardAttributes(const SVGFilterPrimitiveStandardAttributes &other);
+ SVGFilterPrimitiveStandardAttributes &operator=(const SVGFilterPrimitiveStandardAttributes &other);
+ SVGFilterPrimitiveStandardAttributes(SVGFilterPrimitiveStandardAttributesImpl *other);
+ virtual ~SVGFilterPrimitiveStandardAttributes();
+
+ SVGAnimatedLength x() const;
+ SVGAnimatedLength y() const;
+ SVGAnimatedLength width() const;
+ SVGAnimatedLength height() const;
+ SVGAnimatedString result() const;
+
+protected:
+ SVGFilterPrimitiveStandardAttributes();
+
+private:
+ SVGFilterPrimitiveStandardAttributesImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFitToViewBox.cc b/ksvg/dom/SVGFitToViewBox.cc
new file mode 100644
index 00000000..e0d576f0
--- /dev/null
+++ b/ksvg/dom/SVGFitToViewBox.cc
@@ -0,0 +1,72 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFitToViewBox.h"
+#include "SVGFitToViewBoxImpl.h"
+#include "SVGAnimatedRect.h"
+#include "SVGAnimatedPreserveAspectRatio.h"
+
+using namespace KSVG;
+
+// This class can't be constructed seperately.
+SVGFitToViewBox::SVGFitToViewBox()
+{
+ impl = 0;
+}
+
+SVGFitToViewBox::SVGFitToViewBox(const SVGFitToViewBox &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGFitToViewBox &SVGFitToViewBox::operator=(const SVGFitToViewBox &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGFitToViewBox::SVGFitToViewBox(SVGFitToViewBoxImpl *other)
+{
+ impl = other;
+}
+
+SVGFitToViewBox::~SVGFitToViewBox()
+{
+ // We are not allowed to delete 'impl' as it's not refcounted.
+ // delete impl;
+}
+
+SVGAnimatedRect SVGFitToViewBox::viewBox() const
+{
+ if(!impl) return SVGAnimatedRect(0);
+ return SVGAnimatedRect(impl->viewBox());
+}
+
+SVGAnimatedPreserveAspectRatio SVGFitToViewBox::preserveAspectRatio() const
+{
+ if(!impl) return SVGAnimatedPreserveAspectRatio(0);
+ return SVGAnimatedPreserveAspectRatio(impl->preserveAspectRatio());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFitToViewBox.h b/ksvg/dom/SVGFitToViewBox.h
new file mode 100644
index 00000000..50778657
--- /dev/null
+++ b/ksvg/dom/SVGFitToViewBox.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFitToViewBox_H
+#define SVGFitToViewBox_H
+
+namespace KSVG
+{
+
+class SVGAnimatedRect;
+class SVGAnimatedPreserveAspectRatio;
+class SVGFitToViewBoxImpl;
+class SVGFitToViewBox
+{
+public:
+ SVGFitToViewBox(const SVGFitToViewBox &other);
+ SVGFitToViewBox &operator=(const SVGFitToViewBox &other);
+ SVGFitToViewBox(SVGFitToViewBoxImpl *other);
+ ~SVGFitToViewBox();
+
+ SVGAnimatedRect viewBox() const;
+ SVGAnimatedPreserveAspectRatio preserveAspectRatio() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFitToViewBoxImpl *handle() const { return impl; }
+
+protected:
+ SVGFitToViewBox();
+
+private:
+ SVGFitToViewBoxImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontElement.cc b/ksvg/dom/SVGFontElement.cc
new file mode 100644
index 00000000..5fae52ee
--- /dev/null
+++ b/ksvg/dom/SVGFontElement.cc
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFontElement.h"
+#include "SVGFontElementImpl.h"
+
+using namespace KSVG;
+
+SVGFontElement::SVGFontElement() : SVGElement(), SVGExternalResourcesRequired(), SVGStylable()
+{
+ impl = 0;
+}
+
+SVGFontElement::SVGFontElement(const SVGFontElement &other) : SVGElement(other), SVGExternalResourcesRequired(other), SVGStylable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFontElement &SVGFontElement::operator =(const SVGFontElement &other)
+{
+ SVGElement::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFontElement::SVGFontElement(SVGFontElementImpl *other) : SVGElement(other), SVGExternalResourcesRequired(other), SVGStylable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFontElement::~SVGFontElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontElement.h b/ksvg/dom/SVGFontElement.h
new file mode 100644
index 00000000..9ecc36bf
--- /dev/null
+++ b/ksvg/dom/SVGFontElement.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFontElement_H
+#define SVGFontElement_H
+
+#include "SVGElement.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+
+namespace KSVG
+{
+
+class SVGFontElementImpl;
+class SVGFontElement : public SVGElement,
+ public SVGExternalResourcesRequired,
+ public SVGStylable
+{
+public:
+ SVGFontElement();
+ SVGFontElement(const SVGFontElement &other);
+ SVGFontElement &operator=(const SVGFontElement &other);
+ SVGFontElement(SVGFontElementImpl *other);
+ virtual ~SVGFontElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFontElementImpl *handle() const { return impl; }
+
+private:
+ SVGFontElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceElement.cc b/ksvg/dom/SVGFontFaceElement.cc
new file mode 100644
index 00000000..6d542a04
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFontFaceElement.h"
+#include "SVGFontFaceElementImpl.h"
+
+using namespace KSVG;
+
+SVGFontFaceElement::SVGFontFaceElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFontFaceElement::SVGFontFaceElement(const SVGFontFaceElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFontFaceElement &SVGFontFaceElement::operator =(const SVGFontFaceElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFontFaceElement::SVGFontFaceElement(SVGFontFaceElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFontFaceElement::~SVGFontFaceElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceElement.h b/ksvg/dom/SVGFontFaceElement.h
new file mode 100644
index 00000000..f16d0eb2
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFontFaceElement_H
+#define SVGFontFaceElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGFontFaceElementImpl;
+class SVGFontFaceElement : public SVGElement
+{
+public:
+ SVGFontFaceElement();
+ SVGFontFaceElement(const SVGFontFaceElement &other);
+ SVGFontFaceElement &operator=(const SVGFontFaceElement &other);
+ SVGFontFaceElement(SVGFontFaceElementImpl *other);
+ virtual ~SVGFontFaceElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFontFaceElementImpl *handle() const { return impl; }
+
+private:
+ SVGFontFaceElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceFormatElement.cc b/ksvg/dom/SVGFontFaceFormatElement.cc
new file mode 100644
index 00000000..a64c5fa8
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceFormatElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFontFaceFormatElement.h"
+#include "SVGFontFaceFormatElementImpl.h"
+
+using namespace KSVG;
+
+SVGFontFaceFormatElement::SVGFontFaceFormatElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFontFaceFormatElement::SVGFontFaceFormatElement(const SVGFontFaceFormatElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFontFaceFormatElement &SVGFontFaceFormatElement::operator =(const SVGFontFaceFormatElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFontFaceFormatElement::SVGFontFaceFormatElement(SVGFontFaceFormatElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFontFaceFormatElement::~SVGFontFaceFormatElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceFormatElement.h b/ksvg/dom/SVGFontFaceFormatElement.h
new file mode 100644
index 00000000..577cae35
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceFormatElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFontFaceFormatElement_H
+#define SVGFontFaceFormatElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGFontFaceFormatElementImpl;
+class SVGFontFaceFormatElement : public SVGElement
+{
+public:
+ SVGFontFaceFormatElement();
+ SVGFontFaceFormatElement(const SVGFontFaceFormatElement &other);
+ SVGFontFaceFormatElement &operator=(const SVGFontFaceFormatElement &other);
+ SVGFontFaceFormatElement(SVGFontFaceFormatElementImpl *other);
+ virtual ~SVGFontFaceFormatElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFontFaceFormatElementImpl *handle() const { return impl; }
+
+private:
+ SVGFontFaceFormatElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceNameElement.cc b/ksvg/dom/SVGFontFaceNameElement.cc
new file mode 100644
index 00000000..e5160869
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceNameElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFontFaceNameElement.h"
+#include "SVGFontFaceNameElementImpl.h"
+
+using namespace KSVG;
+
+SVGFontFaceNameElement::SVGFontFaceNameElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFontFaceNameElement::SVGFontFaceNameElement(const SVGFontFaceNameElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFontFaceNameElement &SVGFontFaceNameElement::operator =(const SVGFontFaceNameElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFontFaceNameElement::SVGFontFaceNameElement(SVGFontFaceNameElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFontFaceNameElement::~SVGFontFaceNameElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceNameElement.h b/ksvg/dom/SVGFontFaceNameElement.h
new file mode 100644
index 00000000..b246e61d
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceNameElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFontFaceNameElement_H
+#define SVGFontFaceNameElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGFontFaceNameElementImpl;
+class SVGFontFaceNameElement : public SVGElement
+{
+public:
+ SVGFontFaceNameElement();
+ SVGFontFaceNameElement(const SVGFontFaceNameElement &other);
+ SVGFontFaceNameElement &operator=(const SVGFontFaceNameElement &other);
+ SVGFontFaceNameElement(SVGFontFaceNameElementImpl *other);
+ virtual ~SVGFontFaceNameElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFontFaceNameElementImpl *handle() const { return impl; }
+
+private:
+ SVGFontFaceNameElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceSrcElement.cc b/ksvg/dom/SVGFontFaceSrcElement.cc
new file mode 100644
index 00000000..8ecbbffa
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceSrcElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFontFaceSrcElement.h"
+#include "SVGFontFaceSrcElementImpl.h"
+
+using namespace KSVG;
+
+SVGFontFaceSrcElement::SVGFontFaceSrcElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFontFaceSrcElement::SVGFontFaceSrcElement(const SVGFontFaceSrcElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFontFaceSrcElement &SVGFontFaceSrcElement::operator =(const SVGFontFaceSrcElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFontFaceSrcElement::SVGFontFaceSrcElement(SVGFontFaceSrcElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFontFaceSrcElement::~SVGFontFaceSrcElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceSrcElement.h b/ksvg/dom/SVGFontFaceSrcElement.h
new file mode 100644
index 00000000..585971e0
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceSrcElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFontFaceSrcElement_H
+#define SVGFontFaceSrcElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGFontFaceSrcElementImpl;
+class SVGFontFaceSrcElement : public SVGElement
+{
+public:
+ SVGFontFaceSrcElement();
+ SVGFontFaceSrcElement(const SVGFontFaceSrcElement &other);
+ SVGFontFaceSrcElement &operator=(const SVGFontFaceSrcElement &other);
+ SVGFontFaceSrcElement(SVGFontFaceSrcElementImpl *other);
+ virtual ~SVGFontFaceSrcElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFontFaceSrcElementImpl *handle() const { return impl; }
+
+private:
+ SVGFontFaceSrcElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceUriElement.cc b/ksvg/dom/SVGFontFaceUriElement.cc
new file mode 100644
index 00000000..aafb392b
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceUriElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGFontFaceUriElement.h"
+#include "SVGFontFaceUriElementImpl.h"
+
+using namespace KSVG;
+
+SVGFontFaceUriElement::SVGFontFaceUriElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGFontFaceUriElement::SVGFontFaceUriElement(const SVGFontFaceUriElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGFontFaceUriElement &SVGFontFaceUriElement::operator =(const SVGFontFaceUriElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGFontFaceUriElement::SVGFontFaceUriElement(SVGFontFaceUriElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGFontFaceUriElement::~SVGFontFaceUriElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGFontFaceUriElement.h b/ksvg/dom/SVGFontFaceUriElement.h
new file mode 100644
index 00000000..c2dd6514
--- /dev/null
+++ b/ksvg/dom/SVGFontFaceUriElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGFontFaceUriElement_H
+#define SVGFontFaceUriElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGFontFaceUriElementImpl;
+class SVGFontFaceUriElement : public SVGElement
+{
+public:
+ SVGFontFaceUriElement();
+ SVGFontFaceUriElement(const SVGFontFaceUriElement &other);
+ SVGFontFaceUriElement &operator=(const SVGFontFaceUriElement &other);
+ SVGFontFaceUriElement(SVGFontFaceUriElementImpl *other);
+ virtual ~SVGFontFaceUriElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGFontFaceUriElementImpl *handle() const { return impl; }
+
+private:
+ SVGFontFaceUriElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGForeignObjectElement.cc b/ksvg/dom/SVGForeignObjectElement.cc
new file mode 100644
index 00000000..e12a194a
--- /dev/null
+++ b/ksvg/dom/SVGForeignObjectElement.cc
@@ -0,0 +1,97 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGForeignObjectElement.h"
+#include "SVGForeignObjectElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGForeignObjectElement::SVGForeignObjectElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGForeignObjectElement::SVGForeignObjectElement(const SVGForeignObjectElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ (*this) = other;
+}
+
+SVGForeignObjectElement &SVGForeignObjectElement::operator =(const SVGForeignObjectElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGForeignObjectElement::SVGForeignObjectElement(SVGForeignObjectElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGForeignObjectElement::~SVGForeignObjectElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGForeignObjectElement::x() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGForeignObjectElement::y() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+SVGAnimatedLength SVGForeignObjectElement::width() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->width());
+}
+
+SVGAnimatedLength SVGForeignObjectElement::height() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->height());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGForeignObjectElement.h b/ksvg/dom/SVGForeignObjectElement.h
new file mode 100644
index 00000000..0d35019f
--- /dev/null
+++ b/ksvg/dom/SVGForeignObjectElement.h
@@ -0,0 +1,66 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGForeignObjectElement_H
+#define SVGForeignObjectElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGForeignObjectElementImpl;
+class SVGForeignObjectElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable
+{
+public:
+ SVGForeignObjectElement();
+ SVGForeignObjectElement(const SVGForeignObjectElement &other);
+ SVGForeignObjectElement &operator=(const SVGForeignObjectElement &other);
+ SVGForeignObjectElement(SVGForeignObjectElementImpl *other);
+ virtual ~SVGForeignObjectElement();
+
+ SVGAnimatedLength x() const;
+ SVGAnimatedLength y() const;
+ SVGAnimatedLength width() const;
+ SVGAnimatedLength height() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGForeignObjectElementImpl *handle() const { return impl; }
+
+private:
+ SVGForeignObjectElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGGElement.cc b/ksvg/dom/SVGGElement.cc
new file mode 100644
index 00000000..272c7608
--- /dev/null
+++ b/ksvg/dom/SVGGElement.cc
@@ -0,0 +1,72 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGGElement.h"
+#include "SVGGElementImpl.h"
+
+using namespace KSVG;
+
+SVGGElement::SVGGElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGGElement::SVGGElement(const SVGGElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGGElement &SVGGElement::operator =(const SVGGElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGGElement::SVGGElement(SVGGElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGGElement::~SVGGElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGGElement.h b/ksvg/dom/SVGGElement.h
new file mode 100644
index 00000000..724bbadb
--- /dev/null
+++ b/ksvg/dom/SVGGElement.h
@@ -0,0 +1,83 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGGElement_H
+#define SVGGElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGGElementImpl;
+
+/**
+ * The 'g' element is a container element for grouping together related graphics elements.
+ *
+ * Grouping constructs, when used in conjunction with the @ref desc and @ref title elements, provide
+ * information about document structure and semantics. Documents that are rich in structure may be
+ * rendered graphically, as speech, or as braille, and thus promote accessibility.
+ *
+ * A group of elements, as well as individual objects, can be given a name using the <code> id </code> attribute.
+ * Named groups are needed for several purposes such as animation and re-usable objects.
+ *
+ * A 'g' element can contain other 'g' elements nested within it, to an arbitrary depth.
+ */
+class SVGGElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable
+{
+public:
+ SVGGElement();
+ SVGGElement(const SVGGElement &other);
+ SVGGElement &operator=(const SVGGElement &other);
+ SVGGElement(SVGGElementImpl *other);
+ ~SVGGElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGGElementImpl *handle() const { return impl; }
+
+private:
+ SVGGElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGGlyphElement.cc b/ksvg/dom/SVGGlyphElement.cc
new file mode 100644
index 00000000..c852d44d
--- /dev/null
+++ b/ksvg/dom/SVGGlyphElement.cc
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGGlyphElement.h"
+#include "SVGGlyphElementImpl.h"
+
+using namespace KSVG;
+
+SVGGlyphElement::SVGGlyphElement() : SVGElement(), SVGStylable()
+{
+ impl = 0;
+}
+
+SVGGlyphElement::SVGGlyphElement(const SVGGlyphElement &other) : SVGElement(other), SVGStylable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGGlyphElement &SVGGlyphElement::operator =(const SVGGlyphElement &other)
+{
+ SVGElement::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGGlyphElement::SVGGlyphElement(SVGGlyphElementImpl *other) : SVGElement(other), SVGStylable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGGlyphElement::~SVGGlyphElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGGlyphElement.h b/ksvg/dom/SVGGlyphElement.h
new file mode 100644
index 00000000..c3d2237b
--- /dev/null
+++ b/ksvg/dom/SVGGlyphElement.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGGlyphElement_H
+#define SVGGlyphElement_H
+
+#include "SVGElement.h"
+#include "SVGStylable.h"
+
+namespace KSVG
+{
+
+class SVGGlyphElementImpl;
+class SVGGlyphElement : public SVGElement,
+ public SVGStylable
+{
+public:
+ SVGGlyphElement();
+ SVGGlyphElement(const SVGGlyphElement &other);
+ SVGGlyphElement &operator=(const SVGGlyphElement &other);
+ SVGGlyphElement(SVGGlyphElementImpl *other);
+ virtual ~SVGGlyphElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGGlyphElementImpl *handle() const { return impl; }
+
+private:
+ SVGGlyphElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGGlyphRefElement.cc b/ksvg/dom/SVGGlyphRefElement.cc
new file mode 100644
index 00000000..85c4c39f
--- /dev/null
+++ b/ksvg/dom/SVGGlyphRefElement.cc
@@ -0,0 +1,81 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGGlyphRefElement.h"
+#include "SVGGlyphRefElementImpl.h"
+
+using namespace KSVG;
+
+SVGGlyphRefElement::SVGGlyphRefElement() : SVGElement(), SVGURIReference(), SVGStylable()
+{
+ impl = 0;
+}
+
+SVGGlyphRefElement::SVGGlyphRefElement(const SVGGlyphRefElement &other) : SVGElement(other), SVGURIReference(other), SVGStylable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGGlyphRefElement &SVGGlyphRefElement::operator =(const SVGGlyphRefElement &other)
+{
+ SVGElement::operator=(other);
+ SVGURIReference::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGGlyphRefElement::SVGGlyphRefElement(SVGGlyphRefElementImpl *other) : SVGElement(other), SVGURIReference(other), SVGStylable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGGlyphRefElement::~SVGGlyphRefElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+DOM::DOMString SVGGlyphRefElement::format()
+{
+ if(!impl) return DOM::DOMString();
+ return impl->format();
+}
+
+DOM::DOMString SVGGlyphRefElement::glyphRef()
+{
+ if(!impl) return DOM::DOMString();
+ return impl->glyphRef();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGGlyphRefElement.h b/ksvg/dom/SVGGlyphRefElement.h
new file mode 100644
index 00000000..29e91e57
--- /dev/null
+++ b/ksvg/dom/SVGGlyphRefElement.h
@@ -0,0 +1,57 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGGlyphRefElement_H
+#define SVGGlyphRefElement_H
+
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include "SVGStylable.h"
+
+namespace KSVG
+{
+
+class SVGGlyphRefElementImpl;
+class SVGGlyphRefElement : public SVGElement,
+ public SVGURIReference,
+ public SVGStylable
+{
+public:
+ SVGGlyphRefElement();
+ SVGGlyphRefElement(const SVGGlyphRefElement &other);
+ SVGGlyphRefElement &operator=(const SVGGlyphRefElement &other);
+ SVGGlyphRefElement(SVGGlyphRefElementImpl *other);
+ virtual ~SVGGlyphRefElement();
+
+ DOM::DOMString glyphRef();
+ DOM::DOMString format();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGGlyphRefElementImpl *handle() const { return impl; }
+
+private:
+ SVGGlyphRefElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGGradientElement.cc b/ksvg/dom/SVGGradientElement.cc
new file mode 100644
index 00000000..2afb305e
--- /dev/null
+++ b/ksvg/dom/SVGGradientElement.cc
@@ -0,0 +1,80 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGGradientElement.h"
+#include "SVGGradientElementImpl.h"
+#include "SVGAnimatedTransformList.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGGradientElement::SVGGradientElement() : SVGElement(), SVGURIReference(), SVGExternalResourcesRequired(), SVGStylable(), SVGUnitTypes()
+{
+ impl = 0;
+}
+
+SVGGradientElement::SVGGradientElement(const SVGGradientElement &other) : SVGElement(other), SVGURIReference(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGUnitTypes(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGGradientElement &SVGGradientElement::operator =(const SVGGradientElement &other)
+{
+ SVGElement::operator=(other);
+ SVGURIReference::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGGradientElement::SVGGradientElement(SVGGradientElementImpl *other) : SVGElement(other), SVGURIReference(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGUnitTypes()
+{
+ impl = other;
+}
+
+SVGGradientElement::~SVGGradientElement()
+{
+}
+
+SVGAnimatedEnumeration SVGGradientElement::gradientUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->gradientUnits());
+}
+
+SVGAnimatedTransformList SVGGradientElement::gradientTransform() const
+{
+ if(!impl) return SVGAnimatedTransformList(0);
+ return SVGAnimatedTransformList(impl->gradientTransform());
+}
+
+SVGAnimatedEnumeration SVGGradientElement::spreadMethod() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->spreadMethod());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGGradientElement.h b/ksvg/dom/SVGGradientElement.h
new file mode 100644
index 00000000..cff47ad8
--- /dev/null
+++ b/ksvg/dom/SVGGradientElement.h
@@ -0,0 +1,71 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGGradientElement_H
+#define SVGGradientElement_H
+
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGUnitTypes.h"
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_SPREADMETHOD_UNKNOWN = 0,
+ SVG_SPREADMETHOD_PAD = 1,
+ SVG_SPREADMETHOD_REFLECT = 2,
+ SVG_SPREADMETHOD_REPEAT = 3
+};
+
+class SVGAnimatedEnumeration;
+class SVGAnimatedTransformList;
+class SVGGradientElementImpl;
+class SVGGradientElement : public SVGElement,
+ public SVGURIReference,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGUnitTypes
+{
+public:
+ SVGGradientElement(const SVGGradientElement &other);
+ SVGGradientElement &operator=(const SVGGradientElement &other);
+ SVGGradientElement(SVGGradientElementImpl *other);
+ virtual ~SVGGradientElement();
+
+ SVGAnimatedEnumeration gradientUnits() const;
+ SVGAnimatedTransformList gradientTransform() const;
+ SVGAnimatedEnumeration spreadMethod() const;
+
+protected:
+ SVGGradientElement();
+
+private:
+ SVGGradientElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGHKernElement.cc b/ksvg/dom/SVGHKernElement.cc
new file mode 100644
index 00000000..db46aa63
--- /dev/null
+++ b/ksvg/dom/SVGHKernElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGHKernElement.h"
+#include "SVGHKernElementImpl.h"
+
+using namespace KSVG;
+
+SVGHKernElement::SVGHKernElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGHKernElement::SVGHKernElement(const SVGHKernElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGHKernElement &SVGHKernElement::operator =(const SVGHKernElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGHKernElement::SVGHKernElement(SVGHKernElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGHKernElement::~SVGHKernElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGHKernElement.h b/ksvg/dom/SVGHKernElement.h
new file mode 100644
index 00000000..42890727
--- /dev/null
+++ b/ksvg/dom/SVGHKernElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGHKernElement_H
+#define SVGHKernElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGHKernElementImpl;
+class SVGHKernElement : public SVGElement
+{
+public:
+ SVGHKernElement();
+ SVGHKernElement(const SVGHKernElement &other);
+ SVGHKernElement &operator=(const SVGHKernElement &other);
+ SVGHKernElement(SVGHKernElementImpl *other);
+ virtual ~SVGHKernElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGHKernElementImpl *handle() const { return impl; }
+
+private:
+ SVGHKernElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGICCColor.cc b/ksvg/dom/SVGICCColor.cc
new file mode 100644
index 00000000..6b21f3fb
--- /dev/null
+++ b/ksvg/dom/SVGICCColor.cc
@@ -0,0 +1,85 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGICCColor.h"
+#include "SVGICCColorImpl.h"
+#include "SVGNumberList.h"
+
+using namespace KSVG;
+
+SVGICCColor::SVGICCColor()
+{
+ impl = new SVGICCColorImpl();
+ impl->ref();
+}
+
+SVGICCColor::SVGICCColor(const SVGICCColor &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGICCColor &SVGICCColor::operator =(const SVGICCColor &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGICCColor::SVGICCColor(SVGICCColorImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGICCColor::~SVGICCColor()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGICCColor::setColorProfile(const DOM::DOMString &colorProfile)
+{
+ if(impl)
+ impl->setColorProfile(colorProfile);
+}
+
+DOM::DOMString SVGICCColor::colorProfile() const
+{
+ if(!impl) return DOM::DOMString();
+ return DOM::DOMString(impl->colorProfile());
+}
+
+SVGNumberList SVGICCColor::colors() const
+{
+ if(!impl) return SVGNumberList(0);
+ return SVGNumberList(impl->colors());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGICCColor.h b/ksvg/dom/SVGICCColor.h
new file mode 100644
index 00000000..628feda9
--- /dev/null
+++ b/ksvg/dom/SVGICCColor.h
@@ -0,0 +1,56 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGICCColor_H
+#define SVGICCColor_H
+
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+class SVGNumberList;
+class SVGICCColorImpl;
+class SVGICCColor
+{
+public:
+ SVGICCColor();
+ SVGICCColor(const SVGICCColor &other);
+ SVGICCColor &operator=(const SVGICCColor &other);
+ SVGICCColor(SVGICCColorImpl *other);
+ ~SVGICCColor();
+
+ void setColorProfile(const DOM::DOMString &colorProfile);
+ DOM::DOMString colorProfile() const;
+
+ SVGNumberList colors() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGICCColorImpl *handle() const { return impl; }
+
+private:
+ SVGICCColorImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGImageElement.cc b/ksvg/dom/SVGImageElement.cc
new file mode 100644
index 00000000..9d9374fa
--- /dev/null
+++ b/ksvg/dom/SVGImageElement.cc
@@ -0,0 +1,106 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <kdebug.h>
+#include "SVGImageElement.h"
+#include "SVGImageElementImpl.h"
+#include "SVGAnimatedLength.h"
+#include "SVGAnimatedPreserveAspectRatio.h"
+
+using namespace KSVG;
+
+SVGImageElement::SVGImageElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable(), SVGURIReference()
+{
+ impl = 0;
+}
+
+SVGImageElement::SVGImageElement(const SVGImageElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGURIReference(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGImageElement &SVGImageElement::operator=(const SVGImageElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+ SVGURIReference::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGImageElement::SVGImageElement(SVGImageElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGURIReference(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGImageElement::~SVGImageElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGImageElement::x()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGImageElement::y()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+SVGAnimatedLength SVGImageElement::width()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->width());
+}
+
+SVGAnimatedLength SVGImageElement::height()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->height());
+}
+
+SVGAnimatedPreserveAspectRatio SVGImageElement::preserveAspectRatio() const
+{
+ if(!impl) return SVGAnimatedPreserveAspectRatio(0);
+ return SVGAnimatedPreserveAspectRatio(impl->preserveAspectRatio());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGImageElement.h b/ksvg/dom/SVGImageElement.h
new file mode 100644
index 00000000..c6487fed
--- /dev/null
+++ b/ksvg/dom/SVGImageElement.h
@@ -0,0 +1,70 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGImageElement_H
+#define SVGImageElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+#include "SVGURIReference.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedPreserveAspectRatio;
+class SVGAnimatedLength;
+class SVGImageElementImpl;
+class SVGImageElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public SVGURIReference
+{
+public:
+ SVGImageElement();
+ SVGImageElement(const SVGImageElement &);
+ SVGImageElement &operator=(const SVGImageElement &other);
+ SVGImageElement(SVGImageElementImpl *);
+ ~SVGImageElement();
+
+ SVGAnimatedLength x();
+ SVGAnimatedLength y();
+ SVGAnimatedLength width();
+ SVGAnimatedLength height();
+ SVGAnimatedPreserveAspectRatio preserveAspectRatio() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGImageElementImpl *handle() const { return impl; }
+
+private:
+ SVGImageElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLangSpace.cc b/ksvg/dom/SVGLangSpace.cc
new file mode 100644
index 00000000..2373e648
--- /dev/null
+++ b/ksvg/dom/SVGLangSpace.cc
@@ -0,0 +1,82 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGLangSpace.h"
+#include "SVGLangSpaceImpl.h"
+
+using namespace KSVG;
+
+// This class can't be constructed seperately.
+SVGLangSpace::SVGLangSpace()
+{
+ impl = 0;
+}
+
+SVGLangSpace::SVGLangSpace(const SVGLangSpace &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGLangSpace &SVGLangSpace::operator=(const SVGLangSpace &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGLangSpace::SVGLangSpace(SVGLangSpaceImpl *other)
+{
+ impl = other;
+}
+
+SVGLangSpace::~SVGLangSpace()
+{
+ // We are not allowed to delete 'impl' as it's not refcounted.
+ // delete impl;
+}
+
+void SVGLangSpace::setXmllang(const DOM::DOMString &xmllang)
+{
+ if(impl)
+ impl->setXmllang(xmllang);
+}
+
+DOM::DOMString SVGLangSpace::xmllang() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->xmllang();
+}
+
+void SVGLangSpace::setXmlspace(const DOM::DOMString &xmlspace)
+{
+ if(impl)
+ impl->setXmlspace(xmlspace);
+}
+
+DOM::DOMString SVGLangSpace::xmlspace() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->xmlspace();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLangSpace.h b/ksvg/dom/SVGLangSpace.h
new file mode 100644
index 00000000..391e625d
--- /dev/null
+++ b/ksvg/dom/SVGLangSpace.h
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGLangSpace_H
+#define SVGLangSpace_H
+
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+class SVGLangSpaceImpl;
+class SVGLangSpace
+{
+public:
+ SVGLangSpace(const SVGLangSpace &other);
+ SVGLangSpace &operator=(const SVGLangSpace &other);
+ SVGLangSpace(SVGLangSpaceImpl *other);
+ ~SVGLangSpace();
+
+ void setXmllang(const DOM::DOMString &xmllang);
+ DOM::DOMString xmllang() const;
+
+ void setXmlspace(const DOM::DOMString &xmlspace);
+ DOM::DOMString xmlspace() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGLangSpaceImpl *handle() const { return impl; }
+
+protected:
+ SVGLangSpace();
+
+private:
+ SVGLangSpaceImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLength.cc b/ksvg/dom/SVGLength.cc
new file mode 100644
index 00000000..bb2db73f
--- /dev/null
+++ b/ksvg/dom/SVGLength.cc
@@ -0,0 +1,135 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <dom/dom_string.h>
+#include "SVGLength.h"
+#include "SVGShapeImpl.h"
+#include "SVGLengthImpl.h"
+
+using namespace KSVG;
+
+SVGLength::SVGLength()
+{
+ impl = new SVGLengthImpl();
+ impl->ref();
+}
+
+SVGLength::SVGLength(const SVGLength &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGLength &SVGLength::operator =(const SVGLength &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGLength::SVGLength(SVGLengthImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGLength::~SVGLength()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned short SVGLength::unitType() const
+{
+ if(!impl) return SVG_LENGTHTYPE_UNKNOWN;
+ return impl->unitType();
+}
+
+void SVGLength::setValue(float value)
+{
+ if(impl)
+ {
+ impl->setValue(value);
+
+ // Automatic updating of the shape if any value is changed, imagine:
+ // SVGCircleElement c; [...] c.r().baseVal().setValue(150);
+ if(impl->context() && dynamic_cast<SVGShapeImpl *>(impl->context()))
+ dynamic_cast<SVGShapeImpl *>(impl->context())->update(UPDATE_TRANSFORM, 0, 0);
+ }
+}
+
+float SVGLength::value() const
+{
+ if(!impl) return -1;
+ return impl->value();
+}
+
+void SVGLength::setValueInSpecifiedUnits(float valueInSpecifiedUnits)
+{
+ if(impl)
+ impl->setValueInSpecifiedUnits(valueInSpecifiedUnits);
+}
+
+float SVGLength::valueInSpecifiedUnits() const
+{
+ if(!impl) return -1;
+ return impl->valueInSpecifiedUnits();
+}
+
+void SVGLength::setValueAsString(const DOM::DOMString &valueAsString)
+{
+ if(impl)
+ impl->setValueAsString(valueAsString);
+}
+
+DOM::DOMString SVGLength::valueAsString() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->valueAsString();
+}
+
+void SVGLength::newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits)
+{
+ if(impl)
+ impl->newValueSpecifiedUnits(unitType, valueInSpecifiedUnits);
+}
+
+void SVGLength::convertToSpecifiedUnits(unsigned short unitType)
+{
+ if(impl)
+ impl->convertToSpecifiedUnits(unitType);
+}
+
+SVGLength::operator float()
+{
+ if(!impl) return -1;
+ return impl->valueInSpecifiedUnits();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLength.h b/ksvg/dom/SVGLength.h
new file mode 100644
index 00000000..1f0bbdae
--- /dev/null
+++ b/ksvg/dom/SVGLength.h
@@ -0,0 +1,81 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGLength_H
+#define SVGLength_H
+
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_LENGTHTYPE_UNKNOWN,
+ SVG_LENGTHTYPE_NUMBER,
+ SVG_LENGTHTYPE_PERCENTAGE,
+ SVG_LENGTHTYPE_EMS,
+ SVG_LENGTHTYPE_EXS,
+ SVG_LENGTHTYPE_PX,
+ SVG_LENGTHTYPE_CM,
+ SVG_LENGTHTYPE_MM,
+ SVG_LENGTHTYPE_IN,
+ SVG_LENGTHTYPE_PT,
+ SVG_LENGTHTYPE_PC
+};
+
+class SVGLengthImpl;
+class SVGLength
+{
+public:
+ SVGLength();
+ SVGLength(const SVGLength &);
+ SVGLength(SVGLengthImpl *);
+ SVGLength &operator=(const SVGLength &);
+ ~SVGLength();
+
+ unsigned short unitType() const;
+
+ void setValue(float value);
+ float value() const;
+
+ void setValueInSpecifiedUnits(float valueInSpecifiedUnits);
+ float valueInSpecifiedUnits() const;
+
+ void setValueAsString(const DOM::DOMString &);
+ DOM::DOMString valueAsString() const;
+
+ void newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits);
+ void convertToSpecifiedUnits(unsigned short unitType);
+
+ operator float();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGLengthImpl *handle() const { return impl; }
+
+private:
+ SVGLengthImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLengthList.cc b/ksvg/dom/SVGLengthList.cc
new file mode 100644
index 00000000..c308019b
--- /dev/null
+++ b/ksvg/dom/SVGLengthList.cc
@@ -0,0 +1,115 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGLengthList.h"
+#include "SVGLengthListImpl.h"
+#include "SVGLength.h"
+
+using namespace KSVG;
+
+SVGLengthList::SVGLengthList()
+{
+ impl = new SVGLengthListImpl();
+ impl->ref();
+}
+
+SVGLengthList::SVGLengthList(const SVGLengthList &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGLengthList &SVGLengthList::operator=(const SVGLengthList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGLengthList::SVGLengthList(SVGLengthListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGLengthList::~SVGLengthList()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned long SVGLengthList::numberOfItems() const
+{
+ if(!impl) return 0;
+ return impl->numberOfItems();
+}
+
+void SVGLengthList::clear()
+{
+ if(impl)
+ impl->clear();
+}
+
+SVGLength *SVGLengthList::initialize(SVGLength *newItem)
+{
+ if(!impl) return new SVGLength(0);
+ return new SVGLength(impl->initialize(newItem->handle()));
+}
+
+SVGLength *SVGLengthList::getItem(unsigned long index)
+{
+ if(!impl) return new SVGLength(0);
+ return new SVGLength(impl->getItem(index));
+}
+
+SVGLength *SVGLengthList::insertItemBefore(SVGLength *newItem, unsigned long index)
+{
+ if(!impl) return new SVGLength(0);
+ return new SVGLength(impl->insertItemBefore(newItem->handle(), index));
+}
+
+SVGLength *SVGLengthList::replaceItem(SVGLength *newItem, unsigned long index)
+{
+ if(!impl) return new SVGLength(0);
+ return new SVGLength(impl->replaceItem(newItem->handle(), index));
+}
+
+SVGLength *SVGLengthList::removeItem(unsigned long index)
+{
+ if(!impl) return new SVGLength(0);
+ return new SVGLength(impl->removeItem(index));
+}
+
+SVGLength *SVGLengthList::appendItem(SVGLength *newItem)
+{
+ if(!impl) return new SVGLength(0);
+ return new SVGLength(impl->appendItem(newItem->handle()));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLengthList.h b/ksvg/dom/SVGLengthList.h
new file mode 100644
index 00000000..bf4ab633
--- /dev/null
+++ b/ksvg/dom/SVGLengthList.h
@@ -0,0 +1,59 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGLengthList_H
+#define SVGLengthList_H
+
+namespace KSVG
+{
+
+class SVGLength;
+class SVGLengthListImpl;
+class SVGLengthList
+{
+public:
+ SVGLengthList();
+ SVGLengthList(const SVGLengthList &);
+ SVGLengthList &operator=(const SVGLengthList &);
+ SVGLengthList(SVGLengthListImpl *);
+ ~SVGLengthList();
+
+ unsigned long numberOfItems() const;
+ void clear();
+
+ SVGLength *initialize(SVGLength *newItem);
+ SVGLength *getItem(unsigned long index);
+ SVGLength *insertItemBefore(SVGLength *newItem, unsigned long index);
+ SVGLength *replaceItem(SVGLength *newItem, unsigned long index);
+ SVGLength *removeItem(unsigned long index);
+ SVGLength *appendItem(SVGLength *newItem);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGLengthListImpl *handle() const { return impl; }
+
+private:
+ SVGLengthListImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLineElement.cc b/ksvg/dom/SVGLineElement.cc
new file mode 100644
index 00000000..583c3fe3
--- /dev/null
+++ b/ksvg/dom/SVGLineElement.cc
@@ -0,0 +1,98 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <kdebug.h>
+#include "SVGLineElement.h"
+#include "SVGLineElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGLineElement::SVGLineElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGLineElement::SVGLineElement(const SVGLineElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGLineElement &SVGLineElement::operator=(const SVGLineElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGLineElement::SVGLineElement(SVGLineElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGLineElement::~SVGLineElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGLineElement::x1()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x1());
+}
+
+SVGAnimatedLength SVGLineElement::y1()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y1());
+}
+
+SVGAnimatedLength SVGLineElement::x2()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x2());
+}
+
+SVGAnimatedLength SVGLineElement::y2()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y2());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLineElement.h b/ksvg/dom/SVGLineElement.h
new file mode 100644
index 00000000..b08a78ba
--- /dev/null
+++ b/ksvg/dom/SVGLineElement.h
@@ -0,0 +1,126 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; see the file COPYING.LIB. If
+ not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+ Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+
+ $Id$
+ */
+
+#ifndef SVGLineElement_H
+#define SVGLineElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGLineElementImpl;
+
+/**
+ * The <code>line</code> element defines a line segment that starts at
+ * one point and ends at another.
+ *
+ * For more info look here : <a href =
+ * "http://www.w3.org/TR/SVG/shapes.html#CircleElement">9.5 The
+ * 'line' element</a>.
+ */
+class SVGLineElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable
+{
+public:
+ SVGLineElement();
+ SVGLineElement(const SVGLineElement &);
+ SVGLineElement &operator=(const SVGLineElement &other);
+ SVGLineElement(SVGLineElementImpl *);
+ ~SVGLineElement();
+
+ /**
+ * The x-axis coordinate of the start of the line.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x-axis coordinate of the start of the line.
+ */
+ SVGAnimatedLength x1();
+
+ /**
+ * The y-axis coordinate of the start of the line.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y-axis coordinate of the start of the line.
+ */
+ SVGAnimatedLength y1();
+
+ /**
+ * The x-axis coordinate of the end of the line.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x-axis coordinate of the end of the line.
+ */
+ SVGAnimatedLength x2();
+
+ /**
+ * The y-axis coordinate of the end of the line.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y-axis coordinate of the end of the line.
+ */
+ SVGAnimatedLength y2();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGLineElementImpl *handle() const { return impl; }
+
+private:
+ SVGLineElementImpl *impl;
+};
+
+}
+
+#endif
+
+//vim:ts=4:noet
diff --git a/ksvg/dom/SVGLinearGradientElement.cc b/ksvg/dom/SVGLinearGradientElement.cc
new file mode 100644
index 00000000..b3936dc4
--- /dev/null
+++ b/ksvg/dom/SVGLinearGradientElement.cc
@@ -0,0 +1,92 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGLinearGradientElement.h"
+#include "SVGLinearGradientElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGLinearGradientElement::SVGLinearGradientElement() : SVGGradientElement()
+{
+ impl = 0;
+}
+
+SVGLinearGradientElement::SVGLinearGradientElement(const SVGLinearGradientElement &other) : SVGGradientElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGLinearGradientElement &SVGLinearGradientElement::operator =(const SVGLinearGradientElement &other)
+{
+ SVGGradientElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGLinearGradientElement::SVGLinearGradientElement(SVGLinearGradientElementImpl *other) : SVGGradientElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGLinearGradientElement::~SVGLinearGradientElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGLinearGradientElement::x1() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x1());
+}
+
+SVGAnimatedLength SVGLinearGradientElement::y1() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y1());
+}
+
+SVGAnimatedLength SVGLinearGradientElement::x2() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x2());
+}
+
+SVGAnimatedLength SVGLinearGradientElement::y2() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y2());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLinearGradientElement.h b/ksvg/dom/SVGLinearGradientElement.h
new file mode 100644
index 00000000..fe60df89
--- /dev/null
+++ b/ksvg/dom/SVGLinearGradientElement.h
@@ -0,0 +1,141 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGLinearGradientElement_H
+#define SVGLinearGradientElement_H
+
+#include "SVGGradientElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGLinearGradientElementImpl;
+
+/**
+ * <code>linearGradient</code> elements are never rendered directly; their
+ * only usage is as something that can be referenced using the
+ * <code>fill</code> and <code>stroke</code> properties.
+ * The <code>display</code> property does not apply to the
+ * <code>linearGradient</code> element; thus,
+ * <code>linearGradient</code> elements are not directly rendered even if the
+ * <code>display</code> property is set to a value other than none, and
+ * <code>linearGradient</code> elements are available for referencing even when
+ * the <code>display</code> property on the <code>linearGradient</code> element
+ * or any of its ancestors is set to none.
+ *
+ * For more information :
+ * <a href="http://www.w3.org/TR/SVG/pservers.html#LinearGradients">
+ * 13.2.2 Linear gradients</a>
+ *
+ */
+
+class SVGLinearGradientElement : public SVGGradientElement
+{
+public:
+ SVGLinearGradientElement();
+ SVGLinearGradientElement(const SVGLinearGradientElement &other);
+ SVGLinearGradientElement &operator=(const SVGLinearGradientElement &other);
+ SVGLinearGradientElement(SVGLinearGradientElementImpl *other);
+ virtual ~SVGLinearGradientElement();
+
+ /**
+ * x1, y1, x2, y2 define a gradient vector for the linear gradient.
+ * This gradient vector provides starting and ending points onto which the
+ * @ref SVGGradientElement (gradient stops) are mapped. The values of x1,
+ * y1, x2, y2 can be either numbers or percentages.
+ *
+ * If the attribute is not specified, the effect is as if a value of "0%"
+ * were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x1 value
+ */
+ SVGAnimatedLength x1() const;
+
+ /**
+ * x1, y1, x2, y2 define a gradient vector for the linear gradient.
+ * This gradient vector provides starting and ending points onto which the
+ * @ref SVGGradientElement (gradient stops) are mapped. The values of x1,
+ * y1, x2, y2 can be either numbers or percentages.
+ *
+ * If the attribute is not specified, the effect is as if a value of "0%"
+ * were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y1 value
+ */
+ SVGAnimatedLength y1() const;
+
+ /**
+ * x1, y1, x2, y2 define a gradient vector for the linear gradient.
+ * This gradient vector provides starting and ending points onto which the
+ * @ref SVGGradientElement (gradient stops) are mapped. The values of x1,
+ * y1, x2, y2 can be either numbers or percentages.
+ *
+ * If the attribute is not specified, the effect is as if a value of "100%"
+ * were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x2 value
+ */
+ SVGAnimatedLength x2() const;
+
+ /**
+ * x1, y1, x2, y2 define a gradient vector for the linear gradient.
+ * This gradient vector provides starting and ending points onto which the
+ * @ref SVGGradientElement (gradient stops) are mapped. The values of x1,
+ * y1, x2, y2 can be either numbers or percentages.
+ *
+ * If the attribute is not specified, the effect is as if a value of "0%"
+ * were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y2 value
+ */
+ SVGAnimatedLength y2() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGLinearGradientElementImpl *handle() const { return impl; }
+
+private:
+ SVGLinearGradientElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
+
diff --git a/ksvg/dom/SVGLocatable.cc b/ksvg/dom/SVGLocatable.cc
new file mode 100644
index 00000000..62a89e2e
--- /dev/null
+++ b/ksvg/dom/SVGLocatable.cc
@@ -0,0 +1,97 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGLocatable.h"
+#include "SVGLocatableImpl.h"
+#include "SVGElement.h"
+#include "SVGRect.h"
+#include "SVGMatrix.h"
+
+using namespace KSVG;
+
+// This class can't be constructed seperately.
+SVGLocatable::SVGLocatable()
+{
+ impl = 0;
+}
+
+SVGLocatable::SVGLocatable(const SVGLocatable &other)
+{
+ (*this) = other;
+}
+
+SVGLocatable &SVGLocatable::operator=(const SVGLocatable &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGLocatable::SVGLocatable(SVGLocatableImpl *other)
+{
+ impl = other;
+}
+
+SVGLocatable::~SVGLocatable()
+{
+ // We are not allowed to delete 'impl' as it's not refcounted.
+ // delete impl;
+}
+
+SVGElement SVGLocatable::nearestViewportElement() const
+{
+ if(!impl) return SVGElement(0);
+ return impl->nearestViewportElement();
+}
+
+SVGElement SVGLocatable::farthestViewportElement() const
+{
+ if(!impl) return SVGElement(0);
+ return impl->farthestViewportElement();
+}
+
+SVGRect SVGLocatable::getBBox()
+{
+ if(!impl) return SVGRect(0);
+ return SVGRect(impl->getBBox()); // TODO: Check correctness
+}
+
+SVGMatrix SVGLocatable::getCTM()
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->getCTM());
+}
+
+SVGMatrix SVGLocatable::getScreenCTM()
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->getScreenCTM());
+}
+
+SVGMatrix SVGLocatable::getTransformToElement(const SVGElement &element)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->getTransformToElement(element.handle()));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGLocatable.h b/ksvg/dom/SVGLocatable.h
new file mode 100644
index 00000000..ecb93adc
--- /dev/null
+++ b/ksvg/dom/SVGLocatable.h
@@ -0,0 +1,122 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGLocatable_H
+#define SVGLocatable_H
+
+namespace KSVG
+{
+
+class SVGElement;
+class SVGMatrix;
+class SVGRect;
+class SVGLocatableImpl;
+
+/**
+ * Interface SVGLocatable is for all elements which either have a <code>transform</code>
+ * attribute or don't have a <code>transform</code> attribute but whose content can have
+ * a bounding box in current user space.
+ */
+class SVGLocatable
+{
+public:
+ SVGLocatable(const SVGLocatable &other);
+ SVGLocatable &operator=(const SVGLocatable &other);
+ SVGLocatable(SVGLocatableImpl *other);
+ virtual ~SVGLocatable();
+
+ /**
+ * The element which established the current viewport. Often, the nearest
+ * ancestor 'svg' element. Null if the current element is the outermost 'svg' element.
+ */
+ SVGElement nearestViewportElement() const;
+
+ /**
+ * The farthest ancestor 'svg' element. Null if the current element is
+ * the outermost 'svg' element.
+ */
+ SVGElement farthestViewportElement() const;
+
+ /**
+ * Returns the tight bounding box in current user space (i.e., after application of
+ * the <code>transform</code> attribute, if any) on the geometry of all contained graphics
+ * elements, exclusive of stroke-width and filter effects).
+ *
+ * @return An SVGRect object that defines the bounding box.
+ */
+ SVGRect getBBox();
+
+ /**
+ * Returns the transformation matrix from current user units (i.e., after application of
+ * the <code>transform</code> attribute, if any) to the viewport coordinate system for
+ * the nearestViewportElement.
+ *
+ * @return An SVGMatrix object that defines the CTM.
+ */
+ SVGMatrix getCTM();
+
+ /**
+ * Returns the transformation matrix from current user units (i.e., after application of
+ * the <code>transform</code> attribute, if any) to the parent user agent's notice of a "pixel".
+ * For display devices, ideally this represents a physical screen pixel. For other devices or
+ * environments where physical pixel sizes are not known, then an algorithm similar to the
+ * CSS2 definition of a "pixel" can be used instead.
+ *
+ * @return An SVGMatrix object that defines the given transformation matrix.
+ */
+ SVGMatrix getScreenCTM();
+
+ /**
+ * Returns the transformation matrix from the user coordinate system on the current
+ * element (after application of the <code>transform</code> attribute, if any) to the
+ * user coordinate system on parameter element (after application of its
+ * <code>transform</code> attribute, if any).
+ *
+ * @param element The target element.
+ *
+ * @return An SVGMatrix object that defines the transformation.
+ */
+ SVGMatrix getTransformToElement(const SVGElement &element);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGLocatableImpl *handle() const { return impl; }
+
+protected:
+ SVGLocatable();
+
+private:
+ SVGLocatableImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMPathElement.cc b/ksvg/dom/SVGMPathElement.cc
new file mode 100644
index 00000000..6d7a36e4
--- /dev/null
+++ b/ksvg/dom/SVGMPathElement.cc
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGMPathElement.h"
+#include "SVGMPathElementImpl.h"
+
+using namespace KSVG;
+
+SVGMPathElement::SVGMPathElement() : SVGElement(), SVGURIReference(), SVGExternalResourcesRequired()
+{
+ impl = 0;
+}
+
+SVGMPathElement::SVGMPathElement(const SVGMPathElement &other) : SVGElement(other), SVGURIReference(other), SVGExternalResourcesRequired(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGMPathElement &SVGMPathElement::operator =(const SVGMPathElement &other)
+{
+ SVGElement::operator=(other);
+ SVGURIReference::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGMPathElement::SVGMPathElement(SVGMPathElementImpl *other) : SVGElement(other), SVGURIReference(other), SVGExternalResourcesRequired(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGMPathElement::~SVGMPathElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMPathElement.h b/ksvg/dom/SVGMPathElement.h
new file mode 100644
index 00000000..e972e7ca
--- /dev/null
+++ b/ksvg/dom/SVGMPathElement.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGMPathElement_H
+#define SVGMPathElement_H
+
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include "SVGExternalResourcesRequired.h"
+
+namespace KSVG
+{
+
+class SVGMPathElementImpl;
+class SVGMPathElement : public SVGElement,
+ public SVGURIReference,
+ public SVGExternalResourcesRequired
+{
+public:
+ SVGMPathElement();
+ SVGMPathElement(const SVGMPathElement &other);
+ SVGMPathElement &operator=(const SVGMPathElement &other);
+ SVGMPathElement(SVGMPathElementImpl *other);
+ virtual ~SVGMPathElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGMPathElementImpl *handle() const { return impl; }
+
+private:
+ SVGMPathElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMarkerElement.cc b/ksvg/dom/SVGMarkerElement.cc
new file mode 100644
index 00000000..7d7551da
--- /dev/null
+++ b/ksvg/dom/SVGMarkerElement.cc
@@ -0,0 +1,129 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGMarkerElement.h"
+#include "SVGMarkerElementImpl.h"
+#include "SVGAnimatedLength.h"
+#include "SVGAnimatedAngle.h"
+#include "SVGAngle.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGMarkerElement::SVGMarkerElement() : SVGElement(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGFitToViewBox()
+{
+ impl = 0;
+}
+
+SVGMarkerElement::SVGMarkerElement(const SVGMarkerElement &other) : SVGElement(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGFitToViewBox(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGMarkerElement &SVGMarkerElement::operator =(const SVGMarkerElement &other)
+{
+ SVGElement::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGFitToViewBox::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGMarkerElement::SVGMarkerElement(SVGMarkerElementImpl *other) : SVGElement(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGFitToViewBox(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGMarkerElement::~SVGMarkerElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGMarkerElement::refX() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->refX());
+}
+
+SVGAnimatedLength SVGMarkerElement::refY() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->refY());
+}
+
+SVGAnimatedEnumeration SVGMarkerElement::markerUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->markerUnits());
+}
+
+SVGAnimatedLength SVGMarkerElement::markerWidth() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->markerWidth());
+}
+
+SVGAnimatedLength SVGMarkerElement::markerHeight() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->markerHeight());
+}
+
+SVGAnimatedEnumeration SVGMarkerElement::orientType() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->orientType());
+}
+
+SVGAnimatedAngle SVGMarkerElement::orientAngle() const
+{
+ if(!impl) return SVGAnimatedAngle(0);
+ return SVGAnimatedAngle(impl->orientAngle());
+}
+
+void SVGMarkerElement::setOrientToAuto()
+{
+ if(impl)
+ impl->setOrientToAuto();
+}
+
+void SVGMarkerElement::setOrientToAngle(const SVGAngle &angle)
+{
+ if(impl)
+ impl->setOrientToAngle(angle.handle());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMarkerElement.h b/ksvg/dom/SVGMarkerElement.h
new file mode 100644
index 00000000..d2f54904
--- /dev/null
+++ b/ksvg/dom/SVGMarkerElement.h
@@ -0,0 +1,87 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGMarkerElement_H
+#define SVGMarkerElement_H
+
+#include "SVGElement.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGFitToViewBox.h"
+
+namespace KSVG
+{
+
+enum
+{
+ SVG_MARKERUNITS_UNKNOWN = 0,
+ SVG_MARKERUNITS_USERSPACEONUSE = 1,
+ SVG_MARKERUNITS_STROKEWIDTH = 2
+};
+
+enum
+{
+ SVG_MARKER_ORIENT_UNKNOWN = 0,
+ SVG_MARKER_ORIENT_AUTO = 1,
+ SVG_MARKER_ORIENT_ANGLE = 2
+};
+
+class SVGAnimatedLength;
+class SVGAnimatedAngle;
+class SVGAngle;
+class SVGAnimatedEnumeration;
+class SVGMarkerElementImpl;
+class SVGMarkerElement : public SVGElement,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGFitToViewBox
+{
+public:
+ SVGMarkerElement();
+ SVGMarkerElement(const SVGMarkerElement &other);
+ SVGMarkerElement &operator=(const SVGMarkerElement &other);
+ SVGMarkerElement(SVGMarkerElementImpl *other);
+ virtual ~SVGMarkerElement();
+
+ SVGAnimatedLength refX() const;
+ SVGAnimatedLength refY() const;
+ SVGAnimatedEnumeration markerUnits() const;
+ SVGAnimatedLength markerWidth() const;
+ SVGAnimatedLength markerHeight() const;
+ SVGAnimatedEnumeration orientType() const;
+ SVGAnimatedAngle orientAngle() const;
+
+ void setOrientToAuto();
+ void setOrientToAngle(const SVGAngle &angle);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGMarkerElementImpl *handle() const { return impl; }
+
+private:
+ SVGMarkerElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMaskElement.cc b/ksvg/dom/SVGMaskElement.cc
new file mode 100644
index 00000000..c4513adc
--- /dev/null
+++ b/ksvg/dom/SVGMaskElement.cc
@@ -0,0 +1,109 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGMaskElement.h"
+#include "SVGMaskElementImpl.h"
+#include "SVGAnimatedLength.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGMaskElement::SVGMaskElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGUnitTypes()
+{
+ impl = 0;
+}
+
+SVGMaskElement::SVGMaskElement(const SVGMaskElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGUnitTypes(), impl(0)
+{
+ (*this) = other;
+}
+
+SVGMaskElement &SVGMaskElement::operator =(const SVGMaskElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGMaskElement::SVGMaskElement(SVGMaskElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGUnitTypes()
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGMaskElement::~SVGMaskElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedEnumeration SVGMaskElement::maskUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->maskUnits());
+}
+
+SVGAnimatedEnumeration SVGMaskElement::maskContentUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->maskContentUnits());
+}
+
+SVGAnimatedLength SVGMaskElement::x() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGMaskElement::y() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+SVGAnimatedLength SVGMaskElement::width() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->width());
+}
+
+SVGAnimatedLength SVGMaskElement::height() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->height());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMaskElement.h b/ksvg/dom/SVGMaskElement.h
new file mode 100644
index 00000000..6a8e26a4
--- /dev/null
+++ b/ksvg/dom/SVGMaskElement.h
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGMaskElement_H
+#define SVGMaskElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGUnitTypes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedEnumeration;
+class SVGAnimatedLength;
+class SVGMaskElementImpl;
+class SVGMaskElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGUnitTypes
+{
+public:
+ SVGMaskElement();
+ SVGMaskElement(const SVGMaskElement &other);
+ SVGMaskElement &operator=(const SVGMaskElement &other);
+ SVGMaskElement(SVGMaskElementImpl *other);
+ virtual ~SVGMaskElement();
+
+ SVGAnimatedEnumeration maskUnits() const;
+ SVGAnimatedEnumeration maskContentUnits() const;
+ SVGAnimatedLength x() const;
+ SVGAnimatedLength y() const;
+ SVGAnimatedLength width() const;
+ SVGAnimatedLength height() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGMaskElementImpl *handle() const { return impl; }
+
+private:
+ SVGMaskElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMatrix.cc b/ksvg/dom/SVGMatrix.cc
new file mode 100644
index 00000000..30eeda56
--- /dev/null
+++ b/ksvg/dom/SVGMatrix.cc
@@ -0,0 +1,210 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGMatrixImpl.h"
+#include "SVGMatrix.h"
+
+using namespace KSVG;
+
+SVGMatrix::SVGMatrix()
+{
+ impl = new SVGMatrixImpl();
+ impl->ref();
+}
+
+SVGMatrix::SVGMatrix(double a, double b, double c, double d, double e, double f)
+{
+ impl = new SVGMatrixImpl(a, b, c, d, e, f);
+ impl->ref();
+}
+
+SVGMatrix::SVGMatrix(const SVGMatrix &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGMatrix &SVGMatrix::operator=(const SVGMatrix &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGMatrix::SVGMatrix(SVGMatrixImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGMatrix::~SVGMatrix()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGMatrix::setA(const double &a)
+{
+ if(impl)
+ impl->setA(a);
+}
+
+double SVGMatrix::a() const
+{
+ if(!impl) return -1;
+ return impl->a();
+}
+
+void SVGMatrix::setB(const double &b)
+{
+ if(impl)
+ impl->setB(b);
+}
+
+double SVGMatrix::b() const
+{
+ if(!impl) return -1;
+ return impl->b();
+}
+
+void SVGMatrix::setC(const double &c)
+{
+ if(impl)
+ impl->setC(c);
+}
+
+double SVGMatrix::c() const
+{
+ if(!impl) return -1;
+ return impl->c();
+}
+
+void SVGMatrix::setD(const double &d)
+{
+ if(impl)
+ impl->setD(d);
+}
+
+double SVGMatrix::d() const
+{
+ if(!impl) return -1;
+ return impl->d();
+}
+
+void SVGMatrix::setE(const double &e)
+{
+ if(impl)
+ impl->setE(e);
+}
+
+double SVGMatrix::e() const
+{
+ if(!impl) return -1;
+ return impl->e();
+}
+
+void SVGMatrix::setF(const double &f)
+{
+ if(impl)
+ impl->setF(f);
+}
+
+double SVGMatrix::f() const
+{
+ if(!impl) return -1;
+ return impl->f();
+}
+
+SVGMatrix SVGMatrix::multiply(SVGMatrix &secondMatrix)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->multiply(secondMatrix.handle()));
+}
+
+SVGMatrix SVGMatrix::inverse()
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->inverse());
+}
+
+SVGMatrix SVGMatrix::translate(const double &x, const double &y)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->translate(x, y));
+}
+
+SVGMatrix SVGMatrix::scale(const double &scaleFactor)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->scale(scaleFactor));
+}
+
+SVGMatrix SVGMatrix::scaleNonUniform(const double &scaleFactorX, const double &scaleFactorY)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->scaleNonUniform(scaleFactorX, scaleFactorY));
+}
+
+SVGMatrix SVGMatrix::rotate(const double &angle)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->rotate(angle));
+}
+
+SVGMatrix SVGMatrix::rotateFromVector(const double &x, const double &y)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->rotateFromVector(x, y));
+}
+
+SVGMatrix SVGMatrix::flipX()
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->flipX());
+}
+
+SVGMatrix SVGMatrix::flipY()
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->flipY());
+}
+
+SVGMatrix SVGMatrix::skewX(const double &angle)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->skewX(angle));
+}
+
+SVGMatrix SVGMatrix::skewY(const double &angle)
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->skewY(angle));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMatrix.h b/ksvg/dom/SVGMatrix.h
new file mode 100644
index 00000000..caf2b9a8
--- /dev/null
+++ b/ksvg/dom/SVGMatrix.h
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGMatrix_H
+#define SVGMatrix_H
+
+namespace KSVG
+{
+
+class SVGMatrixImpl;
+class SVGMatrix
+{
+public:
+ SVGMatrix();
+ SVGMatrix(double, double, double, double, double, double);
+ SVGMatrix(const SVGMatrix &);
+ SVGMatrix &operator=(const SVGMatrix &);
+ SVGMatrix(SVGMatrixImpl *);
+ ~SVGMatrix();
+
+ void setA(const double &);
+ double a() const;
+
+ void setB(const double &);
+ double b() const;
+
+ void setC(const double &);
+ double c() const;
+
+ void setD(const double &);
+ double d() const;
+
+ void setE(const double &);
+ double e() const;
+
+ void setF(const double &);
+ double f() const;
+
+ SVGMatrix multiply(SVGMatrix &secondMatrix);
+ SVGMatrix inverse();
+ SVGMatrix translate(const double &x, const double &y);
+ SVGMatrix scale(const double &scaleFactor);
+ SVGMatrix scaleNonUniform(const double &scaleFactorX, const double &scaleFactorY);
+ SVGMatrix rotate(const double &angle);
+ SVGMatrix rotateFromVector(const double &x, const double &y);
+ SVGMatrix flipX();
+ SVGMatrix flipY();
+ SVGMatrix skewX(const double &angle);
+ SVGMatrix skewY(const double &angle);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGMatrixImpl *handle() const { return impl; }
+
+private:
+ SVGMatrixImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMetadataElement.cc b/ksvg/dom/SVGMetadataElement.cc
new file mode 100644
index 00000000..e874e95c
--- /dev/null
+++ b/ksvg/dom/SVGMetadataElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGMetadataElement.h"
+#include "SVGMetadataElementImpl.h"
+
+using namespace KSVG;
+
+SVGMetadataElement::SVGMetadataElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGMetadataElement::SVGMetadataElement(const SVGMetadataElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGMetadataElement &SVGMetadataElement::operator =(const SVGMetadataElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGMetadataElement::SVGMetadataElement(SVGMetadataElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGMetadataElement::~SVGMetadataElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMetadataElement.h b/ksvg/dom/SVGMetadataElement.h
new file mode 100644
index 00000000..703e48a6
--- /dev/null
+++ b/ksvg/dom/SVGMetadataElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGMetadataElement_H
+#define SVGMetadataElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGMetadataElementImpl;
+class SVGMetadataElement : public SVGElement
+{
+public:
+ SVGMetadataElement();
+ SVGMetadataElement(const SVGMetadataElement &other);
+ SVGMetadataElement &operator=(const SVGMetadataElement &other);
+ SVGMetadataElement(SVGMetadataElementImpl *other);
+ virtual ~SVGMetadataElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGMetadataElementImpl *handle() const { return impl; }
+
+private:
+ SVGMetadataElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMissingGlyphElement.cc b/ksvg/dom/SVGMissingGlyphElement.cc
new file mode 100644
index 00000000..d9bff554
--- /dev/null
+++ b/ksvg/dom/SVGMissingGlyphElement.cc
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGMissingGlyphElement.h"
+#include "SVGMissingGlyphElementImpl.h"
+
+using namespace KSVG;
+
+SVGMissingGlyphElement::SVGMissingGlyphElement() : SVGElement(), SVGStylable()
+{
+ impl = 0;
+}
+
+SVGMissingGlyphElement::SVGMissingGlyphElement(const SVGMissingGlyphElement &other) : SVGElement(other), SVGStylable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGMissingGlyphElement &SVGMissingGlyphElement::operator =(const SVGMissingGlyphElement &other)
+{
+ SVGElement::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGMissingGlyphElement::SVGMissingGlyphElement(SVGMissingGlyphElementImpl *other) : SVGElement(other), SVGStylable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGMissingGlyphElement::~SVGMissingGlyphElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGMissingGlyphElement.h b/ksvg/dom/SVGMissingGlyphElement.h
new file mode 100644
index 00000000..5b7e6f62
--- /dev/null
+++ b/ksvg/dom/SVGMissingGlyphElement.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGMissingGlyphElement_H
+#define SVGMissingGlyphElement_H
+
+#include "SVGElement.h"
+#include "SVGStylable.h"
+
+namespace KSVG
+{
+
+class SVGMissingGlyphElementImpl;
+class SVGMissingGlyphElement : public SVGElement,
+ public SVGStylable
+{
+public:
+ SVGMissingGlyphElement();
+ SVGMissingGlyphElement(const SVGMissingGlyphElement &other);
+ SVGMissingGlyphElement &operator=(const SVGMissingGlyphElement &other);
+ SVGMissingGlyphElement(SVGMissingGlyphElementImpl *other);
+ virtual ~SVGMissingGlyphElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGMissingGlyphElementImpl *handle() const { return impl; }
+
+private:
+ SVGMissingGlyphElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGNumber.cc b/ksvg/dom/SVGNumber.cc
new file mode 100644
index 00000000..81208987
--- /dev/null
+++ b/ksvg/dom/SVGNumber.cc
@@ -0,0 +1,78 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGNumber.h"
+#include "SVGNumberImpl.h"
+
+using namespace KSVG;
+
+SVGNumber::SVGNumber()
+{
+ impl = new SVGNumberImpl();
+ impl->ref();
+}
+
+SVGNumber::SVGNumber(const SVGNumber &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGNumber &SVGNumber::operator=(const SVGNumber &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGNumber::SVGNumber(SVGNumberImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGNumber::~SVGNumber()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGNumber::setValue(float value)
+{
+ if(impl)
+ impl->setValue(value);
+}
+
+float SVGNumber::value() const
+{
+ if(!impl) return -1;
+ return impl->value();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGNumber.h b/ksvg/dom/SVGNumber.h
new file mode 100644
index 00000000..d3efbe42
--- /dev/null
+++ b/ksvg/dom/SVGNumber.h
@@ -0,0 +1,51 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGNumber_H
+#define SVGNumber_H
+
+namespace KSVG
+{
+
+class SVGNumberImpl;
+class SVGNumber
+{
+public:
+ SVGNumber();
+ SVGNumber(const SVGNumber &);
+ SVGNumber &operator=(const SVGNumber &);
+ SVGNumber(SVGNumberImpl *);
+ ~SVGNumber();
+
+ void setValue(float value);
+ float value() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGNumberImpl *handle() const { return impl; }
+
+private:
+ SVGNumberImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGNumberList.cc b/ksvg/dom/SVGNumberList.cc
new file mode 100644
index 00000000..92adec50
--- /dev/null
+++ b/ksvg/dom/SVGNumberList.cc
@@ -0,0 +1,115 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGNumberList.h"
+#include "SVGNumberListImpl.h"
+#include "SVGNumber.h"
+
+using namespace KSVG;
+
+SVGNumberList::SVGNumberList()
+{
+ impl = new SVGNumberListImpl();
+ impl->ref();
+}
+
+SVGNumberList::SVGNumberList(const SVGNumberList &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGNumberList &SVGNumberList::operator=(const SVGNumberList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGNumberList::SVGNumberList(SVGNumberListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGNumberList::~SVGNumberList()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned long SVGNumberList::numberOfItems() const
+{
+ if(!impl) return 0;
+ return impl->numberOfItems();
+}
+
+void SVGNumberList::clear()
+{
+ if(impl)
+ impl->clear();
+}
+
+SVGNumber *SVGNumberList::initialize(SVGNumber *newItem)
+{
+ if(!impl) return new SVGNumber(0);
+ return new SVGNumber(impl->initialize(newItem->handle()));
+}
+
+SVGNumber *SVGNumberList::getItem(unsigned long index)
+{
+ if(!impl) return new SVGNumber(0);
+ return new SVGNumber(impl->getItem(index));
+}
+
+SVGNumber *SVGNumberList::insertItemBefore(SVGNumber *newItem, unsigned long index)
+{
+ if(!impl) return new SVGNumber(0);
+ return new SVGNumber(impl->insertItemBefore(newItem->handle(), index));
+}
+
+SVGNumber *SVGNumberList::replaceItem(SVGNumber *newItem, unsigned long index)
+{
+ if(!impl) return new SVGNumber(0);
+ return new SVGNumber(impl->replaceItem(newItem->handle(), index));
+}
+
+SVGNumber *SVGNumberList::removeItem(unsigned long index)
+{
+ if(!impl) return new SVGNumber(0);
+ return new SVGNumber(impl->removeItem(index));
+}
+
+SVGNumber *SVGNumberList::appendItem(SVGNumber *newItem)
+{
+ if(!impl) return new SVGNumber(0);
+ return new SVGNumber(impl->appendItem(newItem->handle()));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGNumberList.h b/ksvg/dom/SVGNumberList.h
new file mode 100644
index 00000000..920574d7
--- /dev/null
+++ b/ksvg/dom/SVGNumberList.h
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGNumberList_H
+#define SVGNumberList_H
+
+namespace KSVG
+{
+
+class SVGNumber;
+class SVGNumberListImpl;
+class SVGNumberList
+{
+public:
+ SVGNumberList();
+ SVGNumberList(const SVGNumberList &);
+ SVGNumberList &operator=(const SVGNumberList &);
+ SVGNumberList(SVGNumberListImpl *);
+ ~SVGNumberList();
+
+ unsigned long numberOfItems() const;
+ void clear();
+ SVGNumber *initialize(SVGNumber *newItem);
+ SVGNumber *getItem(unsigned long index);
+ SVGNumber *insertItemBefore(SVGNumber *newItem, unsigned long index);
+ SVGNumber *replaceItem(SVGNumber *newItem, unsigned long index);
+ SVGNumber *removeItem(unsigned long index);
+ SVGNumber *appendItem(SVGNumber *newItem);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGNumberListImpl *handle() const { return impl; }
+
+private:
+ SVGNumberListImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPaint.cc b/ksvg/dom/SVGPaint.cc
new file mode 100644
index 00000000..7e7051d5
--- /dev/null
+++ b/ksvg/dom/SVGPaint.cc
@@ -0,0 +1,93 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPaint.h"
+#include "SVGPaintImpl.h"
+
+using namespace KSVG;
+
+SVGPaint::SVGPaint() : SVGColor()
+{
+ // FIXME: no icc color support...
+ impl = new SVGPaintImpl(0);
+ impl->ref();
+}
+
+SVGPaint::SVGPaint(const SVGPaint &other) : SVGColor(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGPaint &SVGPaint::operator =(const SVGPaint &other)
+{
+ SVGColor::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGPaint::SVGPaint(SVGPaintImpl *other) : SVGColor(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGPaint::~SVGPaint()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned short SVGPaint::paintType() const
+{
+ if(!impl) return SVG_PAINTTYPE_UNKNOWN;
+ return impl->paintType();
+}
+
+DOM::DOMString SVGPaint::uri() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->uri();
+}
+
+void SVGPaint::setUri(const DOM::DOMString &uri)
+{
+ if(impl)
+ impl->setUri(uri);
+}
+
+void SVGPaint::setPaint(unsigned short paintType, const DOM::DOMString &uri, const DOM::DOMString &rgbColor, const DOM::DOMString &iccColor)
+{
+ if(impl)
+ impl->setPaint(paintType, uri, rgbColor, iccColor);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPaint.h b/ksvg/dom/SVGPaint.h
new file mode 100644
index 00000000..84f331fb
--- /dev/null
+++ b/ksvg/dom/SVGPaint.h
@@ -0,0 +1,70 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPaint_H
+#define SVGPaint_H
+
+#include "SVGColor.h"
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+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
+};
+
+class SVGPaintImpl;
+class SVGPaint : public SVGColor
+{
+public:
+ SVGPaint();
+ SVGPaint(const SVGPaint &other);
+ SVGPaint &operator=(const SVGPaint &other);
+ SVGPaint(SVGPaintImpl *other);
+ virtual ~SVGPaint();
+
+ unsigned short paintType() const;
+ DOM::DOMString uri() const;
+ void setUri(const DOM::DOMString &uri);
+ void setPaint(unsigned short paintType, const DOM::DOMString &uri, const DOM::DOMString &rgbColor, const DOM::DOMString &iccColor);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPaintImpl *handle() const { return impl; }
+
+private:
+ SVGPaintImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathElement.cc b/ksvg/dom/SVGPathElement.cc
new file mode 100644
index 00000000..1153cf65
--- /dev/null
+++ b/ksvg/dom/SVGPathElement.cc
@@ -0,0 +1,200 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathElement.h"
+#include "SVGPathElementImpl.h"
+#include "SVGPoint.h"
+#include "SVGPathSegClosePath.h"
+#include "SVGPathSegLineto.h"
+#include "SVGPathSegLinetoHorizontal.h"
+#include "SVGPathSegLinetoVertical.h"
+#include "SVGPathSegMoveto.h"
+#include "SVGPathSegArc.h"
+#include "SVGPathSegCurvetoCubic.h"
+#include "SVGPathSegCurvetoCubicSmooth.h"
+#include "SVGPathSegCurvetoQuadratic.h"
+#include "SVGPathSegCurvetoQuadraticSmooth.h"
+
+using namespace KSVG;
+
+SVGPathElement::SVGPathElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable(), SVGAnimatedPathData()
+{
+ impl = 0;
+}
+
+SVGPathElement::SVGPathElement(const SVGPathElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGAnimatedPathData(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGPathElement &SVGPathElement::operator=(const SVGPathElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGPathElement::SVGPathElement(SVGPathElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGAnimatedPathData(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGPathElement::~SVGPathElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+/*
+SVGAnimatedNumber SVGPathElement::pathLength() const
+{
+ return m_pathLength;
+}
+*/
+
+float SVGPathElement::getTotalLength()
+{
+ return impl->getTotalLength();
+}
+
+SVGPoint SVGPathElement::getPointAtLength(float distance)
+{
+ return SVGPoint(impl->getPointAtLength(distance));
+}
+
+unsigned long SVGPathElement::getPathSegAtLength(float distance)
+{
+ return impl->getPathSegAtLength(distance);
+}
+
+SVGPathSegClosePath SVGPathElement::createSVGPathSegClosePath()
+{
+ return impl->createSVGPathSegClosePath();
+}
+
+SVGPathSegMovetoAbs SVGPathElement::createSVGPathSegMovetoAbs(float x,float y)
+{
+ return impl->createSVGPathSegMovetoAbs(x, y);;
+}
+
+SVGPathSegMovetoRel SVGPathElement::createSVGPathSegMovetoRel(float x,float y)
+{
+ return impl->createSVGPathSegMovetoRel(x, y);
+}
+
+SVGPathSegLinetoAbs SVGPathElement::createSVGPathSegLinetoAbs(float x,float y)
+{
+ return impl->createSVGPathSegLinetoAbs(x, y);
+}
+
+SVGPathSegLinetoRel SVGPathElement::createSVGPathSegLinetoRel(float x,float y)
+{
+ return impl->createSVGPathSegLinetoRel(x, y);
+}
+
+SVGPathSegCurvetoCubicAbs SVGPathElement::createSVGPathSegCurvetoCubicAbs(float x,float y,float x1,float y1,float x2,float y2)
+{
+ return impl->createSVGPathSegCurvetoCubicAbs(x, y, x1, y1, x2, y2);
+}
+
+SVGPathSegCurvetoCubicRel SVGPathElement::createSVGPathSegCurvetoCubicRel(float x,float y,float x1,float y1,float x2,float y2)
+{
+ return impl->createSVGPathSegCurvetoCubicRel(x, y, x1, y1, x2, y2);
+}
+
+SVGPathSegCurvetoQuadraticAbs SVGPathElement::createSVGPathSegCurvetoQuadraticAbs(float x,float y,float x1,float y1)
+{
+ return impl->createSVGPathSegCurvetoQuadraticAbs(x, y, x1, y1);
+}
+
+SVGPathSegCurvetoQuadraticRel SVGPathElement::createSVGPathSegCurvetoQuadraticRel(float x,float y,float x1,float y1)
+{
+ return impl->createSVGPathSegCurvetoQuadraticRel(x, y, x1, y1);
+}
+
+SVGPathSegArcAbs SVGPathElement::createSVGPathSegArcAbs(float x,float y,float r1,float r2,float angle,bool largeArcFlag,bool sweepFlag)
+{
+ return impl->createSVGPathSegArcAbs(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
+}
+
+SVGPathSegArcRel SVGPathElement::createSVGPathSegArcRel(float x,float y,float r1,float r2,float angle,bool largeArcFlag,bool sweepFlag)
+{
+ return impl->createSVGPathSegArcRel(x, y, r1, r2, angle, largeArcFlag, sweepFlag);
+}
+
+SVGPathSegLinetoHorizontalAbs SVGPathElement::createSVGPathSegLinetoHorizontalAbs(float x)
+{
+ return impl->createSVGPathSegLinetoHorizontalAbs(x);
+}
+
+SVGPathSegLinetoHorizontalRel SVGPathElement::createSVGPathSegLinetoHorizontalRel(float x)
+{
+ return impl->createSVGPathSegLinetoHorizontalRel(x);
+}
+
+SVGPathSegLinetoVerticalAbs SVGPathElement::createSVGPathSegLinetoVerticalAbs(float y)
+{
+ return impl->createSVGPathSegLinetoVerticalAbs(y);
+}
+
+SVGPathSegLinetoVerticalRel SVGPathElement::createSVGPathSegLinetoVerticalRel(float y)
+{
+ return impl->createSVGPathSegLinetoVerticalRel(y);
+}
+
+SVGPathSegCurvetoCubicSmoothAbs SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs(float x,float y,float x2,float y2)
+{
+ return impl->createSVGPathSegCurvetoCubicSmoothAbs(x, y, x2, y2);;
+}
+
+SVGPathSegCurvetoCubicSmoothRel SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel(float x,float y,float x2,float y2)
+{
+ return impl->createSVGPathSegCurvetoCubicSmoothRel(x, y, x2, y2);
+}
+
+SVGPathSegCurvetoQuadraticSmoothAbs SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs(float x,float y)
+{
+ return impl->createSVGPathSegCurvetoQuadraticSmoothAbs(x, y);
+}
+
+SVGPathSegCurvetoQuadraticSmoothRel SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel(float x,float y)
+{
+ return impl->createSVGPathSegCurvetoQuadraticSmoothRel(x, y);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathElement.h b/ksvg/dom/SVGPathElement.h
new file mode 100644
index 00000000..fa4cb379
--- /dev/null
+++ b/ksvg/dom/SVGPathElement.h
@@ -0,0 +1,107 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathElement_H
+#define SVGPathElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+#include "SVGAnimatedPathData.h"
+
+namespace KSVG
+{
+
+class SVGPoint;
+class SVGPathSegClosePath;
+class SVGPathSegLinetoAbs;
+class SVGPathSegLinetoRel;
+class SVGPathSegLinetoHorizontalAbs;
+class SVGPathSegLinetoHorizontalRel;
+class SVGPathSegLinetoVerticalAbs;
+class SVGPathSegLinetoVerticalRel;
+class SVGPathSegMovetoAbs;
+class SVGPathSegMovetoRel;
+class SVGPathSegArcAbs;
+class SVGPathSegArcRel;
+class SVGPathSegCurvetoCubicAbs;
+class SVGPathSegCurvetoCubicRel;
+class SVGPathSegCurvetoCubicSmoothAbs;
+class SVGPathSegCurvetoCubicSmoothRel;
+class SVGPathSegCurvetoQuadraticAbs;
+class SVGPathSegCurvetoQuadraticRel;
+class SVGPathSegCurvetoQuadraticSmoothAbs;
+class SVGPathSegCurvetoQuadraticSmoothRel;
+class SVGPathElementImpl;
+class SVGPathElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public SVGAnimatedPathData
+{
+public:
+ SVGPathElement();
+ SVGPathElement(const SVGPathElement &);
+ SVGPathElement &operator=(const SVGPathElement &other);
+ SVGPathElement(SVGPathElementImpl *);
+ ~SVGPathElement();
+
+ //SVGAnimatedNumber pathLength() const;
+ float getTotalLength();
+ SVGPoint getPointAtLength(float distance);
+ unsigned long getPathSegAtLength(float distance);
+
+ SVGPathSegClosePath createSVGPathSegClosePath();
+ SVGPathSegMovetoAbs createSVGPathSegMovetoAbs(float x,float y);
+ SVGPathSegMovetoRel createSVGPathSegMovetoRel(float x,float y);
+ SVGPathSegLinetoAbs createSVGPathSegLinetoAbs(float x,float y);
+ SVGPathSegLinetoRel createSVGPathSegLinetoRel(float x,float y);
+ SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs(float x,float y,float x1,float y1,float x2,float y2);
+ SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel(float x,float y,float x1,float y1,float x2,float y2);
+ SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs(float x,float y,float x1,float y1);
+ SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel(float x,float y,float x1,float y1);
+ SVGPathSegArcAbs createSVGPathSegArcAbs(float x,float y,float r1,float r2,float angle,bool largeArcFlag,bool sweepFlag);
+ SVGPathSegArcRel createSVGPathSegArcRel(float x,float y,float r1,float r2,float angle,bool largeArcFlag,bool sweepFlag);
+ SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs(float x);
+ SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel(float x);
+ SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs(float y);
+ SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel(float y);
+ SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs(float x,float y,float x2,float y2);
+ SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel(float x,float y,float x2,float y2);
+ SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs(float x,float y);
+ SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel(float x,float y);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathElementImpl *handle() const { return impl; }
+
+private:
+ SVGPathElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSeg.cc b/ksvg/dom/SVGPathSeg.cc
new file mode 100644
index 00000000..3fc31148
--- /dev/null
+++ b/ksvg/dom/SVGPathSeg.cc
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSeg.h"
+#include "SVGPathSegImpl.h"
+
+using namespace KSVG;
+
+SVGPathSeg::SVGPathSeg()
+{
+ impl = new SVGPathSegImpl();
+}
+
+SVGPathSeg::SVGPathSeg(const SVGPathSeg &other)
+{
+ impl = other.impl;
+}
+
+SVGPathSeg &SVGPathSeg::operator=(const SVGPathSeg &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ delete impl;
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGPathSeg::SVGPathSeg(SVGPathSegImpl *other)
+{
+ impl = other;
+}
+
+SVGPathSeg::~SVGPathSeg()
+{
+ delete impl;
+}
+
+unsigned short SVGPathSeg::pathSegType() const
+{
+ if(!impl) return PATHSEG_UNKNOWN;
+ return impl->pathSegType();
+}
+
+DOM::DOMString SVGPathSeg::pathSegTypeAsLetter() const
+{
+ if(!impl) return DOM::DOMString("");
+ return impl->pathSegTypeAsLetter();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSeg.h b/ksvg/dom/SVGPathSeg.h
new file mode 100644
index 00000000..f82e3c80
--- /dev/null
+++ b/ksvg/dom/SVGPathSeg.h
@@ -0,0 +1,76 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+#ifndef SVGPathSeg_H
+#define SVGPathSeg_H
+
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+enum
+{
+ PATHSEG_UNKNOWN = 0,
+ PATHSEG_CLOSEPATH = 1,
+ PATHSEG_MOVETO_ABS = 2,
+ PATHSEG_MOVETO_REL = 3,
+ PATHSEG_LINETO_ABS = 4,
+ PATHSEG_LINETO_REL = 5,
+ PATHSEG_CURVETO_CUBIC_ABS = 6,
+ PATHSEG_CURVETO_CUBIC_REL = 7,
+ PATHSEG_CURVETO_QUADRATIC_ABS = 8,
+ PATHSEG_CURVETO_QUADRATIC_REL = 9,
+ PATHSEG_ARC_ABS = 10,
+ PATHSEG_ARC_REL = 11,
+ PATHSEG_LINETO_HORIZONTAL_ABS = 12,
+ PATHSEG_LINETO_HORIZONTAL_REL = 13,
+ PATHSEG_LINETO_VERTICAL_ABS = 14,
+ PATHSEG_LINETO_VERTICAL_REL = 15,
+ PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16,
+ PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17,
+ PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18,
+ PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19
+};
+
+class SVGPathSegImpl;
+class SVGPathSeg
+{
+public:
+ SVGPathSeg();
+ SVGPathSeg(const SVGPathSeg &);
+ SVGPathSeg &operator=(const SVGPathSeg &other);
+ SVGPathSeg(SVGPathSegImpl *);
+ ~SVGPathSeg();
+
+ unsigned short pathSegType() const;
+ DOM::DOMString pathSegTypeAsLetter() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegArc.cc b/ksvg/dom/SVGPathSegArc.cc
new file mode 100644
index 00000000..078137ab
--- /dev/null
+++ b/ksvg/dom/SVGPathSegArc.cc
@@ -0,0 +1,238 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegArc.h"
+#include "SVGPathSegArcImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegArcAbs::SVGPathSegArcAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegArcAbsImpl();
+}
+
+SVGPathSegArcAbs::SVGPathSegArcAbs(const SVGPathSegArcAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegArcAbs::SVGPathSegArcAbs(SVGPathSegArcAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegArcAbs::~SVGPathSegArcAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegArcAbs::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegArcAbs::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegArcAbs::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegArcAbs::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGPathSegArcAbs::setR1(const float &r1)
+{
+ if(impl)
+ impl->setR1(r1);
+}
+
+float SVGPathSegArcAbs::r1() const
+{
+ if(!impl) return -1;
+ return impl->r1();
+}
+
+void SVGPathSegArcAbs::setR2(const float &r2)
+{
+ if(impl)
+ impl->setR2(r2);
+}
+
+float SVGPathSegArcAbs::r2() const
+{
+ if(!impl) return -1;
+ return impl->r2();
+}
+
+void SVGPathSegArcAbs::setAngle(const float &angle)
+{
+ if(impl)
+ impl->setAngle(angle);
+}
+
+float SVGPathSegArcAbs::angle() const
+{
+ if(!impl) return -1;
+ return impl->angle();
+}
+
+void SVGPathSegArcAbs::setLargeArcFlag(bool largeArcFlag)
+{
+ if(impl)
+ impl->setLargeArcFlag(largeArcFlag);
+}
+
+bool SVGPathSegArcAbs::largeArcFlag() const
+{
+ if(!impl) return false;
+ return impl->largeArcFlag();
+}
+
+void SVGPathSegArcAbs::setSweepFlag(bool sweepFlag)
+{
+ if(impl)
+ impl->setSweepFlag(sweepFlag);
+}
+
+bool SVGPathSegArcAbs::sweepFlag() const
+{
+ if(!impl) return false;
+ return impl->sweepFlag();
+}
+
+
+
+
+
+SVGPathSegArcRel::SVGPathSegArcRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegArcRelImpl();
+}
+
+SVGPathSegArcRel::SVGPathSegArcRel(const SVGPathSegArcRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegArcRel::SVGPathSegArcRel(SVGPathSegArcRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegArcRel::~SVGPathSegArcRel()
+{
+ delete impl;
+}
+
+void SVGPathSegArcRel::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegArcRel::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegArcRel::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegArcRel::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGPathSegArcRel::setR1(const float &r1)
+{
+ if(impl)
+ impl->setR1(r1);
+}
+
+float SVGPathSegArcRel::r1() const
+{
+ if(!impl) return -1;
+ return impl->r1();
+}
+
+void SVGPathSegArcRel::setR2(const float &r2)
+{
+ if(impl)
+ impl->setR2(r2);
+}
+
+float SVGPathSegArcRel::r2() const
+{
+ if(!impl) return -1;
+ return impl->r2();
+}
+
+void SVGPathSegArcRel::setAngle(const float &angle)
+{
+ if(impl)
+ impl->setAngle(angle);
+}
+
+float SVGPathSegArcRel::angle() const
+{
+ if(!impl) return -1;
+ return impl->angle();
+}
+
+void SVGPathSegArcRel::setLargeArcFlag(bool largeArcFlag)
+{
+ if(impl)
+ impl->setLargeArcFlag(largeArcFlag);
+}
+
+bool SVGPathSegArcRel::largeArcFlag() const
+{
+ if(!impl) return false;
+ return impl->largeArcFlag();
+}
+
+void SVGPathSegArcRel::setSweepFlag(bool sweepFlag)
+{
+ if(impl)
+ impl->setSweepFlag(sweepFlag);
+}
+
+bool SVGPathSegArcRel::sweepFlag() const
+{
+ if(!impl) return false;
+ return impl->sweepFlag();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegArc.h b/ksvg/dom/SVGPathSegArc.h
new file mode 100644
index 00000000..e9b83786
--- /dev/null
+++ b/ksvg/dom/SVGPathSegArc.h
@@ -0,0 +1,109 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegArc_H
+#define SVGPathSegArc_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegArcAbsImpl;
+class SVGPathSegArcAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegArcAbs();
+ SVGPathSegArcAbs(const SVGPathSegArcAbs &);
+ SVGPathSegArcAbs &operator=(const SVGPathSegArcAbs &other);
+ SVGPathSegArcAbs(SVGPathSegArcAbsImpl *);
+ ~SVGPathSegArcAbs();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ void setR1(const float &);
+ float r1() const;
+
+ void setR2(const float &);
+ float r2() const;
+
+ void setAngle(const float &);
+ float angle() const;
+
+ void setLargeArcFlag(bool);
+ bool largeArcFlag() const;
+
+ void setSweepFlag(bool);
+ bool sweepFlag() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegArcAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegArcAbsImpl *impl;
+};
+
+class SVGPathSegArcRelImpl;
+class SVGPathSegArcRel : public SVGPathSeg
+{
+public:
+ SVGPathSegArcRel();
+ SVGPathSegArcRel(const SVGPathSegArcRel &);
+ SVGPathSegArcRel &operator=(const SVGPathSegArcRel &other);
+ SVGPathSegArcRel(SVGPathSegArcRelImpl *);
+ ~SVGPathSegArcRel();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ void setR1(const float &);
+ float r1() const;
+
+ void setR2(const float &);
+ float r2() const;
+
+ void setAngle(const float &);
+ float angle() const;
+
+ void setLargeArcFlag(bool);
+ bool largeArcFlag() const;
+
+ void setSweepFlag(bool);
+ bool sweepFlag() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegArcRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegArcRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegClosePath.cc b/ksvg/dom/SVGPathSegClosePath.cc
new file mode 100644
index 00000000..d9f33877
--- /dev/null
+++ b/ksvg/dom/SVGPathSegClosePath.cc
@@ -0,0 +1,46 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegClosePath.h"
+#include "SVGPathSegClosePathImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegClosePath::SVGPathSegClosePath() : SVGPathSeg()
+{
+ impl = new SVGPathSegClosePathImpl();
+}
+
+SVGPathSegClosePath::SVGPathSegClosePath(const SVGPathSegClosePath &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegClosePath::SVGPathSegClosePath(SVGPathSegClosePathImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegClosePath::~SVGPathSegClosePath()
+{
+ delete impl;
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegClosePath.h b/ksvg/dom/SVGPathSegClosePath.h
new file mode 100644
index 00000000..a7f32021
--- /dev/null
+++ b/ksvg/dom/SVGPathSegClosePath.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegClosePath_H
+#define SVGPathSegClosePath_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegClosePathImpl;
+class SVGPathSegClosePath : public SVGPathSeg
+{
+public:
+ SVGPathSegClosePath();
+ SVGPathSegClosePath(const SVGPathSegClosePath &);
+ SVGPathSegClosePath &operator=(const SVGPathSegClosePath &other);
+ SVGPathSegClosePath(SVGPathSegClosePathImpl *);
+ ~SVGPathSegClosePath();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegClosePathImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegClosePathImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegCurvetoCubic.cc b/ksvg/dom/SVGPathSegCurvetoCubic.cc
new file mode 100644
index 00000000..bee9ce00
--- /dev/null
+++ b/ksvg/dom/SVGPathSegCurvetoCubic.cc
@@ -0,0 +1,214 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegCurvetoCubic.h"
+#include "SVGPathSegCurvetoCubicImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegCurvetoCubicAbsImpl();
+}
+
+SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs(const SVGPathSegCurvetoCubicAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs(SVGPathSegCurvetoCubicAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegCurvetoCubicAbs::~SVGPathSegCurvetoCubicAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegCurvetoCubicAbs::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegCurvetoCubicAbs::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegCurvetoCubicAbs::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegCurvetoCubicAbs::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGPathSegCurvetoCubicAbs::setX1(const float &x1)
+{
+ if(impl)
+ impl->setX1(x1);
+}
+
+float SVGPathSegCurvetoCubicAbs::x1() const
+{
+ if(!impl) return -1;
+ return impl->x1();
+}
+
+void SVGPathSegCurvetoCubicAbs::setY1(const float &y1)
+{
+ if(impl)
+ impl->setY1(y1);
+}
+
+float SVGPathSegCurvetoCubicAbs::y1() const
+{
+ if(!impl) return -1;
+ return impl->y1();
+}
+
+void SVGPathSegCurvetoCubicAbs::setX2(const float &x2)
+{
+ if(impl)
+ impl->setX2(x2);
+}
+
+float SVGPathSegCurvetoCubicAbs::x2() const
+{
+ if(!impl) return -1;
+ return impl->x2();
+}
+
+void SVGPathSegCurvetoCubicAbs::setY2(const float &y2)
+{
+ if(impl)
+ impl->setY2(y2);
+}
+
+float SVGPathSegCurvetoCubicAbs::y2() const
+{
+ if(!impl) return -1;
+ return impl->y2();
+}
+
+
+
+
+
+SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegCurvetoCubicRelImpl();
+}
+
+SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel(const SVGPathSegCurvetoCubicRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel(SVGPathSegCurvetoCubicRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegCurvetoCubicRel::~SVGPathSegCurvetoCubicRel()
+{
+ delete impl;
+}
+
+void SVGPathSegCurvetoCubicRel::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegCurvetoCubicRel::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegCurvetoCubicRel::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegCurvetoCubicRel::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGPathSegCurvetoCubicRel::setX1(const float &x1)
+{
+ if(impl)
+ impl->setX1(x1);
+}
+
+float SVGPathSegCurvetoCubicRel::x1() const
+{
+ if(!impl) return -1;
+ return impl->x1();
+}
+
+void SVGPathSegCurvetoCubicRel::setY1(const float &y1)
+{
+ if(impl)
+ impl->setY1(y1);
+}
+
+float SVGPathSegCurvetoCubicRel::y1() const
+{
+ if(!impl) return -1;
+ return impl->y1();
+}
+
+void SVGPathSegCurvetoCubicRel::setX2(const float &x2)
+{
+ if(impl)
+ impl->setX2(x2);
+}
+
+float SVGPathSegCurvetoCubicRel::x2() const
+{
+ if(!impl) return -1;
+ return impl->x2();
+}
+
+void SVGPathSegCurvetoCubicRel::setY2(const float &y2)
+{
+ if(impl)
+ impl->setY2(y2);
+}
+
+float SVGPathSegCurvetoCubicRel::y2() const
+{
+ if(!impl) return -1;
+ return impl->y2();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegCurvetoCubic.h b/ksvg/dom/SVGPathSegCurvetoCubic.h
new file mode 100644
index 00000000..99fde23e
--- /dev/null
+++ b/ksvg/dom/SVGPathSegCurvetoCubic.h
@@ -0,0 +1,103 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegCurvetoCubic_H
+#define SVGPathSegCurvetoCubic_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegCurvetoCubicAbsImpl;
+class SVGPathSegCurvetoCubicAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegCurvetoCubicAbs();
+ SVGPathSegCurvetoCubicAbs(const SVGPathSegCurvetoCubicAbs &);
+ SVGPathSegCurvetoCubicAbs &operator=(const SVGPathSegCurvetoCubicAbs &other);
+ SVGPathSegCurvetoCubicAbs(SVGPathSegCurvetoCubicAbsImpl *);
+ ~SVGPathSegCurvetoCubicAbs();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ void setX1(const float &);
+ float x1() const;
+
+ void setY1(const float &);
+ float y1() const;
+
+ void setX2(const float &);
+ float x2() const;
+
+ void setY2(const float &);
+ float y2() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegCurvetoCubicAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegCurvetoCubicAbsImpl *impl;
+};
+
+class SVGPathSegCurvetoCubicRelImpl;
+class SVGPathSegCurvetoCubicRel : public SVGPathSeg
+{
+public:
+ SVGPathSegCurvetoCubicRel();
+ SVGPathSegCurvetoCubicRel(const SVGPathSegCurvetoCubicRel &);
+ SVGPathSegCurvetoCubicRel &operator=(const SVGPathSegCurvetoCubicRel &other);
+ SVGPathSegCurvetoCubicRel(SVGPathSegCurvetoCubicRelImpl *);
+ ~SVGPathSegCurvetoCubicRel();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ void setX1(const float &);
+ float x1() const;
+
+ void setY1(const float &);
+ float y1() const;
+
+ void setX2(const float &);
+ float x2() const;
+
+ void setY2(const float &);
+ float y2() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegCurvetoCubicRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegCurvetoCubicRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegCurvetoCubicSmooth.cc b/ksvg/dom/SVGPathSegCurvetoCubicSmooth.cc
new file mode 100644
index 00000000..5bb9df25
--- /dev/null
+++ b/ksvg/dom/SVGPathSegCurvetoCubicSmooth.cc
@@ -0,0 +1,166 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegCurvetoCubicSmooth.h"
+#include "SVGPathSegCurvetoCubicSmoothImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegCurvetoCubicSmoothAbsImpl();
+}
+
+SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs(const SVGPathSegCurvetoCubicSmoothAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs(SVGPathSegCurvetoCubicSmoothAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegCurvetoCubicSmoothAbs::~SVGPathSegCurvetoCubicSmoothAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegCurvetoCubicSmoothAbs::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegCurvetoCubicSmoothAbs::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegCurvetoCubicSmoothAbs::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegCurvetoCubicSmoothAbs::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGPathSegCurvetoCubicSmoothAbs::setX2(const float &x2)
+{
+ if(impl)
+ impl->setX2(x2);
+}
+
+float SVGPathSegCurvetoCubicSmoothAbs::x2() const
+{
+ if(!impl) return -1;
+ return impl->x2();
+}
+
+void SVGPathSegCurvetoCubicSmoothAbs::setY2(const float &y2)
+{
+ if(impl)
+ impl->setY2(y2);
+}
+
+float SVGPathSegCurvetoCubicSmoothAbs::y2() const
+{
+ if(!impl) return -1;
+ return impl->y2();
+}
+
+
+
+
+
+SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegCurvetoCubicSmoothRelImpl();
+}
+
+SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel(const SVGPathSegCurvetoCubicSmoothRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel(SVGPathSegCurvetoCubicSmoothRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegCurvetoCubicSmoothRel::~SVGPathSegCurvetoCubicSmoothRel()
+{
+ delete impl;
+}
+
+void SVGPathSegCurvetoCubicSmoothRel::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegCurvetoCubicSmoothRel::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegCurvetoCubicSmoothRel::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegCurvetoCubicSmoothRel::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGPathSegCurvetoCubicSmoothRel::setX2(const float &x2)
+{
+ if(impl)
+ impl->setX2(x2);
+}
+
+float SVGPathSegCurvetoCubicSmoothRel::x2() const
+{
+ if(!impl) return -1;
+ return impl->x2();
+}
+
+void SVGPathSegCurvetoCubicSmoothRel::setY2(const float &y2)
+{
+ if(impl)
+ impl->setY2(y2);
+}
+
+float SVGPathSegCurvetoCubicSmoothRel::y2() const
+{
+ if(!impl) return -1;
+ return impl->y2();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegCurvetoCubicSmooth.h b/ksvg/dom/SVGPathSegCurvetoCubicSmooth.h
new file mode 100644
index 00000000..444e54f0
--- /dev/null
+++ b/ksvg/dom/SVGPathSegCurvetoCubicSmooth.h
@@ -0,0 +1,91 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegCurvetoCubicSmooth_H
+#define SVGPathSegCurvetoCubicSmooth_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegCurvetoCubicSmoothAbsImpl;
+class SVGPathSegCurvetoCubicSmoothAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegCurvetoCubicSmoothAbs();
+ SVGPathSegCurvetoCubicSmoothAbs(const SVGPathSegCurvetoCubicSmoothAbs &);
+ SVGPathSegCurvetoCubicSmoothAbs &operator=(const SVGPathSegCurvetoCubicSmoothAbs &other);
+ SVGPathSegCurvetoCubicSmoothAbs(SVGPathSegCurvetoCubicSmoothAbsImpl *);
+ ~SVGPathSegCurvetoCubicSmoothAbs();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ void setX2(const float &);
+ float x2() const;
+
+ void setY2(const float &);
+ float y2() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegCurvetoCubicSmoothAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegCurvetoCubicSmoothAbsImpl *impl;
+};
+
+class SVGPathSegCurvetoCubicSmoothRelImpl;
+class SVGPathSegCurvetoCubicSmoothRel : public SVGPathSeg
+{
+public:
+ SVGPathSegCurvetoCubicSmoothRel();
+ SVGPathSegCurvetoCubicSmoothRel(const SVGPathSegCurvetoCubicSmoothRel &);
+ SVGPathSegCurvetoCubicSmoothRel &operator=(const SVGPathSegCurvetoCubicSmoothRel &other);
+ SVGPathSegCurvetoCubicSmoothRel(SVGPathSegCurvetoCubicSmoothRelImpl *);
+ ~SVGPathSegCurvetoCubicSmoothRel();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ void setX2(const float &);
+ float x2() const;
+
+ void setY2(const float &);
+ float y2() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegCurvetoCubicSmoothRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegCurvetoCubicSmoothRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegCurvetoQuadratic.cc b/ksvg/dom/SVGPathSegCurvetoQuadratic.cc
new file mode 100644
index 00000000..7792db31
--- /dev/null
+++ b/ksvg/dom/SVGPathSegCurvetoQuadratic.cc
@@ -0,0 +1,166 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegCurvetoQuadratic.h"
+#include "SVGPathSegCurvetoQuadraticImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegCurvetoQuadraticAbsImpl();
+}
+
+SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs(const SVGPathSegCurvetoQuadraticAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs(SVGPathSegCurvetoQuadraticAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegCurvetoQuadraticAbs::~SVGPathSegCurvetoQuadraticAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegCurvetoQuadraticAbs::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegCurvetoQuadraticAbs::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegCurvetoQuadraticAbs::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegCurvetoQuadraticAbs::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGPathSegCurvetoQuadraticAbs::setX1(const float &x1)
+{
+ if(impl)
+ impl->setX1(x1);
+}
+
+float SVGPathSegCurvetoQuadraticAbs::x1() const
+{
+ if(!impl) return -1;
+ return impl->x1();
+}
+
+void SVGPathSegCurvetoQuadraticAbs::setY1(const float &y1)
+{
+ if(impl)
+ impl->setY1(y1);
+}
+
+float SVGPathSegCurvetoQuadraticAbs::y1() const
+{
+ if(!impl) return -1;
+ return impl->y1();
+}
+
+
+
+
+
+SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegCurvetoQuadraticRelImpl();
+}
+
+SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel(const SVGPathSegCurvetoQuadraticRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel(SVGPathSegCurvetoQuadraticRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegCurvetoQuadraticRel::~SVGPathSegCurvetoQuadraticRel()
+{
+ delete impl;
+}
+
+void SVGPathSegCurvetoQuadraticRel::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegCurvetoQuadraticRel::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegCurvetoQuadraticRel::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegCurvetoQuadraticRel::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGPathSegCurvetoQuadraticRel::setX1(const float &x1)
+{
+ if(impl)
+ impl->setX1(x1);
+}
+
+float SVGPathSegCurvetoQuadraticRel::x1() const
+{
+ if(!impl) return -1;
+ return impl->x1();
+}
+
+void SVGPathSegCurvetoQuadraticRel::setY1(const float &y1)
+{
+ if(impl)
+ impl->setY1(y1);
+}
+
+float SVGPathSegCurvetoQuadraticRel::y1() const
+{
+ if(!impl) return -1;
+ return impl->y1();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegCurvetoQuadratic.h b/ksvg/dom/SVGPathSegCurvetoQuadratic.h
new file mode 100644
index 00000000..68bb3364
--- /dev/null
+++ b/ksvg/dom/SVGPathSegCurvetoQuadratic.h
@@ -0,0 +1,91 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegCurvetoQuadratic_H
+#define SVGPathSegCurvetoQuadratic_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegCurvetoQuadraticAbsImpl;
+class SVGPathSegCurvetoQuadraticAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegCurvetoQuadraticAbs();
+ SVGPathSegCurvetoQuadraticAbs(const SVGPathSegCurvetoQuadraticAbs &);
+ SVGPathSegCurvetoQuadraticAbs &operator=(const SVGPathSegCurvetoQuadraticAbs &other);
+ SVGPathSegCurvetoQuadraticAbs(SVGPathSegCurvetoQuadraticAbsImpl *);
+ ~SVGPathSegCurvetoQuadraticAbs();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ void setX1(const float &);
+ float x1() const;
+
+ void setY1(const float &);
+ float y1() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegCurvetoQuadraticAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegCurvetoQuadraticAbsImpl *impl;
+};
+
+class SVGPathSegCurvetoQuadraticRelImpl;
+class SVGPathSegCurvetoQuadraticRel : public SVGPathSeg
+{
+public:
+ SVGPathSegCurvetoQuadraticRel();
+ SVGPathSegCurvetoQuadraticRel(const SVGPathSegCurvetoQuadraticRel &);
+ SVGPathSegCurvetoQuadraticRel &operator=(const SVGPathSegCurvetoQuadraticRel &other);
+ SVGPathSegCurvetoQuadraticRel(SVGPathSegCurvetoQuadraticRelImpl *);
+ ~SVGPathSegCurvetoQuadraticRel();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ void setX1(const float &);
+ float x1() const;
+
+ void setY1(const float &);
+ float y1() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegCurvetoQuadraticRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegCurvetoQuadraticRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegCurvetoQuadraticSmooth.cc b/ksvg/dom/SVGPathSegCurvetoQuadraticSmooth.cc
new file mode 100644
index 00000000..35a841c8
--- /dev/null
+++ b/ksvg/dom/SVGPathSegCurvetoQuadraticSmooth.cc
@@ -0,0 +1,118 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegCurvetoQuadraticSmooth.h"
+#include "SVGPathSegCurvetoQuadraticSmoothImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegCurvetoQuadraticSmoothAbsImpl();
+}
+
+SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs(const SVGPathSegCurvetoQuadraticSmoothAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs(SVGPathSegCurvetoQuadraticSmoothAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegCurvetoQuadraticSmoothAbs::~SVGPathSegCurvetoQuadraticSmoothAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegCurvetoQuadraticSmoothAbs::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegCurvetoQuadraticSmoothAbs::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegCurvetoQuadraticSmoothAbs::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegCurvetoQuadraticSmoothAbs::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+
+
+
+
+SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegCurvetoQuadraticSmoothRelImpl();
+}
+
+SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel(const SVGPathSegCurvetoQuadraticSmoothRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel(SVGPathSegCurvetoQuadraticSmoothRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegCurvetoQuadraticSmoothRel::~SVGPathSegCurvetoQuadraticSmoothRel()
+{
+ delete impl;
+}
+
+void SVGPathSegCurvetoQuadraticSmoothRel::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegCurvetoQuadraticSmoothRel::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegCurvetoQuadraticSmoothRel::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegCurvetoQuadraticSmoothRel::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegCurvetoQuadraticSmooth.h b/ksvg/dom/SVGPathSegCurvetoQuadraticSmooth.h
new file mode 100644
index 00000000..e5a2782f
--- /dev/null
+++ b/ksvg/dom/SVGPathSegCurvetoQuadraticSmooth.h
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegCurvetoQuadraticSmooth_H
+#define SVGPathSegCurvetoQuadraticSmooth_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegCurvetoQuadraticSmoothAbsImpl;
+class SVGPathSegCurvetoQuadraticSmoothAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegCurvetoQuadraticSmoothAbs();
+ SVGPathSegCurvetoQuadraticSmoothAbs(const SVGPathSegCurvetoQuadraticSmoothAbs &);
+ SVGPathSegCurvetoQuadraticSmoothAbs &operator=(const SVGPathSegCurvetoQuadraticSmoothAbs &other);
+ SVGPathSegCurvetoQuadraticSmoothAbs(SVGPathSegCurvetoQuadraticSmoothAbsImpl *);
+ ~SVGPathSegCurvetoQuadraticSmoothAbs();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegCurvetoQuadraticSmoothAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegCurvetoQuadraticSmoothAbsImpl *impl;
+};
+
+class SVGPathSegCurvetoQuadraticSmoothRelImpl;
+class SVGPathSegCurvetoQuadraticSmoothRel : public SVGPathSeg
+{
+public:
+ SVGPathSegCurvetoQuadraticSmoothRel();
+ SVGPathSegCurvetoQuadraticSmoothRel(const SVGPathSegCurvetoQuadraticSmoothRel &);
+ SVGPathSegCurvetoQuadraticSmoothRel &operator=(const SVGPathSegCurvetoQuadraticSmoothRel &other);
+ SVGPathSegCurvetoQuadraticSmoothRel(SVGPathSegCurvetoQuadraticSmoothRelImpl *);
+ ~SVGPathSegCurvetoQuadraticSmoothRel();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegCurvetoQuadraticSmoothRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegCurvetoQuadraticSmoothRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegLineto.cc b/ksvg/dom/SVGPathSegLineto.cc
new file mode 100644
index 00000000..faabb04e
--- /dev/null
+++ b/ksvg/dom/SVGPathSegLineto.cc
@@ -0,0 +1,118 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegLineto.h"
+#include "SVGPathSegLinetoImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegLinetoAbs::SVGPathSegLinetoAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegLinetoAbsImpl();
+}
+
+SVGPathSegLinetoAbs::SVGPathSegLinetoAbs(const SVGPathSegLinetoAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegLinetoAbs::SVGPathSegLinetoAbs(SVGPathSegLinetoAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegLinetoAbs::~SVGPathSegLinetoAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegLinetoAbs::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegLinetoAbs::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegLinetoAbs::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegLinetoAbs::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+
+
+
+
+SVGPathSegLinetoRel::SVGPathSegLinetoRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegLinetoRelImpl();
+}
+
+SVGPathSegLinetoRel::SVGPathSegLinetoRel(const SVGPathSegLinetoRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegLinetoRel::SVGPathSegLinetoRel(SVGPathSegLinetoRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegLinetoRel::~SVGPathSegLinetoRel()
+{
+ delete impl;
+}
+
+void SVGPathSegLinetoRel::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegLinetoRel::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegLinetoRel::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegLinetoRel::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegLineto.h b/ksvg/dom/SVGPathSegLineto.h
new file mode 100644
index 00000000..df1b9862
--- /dev/null
+++ b/ksvg/dom/SVGPathSegLineto.h
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegLineto_H
+#define SVGPathSegLineto_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegLinetoAbsImpl;
+class SVGPathSegLinetoAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegLinetoAbs();
+ SVGPathSegLinetoAbs(const SVGPathSegLinetoAbs &);
+ SVGPathSegLinetoAbs &operator=(const SVGPathSegLinetoAbs &other);
+ SVGPathSegLinetoAbs(SVGPathSegLinetoAbsImpl *);
+ ~SVGPathSegLinetoAbs();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegLinetoAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegLinetoAbsImpl *impl;
+};
+
+class SVGPathSegLinetoRelImpl;
+class SVGPathSegLinetoRel : public SVGPathSeg
+{
+public:
+ SVGPathSegLinetoRel();
+ SVGPathSegLinetoRel(const SVGPathSegLinetoRel &);
+ SVGPathSegLinetoRel &operator=(const SVGPathSegLinetoRel &other);
+ SVGPathSegLinetoRel(SVGPathSegLinetoRelImpl *);
+ ~SVGPathSegLinetoRel();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegLinetoRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegLinetoRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegLinetoHorizontal.cc b/ksvg/dom/SVGPathSegLinetoHorizontal.cc
new file mode 100644
index 00000000..22af4e40
--- /dev/null
+++ b/ksvg/dom/SVGPathSegLinetoHorizontal.cc
@@ -0,0 +1,94 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegLinetoHorizontal.h"
+#include "SVGPathSegLinetoHorizontalImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegLinetoHorizontalAbsImpl();
+}
+
+SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs(const SVGPathSegLinetoHorizontalAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs(SVGPathSegLinetoHorizontalAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegLinetoHorizontalAbs::~SVGPathSegLinetoHorizontalAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegLinetoHorizontalAbs::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegLinetoHorizontalAbs::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+
+
+
+
+SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegLinetoHorizontalRelImpl();
+}
+
+SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel(const SVGPathSegLinetoHorizontalRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel(SVGPathSegLinetoHorizontalRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegLinetoHorizontalRel::~SVGPathSegLinetoHorizontalRel()
+{
+ delete impl;
+}
+
+void SVGPathSegLinetoHorizontalRel::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegLinetoHorizontalRel::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegLinetoHorizontal.h b/ksvg/dom/SVGPathSegLinetoHorizontal.h
new file mode 100644
index 00000000..51edd6ff
--- /dev/null
+++ b/ksvg/dom/SVGPathSegLinetoHorizontal.h
@@ -0,0 +1,73 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegLinetoHorizontal_H
+#define SVGPathSegLinetoHorizontal_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegLinetoHorizontalAbsImpl;
+class SVGPathSegLinetoHorizontalAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegLinetoHorizontalAbs();
+ SVGPathSegLinetoHorizontalAbs(const SVGPathSegLinetoHorizontalAbs &);
+ SVGPathSegLinetoHorizontalAbs &operator=(const SVGPathSegLinetoHorizontalAbs &other);
+ SVGPathSegLinetoHorizontalAbs(SVGPathSegLinetoHorizontalAbsImpl *);
+ ~SVGPathSegLinetoHorizontalAbs();
+
+ void setX(const float &);
+ float x() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegLinetoHorizontalAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegLinetoHorizontalAbsImpl *impl;
+};
+
+class SVGPathSegLinetoHorizontalRelImpl;
+class SVGPathSegLinetoHorizontalRel : public SVGPathSeg
+{
+public:
+ SVGPathSegLinetoHorizontalRel();
+ SVGPathSegLinetoHorizontalRel(const SVGPathSegLinetoHorizontalRel &);
+ SVGPathSegLinetoHorizontalRel &operator=(const SVGPathSegLinetoHorizontalRel &other);
+ SVGPathSegLinetoHorizontalRel(SVGPathSegLinetoHorizontalRelImpl *);
+ ~SVGPathSegLinetoHorizontalRel();
+
+ void setX(const float &);
+ float x() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegLinetoHorizontalRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegLinetoHorizontalRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegLinetoVertical.cc b/ksvg/dom/SVGPathSegLinetoVertical.cc
new file mode 100644
index 00000000..86e0c33e
--- /dev/null
+++ b/ksvg/dom/SVGPathSegLinetoVertical.cc
@@ -0,0 +1,94 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegLinetoVertical.h"
+#include "SVGPathSegLinetoVerticalImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegLinetoVerticalAbsImpl();
+}
+
+SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs(const SVGPathSegLinetoVerticalAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs(SVGPathSegLinetoVerticalAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegLinetoVerticalAbs::~SVGPathSegLinetoVerticalAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegLinetoVerticalAbs::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegLinetoVerticalAbs::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+
+
+
+
+SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegLinetoVerticalRelImpl();
+}
+
+SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel(const SVGPathSegLinetoVerticalRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel(SVGPathSegLinetoVerticalRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegLinetoVerticalRel::~SVGPathSegLinetoVerticalRel()
+{
+ delete impl;
+}
+
+void SVGPathSegLinetoVerticalRel::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegLinetoVerticalRel::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegLinetoVertical.h b/ksvg/dom/SVGPathSegLinetoVertical.h
new file mode 100644
index 00000000..05e516a7
--- /dev/null
+++ b/ksvg/dom/SVGPathSegLinetoVertical.h
@@ -0,0 +1,73 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegLinetoVertical_H
+#define SVGPathSegLinetoVertical_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegLinetoVerticalAbsImpl;
+class SVGPathSegLinetoVerticalAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegLinetoVerticalAbs();
+ SVGPathSegLinetoVerticalAbs(const SVGPathSegLinetoVerticalAbs &);
+ SVGPathSegLinetoVerticalAbs &operator=(const SVGPathSegLinetoVerticalAbs &other);
+ SVGPathSegLinetoVerticalAbs(SVGPathSegLinetoVerticalAbsImpl *);
+ ~SVGPathSegLinetoVerticalAbs();
+
+ void setY(const float &);
+ float y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegLinetoVerticalAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegLinetoVerticalAbsImpl *impl;
+};
+
+class SVGPathSegLinetoVerticalRelImpl;
+class SVGPathSegLinetoVerticalRel : public SVGPathSeg
+{
+public:
+ SVGPathSegLinetoVerticalRel();
+ SVGPathSegLinetoVerticalRel(const SVGPathSegLinetoVerticalRel &);
+ SVGPathSegLinetoVerticalRel &operator=(const SVGPathSegLinetoVerticalRel &other);
+ SVGPathSegLinetoVerticalRel(SVGPathSegLinetoVerticalRelImpl *);
+ ~SVGPathSegLinetoVerticalRel();
+
+ void setY(const float &);
+ float y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegLinetoVerticalRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegLinetoVerticalRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegList.cc b/ksvg/dom/SVGPathSegList.cc
new file mode 100644
index 00000000..e653adc6
--- /dev/null
+++ b/ksvg/dom/SVGPathSegList.cc
@@ -0,0 +1,114 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegList.h"
+#include "SVGPathSegListImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegList::SVGPathSegList()
+{
+ impl = new SVGPathSegListImpl();
+ impl->ref();
+}
+
+SVGPathSegList::SVGPathSegList(const SVGPathSegList &other)
+{
+ (*this) = other;
+}
+
+SVGPathSegList &SVGPathSegList::operator=(const SVGPathSegList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGPathSegList::SVGPathSegList(SVGPathSegListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGPathSegList::~SVGPathSegList()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned long SVGPathSegList::numberOfItems() const
+{
+ if(!impl) return 0;
+ return impl->numberOfItems();
+}
+
+void SVGPathSegList::clear()
+{
+ if(impl)
+ impl->clear();
+}
+
+SVGPathSeg *SVGPathSegList::initialize(SVGPathSeg *newItem)
+{
+ if(!impl) return new SVGPathSeg(0);
+ return new SVGPathSeg(impl->initialize(newItem->handle()));
+}
+
+SVGPathSeg *SVGPathSegList::getItem(unsigned long index)
+{
+ if(!impl) return new SVGPathSeg(0);
+ return new SVGPathSeg(impl->getItem(index));
+}
+
+SVGPathSeg *SVGPathSegList::insertItemBefore(SVGPathSeg *newItem, unsigned long index)
+{
+ if(!impl) return new SVGPathSeg(0);
+ return new SVGPathSeg(impl->insertItemBefore(newItem->handle(), index));
+}
+
+SVGPathSeg *SVGPathSegList::replaceItem(SVGPathSeg *newItem, unsigned long index)
+{
+ if(!impl) return new SVGPathSeg(0);
+ return new SVGPathSeg(impl->replaceItem(newItem->handle(), index));
+}
+
+SVGPathSeg *SVGPathSegList::removeItem(unsigned long index)
+{
+ if(!impl) return new SVGPathSeg(0);
+ return new SVGPathSeg(impl->removeItem(index));
+}
+
+SVGPathSeg *SVGPathSegList::appendItem(SVGPathSeg *newItem)
+{
+ if(!impl) return new SVGPathSeg(0);
+ return new SVGPathSeg(impl->appendItem(newItem->handle()));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegList.h b/ksvg/dom/SVGPathSegList.h
new file mode 100644
index 00000000..b9feca72
--- /dev/null
+++ b/ksvg/dom/SVGPathSegList.h
@@ -0,0 +1,59 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegList_H
+#define SVGPathSegList_H
+
+namespace KSVG
+{
+
+class SVGPathSeg;
+class SVGPathSegListImpl;
+class SVGPathSegList
+{
+public:
+ SVGPathSegList();
+ SVGPathSegList(const SVGPathSegList &);
+ SVGPathSegList &operator=(const SVGPathSegList &other);
+ SVGPathSegList(SVGPathSegListImpl *);
+ ~SVGPathSegList();
+
+ unsigned long numberOfItems() const;
+ void clear();
+
+ SVGPathSeg *initialize(SVGPathSeg *newItem);
+ SVGPathSeg *getItem(unsigned long index);
+ SVGPathSeg *insertItemBefore(SVGPathSeg *newItem, unsigned long index);
+ SVGPathSeg *replaceItem(SVGPathSeg *newItem, unsigned long index);
+ SVGPathSeg *removeItem(unsigned long index);
+ SVGPathSeg *appendItem(SVGPathSeg *newItem);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegListImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegListImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegMoveto.cc b/ksvg/dom/SVGPathSegMoveto.cc
new file mode 100644
index 00000000..c5a1dac0
--- /dev/null
+++ b/ksvg/dom/SVGPathSegMoveto.cc
@@ -0,0 +1,118 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPathSegMoveto.h"
+#include "SVGPathSegMovetoImpl.h"
+
+using namespace KSVG;
+
+SVGPathSegMovetoAbs::SVGPathSegMovetoAbs() : SVGPathSeg()
+{
+ impl = new SVGPathSegMovetoAbsImpl();
+}
+
+SVGPathSegMovetoAbs::SVGPathSegMovetoAbs(const SVGPathSegMovetoAbs &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegMovetoAbs::SVGPathSegMovetoAbs(SVGPathSegMovetoAbsImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegMovetoAbs::~SVGPathSegMovetoAbs()
+{
+ delete impl;
+}
+
+void SVGPathSegMovetoAbs::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegMovetoAbs::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegMovetoAbs::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegMovetoAbs::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+
+
+
+
+SVGPathSegMovetoRel::SVGPathSegMovetoRel() : SVGPathSeg()
+{
+ impl = new SVGPathSegMovetoRelImpl();
+}
+
+SVGPathSegMovetoRel::SVGPathSegMovetoRel(const SVGPathSegMovetoRel &other) : SVGPathSeg(other)
+{
+ impl = other.impl;
+}
+
+SVGPathSegMovetoRel::SVGPathSegMovetoRel(SVGPathSegMovetoRelImpl *other) : SVGPathSeg(other)
+{
+ impl = other;
+}
+
+SVGPathSegMovetoRel::~SVGPathSegMovetoRel()
+{
+ delete impl;
+}
+
+void SVGPathSegMovetoRel::setX(const float &x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPathSegMovetoRel::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPathSegMovetoRel::setY(const float &y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPathSegMovetoRel::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPathSegMoveto.h b/ksvg/dom/SVGPathSegMoveto.h
new file mode 100644
index 00000000..874443c3
--- /dev/null
+++ b/ksvg/dom/SVGPathSegMoveto.h
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPathSegMoveto_H
+#define SVGPathSegMoveto_H
+
+#include "SVGPathSeg.h"
+
+namespace KSVG
+{
+
+class SVGPathSegMovetoAbsImpl;
+class SVGPathSegMovetoAbs : public SVGPathSeg
+{
+public:
+ SVGPathSegMovetoAbs();
+ SVGPathSegMovetoAbs(const SVGPathSegMovetoAbs &);
+ SVGPathSegMovetoAbs &operator=(const SVGPathSegMovetoAbs &other);
+ SVGPathSegMovetoAbs(SVGPathSegMovetoAbsImpl *);
+ ~SVGPathSegMovetoAbs();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegMovetoAbsImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegMovetoAbsImpl *impl;
+};
+
+class SVGPathSegMovetoRelImpl;
+class SVGPathSegMovetoRel : public SVGPathSeg
+{
+public:
+ SVGPathSegMovetoRel();
+ SVGPathSegMovetoRel(const SVGPathSegMovetoRel &);
+ SVGPathSegMovetoRel &operator=(const SVGPathSegMovetoRel &other);
+ SVGPathSegMovetoRel(SVGPathSegMovetoRelImpl *);
+ ~SVGPathSegMovetoRel();
+
+ void setX(const float &);
+ float x() const;
+
+ void setY(const float &);
+ float y() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPathSegMovetoRelImpl *handle() const { return impl; }
+
+private:
+ SVGPathSegMovetoRelImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPatternElement.cc b/ksvg/dom/SVGPatternElement.cc
new file mode 100644
index 00000000..fc387a97
--- /dev/null
+++ b/ksvg/dom/SVGPatternElement.cc
@@ -0,0 +1,117 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPatternElement.h"
+#include "SVGPatternElementImpl.h"
+#include "SVGAnimatedTransformList.h"
+#include "SVGAnimatedLength.h"
+#include "SVGAnimatedEnumeration.h"
+
+using namespace KSVG;
+
+SVGPatternElement::SVGPatternElement() : SVGElement(), SVGURIReference(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGFitToViewBox(), SVGUnitTypes()
+{
+ impl = 0;
+}
+
+SVGPatternElement::SVGPatternElement(const SVGPatternElement &other) : SVGElement(other), SVGURIReference(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGFitToViewBox(other), SVGUnitTypes(), impl(0)
+{
+ (*this) = other;
+}
+
+SVGPatternElement &SVGPatternElement::operator =(const SVGPatternElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGFitToViewBox::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGPatternElement::SVGPatternElement(SVGPatternElementImpl *other) : SVGElement(other), SVGURIReference(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGFitToViewBox(other), SVGUnitTypes()
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGPatternElement::~SVGPatternElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedEnumeration SVGPatternElement::patternUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->patternUnits());
+}
+
+SVGAnimatedEnumeration SVGPatternElement::patternContentUnits() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->patternContentUnits());
+}
+
+SVGAnimatedTransformList SVGPatternElement::patternTransform() const
+{
+ if(!impl) return SVGAnimatedTransformList(0);
+ return SVGAnimatedTransformList(impl->patternTransform());
+}
+
+SVGAnimatedLength SVGPatternElement::x() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGPatternElement::y() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+SVGAnimatedLength SVGPatternElement::width() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->width());
+}
+
+SVGAnimatedLength SVGPatternElement::height() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->height());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPatternElement.h b/ksvg/dom/SVGPatternElement.h
new file mode 100644
index 00000000..9caf5c14
--- /dev/null
+++ b/ksvg/dom/SVGPatternElement.h
@@ -0,0 +1,188 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGPatternElement_H
+#define SVGPatternElement_H
+
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGFitToViewBox.h"
+#include "SVGUnitTypes.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedEnumeration;
+class SVGAnimatedTransformList;
+class SVGAnimatedLength;
+class SVGPatternElementImpl;
+
+/**
+ * A pattern is used to fill or stroke an object using a pre-defined graphic object which can be
+ * replicated ("tiled") at fixed intervals in x and y to cover the areas to be painted.
+ *
+ * Patterns are defined using a 'pattern' element and then referenced by properties 'fill' and 'stroke'
+ * on a given graphics element to indicate that the given element shall be filled or stroked with the
+ * referenced pattern.
+ */
+class SVGPatternElement : public SVGElement,
+ public SVGURIReference,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGFitToViewBox,
+ public SVGUnitTypes
+{
+public:
+ SVGPatternElement();
+ SVGPatternElement(const SVGPatternElement &other);
+ SVGPatternElement &operator=(const SVGPatternElement &other);
+ SVGPatternElement(SVGPatternElementImpl *other);
+ virtual ~SVGPatternElement();
+
+ /**
+ * Defines the coordinate system for attributes <code>x</code>, <code>y</code>, <code>width</code>, <code>height</code>.
+ * If patternUnits="userSpaceOnUse", <code>x</code>, <code>y</code>, <code>width</code>, <code>height</code> represent
+ * values in the coordinate system that results from taking the current user coordinate system in place at the time when
+ * the 'pattern' element is referenced (i.e., the user coordinate system for the element referencing the 'pattern' element
+ * via a 'fill' or 'stroke' property) and then applying the transform specified by attribute patternTransform.
+ * If patternUnits="objectBoundingBox", the user coordinate system for attributes <code>x</code>, <code>y</code>, <code>width</code>,
+ * <code>height</code> is established using the bounding box of the element to which the pattern is applied and then applying
+ * the transform specified by attribute <code>patternTransform</code>.
+ * If attribute <code>patternUnits</code> is not specified, then the effect is as if a value of objectBoundingBox were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The current target coordinate system mode.
+ */
+ SVGAnimatedEnumeration patternUnits() const;
+
+ /**
+ * Defines the coordinate system for the contents of the 'pattern'. Note that this attribute has no effect
+ * if attribute <code>viewBox</code> is specified.
+ * If patternContentUnits="userSpaceOnUse", the user coordinate system for the contents of the 'pattern' element
+ * is the coordinate system that results from taking the current user coordinate system in place at the time
+ * when the 'pattern' element is referenced (i.e., the user coordinate system for the element referencing the
+ * 'pattern' element via a 'fill' or 'stroke' property) and then applying the transform specified by attribute
+ * <code>patternTransform</code>.
+ * If patternContentUnits="objectBoundingBox", the user coordinate system for the contents of the 'pattern' element
+ * is established using the bounding box of the element to which the pattern is applied and then applying the
+ * transform specified by attribute <code>patternTransform</code>.
+ * If attribute <code>patternContentUnits</code> is not specified, then the effect is as if a value of
+ * userSpaceOnUse were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The current content coordinate system mode.
+ */
+ SVGAnimatedEnumeration patternContentUnits() const;
+
+ /**
+ * Contains the definition of an optional additional transformation from the pattern coordinate
+ * system onto the target coordinate system (i.e., userSpaceOnUse or objectBoundingBox).
+ * This allows for things such as skewing the pattern tiles. This additional transformation
+ * matrix is post-multiplied to (i.e., inserted to the right of) any previously defined
+ * transformations, including the implicit transformation necessary to convert from object
+ * bounding box units to user space.
+ * If attribute <code>patternTransform</code> is not specified, then the effect is as if an identity transform
+ * were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The transformation list that is applied to the pattern tile.
+ */
+ SVGAnimatedTransformList patternTransform() const;
+
+ /**
+ * The attributes <code>x</code>, <code>y</code>, <code>width</code>, <code>height</code>
+ * indicate how the pattern tiles are placed and spaced.
+ * These attributes represent coordinates and values in the coordinate space specified by
+ * the combination of attributes <code>patternUnits</code> and <code>patternTransform</code>.
+ * If the attribute is not specified, the effect is as if a value of zero were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x-axis coordinate of the pattern tile.
+ */
+ SVGAnimatedLength x() const;
+
+ /**
+ * @see x
+ * If the attribute is not specified, the effect is as if a value of zero were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y-axis coordinate of the pattern tile.
+ */
+ SVGAnimatedLength y() const;
+
+ /**
+ * @see x
+ * A negative value is an error. A value of zero disables rendering of
+ * the element (i.e., no paint is applied).
+ *
+ * If the attribute is not specified, the effect is as if a value of zero were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The width of the pattern tile.
+ */
+ SVGAnimatedLength width() const;
+
+ /**
+ * @see x
+ * A negative value is an error. A value of zero disables rendering of
+ * the element (i.e., no paint is applied).
+ *
+ * If the attribute is not specified, the effect is as if a value of zero were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The height coordinate of the pattern tile.
+ */
+ SVGAnimatedLength height() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPatternElementImpl *handle() const { return impl; }
+
+private:
+ SVGPatternElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPoint.cc b/ksvg/dom/SVGPoint.cc
new file mode 100644
index 00000000..ac194e7e
--- /dev/null
+++ b/ksvg/dom/SVGPoint.cc
@@ -0,0 +1,97 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPoint.h"
+#include "SVGMatrix.h"
+#include "SVGPointImpl.h"
+
+using namespace KSVG;
+
+SVGPoint::SVGPoint()
+{
+ impl = new SVGPointImpl();
+ impl->ref();
+}
+
+SVGPoint::SVGPoint(const SVGPoint &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGPoint &SVGPoint::operator=(const SVGPoint &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGPoint::SVGPoint(SVGPointImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGPoint::~SVGPoint()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGPoint::setX(float x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGPoint::x()
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGPoint::setY(float y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGPoint::y()
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+SVGPoint SVGPoint::matrixTransform(SVGMatrix &matrix)
+{
+ if(!impl) return SVGPoint(0);
+ return SVGPoint(impl->matrixTransform(*matrix.handle()));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPoint.h b/ksvg/dom/SVGPoint.h
new file mode 100644
index 00000000..84b38e86
--- /dev/null
+++ b/ksvg/dom/SVGPoint.h
@@ -0,0 +1,57 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPoint_H
+#define SVGPoint_H
+
+namespace KSVG
+{
+
+class SVGMatrix;
+class SVGPointImpl;
+class SVGPoint
+{
+public:
+ SVGPoint();
+ SVGPoint(const SVGPoint &);
+ SVGPoint &operator=(const SVGPoint &);
+ SVGPoint(SVGPointImpl *);
+ ~SVGPoint();
+
+ void setX(float x);
+ float x();
+
+ void setY(float y);
+ float y();
+
+ SVGPoint matrixTransform(SVGMatrix &matrix);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPointImpl *handle() const { return impl; }
+
+private:
+ SVGPointImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPointList.cc b/ksvg/dom/SVGPointList.cc
new file mode 100644
index 00000000..963b1c60
--- /dev/null
+++ b/ksvg/dom/SVGPointList.cc
@@ -0,0 +1,114 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPoint.h"
+#include "SVGPointImpl.h"
+#include "SVGPointList.h"
+#include "SVGPointListImpl.h"
+
+using namespace KSVG;
+
+SVGPointList::SVGPointList()
+{
+ impl = new SVGPointListImpl();
+ impl->ref();
+}
+
+SVGPointList::SVGPointList(const SVGPointList &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGPointList &SVGPointList::operator=(const SVGPointList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGPointList::SVGPointList(SVGPointListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGPointList::~SVGPointList()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned long SVGPointList::numberOfItems() const
+{
+ if(!impl) return 0;
+ return impl->numberOfItems();
+}
+
+void SVGPointList::clear()
+{
+ if(impl)
+ impl->clear();
+}
+
+SVGPoint *SVGPointList::initialize(SVGPoint *newItem)
+{
+ if(!impl) return new SVGPoint(0);
+ return new SVGPoint(impl->initialize(newItem->handle()));
+}
+
+SVGPoint *SVGPointList::getItem(unsigned long index)
+{
+ if(!impl) return new SVGPoint(0);
+ return new SVGPoint(impl->getItem(index));
+}
+
+SVGPoint *SVGPointList::insertItemBefore(SVGPoint *newItem, unsigned long index)
+{
+ if(!impl) return new SVGPoint(0);
+ return new SVGPoint(impl->insertItemBefore(newItem->handle(), index));
+}
+
+SVGPoint *SVGPointList::replaceItem(SVGPoint *newItem, unsigned long index)
+{
+ if(!impl) return new SVGPoint(0);
+ return new SVGPoint(impl->replaceItem(newItem->handle(), index));
+}
+
+SVGPoint *SVGPointList::removeItem(unsigned long index)
+{
+ if(!impl) return new SVGPoint(0);
+ return new SVGPoint(impl->removeItem(index));
+}
+
+SVGPoint *SVGPointList::appendItem(SVGPoint *newItem)
+{
+ if(!impl) return new SVGPoint(0);
+ return new SVGPoint(impl->appendItem(newItem->handle()));
+}
diff --git a/ksvg/dom/SVGPointList.h b/ksvg/dom/SVGPointList.h
new file mode 100644
index 00000000..cfdec4c5
--- /dev/null
+++ b/ksvg/dom/SVGPointList.h
@@ -0,0 +1,57 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPointList_H
+#define SVGPointList_H
+
+namespace KSVG
+{
+
+class SVGPoint;
+class SVGPointListImpl;
+class SVGPointList
+{
+public:
+ SVGPointList();
+ SVGPointList(const SVGPointList &);
+ SVGPointList &operator=(const SVGPointList &);
+ SVGPointList(SVGPointListImpl *);
+ ~SVGPointList();
+
+ unsigned long numberOfItems() const;
+ void clear();
+
+ SVGPoint *initialize(SVGPoint *newItem);
+ SVGPoint *getItem(unsigned long index);
+ SVGPoint *insertItemBefore(SVGPoint *newItem, unsigned long index);
+ SVGPoint *replaceItem(SVGPoint *newItem, unsigned long index);
+ SVGPoint *removeItem(unsigned long index);
+ SVGPoint *appendItem(SVGPoint *newItem);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPointListImpl *handle() const { return impl; }
+
+private:
+ SVGPointListImpl *impl;
+};
+
+}
+
+#endif
diff --git a/ksvg/dom/SVGPolygonElement.cc b/ksvg/dom/SVGPolygonElement.cc
new file mode 100644
index 00000000..043c19df
--- /dev/null
+++ b/ksvg/dom/SVGPolygonElement.cc
@@ -0,0 +1,84 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <kdebug.h>
+#include "SVGPolygonElement.h"
+#include "SVGPolygonElementImpl.h"
+#include "SVGPointList.h"
+
+using namespace KSVG;
+
+SVGPolygonElement::SVGPolygonElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable(), SVGAnimatedPoints()
+{
+ impl = 0;
+}
+
+SVGPolygonElement::SVGPolygonElement(const SVGPolygonElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGAnimatedPoints(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGPolygonElement &SVGPolygonElement::operator=(const SVGPolygonElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+ SVGAnimatedPoints::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+ return *this;
+}
+
+SVGPolygonElement::SVGPolygonElement(SVGPolygonElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGAnimatedPoints(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGPolygonElement::~SVGPolygonElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGPointList SVGPolygonElement::points()
+{
+ if(!impl) return SVGPointList(0);
+ return SVGPointList(impl->points());
+}
+
+SVGPointList SVGPolygonElement::animatedPoints()
+{
+ if(!impl) return SVGPointList(0);
+ return SVGPointList(impl->animatedPoints());
+}
diff --git a/ksvg/dom/SVGPolygonElement.h b/ksvg/dom/SVGPolygonElement.h
new file mode 100644
index 00000000..526e9815
--- /dev/null
+++ b/ksvg/dom/SVGPolygonElement.h
@@ -0,0 +1,106 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; see the file COPYING.LIB. If
+ not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+ Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+
+ $Id$
+ */
+
+#ifndef SVGPolygonElement_H
+#define SVGPolygonElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+#include "SVGAnimatedPoints.h"
+
+namespace KSVG
+{
+
+class SVGPointList;
+class SVGPolygonElementImpl;
+
+/**
+ * The <code>polygon</code> element defines a closed shape consisting
+ * of connected straight line segments.
+ *
+ * For more info look here : <a href =
+ * "http://www.w3.org/TR/SVG/shapes.html#PolylineElement">9.7 The
+ * 'polygon' element</a>.
+ */
+class SVGPolygonElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public SVGAnimatedPoints
+{
+public:
+ SVGPolygonElement();
+ SVGPolygonElement(const SVGPolygonElement &);
+ SVGPolygonElement &operator=(const SVGPolygonElement &);
+ SVGPolygonElement(SVGPolygonElementImpl *);
+ ~SVGPolygonElement();
+
+ /**
+ * Provides access to the base (i.e., static) contents of the
+ * points attribute.
+ *
+ * @return A static list of the polygons points
+ */
+ SVGPointList points();
+
+ /**
+ * Provides access to the current animated contents of the points
+ * attribute.
+ * If the given attribute or property is being animated, contains
+ * the current animated value of the attribute or property.
+ * If the given attribute or property is not currently being
+ * animated, contains the same value as <code>points</code>'.
+ *
+ * This attribute is animatable.
+ *
+ * @return A list of the polygons points
+ */
+ SVGPointList animatedPoints();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPolygonElementImpl *handle() const { return impl; }
+
+private:
+ SVGPolygonElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPolylineElement.cc b/ksvg/dom/SVGPolylineElement.cc
new file mode 100644
index 00000000..789c5847
--- /dev/null
+++ b/ksvg/dom/SVGPolylineElement.cc
@@ -0,0 +1,85 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <kdebug.h>
+#include "SVGPolylineElement.h"
+#include "SVGPolylineElementImpl.h"
+#include "SVGPointList.h"
+
+using namespace KSVG;
+
+SVGPolylineElement::SVGPolylineElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable(), SVGAnimatedPoints()
+{
+ impl = 0;
+}
+
+SVGPolylineElement::SVGPolylineElement(const SVGPolylineElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGAnimatedPoints(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGPolylineElement &SVGPolylineElement::operator=(const SVGPolylineElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+ SVGAnimatedPoints::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGPolylineElement::SVGPolylineElement(SVGPolylineElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGAnimatedPoints(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGPolylineElement::~SVGPolylineElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGPointList SVGPolylineElement::points()
+{
+ if(!impl) return SVGPointList(0);
+ return SVGPointList(impl->points());
+}
+
+SVGPointList SVGPolylineElement::animatedPoints()
+{
+ if(!impl) return SVGPointList(0);
+ return SVGPointList(impl->animatedPoints());
+}
diff --git a/ksvg/dom/SVGPolylineElement.h b/ksvg/dom/SVGPolylineElement.h
new file mode 100644
index 00000000..35e948f7
--- /dev/null
+++ b/ksvg/dom/SVGPolylineElement.h
@@ -0,0 +1,106 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; see the file COPYING.LIB. If
+ not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+ Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+
+ $Id$
+ */
+
+#ifndef SVGPolylineElement_H
+#define SVGPolylineElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+#include "SVGAnimatedPoints.h"
+
+namespace KSVG
+{
+
+/**
+ * The <code>polyline</code> element defines a set of connected
+ * straight line segments. Typically, <code>polyline</code> elements
+ * define open shapes.
+ *
+ * For more info look here : <a href =
+ * "http://www.w3.org/TR/SVG/shapes.html#PolylineElement">9.6 The
+ * 'polyline' element</a>.
+ */
+class SVGPointList;
+class SVGPolylineElementImpl;
+class SVGPolylineElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public SVGAnimatedPoints
+{
+public:
+ SVGPolylineElement();
+ SVGPolylineElement(const SVGPolylineElement &);
+ SVGPolylineElement &operator=(const SVGPolylineElement &);
+ SVGPolylineElement(SVGPolylineElementImpl *);
+ ~SVGPolylineElement();
+
+ /**
+ * Provides access to the base (i.e., static) contents of the
+ * points attribute.
+ *
+ * @return A static list of the polygons points
+ */
+ SVGPointList points();
+
+ /**
+ * Provides access to the current animated contents of the points
+ * attribute.
+ * If the given attribute or property is being animated, contains
+ * the current animated value of the attribute or property.
+ * If the given attribute or property is not currently being
+ * animated, contains the same value as <code>points</code>'.
+ *
+ * This attribute is animatable.
+ *
+ * @return A list of the polygons points
+ */
+ SVGPointList animatedPoints();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPolylineElementImpl *handle() const { return impl; }
+
+private:
+ SVGPolylineElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPreserveAspectRatio.cc b/ksvg/dom/SVGPreserveAspectRatio.cc
new file mode 100644
index 00000000..f86ca1b4
--- /dev/null
+++ b/ksvg/dom/SVGPreserveAspectRatio.cc
@@ -0,0 +1,81 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGPreserveAspectRatio.h"
+#include "SVGPreserveAspectRatioImpl.h"
+
+using namespace KSVG;
+
+SVGPreserveAspectRatio::SVGPreserveAspectRatio()
+{
+ impl = new SVGPreserveAspectRatioImpl();
+}
+
+SVGPreserveAspectRatio::SVGPreserveAspectRatio(const SVGPreserveAspectRatio &other)
+{
+ impl = other.impl;
+}
+
+SVGPreserveAspectRatio &SVGPreserveAspectRatio::operator=(const SVGPreserveAspectRatio &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ delete impl;
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGPreserveAspectRatio::SVGPreserveAspectRatio(SVGPreserveAspectRatioImpl *other)
+{
+ impl = other;
+}
+
+SVGPreserveAspectRatio::~SVGPreserveAspectRatio()
+{
+ delete impl;
+}
+
+void SVGPreserveAspectRatio::setAlign(unsigned short align)
+{
+ if(impl)
+ impl->setAlign(align);
+}
+
+unsigned short SVGPreserveAspectRatio::align() const
+{
+ if(!impl) return SVG_PRESERVEASPECTRATIO_UNKNOWN;
+ return impl->align();
+}
+
+void SVGPreserveAspectRatio::setMeetOrSlice(unsigned short meetOrSlice)
+{
+ if(impl)
+ impl->setMeetOrSlice(meetOrSlice);
+}
+
+unsigned short SVGPreserveAspectRatio::meetOrSlice() const
+{
+ if(!impl) return SVG_MEETORSLICE_UNKNOWN;
+ return impl->meetOrSlice();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGPreserveAspectRatio.h b/ksvg/dom/SVGPreserveAspectRatio.h
new file mode 100644
index 00000000..3c1a4823
--- /dev/null
+++ b/ksvg/dom/SVGPreserveAspectRatio.h
@@ -0,0 +1,76 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGPreserveAspectRatio_H
+#define SVGPreserveAspectRatio_H
+
+namespace KSVG
+{
+
+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
+};
+
+enum
+{
+ SVG_MEETORSLICE_UNKNOWN = 0,
+ SVG_MEETORSLICE_MEET = 1,
+ SVG_MEETORSLICE_SLICE = 2
+};
+
+class SVGPreserveAspectRatioImpl;
+class SVGPreserveAspectRatio
+{
+public:
+ SVGPreserveAspectRatio();
+ SVGPreserveAspectRatio(const SVGPreserveAspectRatio &);
+ SVGPreserveAspectRatio &operator=(const SVGPreserveAspectRatio &other);
+ SVGPreserveAspectRatio(SVGPreserveAspectRatioImpl *);
+ ~SVGPreserveAspectRatio();
+
+ void setAlign(unsigned short);
+ unsigned short align() const;
+
+ void setMeetOrSlice(unsigned short);
+ unsigned short meetOrSlice() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGPreserveAspectRatioImpl *handle() const { return impl; }
+
+protected:
+ SVGPreserveAspectRatioImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGRadialGradientElement.cc b/ksvg/dom/SVGRadialGradientElement.cc
new file mode 100644
index 00000000..02f3d5f2
--- /dev/null
+++ b/ksvg/dom/SVGRadialGradientElement.cc
@@ -0,0 +1,98 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGRadialGradientElement.h"
+#include "SVGRadialGradientElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGRadialGradientElement::SVGRadialGradientElement() : SVGGradientElement()
+{
+ impl = 0;
+}
+
+SVGRadialGradientElement::SVGRadialGradientElement(const SVGRadialGradientElement &other) : SVGGradientElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGRadialGradientElement &SVGRadialGradientElement::operator =(const SVGRadialGradientElement &other)
+{
+ SVGGradientElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGRadialGradientElement::SVGRadialGradientElement(SVGRadialGradientElementImpl *other) : SVGGradientElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGRadialGradientElement::~SVGRadialGradientElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGRadialGradientElement::cx() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->cx());
+}
+
+SVGAnimatedLength SVGRadialGradientElement::cy() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->cy());
+}
+
+SVGAnimatedLength SVGRadialGradientElement::r() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->r());
+}
+
+SVGAnimatedLength SVGRadialGradientElement::fx() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->fx());
+}
+
+SVGAnimatedLength SVGRadialGradientElement::fy() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->fy());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGRadialGradientElement.h b/ksvg/dom/SVGRadialGradientElement.h
new file mode 100644
index 00000000..c60a00ed
--- /dev/null
+++ b/ksvg/dom/SVGRadialGradientElement.h
@@ -0,0 +1,57 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGRadialGradientElement_H
+#define SVGRadialGradientElement_H
+
+#include "SVGGradientElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGRadialGradientElementImpl;
+class SVGRadialGradientElement : public SVGGradientElement
+{
+public:
+ SVGRadialGradientElement();
+ SVGRadialGradientElement(const SVGRadialGradientElement &other);
+ SVGRadialGradientElement &operator=(const SVGRadialGradientElement &other);
+ SVGRadialGradientElement(SVGRadialGradientElementImpl *other);
+ virtual ~SVGRadialGradientElement();
+
+ SVGAnimatedLength cx() const;
+ SVGAnimatedLength cy() const;
+ SVGAnimatedLength r() const;
+ SVGAnimatedLength fx() const;
+ SVGAnimatedLength fy() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGRadialGradientElementImpl *handle() const { return impl; }
+
+private:
+ SVGRadialGradientElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGRect.cc b/ksvg/dom/SVGRect.cc
new file mode 100644
index 00000000..39ba48a4
--- /dev/null
+++ b/ksvg/dom/SVGRect.cc
@@ -0,0 +1,114 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGRect.h"
+#include "SVGRectImpl.h"
+
+using namespace KSVG;
+
+SVGRect::SVGRect()
+{
+ impl = new SVGRectImpl();
+ impl->ref();
+}
+
+SVGRect::SVGRect(const SVGRect &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGRect &SVGRect::operator=(const SVGRect &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGRect::SVGRect(SVGRectImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGRect::~SVGRect()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGRect::setX(float x)
+{
+ if(impl)
+ impl->setX(x);
+}
+
+float SVGRect::x() const
+{
+ if(!impl) return -1;
+ return impl->x();
+}
+
+void SVGRect::setY(float y)
+{
+ if(impl)
+ impl->setY(y);
+}
+
+float SVGRect::y() const
+{
+ if(!impl) return -1;
+ return impl->y();
+}
+
+void SVGRect::setWidth(float width)
+{
+ if(impl)
+ impl->setWidth(width);
+}
+
+float SVGRect::width() const
+{
+ if(!impl) return -1;
+ return impl->width();
+}
+
+void SVGRect::setHeight(float height)
+{
+ if(impl)
+ impl->setHeight(height);
+}
+
+float SVGRect::height() const
+{
+ if(!impl) return -1;
+ return impl->height();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGRect.h b/ksvg/dom/SVGRect.h
new file mode 100644
index 00000000..e9be6849
--- /dev/null
+++ b/ksvg/dom/SVGRect.h
@@ -0,0 +1,87 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGRect_H
+#define SVGRect_H
+
+namespace KSVG
+{
+
+/**
+ * Rectangles are defined as consisting of a (x,y) coordinate pair
+ * identifying a minimum X value, a minimum Y value, and a width and
+ * height, which are usually constrained to be non-negative.
+ */
+class SVGRectImpl;
+class SVGRect
+{
+public:
+ SVGRect();
+ SVGRect(const SVGRect &);
+ SVGRect &operator=(const SVGRect &);
+ SVGRect(SVGRectImpl *);
+ ~SVGRect();
+
+ /**
+ * Corresponds to attribute <code>x</code> on the given element.
+ */
+ void setX(float x);
+ float x() const;
+
+ /**
+ * Corresponds to attribute <code>y</code> on the given element.
+ */
+ void setY(float y);
+ float y() const;
+
+ /**
+ * Corresponds to attribute <code>width</code> on the given element.
+ */
+ void setWidth(float width);
+ float width() const;
+
+ /**
+ * Corresponds to attribute <code>height</code> on the given element.
+ */
+ void setHeight(float height);
+ float height() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGRectImpl *handle() const { return impl; }
+
+private:
+ SVGRectImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGRectElement.cc b/ksvg/dom/SVGRectElement.cc
new file mode 100644
index 00000000..ef4038d4
--- /dev/null
+++ b/ksvg/dom/SVGRectElement.cc
@@ -0,0 +1,109 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGRectElement.h"
+#include "SVGRectElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGRectElement::SVGRectElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGRectElement::SVGRectElement(const SVGRectElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGRectElement &SVGRectElement::operator=(const SVGRectElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGRectElement::SVGRectElement(SVGRectElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGRectElement::~SVGRectElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGRectElement::x()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGRectElement::y()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+SVGAnimatedLength SVGRectElement::width()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->width());
+}
+
+SVGAnimatedLength SVGRectElement::height()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->height());
+}
+
+SVGAnimatedLength SVGRectElement::rx()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->rx());
+}
+
+SVGAnimatedLength SVGRectElement::ry()
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->ry());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGRectElement.h b/ksvg/dom/SVGRectElement.h
new file mode 100644
index 00000000..2a77420d
--- /dev/null
+++ b/ksvg/dom/SVGRectElement.h
@@ -0,0 +1,173 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; see the file COPYING.LIB. If
+ not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+ Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+
+ $Id$
+ */
+
+#ifndef SVGRectElement_H
+#define SVGRectElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGRectElementImpl;
+
+/**
+ * The <code> rect </code> element defines a rectangle which is
+ * axis-aligned with the current <a href =
+ * "http://www.w3.org/TR/SVG/intro.html#TermUserCoordinateSystem">
+ * user coordinate</a> system.
+ * Rounded rectangles can be achieved by setting appropriate values
+ * for attributes <code> x </code> and <code> y</code>.
+ *
+ * For more info look here : <a href =
+ * "http://www.w3.org/TR/SVG/shapes.html#RectElement"> 9.2 The
+ * 'rect' element</a>.
+ */
+class SVGRectElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable
+{
+public:
+ SVGRectElement();
+ SVGRectElement(const SVGRectElement &);
+ SVGRectElement &operator=(const SVGRectElement &other);
+ SVGRectElement(SVGRectElementImpl *);
+ ~SVGRectElement();
+
+ /**
+ * The x-axis coordinate of the side of the rectangle which has
+ * the smaller x-axis coordinate value in the current user
+ * coordinate system.
+ * If the attribute is not specified, the effect is as if a value
+ * of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x-axis coordinate of the rectangle.
+ */
+ SVGAnimatedLength x();
+
+ /**
+ * The y-axis coordinate of the side of the rectangle which has
+ * the smaller y-axis coordinate value in the current user
+ * coordinate system. If the attribute is not specified, the
+ * effect is as if a value of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y-axis coordinate of the rectangle.
+ */
+ SVGAnimatedLength y();
+
+ /**
+ * The width of the rectangle. A negative value is an error (see
+ * <a href =
+ * "http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing">
+ * Error processing</a>).
+ * A value of zero disables rendering of the element.
+ *
+ * This attribute is animatable.
+ *
+ * @return The width of the rectangle.
+ */
+ SVGAnimatedLength width();
+
+ /**
+ * The heigth of the rectangle. A negative value is an error (see
+ * <a href =
+ * "http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing">
+ * Error processing</a>). A value of zero disables rendering of
+ * the element.
+ *
+ * This attribute is animatable.
+ *
+ * @return The height of the rectangle
+ */
+ SVGAnimatedLength height();
+
+ /**
+ * For rounded rectangles, the x-axis radius of the ellipse used
+ * to round off the corners of the rectangle. A negative value is
+ * an error (see <a href =
+ * "http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing"> Error
+ * processing</a>).
+ *
+ * See <a href="http://www.w3.org/TR/SVG/shapes.html#RectElement">
+ * 9.2 The 'rect' element </a> for info about what happens if the
+ * attribute is not specified.
+ *
+ * This attribute is animatable
+ *
+ * @return The x-axis radius of the ellipse used to round off the
+ * corners of the rectangle.
+ */
+ SVGAnimatedLength rx();
+
+ /**
+ * For rounded rectangles, the y-axis radius of the ellipse used
+ * to round off the corners of the rectangle. A negative value is
+ * an error (see <a href =
+ * "http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing">Error
+ * processing</a>).
+ *
+ * See <a href="http://www.w3.org/TR/SVG/shapes.html#RectElement">
+ * 9.2 The 'rect' element </a> for info about what happens if the
+ * attribute is not specified.
+ *
+ * This attribute is animatable
+ *
+ * @return The y-axis radius of the ellipse used to round off the
+ * corners of the rectangle.
+ */
+ SVGAnimatedLength ry();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGRectElementImpl *handle() const { return impl; }
+
+private:
+ SVGRectElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGRenderingIntent.h b/ksvg/dom/SVGRenderingIntent.h
new file mode 100644
index 00000000..5293f92b
--- /dev/null
+++ b/ksvg/dom/SVGRenderingIntent.h
@@ -0,0 +1,41 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGRenderingIntent_H
+#define SVGRenderingIntent_H
+
+namespace KSVG
+{
+
+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
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGSVGElement.cc b/ksvg/dom/SVGSVGElement.cc
new file mode 100644
index 00000000..204de90c
--- /dev/null
+++ b/ksvg/dom/SVGSVGElement.cc
@@ -0,0 +1,337 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGRect.h"
+#include "SVGSVGElement.h"
+#include "SVGSVGElementImpl.h"
+#include "SVGAnimatedLength.h"
+#include "SVGPoint.h"
+#include "SVGNumber.h"
+#include "SVGAngle.h"
+#include "SVGMatrix.h"
+#include "SVGLength.h"
+#include "SVGRect.h"
+#include "SVGTransform.h"
+#include "SVGViewSpec.h"
+#include <kdebug.h>
+
+using namespace KSVG;
+
+SVGSVGElement::SVGSVGElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGLocatable(), SVGFitToViewBox(), SVGZoomAndPan()
+{
+ impl = 0;
+}
+
+SVGSVGElement::SVGSVGElement(const SVGSVGElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGLocatable(other), SVGFitToViewBox(other), SVGZoomAndPan(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGSVGElement &SVGSVGElement::operator=(const SVGSVGElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGLocatable::operator=(other);
+ SVGFitToViewBox::operator=(other);
+ SVGZoomAndPan::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGSVGElement::SVGSVGElement(SVGSVGElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGLocatable(other), SVGFitToViewBox(other), SVGZoomAndPan(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGSVGElement::~SVGSVGElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGSVGElement::x() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGSafeCreator<SVGAnimatedLength, SVGAnimatedLengthImpl>::create(impl->x());
+}
+
+SVGAnimatedLength SVGSVGElement::y() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGSafeCreator<SVGAnimatedLength, SVGAnimatedLengthImpl>::create(impl->y());
+}
+
+SVGAnimatedLength SVGSVGElement::width() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGSafeCreator<SVGAnimatedLength, SVGAnimatedLengthImpl>::create(impl->width());
+}
+
+SVGAnimatedLength SVGSVGElement::height() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGSafeCreator<SVGAnimatedLength, SVGAnimatedLengthImpl>::create(impl->height());
+}
+
+void SVGSVGElement::setContentScriptType(const DOM::DOMString &contentScriptType)
+{
+ if(impl)
+ setContentScriptType(contentScriptType);
+}
+
+DOM::DOMString SVGSVGElement::contentScriptType() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->contentScriptType();
+}
+
+void SVGSVGElement::setContentStyleType(const DOM::DOMString &contentStyleType)
+{
+ if(impl)
+ setContentStyleType(contentStyleType);
+}
+
+DOM::DOMString SVGSVGElement::contentStyleType() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->contentStyleType();
+}
+
+SVGRect SVGSVGElement::viewport() const
+{
+ if(!impl) return SVGRect(0);
+ return SVGRect(impl->viewport());
+}
+
+float SVGSVGElement::pixelUnitToMillimeterX() const
+{
+ if(!impl) return -1;
+ return impl->pixelUnitToMillimeterX();
+}
+
+float SVGSVGElement::pixelUnitToMillimeterY() const
+{
+ if(!impl) return -1;
+ return impl->pixelUnitToMillimeterY();
+}
+
+float SVGSVGElement::screenPixelToMillimeterX() const
+{
+ if(!impl) return -1;
+ return impl->screenPixelToMillimeterX();
+}
+
+float SVGSVGElement::screenPixelToMillimeterY() const
+{
+ if(!impl) return -1;
+ return impl->screenPixelToMillimeterY();
+}
+
+void SVGSVGElement::setUseCurrentView(bool useCurrentView)
+{
+ if(impl)
+ impl->setUseCurrentView(useCurrentView);
+}
+
+bool SVGSVGElement::useCurrentView() const
+{
+ if(!impl) return false;
+ return impl->useCurrentView();
+}
+
+SVGViewSpec SVGSVGElement::currentView() const
+{
+ if(!impl) return SVGViewSpec(0);
+ return impl->currentView();
+}
+
+void SVGSVGElement::setCurrentScale(float currentScale)
+{
+ if(impl)
+ impl->setCurrentScale(currentScale);
+}
+
+float SVGSVGElement::currentScale() const
+{
+ if(!impl) return -1;
+ return impl->currentScale();
+}
+
+SVGPoint SVGSVGElement::currentTranslate() const
+{
+ if(!impl) return SVGPoint(0);
+ return SVGSafeCreator<SVGPoint, SVGPointImpl>::create(impl->currentTranslate());
+}
+
+unsigned long SVGSVGElement::suspendRedraw(unsigned long time)
+{
+ if(!impl) return 0;
+ return impl->suspendRedraw(time);
+}
+
+void SVGSVGElement::unsuspendRedraw(unsigned long id)
+{
+ if(impl)
+ impl->unsuspendRedraw(id);
+}
+
+void SVGSVGElement::unsuspendRedrawAll()
+{
+ if(impl)
+ impl->unsuspendRedrawAll();
+}
+
+void SVGSVGElement::forceRedraw()
+{
+ if(impl)
+ impl->forceRedraw();
+}
+
+void SVGSVGElement::pauseAnimations()
+{
+ if(impl)
+ impl->pauseAnimations();
+}
+
+void SVGSVGElement::unpauseAnimations()
+{
+ if(impl)
+ impl->unpauseAnimations();
+}
+
+bool SVGSVGElement::animationsPaused()
+{
+ if(!impl) return false;
+ return impl->animationsPaused();
+}
+
+float SVGSVGElement::getCurrentTime()
+{
+ if(!impl) return -1;
+ return impl->getCurrentTime();
+}
+
+void SVGSVGElement::setCurrentTime(float time)
+{
+ if(impl)
+ impl->setCurrentTime(time);
+}
+
+DOM::NodeList SVGSVGElement::getIntersectionList(const SVGRect &rect,const SVGElement &referenceElement)
+{
+ if(!impl) return DOM::NodeList();
+ return impl->getIntersectionList(rect.handle(), referenceElement.handle());
+}
+
+DOM::NodeList SVGSVGElement::getEnclosureList(const SVGRect &rect,const SVGElement &referenceElement)
+{
+ if(!impl) return DOM::NodeList();
+ return impl->getEnclosureList(rect.handle(), referenceElement.handle());
+}
+
+bool SVGSVGElement::checkIntersection(const SVGElement &element,const SVGRect &rect)
+{
+ if(!impl) return false;
+ return impl->checkIntersection(element.handle(), rect.handle());
+}
+
+bool SVGSVGElement::checkEnclosure(const SVGElement &element,const SVGRect &rect)
+{
+ if(!impl) return false;
+ return impl->checkEnclosure(element.handle(), rect.handle());
+}
+
+void SVGSVGElement::deSelectAll()
+{
+ if(impl)
+ impl->deSelectAll();
+}
+
+SVGNumber SVGSVGElement::createSVGNumber()
+{
+ if(!impl) return SVGNumber(0);
+ return SVGSafeCreator<SVGNumber, SVGNumberImpl>::create(impl->createSVGNumber());
+}
+
+SVGLength SVGSVGElement::createSVGLength()
+{
+ if(!impl) return SVGLength(0);
+ return SVGSafeCreator<SVGLength, SVGLengthImpl>::create(impl->createSVGLength());
+}
+
+SVGAngle SVGSVGElement::createSVGAngle()
+{
+ if(!impl) return SVGAngle(0);
+ return SVGSafeCreator<SVGAngle, SVGAngleImpl>::create(impl->createSVGAngle());
+}
+
+SVGPoint SVGSVGElement::createSVGPoint()
+{
+ if(!impl) return SVGPoint(0);
+ return SVGSafeCreator<SVGPoint, SVGPointImpl>::create(impl->createSVGPoint());
+}
+
+SVGMatrix SVGSVGElement::createSVGMatrix()
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGSafeCreator<SVGMatrix, SVGMatrixImpl>::create(impl->createSVGMatrix());
+}
+
+SVGRect SVGSVGElement::createSVGRect()
+{
+ if(!impl) return SVGRect(0);
+ return SVGSafeCreator<SVGRect, SVGRectImpl>::create(impl->createSVGRect());
+}
+
+SVGTransform SVGSVGElement::createSVGTransform()
+{
+ if(!impl) return SVGTransform(0);
+ return SVGSafeCreator<SVGTransform, SVGTransformImpl>::create(impl->createSVGTransform());
+}
+
+SVGTransform SVGSVGElement::createSVGTransformFromMatrix(const SVGMatrix &matrix)
+{
+ if(!impl) return SVGTransform(0);
+ return SVGSafeCreator<SVGTransform, SVGTransformImpl>::create(impl->createSVGTransformFromMatrix(matrix.handle()));
+}
+
+SVGElement SVGSVGElement::getElementById(const DOM::DOMString &elementId)
+{
+ if(!impl) return SVGElement(0);
+ return SVGSafeCreator<SVGElement, SVGElementImpl>::create(impl->getElementById(elementId));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGSVGElement.h b/ksvg/dom/SVGSVGElement.h
new file mode 100644
index 00000000..59621e2e
--- /dev/null
+++ b/ksvg/dom/SVGSVGElement.h
@@ -0,0 +1,581 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGSVGElement_H
+#define SVGSVGElement_H
+
+#include <dom/dom_string.h>
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGLocatable.h"
+#include "SVGFitToViewBox.h"
+#include "SVGZoomAndPan.h"
+
+namespace KSVG
+{
+class SVGAnimatedLength;
+class SVGPoint;
+class SVGNumber;
+class SVGAngle;
+class SVGMatrix;
+class SVGLength;
+class SVGRect;
+class SVGTransform;
+class SVGViewSpec;
+class SVGSVGElementImpl;
+
+/**
+ * A key interface definition is the SVGSVGElement interface, which is the
+ * interface that corresponds to the 'svg' element. This interface contains
+ * various miscellaneous commonly-used utility methods, such as matrix
+ * operations and the ability to control the time of redraw on visual
+ * rendering devices. SVGSVGElement extends ViewCSS and DocumentCSS to provide
+ * access to the computed values of properties and the override style sheet
+ * as described in DOM2.
+ *
+ * For more information :
+ * <a href="http://www.w3.org/TR/SVG/struct.html#NewDocument">
+ * the 'svg' element</a>
+ */
+class SVGSVGElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGLocatable,
+ public SVGFitToViewBox,
+ public SVGZoomAndPan
+ //public events::EventTarget,
+ //public events::DocumentEvent,
+ //public css::ViewCSS,
+ //public css::DocumentCSS
+{
+public:
+ SVGSVGElement();
+ SVGSVGElement(const SVGSVGElement &);
+ SVGSVGElement &operator=(const SVGSVGElement &other);
+ SVGSVGElement(SVGSVGElementImpl *);
+ virtual ~SVGSVGElement();
+
+ /**
+ * (Has no meaning or effect on outermost 'svg' elements.)
+ * The x-axis coordinate of one corner of the rectangular region into which an
+ * embedded 'svg' element is placed. If the attribute is not specified, the
+ * effect is as if a value of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The x-axis coordinate of the viewport of the 'svg' element.
+ */
+ SVGAnimatedLength x() const;
+
+ /**
+ * (Has no meaning or effect on outermost 'svg' elements.)
+ * The x-axis coordinate of one corner of the rectangular region into which an
+ * embedded 'svg' element is placed. If the attribute is not specified, the
+ * effect is as if a value of "0" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The y-axis coordinate of the viewport of the 'svg' element.
+ */
+ SVGAnimatedLength y() const;
+
+ /**
+ * For outermost 'svg' elements, the intrinsic width of the SVG document
+ * fragment. For embedded 'svg' elements, the width of the rectangular
+ * region into which the 'svg' element is placed.
+ * A negative value is an error (see <a
+ * href="http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing"> Error
+ * processing </a>).
+ * A value of zero disables rendering of the element. If the attribute is not
+ * specified, the effect is as if a value of "100%" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The width of the viewport of the 'svg' element.
+ */
+ SVGAnimatedLength width() const;
+
+ /**
+ * For outermost 'svg' elements, the intrinsic height of the SVG document
+ * fragment. For embedded 'svg' elements, the height of the rectangular region
+ * into which the 'svg' element is placed.
+ * A negative value is an error (see <a
+ * href="http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing"> Error
+ * processing </a>).
+ * A value of zero disables rendering of the element. If the attribute is not
+ * specified, the effect is as if a value of "100%" were specified.
+ *
+ * This attribute is animatable.
+ *
+ * @return The height of the viewport of the 'svg' element.
+ */
+ SVGAnimatedLength height() const;
+
+ /**
+ * The <code> contentScriptType </code> attribute identifies the default
+ * scripting language for the given document. This attribute sets the scripting
+ * language used to process the value strings in event attributes. The value
+ * content-type specifies a media type, per <a
+ * href="http://www.ietf.org/rfc/rfc2045.txt"> [RFC2045]</a>. The default value
+ * is "text/ecmascript".
+ *
+ * This attribute is not animatable.
+ *
+ * @exception
+ * NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the value of a
+ * readonly attribute.
+ */
+ void setContentScriptType(const DOM::DOMString &);
+
+ /**
+ * @return The value of the <code>contentScript</code> attribute on the given
+ * 'svg' element.
+ */
+ DOM::DOMString contentScriptType() const;
+
+ /**
+ * Identifies the default style sheet language for the given document. This
+ * attribute sets the style sheet language for the style attributes that are
+ * available on many elements. The value of the attribute consists of a media
+ * type, per <a href="http://www.ietf.org/rfc/rfc2045.txt">[RFC2045]</a>.
+ * The default value is "text/css".
+ */
+ void setContentStyleType(const DOM::DOMString &);
+
+ /**
+ * @return The value of the <code>contentStyle</code> attribute on the given
+ * 'svg' element.
+ */
+ DOM::DOMString contentStyleType() const;
+
+ /**
+ * 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.
+ *
+ * @return The viewport represented by a <code>SVGRect</rect>.
+ */
+ SVGRect viewport() const;
+
+ /**
+ * 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.
+ *
+ * @return Corresponding size of a pixel unit along the x-axis of the viewport.
+ */
+ float pixelUnitToMillimeterX() const;
+
+ /**
+ * @return Corresponding size of a pixel unit along the y-axis of the viewport.
+ */
+ float pixelUnitToMillimeterY() const;
+
+ /**
+ * 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.
+ *
+ * @return Corresponding size of a screen pixel along the x-axis of the
+ * viewport.
+ */
+ float screenPixelToMillimeterX() const;
+
+ /**
+ * @return Corresponding size of a screen pixel along the y-axis of the
+ * viewport.
+ */
+ float screenPixelToMillimeterY() const;
+
+ /**
+ * 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 <a href="http://www.w3.org/TR/SVG/linking.html#LinksIntoSVG"> Linking
+ * into SVG content: URI fragments and SVG views)</a>. 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.
+ *
+ * @exception DOMException
+ * NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the value of a
+ * readonly attribute.
+ */
+ void setUseCurrentView(bool);
+
+ /**
+ * @return Indicated whether the view is "custom" or not.
+ */
+ bool useCurrentView() const;
+
+ /**
+ * 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:
+ *
+ * the values for <code>viewBox</code>, <code>preserveAspectRatio</code> and
+ * <code>zoomAndPan</code> within <code>currentView</code> will match the
+ * values for the corresponding DOM attributes that are on SVGSVGElement
+ * directly.
+ * the values for <code>transform</code> and <code>viewTarget</code> within
+ * <code>currentView</code> will be null.
+ *
+ * If the initial view was a link into a 'view' element, then:
+ *
+ * the values for <code>viewBox</code>, <code>preserveAspectRatio</code> and
+ * <code>zoomAndPan</code> within <code>currentView</code> will correspond to
+ * the corresponding attributes for the given 'view' element.
+ * the values for <code>transform</code> and <code>viewTarget</code> within
+ * <code>currentView </code>will be null
+ *
+ * If the initial view was a link into another element (i.e., other than a
+ *'view'), then:
+ *
+ * the values for <code>viewBox</code>, <code>preserveAspectRatio</code> and
+ * <code>zoomAndPan</code> within <code>currentView</code> will match the
+ * values for the corresponding DOM attributes that are on SVGSVGElement
+ * directly for the closest ancestor 'svg' element.
+ * the values for transform within <code>currentView</code> will be null.
+ * the <code>viewTarget</code> within <code>currentView</code> 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:
+ *
+ * the values for <code>viewBox</code>, <code>preserveAspectRatio</code>,
+ * <code>zoomAndPan</code>, <code>transform</code> and <code>viewTarget</code>
+ * within <code>currentView</code> will correspond to the values from the SVG
+ * view specification fragment identifier
+ *
+ * The object itself and its contents are both readonly.
+ */
+ SVGViewSpec currentView() const;
+
+ /**
+ * The currentScale attribute indicates the current scale factor relative to
+ * the initial view to take into account user magnification and panning
+ * operations, as described under
+ * <a href="http://www.w3.org/TR/SVG/interact.html#ZoomAndPanAttribute">
+ * Magnification and panning</a>. 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).
+ *
+ * @exception DOMException
+ * NO_MODIFICATION_ALLOWED_ERR: Raised on an attempt to change the value of a
+ * readonly attribute.
+ *
+ * @param The new value of the currentScale attribute.
+ */
+ void setCurrentScale(float);
+
+ /**
+ * @return The <code> currentScale </code> attribute value as described above.
+ */
+ float currentScale() const;
+
+ /**
+ * The corresponding translation factor that takes into account user
+ * "magnification".
+ *
+ * @return The translation factor represented by an <code> SVGPoint </code>.
+ */
+ SVGPoint currentTranslate() const;
+
+ /**
+ * 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
+ * (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.
+ *
+ * @param max_wait_milliseconds The amount of time in milliseconds to hold off
+ * before redrawing the device.Values greater than 60 seconds will be
+ * truncated down to 60 seconds.
+ *
+ * @return A number which acts as a unique identifier for the given
+ * suspendRedraw() call. This value must be passed as the parameter to the
+ * corresponding unsuspendRedraw() method call.
+ */
+ unsigned long suspendRedraw(unsigned long max_wait_milliseconds);
+
+ /**
+ * Cancels a specified suspendRedraw() by providing a unique suspend_handle_id.
+ *
+ * @param suspend_handle_id A number which acts as a unique identifier for the
+ * desired suspendRedraw() call. The number supplied must be a value returned
+ * from a previous call to suspendRedraw().
+ */
+ void unsuspendRedraw(unsigned long suspend_handle_id);
+
+ /**
+ * 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 paused.
+ */
+ void pauseAnimations();
+
+ /**
+ * Unsuspends (i.e., pauses) currently running animations that are defined
+ * within the SVG document fragment, causing the animation clock to continue
+ * from the time it was suspended.
+ */
+ void unpauseAnimations();
+
+ /**
+ * Returns true if this SVG Document fragment is in a paused state.
+ *
+ * @return Boolean indicating whether 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.
+ *
+ * @return The current time in seconds.
+ */
+ float getCurrentTime();
+
+ /**
+ * Adjusts the clock for this SVG document fragment, establishing a new current
+ * time.
+ *
+ * @param seconds The new current time in seconds relative to the start time
+ * for the current SVG document fragment.
+ */
+ void setCurrentTime(float 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.
+ *
+ * @param rect The test rectangle. The values are in the initial coordinate
+ * system for the current 'svg' element.
+ * @param referenceElement If not null, then only return elements whose drawing
+ * order has them below the given reference element.
+ *
+ * @return A list of Elements whose content is intersects the supplied
+ * rectangle.
+ */
+ DOM::NodeList getIntersectionList(const SVGRect &rect, const SVGElement
+ &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.
+ *
+ * @param rect The test rectangle. The values are in the initial coordinate
+ * system for the current 'svg' element.
+ * @param referenceElement If not null, then only return elements whose drawing
+ * order has them below the given reference element.
+ *
+ * @return A list of Elements whose content is enclosed by the supplied
+ * rectangle.
+ */
+ DOM::NodeList getEnclosureList(const SVGRect &rect, const SVGElement
+ &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.
+ *
+ * @param element The element on which to perform the given test.
+ * @param rect The test rectangle. The values are in the initial coordinate
+ * system for the current 'svg' element.
+ *
+ * @return True or false, depending on whether the given element intersects the
+ * supplied rectangle.
+ */
+ bool checkIntersection(const SVGElement &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.
+ *
+ * @param element The element on which to perform the given test.
+ * @param rect The test rectangle. The values are in the initial coordinate
+ * system for the current 'svg' element.
+ *
+ * @return True or false, depending on whether the given element is enclosed by
+ * the supplied rectangle.
+ */
+ bool checkEnclosure(const SVGElement &element, const SVGRect &rect);
+
+ /**
+ * Unselects any selected objects, including any selections of text
+ * strings and type-in bars.
+ */
+ void deSelectAll();
+
+ /**
+ * Creates an <code> SVGNumber </code> object outside of any document trees.
+ * The object is initialized to a value of zero.
+ *
+ * @return An <code> SVGNumber </code> object.
+ */
+ SVGNumber createSVGNumber();
+
+ /**
+ * Creates an <code> SVGLength </code> object outside of any document trees.
+ * The object is initialized to a value of zero user units.
+ *
+ * @return An <code> SVGLength </code> object.
+ */
+ SVGLength createSVGLength();
+
+ /**
+ * Creates an <code> SVGAngle </code> object outside of any document trees.
+ * The object is initialized to a value of zero degreesunitless).
+ *
+ * @return An <code> SVGAngle </code> object.
+ */
+ SVGAngle createSVGAngle();
+
+ /**
+ * Creates an <code> SVGPoint </code> object outside of any document trees.
+ * The object is initialized to the point (0,0) in the user coordinate system.
+ *
+ * @return An <code> SVGPoint </code> object.
+ */
+ SVGPoint createSVGPoint();
+
+ /**
+ * Creates an <code> SVGMatrix </code> object outside of any document trees.
+ * The object is initialized to a value of the identity matrix.
+ *
+ * @return An <code> SVGMatrix </code> object.
+ */
+ SVGMatrix createSVGMatrix();
+
+ /**
+ * Creates an <code> SVGRect </code> object outside of any document trees.
+ * The object is initialized such that all values are set to 0 user units.
+ *
+ * @return An <code> SVGRect </code> object.
+ */
+ SVGRect createSVGRect();
+
+ /**
+ * Creates an <code> SVGTransform </code> object outside of any document trees.
+ * The object is initialized to an identity matrix transform
+ * (SVG_TRANSFORM_MATRIX).
+ *
+ * @return An <code> SVGTransform </code> object.
+ */
+ SVGTransform createSVGTransform();
+
+ /**
+ * Creates an <code> SVGTransform </code> object outside of any document trees.
+ * The object is initialized to the given matrix transform (i.e.,
+ * SVG_TRANSFORM_MATRIX).
+ *
+ * @return An <code> SVGTransform </code> object.
+ */
+ 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 <code> Element </code> whose id is given
+ * by elementId. If an <code> Element </code> is found, that <code> Element
+ * </code> is returned. If no such element exists, returns null. Behavior
+ * is not defined if more than one element has this id.
+ *
+ * @param elementId The unique id value for an element.
+ *
+ * @return The matching element.
+ */
+ SVGElement getElementById(const DOM::DOMString &elementId);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGSVGElementImpl *handle() const { return impl; }
+
+private:
+ SVGSVGElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGScriptElement.cc b/ksvg/dom/SVGScriptElement.cc
new file mode 100644
index 00000000..f599a273
--- /dev/null
+++ b/ksvg/dom/SVGScriptElement.cc
@@ -0,0 +1,81 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGScriptElement.h"
+#include "SVGScriptElementImpl.h"
+
+using namespace KSVG;
+
+SVGScriptElement::SVGScriptElement() : SVGElement(), SVGURIReference(), SVGExternalResourcesRequired()
+{
+ impl = 0;
+}
+
+SVGScriptElement::SVGScriptElement(const SVGScriptElement &other) : SVGElement(other), SVGURIReference(other), SVGExternalResourcesRequired(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGScriptElement &SVGScriptElement::operator =(const SVGScriptElement &other)
+{
+ SVGElement::operator=(other);
+ SVGURIReference::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGScriptElement::SVGScriptElement(SVGScriptElementImpl *other) : SVGElement(other), SVGURIReference(other), SVGExternalResourcesRequired(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGScriptElement::~SVGScriptElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGScriptElement::setType(const DOM::DOMString &type)
+{
+ if(impl)
+ impl->setType(type);
+}
+
+DOM::DOMString SVGScriptElement::type() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->type();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGScriptElement.h b/ksvg/dom/SVGScriptElement.h
new file mode 100644
index 00000000..aae1d79b
--- /dev/null
+++ b/ksvg/dom/SVGScriptElement.h
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGScriptElement_H
+#define SVGScriptElement_H
+
+#include <dom/dom_string.h>
+#include "SVGElement.h"
+#include "SVGURIReference.h"
+#include "SVGExternalResourcesRequired.h"
+
+namespace KSVG
+{
+
+class SVGScriptElementImpl;
+class SVGScriptElement : public SVGElement,
+ public SVGURIReference,
+ public SVGExternalResourcesRequired
+{
+public:
+ SVGScriptElement();
+ SVGScriptElement(const SVGScriptElement &other);
+ SVGScriptElement &operator=(const SVGScriptElement &other);
+ SVGScriptElement(SVGScriptElementImpl *other);
+ virtual ~SVGScriptElement();
+
+ void setType(const DOM::DOMString &type);
+ DOM::DOMString type() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGScriptElementImpl *handle() const { return impl; }
+
+private:
+ SVGScriptElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGSetElement.cc b/ksvg/dom/SVGSetElement.cc
new file mode 100644
index 00000000..7a47c993
--- /dev/null
+++ b/ksvg/dom/SVGSetElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGSetElement.h"
+#include "SVGSetElementImpl.h"
+
+using namespace KSVG;
+
+SVGSetElement::SVGSetElement() : SVGAnimationElement()
+{
+ impl = 0;
+}
+
+SVGSetElement::SVGSetElement(const SVGSetElement &other) : SVGAnimationElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGSetElement &SVGSetElement::operator =(const SVGSetElement &other)
+{
+ SVGAnimationElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGSetElement::SVGSetElement(SVGSetElementImpl *other) : SVGAnimationElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGSetElement::~SVGSetElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGSetElement.h b/ksvg/dom/SVGSetElement.h
new file mode 100644
index 00000000..f65a8704
--- /dev/null
+++ b/ksvg/dom/SVGSetElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGSetElement_H
+#define SVGSetElement_H
+
+#include "SVGAnimationElement.h"
+
+namespace KSVG
+{
+
+class SVGSetElementImpl;
+class SVGSetElement : public SVGAnimationElement
+{
+public:
+ SVGSetElement();
+ SVGSetElement(const SVGSetElement &other);
+ SVGSetElement &operator=(const SVGSetElement &other);
+ SVGSetElement(SVGSetElementImpl *other);
+ virtual ~SVGSetElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGSetElementImpl *handle() const { return impl; }
+
+private:
+ SVGSetElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGStopElement.cc b/ksvg/dom/SVGStopElement.cc
new file mode 100644
index 00000000..a9db9a56
--- /dev/null
+++ b/ksvg/dom/SVGStopElement.cc
@@ -0,0 +1,75 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGStopElement.h"
+#include "SVGStopElementImpl.h"
+#include "SVGAnimatedNumber.h"
+
+using namespace KSVG;
+
+SVGStopElement::SVGStopElement() : SVGElement(), SVGStylable()
+{
+ impl = 0;
+}
+
+SVGStopElement::SVGStopElement(const SVGStopElement &other) : SVGElement(other), SVGStylable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGStopElement &SVGStopElement::operator =(const SVGStopElement &other)
+{
+ SVGElement::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGStopElement::SVGStopElement(SVGStopElementImpl *other) : SVGElement(other), SVGStylable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGStopElement::~SVGStopElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedNumber SVGStopElement::offset() const
+{
+ if(!impl) return SVGAnimatedNumber(0);
+ return SVGAnimatedNumber(impl->offset());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGStopElement.h b/ksvg/dom/SVGStopElement.h
new file mode 100644
index 00000000..3002e0cf
--- /dev/null
+++ b/ksvg/dom/SVGStopElement.h
@@ -0,0 +1,81 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGStopElement_H
+#define SVGStopElement_H
+
+#include "SVGElement.h"
+#include "SVGStylable.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedNumber;
+class SVGStopElementImpl;
+
+/**
+ * The ramp of colors to use on a gradient is defined by the 'stop' elements that
+ * are child elements to either the 'linearGradient' element or the 'radialGradient' element.
+ */
+class SVGStopElement : public SVGElement,
+ public SVGStylable
+{
+public:
+ SVGStopElement();
+ SVGStopElement(const SVGStopElement &other);
+ SVGStopElement &operator=(const SVGStopElement &other);
+ SVGStopElement(SVGStopElementImpl *other);
+ virtual ~SVGStopElement();
+
+ /**
+ * The <code>offset</code> attribute is either a <number> (usually ranging from 0 to 1)
+ * or a <percentage> (usually ranging from 0% to 100%) which indicates where the gradient
+ * stop is placed. For linear gradients, the offset attribute represents a location along
+ * the gradient vector. For radial gradients, it represents a percentage distance from
+ * (fx,fy) to the edge of the outermost/largest circle.
+ *
+ * This attribute is animatable.
+ *
+ * @return The offset where this gradient stop is placed.
+ */
+ SVGAnimatedNumber offset() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGStopElementImpl *handle() const { return impl; }
+
+private:
+ SVGStopElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGStringList.cc b/ksvg/dom/SVGStringList.cc
new file mode 100644
index 00000000..c7700e06
--- /dev/null
+++ b/ksvg/dom/SVGStringList.cc
@@ -0,0 +1,115 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <dom/dom_string.h>
+#include "SVGStringList.h"
+#include "SVGStringListImpl.h"
+
+using namespace KSVG;
+
+SVGStringList::SVGStringList()
+{
+ impl = new SVGStringListImpl();
+ impl->ref();
+}
+
+SVGStringList::SVGStringList(const SVGStringList &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGStringList &SVGStringList::operator=(const SVGStringList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGStringList::SVGStringList(SVGStringListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGStringList::~SVGStringList()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned long SVGStringList::numberOfItems() const
+{
+ if(!impl) return 0;
+ return impl->numberOfItems();
+}
+
+void SVGStringList::clear()
+{
+ if(impl)
+ impl->clear();
+}
+
+DOM::DOMString *SVGStringList::initialize(DOM::DOMString *newItem)
+{
+ if(!impl) return new DOM::DOMString();
+ return impl->initialize(new SharedString(newItem));
+}
+
+DOM::DOMString *SVGStringList::getItem(unsigned long index)
+{
+ if(!impl) return new DOM::DOMString();
+ return impl->getItem(index);
+}
+
+DOM::DOMString *SVGStringList::insertItemBefore(DOM::DOMString *newItem, unsigned long index)
+{
+ if(!impl) return new DOM::DOMString();
+ return impl->insertItemBefore(new SharedString(newItem), index);
+}
+
+DOM::DOMString *SVGStringList::replaceItem(DOM::DOMString *newItem, unsigned long index)
+{
+ if(!impl) return new DOM::DOMString();
+ return impl->replaceItem(new SharedString(newItem), index);
+}
+
+DOM::DOMString *SVGStringList::removeItem(unsigned long index)
+{
+ if(!impl) return new DOM::DOMString();
+ return impl->removeItem(index);
+}
+
+DOM::DOMString *SVGStringList::appendItem(DOM::DOMString *newItem)
+{
+ if(!impl) return new DOM::DOMString();
+ return impl->appendItem(new SharedString(newItem));
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGStringList.h b/ksvg/dom/SVGStringList.h
new file mode 100644
index 00000000..477273a6
--- /dev/null
+++ b/ksvg/dom/SVGStringList.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGStringList_H
+#define SVGStringList_H
+
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+class SVGStringListImpl;
+class SVGStringList
+{
+public:
+ SVGStringList();
+ SVGStringList(const SVGStringList &);
+ SVGStringList &operator=(const SVGStringList &);
+ SVGStringList(SVGStringListImpl *);
+ ~SVGStringList();
+
+ unsigned long numberOfItems() const;
+ void clear();
+
+ DOM::DOMString *initialize(DOM::DOMString *newItem);
+ DOM::DOMString *getItem(unsigned long index);
+ DOM::DOMString *insertItemBefore(DOM::DOMString *newItem, unsigned long index);
+ DOM::DOMString *replaceItem(DOM::DOMString *newItem, unsigned long index);
+ DOM::DOMString *removeItem(unsigned long index);
+ DOM::DOMString *appendItem(DOM::DOMString *newItem);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGStringListImpl *handle() const { return impl; }
+
+private:
+ SVGStringListImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGStylable.cc b/ksvg/dom/SVGStylable.cc
new file mode 100644
index 00000000..14136d7d
--- /dev/null
+++ b/ksvg/dom/SVGStylable.cc
@@ -0,0 +1,76 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGStylable.h"
+#include "SVGStylableImpl.h"
+#include <kdebug.h>
+
+using namespace KSVG;
+
+// This class can't be constructed seperately.
+SVGStylable::SVGStylable()
+{
+ impl = 0;
+}
+
+SVGStylable::SVGStylable(const SVGStylable &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGStylable &SVGStylable::operator=(const SVGStylable &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGStylable::SVGStylable(SVGStylableImpl *other)
+{
+ impl = other;
+}
+
+SVGStylable::~SVGStylable()
+{
+ // We are not allowed to delete 'impl' as it's not refcounted.
+ // delete impl;
+}
+
+/*
+SVGAnimatedString SVGStylable::className() const
+{
+ return impl->className();
+}
+
+css::CSSStyleDeclaration SVGStylable::style() const
+{
+ return impl->style();
+}
+
+css::CSSValue SVGStylable::getPresentationAttribute(const DOMString &name)
+{
+ return impl->getPresentationAttribute(name);
+}
+*/
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGStylable.h b/ksvg/dom/SVGStylable.h
new file mode 100644
index 00000000..2fb3cf11
--- /dev/null
+++ b/ksvg/dom/SVGStylable.h
@@ -0,0 +1,56 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGStylable_H
+#define SVGStylable_H
+
+namespace KSVG
+{
+
+class SVGStylableImpl;
+class SVGStylable
+{
+public:
+ SVGStylable(const SVGStylable &other);
+ SVGStylable &operator=(const SVGStylable &other);
+ SVGStylable(SVGStylableImpl *other);
+ ~SVGStylable();
+
+ // TODO : stylesheet support
+ //SVGAnimatedString className() const;
+ //css::CSSStyleDeclaration style() const;
+ //css::CSSValue getPresentationAttribute(const DOMString &name);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGStylableImpl *handle() const { return impl; }
+
+protected:
+ SVGStylable();
+
+private:
+ SVGStylableImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
+
diff --git a/ksvg/dom/SVGStyleElement.cc b/ksvg/dom/SVGStyleElement.cc
new file mode 100644
index 00000000..8cf02024
--- /dev/null
+++ b/ksvg/dom/SVGStyleElement.cc
@@ -0,0 +1,115 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGStyleElement.h"
+#include "SVGStyleElementImpl.h"
+
+using namespace KSVG;
+
+SVGStyleElement::SVGStyleElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGStyleElement::SVGStyleElement(const SVGStyleElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGStyleElement &SVGStyleElement::operator =(const SVGStyleElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGStyleElement::SVGStyleElement(SVGStyleElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGStyleElement::~SVGStyleElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+void SVGStyleElement::setXmlspace(const DOM::DOMString &xmlspace)
+{
+ if(impl)
+ impl->setXmlspace(xmlspace);
+}
+
+DOM::DOMString SVGStyleElement::xmlspace() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->xmlspace();
+}
+
+void SVGStyleElement::setType(const DOM::DOMString &type)
+{
+ if(impl)
+ impl->setType(type);
+}
+
+DOM::DOMString SVGStyleElement::type() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->type();
+}
+
+void SVGStyleElement::setMedia(const DOM::DOMString &media)
+{
+ if(impl)
+ impl->setMedia(media);
+}
+
+DOM::DOMString SVGStyleElement::media() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->media();
+}
+
+void SVGStyleElement::setTitle(const DOM::DOMString &title)
+{
+ if(impl)
+ impl->setTitle(title);
+}
+
+DOM::DOMString SVGStyleElement::title() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->title();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGStyleElement.h b/ksvg/dom/SVGStyleElement.h
new file mode 100644
index 00000000..2a1c63b8
--- /dev/null
+++ b/ksvg/dom/SVGStyleElement.h
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGStyleElement_H
+#define SVGStyleElement_H
+
+#include <dom/dom_string.h>
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGStyleElementImpl;
+class SVGStyleElement : public SVGElement
+{
+public:
+ SVGStyleElement();
+ SVGStyleElement(const SVGStyleElement &other);
+ SVGStyleElement &operator=(const SVGStyleElement &other);
+ SVGStyleElement(SVGStyleElementImpl *other);
+ virtual ~SVGStyleElement();
+
+ void setXmlspace(const DOM::DOMString &xmlspace);
+ DOM::DOMString xmlspace() const;
+
+ void setType(const DOM::DOMString &type);
+ DOM::DOMString type() const;
+
+ void setMedia(const DOM::DOMString &media);
+ DOM::DOMString media() const;
+
+ void setTitle(const DOM::DOMString &title);
+ DOM::DOMString title() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGStyleElementImpl *handle() const { return impl; }
+
+private:
+ SVGStyleElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGSwitchElement.cc b/ksvg/dom/SVGSwitchElement.cc
new file mode 100644
index 00000000..2c4a8701
--- /dev/null
+++ b/ksvg/dom/SVGSwitchElement.cc
@@ -0,0 +1,72 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGSwitchElement.h"
+#include "SVGSwitchElementImpl.h"
+
+using namespace KSVG;
+
+SVGSwitchElement::SVGSwitchElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGSwitchElement::SVGSwitchElement(const SVGSwitchElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGSwitchElement &SVGSwitchElement::operator =(const SVGSwitchElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGSwitchElement::SVGSwitchElement(SVGSwitchElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGSwitchElement::~SVGSwitchElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGSwitchElement.h b/ksvg/dom/SVGSwitchElement.h
new file mode 100644
index 00000000..a4f8819d
--- /dev/null
+++ b/ksvg/dom/SVGSwitchElement.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGSwitchElement_H
+#define SVGSwitchElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGSwitchElementImpl;
+class SVGSwitchElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable
+{
+public:
+ SVGSwitchElement();
+ SVGSwitchElement(const SVGSwitchElement &other);
+ SVGSwitchElement &operator=(const SVGSwitchElement &other);
+ SVGSwitchElement(SVGSwitchElementImpl *other);
+ virtual ~SVGSwitchElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGSwitchElementImpl *handle() const { return impl; }
+
+private:
+ SVGSwitchElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGSymbolElement.cc b/ksvg/dom/SVGSymbolElement.cc
new file mode 100644
index 00000000..d83947a5
--- /dev/null
+++ b/ksvg/dom/SVGSymbolElement.cc
@@ -0,0 +1,71 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGSymbolElement.h"
+#include "SVGSymbolElementImpl.h"
+
+using namespace KSVG;
+
+SVGSymbolElement::SVGSymbolElement() : SVGElement(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGFitToViewBox()
+{
+ impl = 0;
+}
+
+SVGSymbolElement::SVGSymbolElement(const SVGSymbolElement &other) : SVGElement(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGFitToViewBox(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGSymbolElement &SVGSymbolElement::operator =(const SVGSymbolElement &other)
+{
+ SVGElement::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGFitToViewBox::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGSymbolElement::SVGSymbolElement(SVGSymbolElementImpl *other) : SVGElement(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGFitToViewBox(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGSymbolElement::~SVGSymbolElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGSymbolElement.h b/ksvg/dom/SVGSymbolElement.h
new file mode 100644
index 00000000..8d02987e
--- /dev/null
+++ b/ksvg/dom/SVGSymbolElement.h
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGSymbolElement_H
+#define SVGSymbolElement_H
+
+#include "SVGElement.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGFitToViewBox.h"
+
+namespace KSVG
+{
+
+class SVGSymbolElementImpl;
+class SVGSymbolElement : public SVGElement,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGFitToViewBox
+{
+public:
+ SVGSymbolElement();
+ SVGSymbolElement(const SVGSymbolElement &other);
+ SVGSymbolElement &operator=(const SVGSymbolElement &other);
+ SVGSymbolElement(SVGSymbolElementImpl *other);
+ virtual ~SVGSymbolElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGSymbolElementImpl *handle() const { return impl; }
+
+private:
+ SVGSymbolElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTRefElement.cc b/ksvg/dom/SVGTRefElement.cc
new file mode 100644
index 00000000..4faa18ec
--- /dev/null
+++ b/ksvg/dom/SVGTRefElement.cc
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTRefElement.h"
+#include "SVGTRefElementImpl.h"
+
+using namespace KSVG;
+
+SVGTRefElement::SVGTRefElement() : SVGTextPositioningElement(), SVGURIReference()
+{
+ impl = 0;
+}
+
+SVGTRefElement::SVGTRefElement(const SVGTRefElement &other) : SVGTextPositioningElement(other), SVGURIReference(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGTRefElement &SVGTRefElement::operator =(const SVGTRefElement &other)
+{
+ SVGTextPositioningElement::operator=(other);
+ SVGURIReference::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGTRefElement::SVGTRefElement(SVGTRefElementImpl *other) : SVGTextPositioningElement(other), SVGURIReference(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGTRefElement::~SVGTRefElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTRefElement.h b/ksvg/dom/SVGTRefElement.h
new file mode 100644
index 00000000..5585f1d7
--- /dev/null
+++ b/ksvg/dom/SVGTRefElement.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTRefElement_H
+#define SVGTRefElement_H
+
+#include "SVGTextPositioningElement.h"
+#include "SVGURIReference.h"
+
+namespace KSVG
+{
+
+class SVGTRefElementImpl;
+class SVGTRefElement : public SVGTextPositioningElement,
+ public SVGURIReference
+{
+public:
+ SVGTRefElement();
+ SVGTRefElement(const SVGTRefElement &other);
+ SVGTRefElement &operator=(const SVGTRefElement &other);
+ SVGTRefElement(SVGTRefElementImpl *other);
+ virtual ~SVGTRefElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTRefElementImpl *handle() const { return impl; }
+
+private:
+ SVGTRefElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTSpanElement.cc b/ksvg/dom/SVGTSpanElement.cc
new file mode 100644
index 00000000..fc43309c
--- /dev/null
+++ b/ksvg/dom/SVGTSpanElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTSpanElement.h"
+#include "SVGTSpanElementImpl.h"
+
+using namespace KSVG;
+
+SVGTSpanElement::SVGTSpanElement() : SVGTextPositioningElement()
+{
+ impl = 0;
+}
+
+SVGTSpanElement::SVGTSpanElement(const SVGTSpanElement &other) : SVGTextPositioningElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGTSpanElement &SVGTSpanElement::operator =(const SVGTSpanElement &other)
+{
+ SVGTextPositioningElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGTSpanElement::SVGTSpanElement(SVGTSpanElementImpl *other) : SVGTextPositioningElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGTSpanElement::~SVGTSpanElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTSpanElement.h b/ksvg/dom/SVGTSpanElement.h
new file mode 100644
index 00000000..8fac655b
--- /dev/null
+++ b/ksvg/dom/SVGTSpanElement.h
@@ -0,0 +1,70 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+*/
+
+#ifndef SVGTSpanElement_H
+#define SVGTSpanElement_H
+
+#include "SVGTextPositioningElement.h"
+
+namespace KSVG
+{
+
+class SVGTSpanElementImpl;
+
+/**
+ * Within a <code>text</code> element, text and font properties and the current
+ * text position can be adjusted with absolute or relative coordinate values by
+ * including a <code>tspan</code> element.
+ *
+ * For more information :
+ * <a href="http://www.w3.org/TR/SVG/text.html#TSpanElement">
+ * 10.5 the 'tspan' element</a>
+ */
+class SVGTSpanElement : public SVGTextPositioningElement
+{
+public:
+ SVGTSpanElement();
+ SVGTSpanElement(const SVGTSpanElement &other);
+ SVGTSpanElement &operator=(const SVGTSpanElement &other);
+ SVGTSpanElement(SVGTSpanElementImpl *other);
+ virtual ~SVGTSpanElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTSpanElementImpl *handle() const { return impl; }
+
+private:
+ SVGTSpanElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTests.cc b/ksvg/dom/SVGTests.cc
new file mode 100644
index 00000000..9c3063b1
--- /dev/null
+++ b/ksvg/dom/SVGTests.cc
@@ -0,0 +1,83 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTests.h"
+#include "SVGTestsImpl.h"
+#include "SVGStringList.h"
+
+using namespace KSVG;
+
+// This class can't be constructed seperately.
+SVGTests::SVGTests()
+{
+ impl = 0;
+}
+
+SVGTests::SVGTests(const SVGTests &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGTests &SVGTests::operator=(const SVGTests &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGTests::SVGTests(SVGTestsImpl *other)
+{
+ impl = other;
+}
+
+SVGTests::~SVGTests()
+{
+ // We are not allowed to delete 'impl' as it's not refcounted.
+ // delete impl;
+}
+
+SVGStringList SVGTests::requiredFeatures() const
+{
+ if(!impl) return SVGStringList(0);
+ return SVGStringList(impl->requiredFeatures());
+}
+
+SVGStringList SVGTests::requiredExtensions() const
+{
+ if(!impl) return SVGStringList(0);
+ return SVGStringList(impl->requiredExtensions());
+}
+
+SVGStringList SVGTests::systemLanguage() const
+{
+ if(!impl) return SVGStringList(0);
+ return SVGStringList(impl->systemLanguage());
+}
+
+bool SVGTests::hasExtension(const DOM::DOMString &extension)
+{
+ if(!impl) return false;
+ return impl->hasExtension(extension);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTests.h b/ksvg/dom/SVGTests.h
new file mode 100644
index 00000000..729b0efc
--- /dev/null
+++ b/ksvg/dom/SVGTests.h
@@ -0,0 +1,59 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTests_H
+#define SVGTests_H
+
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+class SVGStringList;
+class SVGTestsImpl;
+class SVGTests
+{
+public:
+ SVGTests(const SVGTests &other);
+ SVGTests &operator=(const SVGTests &other);
+ SVGTests(SVGTestsImpl *other);
+ ~SVGTests();
+
+ SVGStringList requiredFeatures() const;
+ SVGStringList requiredExtensions() const;
+ SVGStringList systemLanguage() const;
+
+ bool hasExtension(const DOM::DOMString &extension);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTestsImpl *handle() const { return impl; }
+
+protected:
+ SVGTests();
+
+private:
+ SVGTestsImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTextContentElement.cc b/ksvg/dom/SVGTextContentElement.cc
new file mode 100644
index 00000000..f40d23b6
--- /dev/null
+++ b/ksvg/dom/SVGTextContentElement.cc
@@ -0,0 +1,120 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTextContentElement.h"
+#include "SVGTextContentElementImpl.h"
+#include "SVGAnimatedEnumeration.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGTextContentElement::SVGTextContentElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable()
+{
+ impl = new SVGTextContentElementImpl(0);
+}
+
+SVGTextContentElement::SVGTextContentElement(const SVGTextContentElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other)
+{
+ impl = other.impl;
+}
+
+SVGTextContentElement &SVGTextContentElement::operator=(const SVGTextContentElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ delete impl;
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGTextContentElement::SVGTextContentElement(SVGTextContentElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other)
+{
+ impl = other;
+}
+
+SVGTextContentElement::~SVGTextContentElement()
+{
+}
+
+
+SVGAnimatedLength SVGTextContentElement::textLength() const
+{
+ return impl->textLength();
+}
+
+SVGAnimatedEnumeration SVGTextContentElement::lengthAdjust() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->lengthAdjust());
+}
+
+long SVGTextContentElement::getNumberOfChars()
+{
+ return impl->getNumberOfChars();
+}
+
+float SVGTextContentElement::getComputedTextLength()
+{
+ return impl->getComputedTextLength();
+}
+/*
+float SVGTextContentElement::getSubStringLength(const unsigned long &charnum, const unsigned long &nchars)
+{
+ return impl->getSubStringLength(charnum, nchars);
+}
+
+SVGPoint SVGTextContentElement::getStartPositionOfChar(const unsigned long &charnum)
+{
+ return impl->getStartPositionOfChar(charnum);
+}
+
+SVGPoint SVGTextContentElement::getEndPositionOfChar(const unsigned long &charnum)
+{
+ return impl->getEndPositionOfChar(charnum);
+}
+
+SVGRect SVGTextContentElement::getExtentOfChar(const unsigned long &charnum)
+{
+ return impl->getExtentOfChar(charnum);
+}
+
+float SVGTextContentElement::getRotationOfChar(const unsigned long &charnum)
+{
+ return impl->getRotationOfChar(charnum);
+}
+
+long SVGTextContentElement::getCharNumAtPosition(const SVGPoint &point)
+{
+ return impl->getCharNumAtPosition(point);
+}
+
+void SVGTextContentElement::selectSubString(const unsigned long &charnum, const unsigned long &nchars)
+{
+ return impl->selectSubString(charnum, nchars);
+}
+*/
diff --git a/ksvg/dom/SVGTextContentElement.h b/ksvg/dom/SVGTextContentElement.h
new file mode 100644
index 00000000..2f943c06
--- /dev/null
+++ b/ksvg/dom/SVGTextContentElement.h
@@ -0,0 +1,79 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTextContentElement_H
+#define SVGTextContentElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+
+namespace KSVG
+{
+
+enum
+{
+ LENGTHADJUST_UNKNOWN = 0,
+ LENGTHADJUST_SPACING = 1,
+ LENGTHADJUST_SPACINGANDGLYPHS = 2
+};
+
+class SVGAnimatedLength;
+class SVGAnimatedEnumeration;
+class SVGTextContentElementImpl;
+class SVGTextContentElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable
+{
+public:
+ SVGTextContentElement(const SVGTextContentElement &);
+ SVGTextContentElement &operator=(const SVGTextContentElement &other);
+ SVGTextContentElement(SVGTextContentElementImpl *);
+ ~SVGTextContentElement();
+
+ SVGAnimatedLength textLength() const;
+ SVGAnimatedEnumeration lengthAdjust() const;
+ long getNumberOfChars();
+ float getComputedTextLength();
+// float getSubStringLength(const unsigned long &charnum, const unsigned long &nchars);
+// SVGPoint getStartPositionOfChar(const unsigned long &charnum);
+// SVGPoint getEndPositionOfChar(const unsigned long &charnum);
+// SVGRect getExtentOfChar(const unsigned long &charnum);
+// float getRotationOfChar(const unsigned long &charnum);
+// long getCharNumAtPosition(const SVGPoint &point);
+// void selectSubString(const unsigned long &charnum, const unsigned long &nchars);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTextContentElementImpl *handle() const { return impl; }
+
+protected:
+ SVGTextContentElement();
+
+private:
+ SVGTextContentElementImpl *impl;
+};
+
+}
+
+#endif
diff --git a/ksvg/dom/SVGTextElement.cc b/ksvg/dom/SVGTextElement.cc
new file mode 100644
index 00000000..b80a148a
--- /dev/null
+++ b/ksvg/dom/SVGTextElement.cc
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <kdebug.h>
+#include "SVGTextElement.h"
+#include "SVGTextElementImpl.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGTextElement::SVGTextElement() : SVGTextPositioningElement(), SVGTransformable()
+{
+ impl = 0;
+}
+
+SVGTextElement::SVGTextElement(const SVGTextElement &other) : SVGTextPositioningElement(other), SVGTransformable(other)
+{
+ (*this) = other;
+}
+
+SVGTextElement &SVGTextElement::operator =(const SVGTextElement &other)
+{
+ SVGTextPositioningElement::operator=(other);
+ SVGTransformable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGTextElement::SVGTextElement(SVGTextElementImpl *other) : SVGTextPositioningElement(other), SVGTransformable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGTextElement::~SVGTextElement()
+{
+ if(impl)
+ impl->deref();
+}
diff --git a/ksvg/dom/SVGTextElement.h b/ksvg/dom/SVGTextElement.h
new file mode 100644
index 00000000..0bf459fe
--- /dev/null
+++ b/ksvg/dom/SVGTextElement.h
@@ -0,0 +1,115 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; see the file COPYING.LIB. If
+ not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+ Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+ This file includes excerpts from the Scalable Vector Graphics
+ (SVG) 1.0 Specification (Proposed Recommendation)
+ http://www.w3.org/TR/SVG
+
+ Copyright © 2001 World Wide Web Consortium, (Massachusetts
+ Institute of Technology, Institut National de Recherche en
+ Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+
+ $Id$
+ */
+
+
+#ifndef SVGTextElement_H
+#define SVGTextElement_H
+
+#include "SVGTextPositioningElement.h"
+#include "SVGTransformable.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGTextElementImpl;
+
+/**
+ * @short The <code>text</code> element defines a graphics element
+ * consisting of text.
+ *
+ * The XML character data within the <code>text</code> element, along
+ * with relevant attributes and properties and character-to-glyph
+ * mapping tables within the font itself, define the glyphs to be
+ * rendered. (See <a
+ * href="http://www.w3.org/TR/SVG/text.html#CharactersAndGlyphs"> Characters
+ * and their corresponding glyphs </a>.) The attributes and properties on the
+ * 'text' element indicate such things as the writing direction, font
+ * specification and painting attributes which describe how exactly to render
+ * the characters. Since <code>text</code> elements are rendered using the
+ * same rendering methods as other graphics elements, all of the same
+ * coordinate system transformations, painting, clipping and masking
+ * features that apply to shapes such as paths and rectangles also
+ * apply to <code>text</code> elements.
+ *
+ * It is possible to apply a gradient, pattern, clipping path, mask or
+ * filter to text.When one of these facilities is applied to text and
+ * keyword objectBoundingBox is used to specify a graphical effect
+ * relative to the "object bounding box", then the object bounding box
+ * units are computed relative to the entire 'text' element in all
+ * cases, even when different effects are applied to different 'tspan'
+ * elements within the same 'text' element.
+ *
+
+ * The <code>text</code> element renders its first glyph (after <a
+ * href = "http://www.w3.org/TR/SVG/text.html#RelationshipWithBiDirectionality"
+ * >bidirectionality</a> reordering) at the initial current text
+ * position, which is established by the <code>x</code> and
+ * <code>y</code> attributes on the <code>text</code> element (with
+ * possible adjustments due to the value of the @ref text-anchor
+ * property, the presence of a @ref textPath element containing the
+ * first character, and/or an <code>x</code>, <code>y</code>,
+ * <code>dx</code> or <code>dy</code> attributes on a @ref tspan, @ref
+ * tref or @ref altGlyph element which contains the first character).
+ * After the glyph(s) corresponding to the given character is(are)
+ * rendered, the current text position is updated for the next
+ * character. In the simplest case, the new current text position is
+ * the previous current text position plus the glyphs' advance value
+ * (horizontal or vertical).
+ *
+ * @see SVGShape
+ * @see SVGTextPositioningElement
+ *
+ * For more info look here : <a href =
+ * "http://www.w3.org/TR/SVG/text.html#TextElement"> 10.4 The
+ * 'text' element</a>.
+ */
+class SVGTextElement : public SVGTextPositioningElement,
+ public SVGTransformable
+{
+public:
+ SVGTextElement();
+ SVGTextElement(const SVGTextElement &);
+ SVGTextElement &operator=(const SVGTextElement &other);
+ SVGTextElement(SVGTextElementImpl *);
+ ~SVGTextElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTextElementImpl *handle() const { return impl; }
+
+private:
+ SVGTextElementImpl *impl;
+};
+
+}
+
+#endif
diff --git a/ksvg/dom/SVGTextPathElement.cc b/ksvg/dom/SVGTextPathElement.cc
new file mode 100644
index 00000000..1cb6b833
--- /dev/null
+++ b/ksvg/dom/SVGTextPathElement.cc
@@ -0,0 +1,89 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTextPathElement.h"
+#include "SVGTextPathElementImpl.h"
+#include "SVGAnimatedEnumeration.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGTextPathElement::SVGTextPathElement() : SVGTextContentElement(), SVGURIReference()
+{
+ impl = new SVGTextPathElementImpl(0);
+ impl->ref();
+}
+
+SVGTextPathElement::SVGTextPathElement(const SVGTextPathElement &other) : SVGTextContentElement(other), SVGURIReference(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGTextPathElement &SVGTextPathElement::operator =(const SVGTextPathElement &other)
+{
+ SVGTextContentElement::operator=(other);
+ SVGURIReference::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGTextPathElement::SVGTextPathElement(SVGTextPathElementImpl *other) : SVGTextContentElement(other), SVGURIReference(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGTextPathElement::~SVGTextPathElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGTextPathElement::startOffset() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->startOffset());
+}
+
+SVGAnimatedEnumeration SVGTextPathElement::method() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->method());
+}
+
+SVGAnimatedEnumeration SVGTextPathElement::spacing() const
+{
+ if(!impl) return SVGAnimatedEnumeration(0);
+ return SVGAnimatedEnumeration(impl->spacing());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTextPathElement.h b/ksvg/dom/SVGTextPathElement.h
new file mode 100644
index 00000000..69c7fe79
--- /dev/null
+++ b/ksvg/dom/SVGTextPathElement.h
@@ -0,0 +1,70 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTextPathElement_H
+#define SVGTextPathElement_H
+
+#include "SVGTextContentElement.h"
+#include "SVGURIReference.h"
+
+namespace KSVG
+{
+
+enum
+{
+ TEXTPATH_METHODTYPE_UNKNOWN = 0,
+ TEXTPATH_METHODTYPE_ALIGN = 1,
+ TEXTPATH_METHODTYPE_STRETCH = 2
+};
+
+enum
+{
+ TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
+ TEXTPATH_SPACINGTYPE_AUTO = 1,
+ TEXTPATH_SPACINGTYPE_EXACT = 2
+};
+
+class SVGTextPathElementImpl;
+class SVGTextPathElement : public SVGTextContentElement,
+ public SVGURIReference
+{
+public:
+ SVGTextPathElement();
+ SVGTextPathElement(const SVGTextPathElement &other);
+ SVGTextPathElement &operator=(const SVGTextPathElement &other);
+ SVGTextPathElement(SVGTextPathElementImpl *other);
+ virtual ~SVGTextPathElement();
+
+ SVGAnimatedLength startOffset() const;
+ SVGAnimatedEnumeration method() const;
+ SVGAnimatedEnumeration spacing() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTextPathElementImpl *handle() const { return impl; }
+
+private:
+ SVGTextPathElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTextPositioningElement.cc b/ksvg/dom/SVGTextPositioningElement.cc
new file mode 100644
index 00000000..6ce7d346
--- /dev/null
+++ b/ksvg/dom/SVGTextPositioningElement.cc
@@ -0,0 +1,85 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <kdebug.h>
+#include "SVGTextPositioningElement.h"
+#include "SVGTextPositioningElementImpl.h"
+#include "SVGAnimatedNumber.h"
+#include "SVGAnimatedNumberList.h"
+#include "SVGAnimatedLength.h"
+#include "SVGAnimatedLengthList.h"
+
+using namespace KSVG;
+
+SVGTextPositioningElement::SVGTextPositioningElement() : SVGTextContentElement()
+{
+ impl = new SVGTextPositioningElementImpl(0);
+}
+
+SVGTextPositioningElement::SVGTextPositioningElement(const SVGTextPositioningElement &other) : SVGTextContentElement(other)
+{
+ impl = other.impl;
+}
+
+SVGTextPositioningElement &SVGTextPositioningElement::operator=(const SVGTextPositioningElement &other)
+{
+ SVGTextContentElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ delete impl;
+ impl = other.impl;
+
+ return *this;
+}
+SVGTextPositioningElement::SVGTextPositioningElement(SVGTextPositioningElementImpl *other) : SVGTextContentElement(other)
+{
+ impl = other;
+}
+
+SVGTextPositioningElement::~SVGTextPositioningElement()
+{
+}
+
+SVGAnimatedLengthList SVGTextPositioningElement::x()
+{
+ return SVGAnimatedLengthList(impl->x());
+}
+
+SVGAnimatedLengthList SVGTextPositioningElement::y()
+{
+ return SVGAnimatedLengthList(impl->y());
+}
+
+SVGAnimatedLengthList SVGTextPositioningElement::dx()
+{
+ return SVGAnimatedLengthList(impl->dx());
+}
+
+SVGAnimatedLengthList SVGTextPositioningElement::dy()
+{
+ return SVGAnimatedLengthList(impl->dy());
+}
+
+SVGAnimatedNumberList SVGTextPositioningElement::rotate()
+{
+ return SVGAnimatedNumberList(impl->rotate());
+}
diff --git a/ksvg/dom/SVGTextPositioningElement.h b/ksvg/dom/SVGTextPositioningElement.h
new file mode 100644
index 00000000..f02950ca
--- /dev/null
+++ b/ksvg/dom/SVGTextPositioningElement.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTextPositioningElement_H
+#define SVGTextPositioningElement_H
+
+#include "SVGTextContentElement.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGAnimatedLengthList;
+class SVGAnimatedNumber;
+class SVGAnimatedNumberList;
+class SVGTextPositioningElementImpl;
+class SVGTextPositioningElement : public SVGTextContentElement
+{
+public:
+ SVGTextPositioningElement(const SVGTextPositioningElement &);
+ SVGTextPositioningElement &operator=(const SVGTextPositioningElement &other);
+ SVGTextPositioningElement(SVGTextPositioningElementImpl *);
+ ~SVGTextPositioningElement();
+
+ SVGAnimatedLengthList x();
+ SVGAnimatedLengthList y();
+ SVGAnimatedLengthList dx();
+ SVGAnimatedLengthList dy();
+ SVGAnimatedNumberList rotate();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTextPositioningElementImpl *handle() const { return impl; }
+
+protected:
+ SVGTextPositioningElement();
+
+private:
+ SVGTextPositioningElementImpl *impl;
+};
+
+}
+
+#endif
diff --git a/ksvg/dom/SVGTitleElement.cc b/ksvg/dom/SVGTitleElement.cc
new file mode 100644
index 00000000..f319c126
--- /dev/null
+++ b/ksvg/dom/SVGTitleElement.cc
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTitleElement.h"
+#include "SVGTitleElementImpl.h"
+
+using namespace KSVG;
+
+SVGTitleElement::SVGTitleElement() : SVGElement(), SVGLangSpace(), SVGStylable()
+{
+ impl = 0;
+}
+
+SVGTitleElement::SVGTitleElement(const SVGTitleElement &other) : SVGElement(other), SVGLangSpace(other), SVGStylable(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGTitleElement &SVGTitleElement::operator =(const SVGTitleElement &other)
+{
+ SVGElement::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGStylable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGTitleElement::SVGTitleElement(SVGTitleElementImpl *other) : SVGElement(other), SVGLangSpace(other), SVGStylable(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGTitleElement::~SVGTitleElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTitleElement.h b/ksvg/dom/SVGTitleElement.h
new file mode 100644
index 00000000..95f26272
--- /dev/null
+++ b/ksvg/dom/SVGTitleElement.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTitleElement_H
+#define SVGTitleElement_H
+
+#include "SVGElement.h"
+#include "SVGLangSpace.h"
+#include "SVGStylable.h"
+
+namespace KSVG
+{
+
+class SVGTitleElementImpl;
+class SVGTitleElement : public SVGElement,
+ public SVGLangSpace,
+ public SVGStylable
+{
+public:
+ SVGTitleElement();
+ SVGTitleElement(const SVGTitleElement &other);
+ SVGTitleElement &operator=(const SVGTitleElement &other);
+ SVGTitleElement(SVGTitleElementImpl *other);
+ virtual ~SVGTitleElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTitleElementImpl *handle() const { return impl; }
+
+private:
+ SVGTitleElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTransform.cc b/ksvg/dom/SVGTransform.cc
new file mode 100644
index 00000000..df660678
--- /dev/null
+++ b/ksvg/dom/SVGTransform.cc
@@ -0,0 +1,119 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTransformImpl.h"
+#include "SVGTransform.h"
+#include "SVGMatrix.h"
+
+using namespace KSVG;
+
+SVGTransform::SVGTransform()
+{
+ impl = new SVGTransformImpl();
+ impl->ref();
+}
+
+SVGTransform::SVGTransform(const SVGTransform &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGTransform &SVGTransform::operator=(const SVGTransform &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGTransform::SVGTransform(SVGTransformImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGTransform::~SVGTransform()
+{
+}
+
+unsigned short SVGTransform::type() const
+{
+ if(!impl) return SVG_TRANSFORM_UNKNOWN;
+ return impl->type();
+}
+
+SVGMatrix SVGTransform::matrix() const
+{
+ if(!impl) return SVGMatrix(0);
+ return SVGMatrix(impl->matrix());
+}
+
+double SVGTransform::angle() const
+{
+ if(!impl) return -1;
+ return impl->angle();
+}
+
+void SVGTransform::setMatrix(SVGMatrix matrix)
+{
+ if(impl)
+ impl->setMatrix(matrix.handle());
+}
+
+void SVGTransform::setTranslate(double tx, double ty)
+{
+ if(impl)
+ impl->setTranslate(tx, ty);
+}
+
+void SVGTransform::setScale(double sx, double sy)
+{
+ if(impl)
+ impl->setScale(sx, sy);
+}
+
+void SVGTransform::setRotate(double angle, double cx, double cy)
+{
+ if(impl)
+ impl->setRotate(angle, cx, cy);
+}
+
+void SVGTransform::setSkewX(double angle)
+{
+ if(impl)
+ impl->setSkewX(angle);
+}
+
+void SVGTransform::setSkewY(double angle)
+{
+ if(impl)
+ impl->setSkewY(angle);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTransform.h b/ksvg/dom/SVGTransform.h
new file mode 100644
index 00000000..b7ca927f
--- /dev/null
+++ b/ksvg/dom/SVGTransform.h
@@ -0,0 +1,71 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTransform_H
+#define SVGTransform_H
+
+namespace KSVG
+{
+
+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
+};
+
+class SVGMatrix;
+class SVGTransformImpl;
+class SVGTransform
+{
+public:
+ SVGTransform();
+ SVGTransform(const SVGTransform &);
+ SVGTransform &operator=(const SVGTransform &);
+ SVGTransform(SVGTransformImpl *);
+ ~SVGTransform();
+
+ unsigned short type() const;
+ SVGMatrix matrix() const;
+ double angle() const;
+
+ void setMatrix(SVGMatrix);
+ void setTranslate(double, double);
+ void setScale(double, double);
+ void setRotate(double, double, double);
+ void setSkewX(double);
+ void setSkewY(double);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTransformImpl *handle() const { return impl; }
+
+private:
+ SVGTransformImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTransformList.cc b/ksvg/dom/SVGTransformList.cc
new file mode 100644
index 00000000..541db510
--- /dev/null
+++ b/ksvg/dom/SVGTransformList.cc
@@ -0,0 +1,129 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTransformList.h"
+#include "SVGTransformListImpl.h"
+#include "SVGSVGElementImpl.h"
+#include "SVGMatrix.h"
+#include "SVGTransform.h"
+
+using namespace KSVG;
+
+SVGTransformList::SVGTransformList()
+{
+ impl = new SVGTransformListImpl();
+ impl->ref();
+}
+
+SVGTransformList::SVGTransformList(const SVGTransformList &other)
+{
+ (*this) = other;
+}
+
+SVGTransformList &SVGTransformList::operator=(const SVGTransformList &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGTransformList::SVGTransformList(SVGTransformListImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGTransformList::~SVGTransformList()
+{
+ if(impl)
+ impl->deref();
+}
+
+unsigned long SVGTransformList::numberOfItems() const
+{
+ if(!impl) return 0;
+ return impl->numberOfItems();
+}
+
+void SVGTransformList::clear()
+{
+ if(impl)
+ impl->clear();
+}
+
+SVGTransform *SVGTransformList::initialize(SVGTransform *newItem)
+{
+ if(!impl) return new SVGTransform(0);
+ return new SVGTransform(impl->initialize(newItem->handle()));
+}
+
+SVGTransform *SVGTransformList::getItem(unsigned long index)
+{
+ if(!impl) return new SVGTransform(0);
+ return new SVGTransform(impl->getItem(index));
+}
+
+SVGTransform *SVGTransformList::insertItemBefore(SVGTransform *newItem, unsigned long index)
+{
+ if(!impl) return new SVGTransform(0);
+ return new SVGTransform(impl->insertItemBefore(newItem->handle(), index));
+}
+
+SVGTransform *SVGTransformList::replaceItem(SVGTransform *newItem, unsigned long index)
+{
+ if(!impl) return new SVGTransform(0);
+ return new SVGTransform(impl->replaceItem(newItem->handle(), index));
+}
+
+SVGTransform *SVGTransformList::removeItem(unsigned long index)
+{
+ if(!impl) return new SVGTransform(0);
+ return new SVGTransform(impl->removeItem(index));
+}
+
+SVGTransform *SVGTransformList::appendItem(SVGTransform *newItem)
+{
+ if(!impl) return new SVGTransform(0);
+ return new SVGTransform(impl->appendItem(newItem->handle()));
+}
+
+SVGTransform *SVGTransformList::createSVGTransformFromMatrix(SVGMatrix &matrix)
+{
+ if(!impl) return new SVGTransform(0);
+ return new SVGTransform(SVGSVGElementImpl::createSVGTransformFromMatrix(matrix.handle()));
+}
+
+SVGTransform *SVGTransformList::consolidate()
+{
+ if(!impl || impl->numberOfItems()==0) return 0;
+ return new SVGTransform(impl->consolidate());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTransformList.h b/ksvg/dom/SVGTransformList.h
new file mode 100644
index 00000000..8d448718
--- /dev/null
+++ b/ksvg/dom/SVGTransformList.h
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTransformList_H
+#define SVGTransformList_H
+
+namespace KSVG
+{
+
+class SVGMatrix;
+class SVGTransform;
+class SVGTransformListImpl;
+class SVGTransformList
+{
+public:
+ SVGTransformList();
+ SVGTransformList(const SVGTransformList &);
+ SVGTransformList &operator=(const SVGTransformList &);
+ SVGTransformList(SVGTransformListImpl *);
+ ~SVGTransformList();
+
+ unsigned long numberOfItems() const;
+ void clear();
+
+ SVGTransform *initialize(SVGTransform *newItem);
+ SVGTransform *getItem(unsigned long index);
+ SVGTransform *insertItemBefore(SVGTransform *newItem, unsigned long index);
+ SVGTransform *replaceItem(SVGTransform *newItem, unsigned long index);
+ SVGTransform *removeItem(unsigned long index);
+ SVGTransform *appendItem(SVGTransform *newItem);
+
+ SVGTransform *createSVGTransformFromMatrix(SVGMatrix &matrix);
+ SVGTransform *consolidate();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTransformListImpl *handle() const { return impl; }
+
+private:
+ SVGTransformListImpl *impl;
+};
+
+}
+
+#endif
+// vim:ts=4:noet
+
diff --git a/ksvg/dom/SVGTransformable.cc b/ksvg/dom/SVGTransformable.cc
new file mode 100644
index 00000000..64530d39
--- /dev/null
+++ b/ksvg/dom/SVGTransformable.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGTransformable.h"
+#include "SVGTransformableImpl.h"
+#include "SVGAnimatedTransformList.h"
+
+using namespace KSVG;
+
+// This class can't be constructed seperately.
+SVGTransformable::SVGTransformable() : SVGLocatable()
+{
+ impl = 0;
+}
+
+SVGTransformable::SVGTransformable(const SVGTransformable &other) : SVGLocatable(other)
+{
+ (*this) = other;
+}
+
+SVGTransformable &SVGTransformable::operator=(const SVGTransformable &other)
+{
+ SVGLocatable::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGTransformable::SVGTransformable(SVGTransformableImpl *other) : SVGLocatable(other)
+{
+ impl = other;
+}
+
+SVGTransformable::~SVGTransformable()
+{
+ // We are not allowed to delete 'impl' as it's not refcounted.
+ // delete impl;
+}
+
+SVGAnimatedTransformList SVGTransformable::transform()
+{
+ if(!impl) return SVGAnimatedTransformList(0);
+ return SVGAnimatedTransformList(impl->transform());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGTransformable.h b/ksvg/dom/SVGTransformable.h
new file mode 100644
index 00000000..54bf0a40
--- /dev/null
+++ b/ksvg/dom/SVGTransformable.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGTransformable_H
+#define SVGTransformable_H
+
+#include "SVGLocatable.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedTransformList;
+class SVGTransformableImpl;
+class SVGTransformable : public SVGLocatable
+{
+public:
+ SVGTransformable(const SVGTransformable &other);
+ SVGTransformable &operator=(const SVGTransformable &other);
+ SVGTransformable(SVGTransformableImpl *other);
+ virtual ~SVGTransformable();
+
+ SVGAnimatedTransformList transform();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGTransformableImpl *handle() const { return impl; }
+
+protected:
+ SVGTransformable();
+
+private:
+ SVGTransformableImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGURIReference.cc b/ksvg/dom/SVGURIReference.cc
new file mode 100644
index 00000000..e872e9d6
--- /dev/null
+++ b/ksvg/dom/SVGURIReference.cc
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGURIReference.h"
+#include "SVGURIReferenceImpl.h"
+#include "SVGAnimatedString.h"
+
+using namespace KSVG;
+
+SVGURIReference::SVGURIReference()
+{
+ impl = new SVGURIReferenceImpl();
+}
+
+SVGURIReference::SVGURIReference(const SVGURIReference &other)
+{
+ impl = other.impl;
+}
+
+SVGURIReference &SVGURIReference::operator=(const SVGURIReference &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ delete impl;
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGURIReference::SVGURIReference(SVGURIReferenceImpl *other)
+{
+ impl = other;
+}
+
+SVGURIReference::~SVGURIReference()
+{
+}
+
+SVGAnimatedString SVGURIReference::href() const
+{
+ if(!impl) return SVGAnimatedString(0);
+ return SVGAnimatedString(impl->href());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGURIReference.h b/ksvg/dom/SVGURIReference.h
new file mode 100644
index 00000000..571cd2b2
--- /dev/null
+++ b/ksvg/dom/SVGURIReference.h
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGURIReference_H
+#define SVGURIReference_H
+
+namespace KSVG
+{
+
+class SVGAnimatedString;
+class SVGURIReferenceImpl;
+class SVGURIReference
+{
+public:
+ SVGURIReference(const SVGURIReference &other);
+ SVGURIReference &operator=(const SVGURIReference &other);
+ SVGURIReference(SVGURIReferenceImpl *other);
+ virtual ~SVGURIReference();
+
+ SVGAnimatedString href() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGURIReferenceImpl *handle() const { return impl; }
+
+protected:
+ SVGURIReference();
+
+private:
+ SVGURIReferenceImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGUnitTypes.h b/ksvg/dom/SVGUnitTypes.h
new file mode 100644
index 00000000..76079af2
--- /dev/null
+++ b/ksvg/dom/SVGUnitTypes.h
@@ -0,0 +1,41 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGUnitTypes_H
+#define SVGUnitTypes_H
+
+namespace KSVG
+{
+
+struct SVGUnitTypes
+{
+ enum
+ {
+ SVG_UNIT_TYPE_UNKNOWN = 0,
+ SVG_UNIT_TYPE_USERSPACEONUSE = 1,
+ SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2
+ };
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGUseElement.cc b/ksvg/dom/SVGUseElement.cc
new file mode 100644
index 00000000..8cd8ef26
--- /dev/null
+++ b/ksvg/dom/SVGUseElement.cc
@@ -0,0 +1,111 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGUseElement.h"
+#include "SVGUseElementImpl.h"
+#include "SVGElementInstance.h"
+#include "SVGAnimatedLength.h"
+
+using namespace KSVG;
+
+SVGUseElement::SVGUseElement() : SVGElement(), SVGTests(), SVGLangSpace(), SVGExternalResourcesRequired(), SVGStylable(), SVGTransformable(), SVGURIReference()
+{
+ impl = 0;
+}
+
+SVGUseElement::SVGUseElement(const SVGUseElement &other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGURIReference(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGUseElement &SVGUseElement::operator =(const SVGUseElement &other)
+{
+ SVGElement::operator=(other);
+ SVGTests::operator=(other);
+ SVGLangSpace::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGStylable::operator=(other);
+ SVGTransformable::operator=(other);
+ SVGURIReference::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGUseElement::SVGUseElement(SVGUseElementImpl *other) : SVGElement(other), SVGTests(other), SVGLangSpace(other), SVGExternalResourcesRequired(other), SVGStylable(other), SVGTransformable(other), SVGURIReference(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGUseElement::~SVGUseElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGAnimatedLength SVGUseElement::x() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->x());
+}
+
+SVGAnimatedLength SVGUseElement::y() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->y());
+}
+
+SVGAnimatedLength SVGUseElement::width() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->width());
+}
+
+SVGAnimatedLength SVGUseElement::height() const
+{
+ if(!impl) return SVGAnimatedLength(0);
+ return SVGAnimatedLength(impl->height());
+}
+
+SVGElementInstance SVGUseElement::instanceRoot() const
+{
+ if(!impl) return SVGElementInstance(0);
+ return impl->instanceRoot();
+}
+
+SVGElementInstance SVGUseElement::animatedInstanceRoot() const
+{
+ if(!impl) return SVGElementInstance(0);
+ return impl->animatedInstanceRoot();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGUseElement.h b/ksvg/dom/SVGUseElement.h
new file mode 100644
index 00000000..fb494abb
--- /dev/null
+++ b/ksvg/dom/SVGUseElement.h
@@ -0,0 +1,71 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGUseElement_H
+#define SVGUseElement_H
+
+#include "SVGElement.h"
+#include "SVGTests.h"
+#include "SVGLangSpace.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGStylable.h"
+#include "SVGTransformable.h"
+#include "SVGURIReference.h"
+
+namespace KSVG
+{
+
+class SVGAnimatedLength;
+class SVGElementInstance;
+class SVGUseElementImpl;
+class SVGUseElement : public SVGElement,
+ public SVGTests,
+ public SVGLangSpace,
+ public SVGExternalResourcesRequired,
+ public SVGStylable,
+ public SVGTransformable,
+ public SVGURIReference
+{
+public:
+ SVGUseElement();
+ SVGUseElement(const SVGUseElement &other);
+ SVGUseElement &operator=(const SVGUseElement &other);
+ SVGUseElement(SVGUseElementImpl *other);
+ virtual ~SVGUseElement();
+
+ SVGAnimatedLength x() const;
+ SVGAnimatedLength y() const;
+ SVGAnimatedLength width() const;
+ SVGAnimatedLength height() const;
+ SVGElementInstance instanceRoot() const;
+ SVGElementInstance animatedInstanceRoot() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGUseElementImpl *handle() const { return impl; }
+
+private:
+ SVGUseElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGVKernElement.cc b/ksvg/dom/SVGVKernElement.cc
new file mode 100644
index 00000000..ad6dbee5
--- /dev/null
+++ b/ksvg/dom/SVGVKernElement.cc
@@ -0,0 +1,67 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGVKernElement.h"
+#include "SVGVKernElementImpl.h"
+
+using namespace KSVG;
+
+SVGVKernElement::SVGVKernElement() : SVGElement()
+{
+ impl = 0;
+}
+
+SVGVKernElement::SVGVKernElement(const SVGVKernElement &other) : SVGElement(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGVKernElement &SVGVKernElement::operator =(const SVGVKernElement &other)
+{
+ SVGElement::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGVKernElement::SVGVKernElement(SVGVKernElementImpl *other) : SVGElement(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGVKernElement::~SVGVKernElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGVKernElement.h b/ksvg/dom/SVGVKernElement.h
new file mode 100644
index 00000000..6649ab1a
--- /dev/null
+++ b/ksvg/dom/SVGVKernElement.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGVKernElement_H
+#define SVGVKernElement_H
+
+#include "SVGElement.h"
+
+namespace KSVG
+{
+
+class SVGVKernElementImpl;
+class SVGVKernElement : public SVGElement
+{
+public:
+ SVGVKernElement();
+ SVGVKernElement(const SVGVKernElement &other);
+ SVGVKernElement &operator=(const SVGVKernElement &other);
+ SVGVKernElement(SVGVKernElementImpl *other);
+ virtual ~SVGVKernElement();
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGVKernElementImpl *handle() const { return impl; }
+
+private:
+ SVGVKernElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGViewElement.cc b/ksvg/dom/SVGViewElement.cc
new file mode 100644
index 00000000..040d6966
--- /dev/null
+++ b/ksvg/dom/SVGViewElement.cc
@@ -0,0 +1,77 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGViewElement.h"
+#include "SVGViewElementImpl.h"
+#include "SVGStringList.h"
+
+using namespace KSVG;
+
+SVGViewElement::SVGViewElement() : SVGElement(), SVGExternalResourcesRequired(), SVGFitToViewBox(), SVGZoomAndPan()
+{
+ impl = 0;
+}
+
+SVGViewElement::SVGViewElement(const SVGViewElement &other) : SVGElement(other), SVGExternalResourcesRequired(other), SVGFitToViewBox(other), SVGZoomAndPan(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGViewElement &SVGViewElement::operator =(const SVGViewElement &other)
+{
+ SVGElement::operator=(other);
+ SVGExternalResourcesRequired::operator=(other);
+ SVGFitToViewBox::operator=(other);
+ SVGZoomAndPan::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGViewElement::SVGViewElement(SVGViewElementImpl *other) : SVGElement(other), SVGExternalResourcesRequired(other), SVGFitToViewBox(other), SVGZoomAndPan(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGViewElement::~SVGViewElement()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGStringList SVGViewElement::viewTarget() const
+{
+ if(!impl) return SVGStringList(0);
+ return SVGStringList(impl->viewTarget());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGViewElement.h b/ksvg/dom/SVGViewElement.h
new file mode 100644
index 00000000..fccedbc8
--- /dev/null
+++ b/ksvg/dom/SVGViewElement.h
@@ -0,0 +1,59 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGViewElement_H
+#define SVGViewElement_H
+
+#include "SVGElement.h"
+#include "SVGExternalResourcesRequired.h"
+#include "SVGFitToViewBox.h"
+#include "SVGZoomAndPan.h"
+
+namespace KSVG
+{
+
+class SVGStringList;
+class SVGViewElementImpl;
+class SVGViewElement : public SVGElement,
+ public SVGExternalResourcesRequired,
+ public SVGFitToViewBox,
+ public SVGZoomAndPan
+{
+public:
+ SVGViewElement();
+ SVGViewElement(const SVGViewElement &other);
+ SVGViewElement &operator=(const SVGViewElement &other);
+ SVGViewElement(SVGViewElementImpl *other);
+ virtual ~SVGViewElement();
+
+ SVGStringList viewTarget() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGViewElementImpl *handle() const { return impl; }
+
+private:
+ SVGViewElementImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGViewSpec.cc b/ksvg/dom/SVGViewSpec.cc
new file mode 100644
index 00000000..a01f7b86
--- /dev/null
+++ b/ksvg/dom/SVGViewSpec.cc
@@ -0,0 +1,107 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGViewSpec.h"
+#include "SVGViewSpecImpl.h"
+#include "SVGElement.h"
+#include "SVGTransformList.h"
+
+using namespace KSVG;
+
+SVGViewSpec::SVGViewSpec() : SVGZoomAndPan(), SVGFitToViewBox()
+{
+ impl = new SVGViewSpecImpl();
+ impl->ref();
+}
+
+SVGViewSpec::SVGViewSpec(const SVGViewSpec &other) : SVGZoomAndPan(other), SVGFitToViewBox(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGViewSpec &SVGViewSpec::operator =(const SVGViewSpec &other)
+{
+ SVGZoomAndPan::operator=(other);
+ SVGFitToViewBox::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGViewSpec::SVGViewSpec(SVGViewSpecImpl *other) : SVGZoomAndPan(other), SVGFitToViewBox(other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGViewSpec::~SVGViewSpec()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGTransformList SVGViewSpec::transform() const
+{
+ if(!impl) return SVGTransformList(0);
+ return SVGTransformList(impl->transform());
+}
+
+SVGElement SVGViewSpec::viewTarget() const
+{
+ if(!impl) return SVGElement(0);
+ return SVGElement(impl->viewTarget());
+}
+
+DOM::DOMString SVGViewSpec::viewBoxString() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->viewBoxString();
+}
+
+DOM::DOMString SVGViewSpec::preserveAspectRatioString() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->preserveAspectRatioString();
+}
+
+DOM::DOMString SVGViewSpec::transformString() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->transformString();
+}
+
+DOM::DOMString SVGViewSpec::viewTargetString() const
+{
+ if(!impl) return DOM::DOMString();
+ return impl->viewTargetString();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGViewSpec.h b/ksvg/dom/SVGViewSpec.h
new file mode 100644
index 00000000..c1c7ef8e
--- /dev/null
+++ b/ksvg/dom/SVGViewSpec.h
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGViewSpec_H
+#define SVGViewSpec_H
+
+#include "SVGZoomAndPan.h"
+#include "SVGFitToViewBox.h"
+#include <dom/dom_string.h>
+
+namespace KSVG
+{
+
+class SVGTransformList;
+class SVGElement;
+class SVGViewSpecImpl;
+class SVGViewSpec : public SVGZoomAndPan,
+ public SVGFitToViewBox
+{
+public:
+ SVGViewSpec();
+ SVGViewSpec(const SVGViewSpec &other);
+ SVGViewSpec &operator=(const SVGViewSpec &other);
+ SVGViewSpec(SVGViewSpecImpl *other);
+ virtual ~SVGViewSpec();
+
+ SVGTransformList transform() const;
+ SVGElement viewTarget() const;
+
+ DOM::DOMString viewBoxString() const;
+ DOM::DOMString preserveAspectRatioString() const;
+ DOM::DOMString transformString() const;
+ DOM::DOMString viewTargetString() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGViewSpecImpl *handle() const { return impl; }
+
+private:
+ SVGViewSpecImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGWindow.cc b/ksvg/dom/SVGWindow.cc
new file mode 100644
index 00000000..9f0fedaf
--- /dev/null
+++ b/ksvg/dom/SVGWindow.cc
@@ -0,0 +1,175 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGWindow.h"
+#include "SVGWindowImpl.h"
+#include "SVGDocument.h"
+
+using namespace KSVG;
+
+SVGWindow::SVGWindow()
+{
+ impl = new SVGWindowImpl();
+ impl->ref();
+}
+
+SVGWindow::SVGWindow(const SVGWindow &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGWindow &SVGWindow::operator =(const SVGWindow &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGWindow::SVGWindow(SVGWindowImpl *other)
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGWindow::~SVGWindow()
+{
+ if(impl)
+ impl->deref();
+}
+
+/*StyleSheet SVGWindow::defaultStyleSheet() const
+{
+ if(!impl) return ; // FIXME
+ return impl->defaultStyleSheet();
+}*/
+
+SVGDocument SVGWindow::document() const
+{
+ if(!impl) return SVGDocument(0); // FIXME
+ return impl->document();
+}
+
+DOM::Event SVGWindow::evt() const
+{
+ if(!impl) return DOM::Event(); // FIXME
+ return impl->evt();
+}
+
+long SVGWindow::innerHeight() const
+{
+ if(!impl) return 0; // FIXME
+ return impl->innerHeight();
+}
+
+long SVGWindow::innerWidth() const
+{
+ if(!impl) return 0; // FIXME
+ return impl->innerWidth();
+}
+
+void SVGWindow::setSrc(const DOM::DOMString &src)
+{
+ if(impl)
+ impl->setSrc(src);
+}
+
+DOM::DOMString SVGWindow::src() const
+{
+ if(!impl) return DOM::DOMString(); // FIXME
+ return impl->src();
+}
+
+void SVGWindow::clearInterval(long interval)
+{
+ if(impl)
+ impl->clearInterval(interval);
+}
+
+void SVGWindow::clearTimeout(long timeout)
+{
+ if(impl)
+ impl->clearTimeout(timeout);
+}
+
+void SVGWindow::getURL(const DOM::DOMString &uri, const DOM::EventListener &callback)
+{
+ if(impl)
+ impl->getURL(uri, callback);
+}
+
+/*DocumentFragment SVGWindow::parseXML(const DOM::DOMString &source, const Document &document)
+{
+ if(!impl) return ; // FIXME
+ return impl->parseXML(source, document);
+}*/
+
+void SVGWindow::postURL(const DOM::DOMString &uri, const DOM::DOMString &data, const DOM::EventListener &callback, const DOM::DOMString &mimeType, const DOM::DOMString &contentEncoding)
+{
+ if(impl)
+ impl->postURL(uri, data, callback, mimeType, contentEncoding);
+}
+
+DOM::DOMString SVGWindow::printNode(const DOM::Node &node)
+{
+ if(!impl) return DOM::DOMString(); // FIXME
+ return impl->printNode(node);
+}
+
+long SVGWindow::setInterval(const DOM::DOMString &code, const long &delay)
+{
+ if(!impl) return 0; // FIXME
+ return impl->setInterval(code, delay);
+}
+
+long SVGWindow::setTimeout(const DOM::DOMString &code, const long &delay)
+{
+ if(!impl) return 0; // FIXME
+ return impl->setTimeout(code, delay);
+}
+
+void SVGWindow::alert(const DOM::DOMString &message)
+{
+ if(impl)
+ impl->alert(message);
+}
+
+bool SVGWindow::confirm(const DOM::DOMString &message)
+{
+ if(!impl) return false; // FIXME
+ return impl->confirm(message);
+}
+
+DOM::DOMString SVGWindow::prompt(const DOM::DOMString &message, const DOM::DOMString &_default)
+{
+ if(!impl) return DOM::DOMString(); // FIXME
+ return impl->prompt(message, _default);
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGWindow.h b/ksvg/dom/SVGWindow.h
new file mode 100644
index 00000000..2389286f
--- /dev/null
+++ b/ksvg/dom/SVGWindow.h
@@ -0,0 +1,127 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGWindow_H
+#define SVGWindow_H
+
+#include <dom/dom_string.h>
+#include <dom/dom_node.h>
+#include <dom/dom2_events.h>
+
+namespace KSVG
+{
+
+class SVGDocument;
+class SVGWindowImpl;
+
+class SVGWindow
+{
+public:
+ SVGWindow();
+ SVGWindow(const SVGWindow &other);
+ SVGWindow &operator=(const SVGWindow &other);
+ SVGWindow(SVGWindowImpl *other);
+ virtual ~SVGWindow();
+
+ //StyleSheet defaultStyleSheet() const;
+ SVGDocument document() const;
+ DOM::Event evt() const;
+
+ /**
+ * @return Viewport height in pixels.
+ */
+ long innerHeight() const;
+
+ /**
+ * @return Viewport width in pixels.
+ */
+ long innerWidth() const;
+
+ void setSrc(const DOM::DOMString &src);
+
+ /**
+ * @return The URI of the current document.
+ */
+ DOM::DOMString src() const;
+
+ void clearInterval(long interval);
+ void clearTimeout(long timeout);
+
+ /**
+ * Get data from the given URL using the HTTP GET method. Notify the callback when done.
+ *
+ * @param uri The URI reference for the data to be loaded.
+ * @param callback The method to be invoked when the data is available.
+ */
+ void getURL(const DOM::DOMString &uri, const DOM::EventListener &callback);
+ //DOM::DocumentFragment parseXML(const DOM::DOMString &source, const DOM::Document &document);
+ void postURL(const DOM::DOMString &uri, const DOM::DOMString &data, const DOM::EventListener &callback, const DOM::DOMString &mimeType, const DOM::DOMString &contentEncoding);
+
+ /**
+ * Converts a Node into a DOMString. The string is an XML representation of the Node.
+ *
+ * @param node The Node to be converted.
+ * @return Converts a Node into a DOMString. The string is an XML representation of the Node.
+ */
+ DOM::DOMString printNode(const DOM::Node &node);
+ long setInterval(const DOM::DOMString &code, const long &delay);
+ long setTimeout(const DOM::DOMString &code, const long &delay);
+
+ /**
+ * Displays a modal synchronous message to the user if possible in the current user environment.
+ * Commonly, this message takes the form of a pop-up window with a single dispose button.
+ *
+ * @param message The message to be displayed.
+ */
+ void alert(const DOM::DOMString &message);
+
+ /**
+ * Displays a modal synchronous message to the user if possible in the current user environment.
+ * The user is able to accept or reject the message. Commonly, this message takes the form of
+ * a pop-up window with either a Yes/No or OK/Cancel button pair.
+ *
+ * @param message The message to be displayed.
+ * @return A boolean indicating the user's response. True for accept, False for reject.
+ */
+ bool confirm(const DOM::DOMString &message);
+
+ /**
+ * Displays a modal synchronous message to the user if possible in the current user environment.
+ * The user is able to enter a response to the message. Commonly, this message takes the form of
+ * a pop-up window with a single text entry field.
+ *
+ * @param message The message to be displayed.
+ * @param _default The default response to suggest to the user. This can be displayed in the text field and be modified by the user.
+ * @return A boolean indicating the user's response. True for accept, False for reject.
+ */
+ DOM::DOMString prompt(const DOM::DOMString &message, const DOM::DOMString &_default);
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGWindowImpl *handle() const { return impl; }
+
+private:
+ SVGWindowImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGZoomAndPan.cc b/ksvg/dom/SVGZoomAndPan.cc
new file mode 100644
index 00000000..a65284f1
--- /dev/null
+++ b/ksvg/dom/SVGZoomAndPan.cc
@@ -0,0 +1,70 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGZoomAndPan.h"
+#include "SVGZoomAndPanImpl.h"
+
+using namespace KSVG;
+
+// This class can't be constructed seperately.
+SVGZoomAndPan::SVGZoomAndPan()
+{
+ impl = 0;
+}
+
+SVGZoomAndPan::SVGZoomAndPan(const SVGZoomAndPan &other) : impl(0)
+{
+ (*this) = other;
+}
+
+SVGZoomAndPan &SVGZoomAndPan::operator=(const SVGZoomAndPan &other)
+{
+ if(impl == other.impl)
+ return *this;
+
+ impl = other.impl;
+
+ return *this;
+}
+
+SVGZoomAndPan::SVGZoomAndPan(SVGZoomAndPanImpl *other)
+{
+ impl = other;
+}
+
+SVGZoomAndPan::~SVGZoomAndPan()
+{
+ // We are not allowed to delete 'impl' as it's not refcounted.
+ // delete impl;
+}
+
+void SVGZoomAndPan::setZoomAndPan(unsigned short zoomAndPan)
+{
+ if(impl)
+ impl->setZoomAndPan(zoomAndPan);
+}
+
+unsigned short SVGZoomAndPan::zoomAndPan() const
+{
+ if(!impl) return SVG_ZOOMANDPAN_UNKNOWN;
+ return impl->zoomAndPan();
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGZoomAndPan.h b/ksvg/dom/SVGZoomAndPan.h
new file mode 100644
index 00000000..0a1cdf19
--- /dev/null
+++ b/ksvg/dom/SVGZoomAndPan.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGZoomAndPan_H
+#define SVGZoomAndPan_H
+
+namespace KSVG
+{
+
+enum ZoomAndPan
+{
+ SVG_ZOOMANDPAN_UNKNOWN = 0,
+ SVG_ZOOMANDPAN_DISABLE = 1,
+ SVG_ZOOMANDPAN_MAGNIFY = 2
+};
+
+class SVGZoomAndPanImpl;
+class SVGZoomAndPan
+{
+public:
+ SVGZoomAndPan(const SVGZoomAndPan &other);
+ SVGZoomAndPan &operator=(const SVGZoomAndPan &other);
+ SVGZoomAndPan(SVGZoomAndPanImpl *other);
+ virtual ~SVGZoomAndPan();
+
+ void setZoomAndPan(unsigned short zoomAndPan);
+ unsigned short zoomAndPan() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGZoomAndPanImpl *handle() const { return impl; }
+
+protected:
+ SVGZoomAndPan();
+
+private:
+ SVGZoomAndPanImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGZoomEvent.cc b/ksvg/dom/SVGZoomEvent.cc
new file mode 100644
index 00000000..bc73a438
--- /dev/null
+++ b/ksvg/dom/SVGZoomEvent.cc
@@ -0,0 +1,99 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "SVGZoomEvent.h"
+#include "SVGZoomEventImpl.h"
+#include "SVGRect.h"
+#include "SVGPoint.h"
+
+using namespace KSVG;
+
+SVGZoomEvent::SVGZoomEvent() : DOM::UIEvent()
+{
+ impl = 0;
+}
+
+SVGZoomEvent::SVGZoomEvent(const SVGZoomEvent &other) : DOM::UIEvent(other), impl(0)
+{
+ (*this) = other;
+}
+
+SVGZoomEvent &SVGZoomEvent::operator =(const SVGZoomEvent &other)
+{
+ DOM::UIEvent::operator=(other);
+
+ if(impl == other.impl)
+ return *this;
+
+ if(impl)
+ impl->deref();
+
+ impl = other.impl;
+
+ if(impl)
+ impl->ref();
+
+ return *this;
+}
+
+SVGZoomEvent::SVGZoomEvent(SVGZoomEventImpl *other) : DOM::UIEvent()
+{
+ impl = other;
+ if(impl)
+ impl->ref();
+}
+
+SVGZoomEvent::~SVGZoomEvent()
+{
+ if(impl)
+ impl->deref();
+}
+
+SVGRect SVGZoomEvent::zoomRectScreen() const
+{
+ if(!impl) return SVGRect(0);
+ return SVGRect(impl->zoomRectScreen());
+}
+
+float SVGZoomEvent::previousScale() const
+{
+ if(!impl) return -1;
+ return impl->previousScale();
+}
+
+SVGPoint SVGZoomEvent::previousTranslate() const
+{
+ if(!impl) return SVGPoint(0);
+ return SVGPoint(impl->previousTranslate());
+}
+
+float SVGZoomEvent::newScale() const
+{
+ if(!impl) return -1;
+ return impl->newScale();
+}
+
+SVGPoint SVGZoomEvent::newTranslate() const
+{
+ if(!impl) return SVGPoint(0);
+ return SVGPoint(impl->newTranslate());
+}
+
+// vim:ts=4:noet
diff --git a/ksvg/dom/SVGZoomEvent.h b/ksvg/dom/SVGZoomEvent.h
new file mode 100644
index 00000000..f759e9bd
--- /dev/null
+++ b/ksvg/dom/SVGZoomEvent.h
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2001-2003 KSVG Team
+ This file is part of the KDE project
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef SVGZoomEvent_H
+#define SVGZoomEvent_H
+
+#include <dom/dom2_events.h>
+
+namespace KSVG
+{
+
+class SVGRect;
+class SVGPoint;
+class SVGZoomEventImpl;
+class SVGZoomEvent : public DOM::UIEvent
+{
+public:
+ SVGZoomEvent();
+ SVGZoomEvent(const SVGZoomEvent &other);
+ SVGZoomEvent &operator=(const SVGZoomEvent &other);
+ SVGZoomEvent(SVGZoomEventImpl *other);
+ virtual ~SVGZoomEvent();
+
+ SVGRect zoomRectScreen() const;
+ float previousScale() const;
+ SVGPoint previousTranslate() const;
+ float newScale() const;
+ SVGPoint newTranslate() const;
+
+ // Internal! - NOT PART OF THE SVG SPECIFICATION
+ SVGZoomEventImpl *handle() const { return impl; }
+
+private:
+ SVGZoomEventImpl *impl;
+};
+
+}
+
+#endif
+
+// vim:ts=4:noet