summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-07-13 21:16:54 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-07-13 21:16:54 +0200
commitf1139806e56c468181d250bcfbb878d3a97eb94a (patch)
treec3963835b6c4f7897ed9aca9ae33cc96454e5feb
parent76fd08ed822e791c812dd674265d977a4b3c59bb (diff)
parent87c6beddfb684cee702ec1c9225497b8541a780d (diff)
Merge branch 'feature/gsoc_test_improvements2'
-rw-r--r--.gitignore3
-rw-r--r--chart2/Library_chartview.mk1
-rw-r--r--chart2/qa/unit/data/reference/testChart.xml1168
-rw-r--r--chart2/source/view/main/ChartView.cxx117
-rw-r--r--drawinglayer/Library_drawinglayer.mk7
-rw-r--r--drawinglayer/Package_inc.mk1
-rw-r--r--drawinglayer/inc/drawinglayer/XShapeDumper.hxx71
-rw-r--r--drawinglayer/source/dumper/EnhancedShapeDumper.cxx1079
-rw-r--r--drawinglayer/source/dumper/EnhancedShapeDumper.hxx149
-rw-r--r--drawinglayer/source/dumper/XShapeDumper.cxx1887
-rw-r--r--sc/qa/extras/regression-test.cxx5
-rw-r--r--sd/CppunitTest_sd_regression_test.mk2
-rw-r--r--sd/Module_sd.mk7
-rw-r--r--sd/qa/unit/data/odp/shapes-test.odpbin0 -> 61333 bytes
-rw-r--r--sd/qa/unit/data/odp/text-test.odpbin0 -> 16596 bytes
-rw-r--r--sd/qa/unit/data/tolerance.xml3
-rw-r--r--sd/qa/unit/data/xml/shapes-test_page0.xml473
-rw-r--r--sd/qa/unit/data/xml/shapes-test_page1.xml255
-rw-r--r--sd/qa/unit/data/xml/shapes-test_page2.xml392
-rw-r--r--sd/qa/unit/data/xml/shapes-test_page3.xml714
-rw-r--r--sd/qa/unit/data/xml/shapes-test_page4.xml115
-rw-r--r--sd/qa/unit/data/xml/shapes-test_page5.xml91
-rw-r--r--sd/qa/unit/data/xml/shapes-test_page6.xml5
-rw-r--r--sd/qa/unit/data/xml/shapes-test_page7.xml10
-rw-r--r--sd/qa/unit/regression-test.cxx81
-rw-r--r--svx/source/unodraw/unoshape.cxx1
-rw-r--r--test/inc/test/xmldiff.hxx70
-rw-r--r--test/source/diff/diff.cxx84
28 files changed, 6540 insertions, 251 deletions
diff --git a/.gitignore b/.gitignore
index c1aef58fce2b..45d72d0111c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -130,3 +130,6 @@ test/user-template/user/psprint/pspfontcache
# Somepeople love debugging
gdbtrace.log
valgrind.log
+
+#patches
+*.patch
diff --git a/chart2/Library_chartview.mk b/chart2/Library_chartview.mk
index c5487a8635da..a307e7e2f323 100644
--- a/chart2/Library_chartview.mk
+++ b/chart2/Library_chartview.mk
@@ -54,6 +54,7 @@ $(eval $(call gb_Library_use_libraries,chartview,\
tl \
utl \
vcl \
+ drawinglayer \
$(gb_STDLIBS) \
))
diff --git a/chart2/qa/unit/data/reference/testChart.xml b/chart2/qa/unit/data/reference/testChart.xml
index c8eae26ee84e..03ad3d95f85b 100644
--- a/chart2/qa/unit/data/reference/testChart.xml
+++ b/chart2/qa/unit/data/reference/testChart.xml
@@ -1,18 +1,75 @@
<?xml version="1.0"?>
<XShapes>
- <XShape positionX="0" positionY="0" sizeX="16000" sizeY="9000" type="com.sun.star.drawing.RectangleShape" name="CID/Page="/>
+ <XShape positionX="0" positionY="0" sizeX="16000" sizeY="9000" type="com.sun.star.drawing.RectangleShape" name="CID/Page=" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="16001.000000" column2="0.000000" column3="0.000000"/>
+ <Line2 column1="0.000000" column2="9001.000000" column3="0.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
<XShape positionX="770" positionY="854" sizeX="13068" sizeY="7546" type="com.sun.star.drawing.GroupShape" name="CID/D=0">
<XShapes>
- <XShape positionX="1206" positionY="1054" sizeX="12632" sizeY="6699" type="com.sun.star.drawing.RectangleShape" name="MarkHandles"/>
- <XShape positionX="770" positionY="855" sizeX="13068" sizeY="7545" type="com.sun.star.drawing.RectangleShape" name="PlotAreaIncludingAxes"/>
+ <XShape positionX="1206" positionY="1054" sizeX="12632" sizeY="6699" type="com.sun.star.drawing.RectangleShape" name="MarkHandles" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="10079487" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="12633.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="6700.000000" column3="1054.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="770" positionY="855" sizeX="13068" sizeY="7545" type="com.sun.star.drawing.RectangleShape" name="PlotAreaIncludingAxes" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="10079487" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="13069.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="7546.000000" column3="855.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
<XShape positionX="770" positionY="854" sizeX="13068" sizeY="7546" type="com.sun.star.drawing.GroupShape">
<XShapes>
<XShape positionX="1056" positionY="1052" sizeX="12782" sizeY="6850" type="com.sun.star.drawing.GroupShape">
<XShapes>
<XShape positionX="1206" positionY="1054" sizeX="12632" sizeY="6699" type="com.sun.star.drawing.GroupShape" name="PlotAreaExcludingAxes">
<XShapes>
- <XShape positionX="1206" positionY="1054" sizeX="12632" sizeY="6699" type="com.sun.star.drawing.RectangleShape" name="CID/DiagramWall="/>
+ <XShape positionX="1206" positionY="1054" sizeX="12632" sizeY="6699" type="com.sun.star.drawing.RectangleShape" name="CID/DiagramWall=" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="15132390" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="12633.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="6700.000000" column3="1054.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="12633.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="6700.000000" column3="1054.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="1056" positionY="1052" sizeX="12782" sizeY="6850" type="com.sun.star.drawing.GroupShape" name="testonly;CooContainer=XXX_CID">
<XShapes>
@@ -20,107 +77,1140 @@
<XShapes>
<XShape positionX="1206" positionY="1052" sizeX="12632" sizeY="6700" type="com.sun.star.drawing.GroupShape" name="CID/D=0:CS=0:Axis=1,0:Grid=0">
<XShapes>
- <XShape positionX="1206" positionY="1052" sizeX="12632" sizeY="6700" type="com.sun.star.drawing.PolyLineShape"/>
- <XShape positionX="1206" positionY="1052" sizeX="0" sizeY="6700" type="com.sun.star.drawing.PolyLineShape" name="HandlesOnly"/>
+ <XShape positionX="1206" positionY="1052" sizeX="12632" sizeY="6700" type="com.sun.star.drawing.PolyLineShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="13838" positionY="7752"/>
+ <point positionX="1206" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="13838" positionY="6635"/>
+ <point positionX="1206" positionY="6635"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="13838" positionY="5519"/>
+ <point positionX="1206" positionY="5519"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="13838" positionY="4402"/>
+ <point positionX="1206" positionY="4402"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="13838" positionY="3285"/>
+ <point positionX="1206" positionY="3285"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="13838" positionY="2169"/>
+ <point positionX="1206" positionY="2169"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="13838" positionY="1052"/>
+ <point positionX="1206" positionY="1052"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="12632" positionY="6700"/>
+ <point positionX="0" positionY="6700"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="12632" positionY="5583"/>
+ <point positionX="0" positionY="5583"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="12632" positionY="4467"/>
+ <point positionX="0" positionY="4467"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="12632" positionY="3350"/>
+ <point positionX="0" positionY="3350"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="12632" positionY="2233"/>
+ <point positionX="0" positionY="2233"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="12632" positionY="1117"/>
+ <point positionX="0" positionY="1117"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="12632" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="12632.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="6700.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="1206" positionY="1052" sizeX="0" sizeY="6700" type="com.sun.star.drawing.PolyLineShape" name="HandlesOnly" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="NONE">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="1206" positionY="7752"/>
+ <point positionX="1206" positionY="6635"/>
+ <point positionX="1206" positionY="5519"/>
+ <point positionX="1206" positionY="4402"/>
+ <point positionX="1206" positionY="3285"/>
+ <point positionX="1206" positionY="2169"/>
+ <point positionX="1206" positionY="1052"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="6700"/>
+ <point positionX="0" positionY="5583"/>
+ <point positionX="0" positionY="4467"/>
+ <point positionX="0" positionY="3350"/>
+ <point positionX="0" positionY="2233"/>
+ <point positionX="0" positionY="1117"/>
+ <point positionX="0" positionY="0"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="0.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="6700.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="12633.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="6701.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="12633.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="6701.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="1056" positionY="1052" sizeX="12782" sizeY="6850" type="com.sun.star.drawing.GroupShape">
<XShapes>
<XShape positionX="1206" positionY="7752" sizeX="12632" sizeY="150" type="com.sun.star.drawing.GroupShape" name="CID/D=0:CS=0:Axis=0,0">
<XShapes>
- <XShape positionX="1206" positionY="7752" sizeX="12632" sizeY="150" type="com.sun.star.drawing.PolyLineShape"/>
- <XShape positionX="1206" positionY="7752" sizeX="12632" sizeY="0" type="com.sun.star.drawing.LineShape" name="MarkHandles"/>
+ <XShape positionX="1206" positionY="7752" sizeX="12632" sizeY="150" type="com.sun.star.drawing.PolyLineShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="1206" positionY="7902"/>
+ <point positionX="1206" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1206" positionY="7902"/>
+ <point positionX="1206" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="3732" positionY="7902"/>
+ <point positionX="3732" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="3732" positionY="7902"/>
+ <point positionX="3732" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="6258" positionY="7902"/>
+ <point positionX="6258" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="6258" positionY="7902"/>
+ <point positionX="6258" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="8785" positionY="7902"/>
+ <point positionX="8785" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="8785" positionY="7902"/>
+ <point positionX="8785" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="11311" positionY="7902"/>
+ <point positionX="11311" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="11311" positionY="7902"/>
+ <point positionX="11311" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="13838" positionY="7902"/>
+ <point positionX="13838" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="13838" positionY="7902"/>
+ <point positionX="13838" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="150"/>
+ <point positionX="0" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="150"/>
+ <point positionX="0" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="2526" positionY="150"/>
+ <point positionX="2526" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="2526" positionY="150"/>
+ <point positionX="2526" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="5052" positionY="150"/>
+ <point positionX="5052" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="5052" positionY="150"/>
+ <point positionX="5052" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="7579" positionY="150"/>
+ <point positionX="7579" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="7579" positionY="150"/>
+ <point positionX="7579" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="10105" positionY="150"/>
+ <point positionX="10105" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="10105" positionY="150"/>
+ <point positionX="10105" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="12632" positionY="150"/>
+ <point positionX="12632" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="12632" positionY="150"/>
+ <point positionX="12632" positionY="0"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="12632.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="150.000000" column3="7752.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="1206" positionY="7752" sizeX="12632" sizeY="0" type="com.sun.star.drawing.LineShape" name="MarkHandles" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="1206" positionY="7752"/>
+ <point positionX="13838" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="0"/>
+ <point positionX="12632" positionY="0"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="12632.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="0.000000" column3="7752.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="12633.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="151.000000" column3="7752.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="1056" positionY="1052" sizeX="150" sizeY="6700" type="com.sun.star.drawing.GroupShape" name="CID/D=0:CS=0:Axis=1,0">
<XShapes>
- <XShape positionX="1056" positionY="1052" sizeX="150" sizeY="6700" type="com.sun.star.drawing.PolyLineShape"/>
- <XShape positionX="1206" positionY="1052" sizeX="0" sizeY="6700" type="com.sun.star.drawing.LineShape" name="MarkHandles"/>
+ <XShape positionX="1056" positionY="1052" sizeX="150" sizeY="6700" type="com.sun.star.drawing.PolyLineShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="1056" positionY="7752"/>
+ <point positionX="1206" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="7752"/>
+ <point positionX="1206" positionY="7752"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="6635"/>
+ <point positionX="1206" positionY="6635"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="6635"/>
+ <point positionX="1206" positionY="6635"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="5519"/>
+ <point positionX="1206" positionY="5519"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="5519"/>
+ <point positionX="1206" positionY="5519"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="4402"/>
+ <point positionX="1206" positionY="4402"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="4402"/>
+ <point positionX="1206" positionY="4402"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="3285"/>
+ <point positionX="1206" positionY="3285"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="3285"/>
+ <point positionX="1206" positionY="3285"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="2169"/>
+ <point positionX="1206" positionY="2169"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="2169"/>
+ <point positionX="1206" positionY="2169"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="1052"/>
+ <point positionX="1206" positionY="1052"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1056" positionY="1052"/>
+ <point positionX="1206" positionY="1052"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="6700"/>
+ <point positionX="150" positionY="6700"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="6700"/>
+ <point positionX="150" positionY="6700"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="5583"/>
+ <point positionX="150" positionY="5583"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="5583"/>
+ <point positionX="150" positionY="5583"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="4467"/>
+ <point positionX="150" positionY="4467"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="4467"/>
+ <point positionX="150" positionY="4467"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="3350"/>
+ <point positionX="150" positionY="3350"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="3350"/>
+ <point positionX="150" positionY="3350"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="2233"/>
+ <point positionX="150" positionY="2233"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="2233"/>
+ <point positionX="150" positionY="2233"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="1117"/>
+ <point positionX="150" positionY="1117"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="1117"/>
+ <point positionX="150" positionY="1117"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="0"/>
+ <point positionX="150" positionY="0"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="0"/>
+ <point positionX="150" positionY="0"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="150.000000" column2="0.000000" column3="1056.000000"/>
+ <Line2 column1="0.000000" column2="6700.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="1206" positionY="1052" sizeX="0" sizeY="6700" type="com.sun.star.drawing.LineShape" name="MarkHandles" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="1206" positionY="7752"/>
+ <point positionX="1206" positionY="1052"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="6700"/>
+ <point positionX="0" positionY="0"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="0.000000" column2="0.000000" column3="1206.000000"/>
+ <Line2 column1="0.000000" column2="6700.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="151.000000" column2="0.000000" column3="1056.000000"/>
+ <Line2 column1="0.000000" column2="6701.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="12783.000000" column2="0.000000" column3="1056.000000"/>
+ <Line2 column1="0.000000" column2="6851.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="1627" positionY="2169" sizeX="11789" sizeY="5583" type="com.sun.star.drawing.GroupShape">
<XShapes>
<XShape positionX="1627" positionY="2169" sizeX="10947" sizeY="5583" type="com.sun.star.drawing.GroupShape" name="CID/D=0:CS=0:CT=0:Series=0">
<XShapes>
- <XShape positionX="11732" positionY="2169" sizeX="842" sizeY="5583" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=4"/>
- <XShape positionX="9206" positionY="3285" sizeX="842" sizeY="4467" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=3"/>
- <XShape positionX="6679" positionY="4402" sizeX="843" sizeY="3350" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=2"/>
- <XShape positionX="4153" positionY="5519" sizeX="842" sizeY="2233" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=1"/>
- <XShape positionX="1627" positionY="6635" sizeX="842" sizeY="1117" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=0"/>
+ <XShape positionX="11732" positionY="2169" sizeX="842" sizeY="5583" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=4" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="17798" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="11732" positionY="7752"/>
+ <point positionX="12574" positionY="7752"/>
+ <point positionX="12574" positionY="2169"/>
+ <point positionX="11732" positionY="2169"/>
+ <point positionX="11732" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="5583"/>
+ <point positionX="842" positionY="5583"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="5583"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="11732.000000"/>
+ <Line2 column1="0.000000" column2="5583.000000" column3="2169.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="9206" positionY="3285" sizeX="842" sizeY="4467" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=3" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="17798" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="9206" positionY="7752"/>
+ <point positionX="10048" positionY="7752"/>
+ <point positionX="10048" positionY="3285"/>
+ <point positionX="9206" positionY="3285"/>
+ <point positionX="9206" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="4467"/>
+ <point positionX="842" positionY="4467"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="4467"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="9206.000000"/>
+ <Line2 column1="0.000000" column2="4467.000000" column3="3285.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="6679" positionY="4402" sizeX="843" sizeY="3350" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=2" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="17798" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="6679" positionY="7752"/>
+ <point positionX="7522" positionY="7752"/>
+ <point positionX="7522" positionY="4402"/>
+ <point positionX="6679" positionY="4402"/>
+ <point positionX="6679" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="3350"/>
+ <point positionX="843" positionY="3350"/>
+ <point positionX="843" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="3350"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="843.000000" column2="0.000000" column3="6679.000000"/>
+ <Line2 column1="0.000000" column2="3350.000000" column3="4402.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="4153" positionY="5519" sizeX="842" sizeY="2233" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=1" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="17798" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="4153" positionY="7752"/>
+ <point positionX="4995" positionY="7752"/>
+ <point positionX="4995" positionY="5519"/>
+ <point positionX="4153" positionY="5519"/>
+ <point positionX="4153" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="2233"/>
+ <point positionX="842" positionY="2233"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="2233"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="4153.000000"/>
+ <Line2 column1="0.000000" column2="2233.000000" column3="5519.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="1627" positionY="6635" sizeX="842" sizeY="1117" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:Point=0" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="17798" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="1627" positionY="7752"/>
+ <point positionX="2469" positionY="7752"/>
+ <point positionX="2469" positionY="6635"/>
+ <point positionX="1627" positionY="6635"/>
+ <point positionX="1627" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="1117"/>
+ <point positionX="842" positionY="1117"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="1117"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="1627.000000"/>
+ <Line2 column1="0.000000" column2="1117.000000" column3="6635.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="10948.000000" column2="0.000000" column3="1627.000000"/>
+ <Line2 column1="0.000000" column2="5584.000000" column3="2169.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="2469" positionY="3285" sizeX="10947" sizeY="4467" type="com.sun.star.drawing.GroupShape" name="CID/D=0:CS=0:CT=0:Series=1">
<XShapes>
- <XShape positionX="12574" positionY="5519" sizeX="842" sizeY="2233" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=4"/>
- <XShape positionX="10048" positionY="3285" sizeX="842" sizeY="4467" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=3"/>
- <XShape positionX="7522" positionY="4402" sizeX="842" sizeY="3350" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=2"/>
- <XShape positionX="4995" positionY="6635" sizeX="842" sizeY="1117" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=1"/>
- <XShape positionX="2469" positionY="5519" sizeX="842" sizeY="2233" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=0"/>
+ <XShape positionX="12574" positionY="5519" sizeX="842" sizeY="2233" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=4" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="16728590" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="12574" positionY="7752"/>
+ <point positionX="13416" positionY="7752"/>
+ <point positionX="13416" positionY="5519"/>
+ <point positionX="12574" positionY="5519"/>
+ <point positionX="12574" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="2233"/>
+ <point positionX="842" positionY="2233"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="2233"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="12574.000000"/>
+ <Line2 column1="0.000000" column2="2233.000000" column3="5519.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="10048" positionY="3285" sizeX="842" sizeY="4467" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=3" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="16728590" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="10048" positionY="7752"/>
+ <point positionX="10890" positionY="7752"/>
+ <point positionX="10890" positionY="3285"/>
+ <point positionX="10048" positionY="3285"/>
+ <point positionX="10048" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="4467"/>
+ <point positionX="842" positionY="4467"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="4467"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="10048.000000"/>
+ <Line2 column1="0.000000" column2="4467.000000" column3="3285.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="7522" positionY="4402" sizeX="842" sizeY="3350" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=2" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="16728590" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="7522" positionY="7752"/>
+ <point positionX="8364" positionY="7752"/>
+ <point positionX="8364" positionY="4402"/>
+ <point positionX="7522" positionY="4402"/>
+ <point positionX="7522" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="3350"/>
+ <point positionX="842" positionY="3350"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="3350"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="7522.000000"/>
+ <Line2 column1="0.000000" column2="3350.000000" column3="4402.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="4995" positionY="6635" sizeX="842" sizeY="1117" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=1" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="16728590" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="4995" positionY="7752"/>
+ <point positionX="5837" positionY="7752"/>
+ <point positionX="5837" positionY="6635"/>
+ <point positionX="4995" positionY="6635"/>
+ <point positionX="4995" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="1117"/>
+ <point positionX="842" positionY="1117"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="1117"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="4995.000000"/>
+ <Line2 column1="0.000000" column2="1117.000000" column3="6635.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="2469" positionY="5519" sizeX="842" sizeY="2233" type="com.sun.star.drawing.PolyPolygonShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:Point=0" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="16728590" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="2469" positionY="7752"/>
+ <point positionX="3311" positionY="7752"/>
+ <point positionX="3311" positionY="5519"/>
+ <point positionX="2469" positionY="5519"/>
+ <point positionX="2469" positionY="7752"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="2233"/>
+ <point positionX="842" positionY="2233"/>
+ <point positionX="842" positionY="0"/>
+ <point positionX="0" positionY="0"/>
+ <point positionX="0" positionY="2233"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="842.000000" column2="0.000000" column3="2469.000000"/>
+ <Line2 column1="0.000000" column2="2233.000000" column3="5519.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="10948.000000" column2="0.000000" column3="2469.000000"/>
+ <Line2 column1="0.000000" column2="4468.000000" column3="3285.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="11790.000000" column2="0.000000" column3="1627.000000"/>
+ <Line2 column1="0.000000" column2="5584.000000" column3="2169.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="12783.000000" column2="0.000000" column3="1056.000000"/>
+ <Line2 column1="0.000000" column2="6851.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="12783.000000" column2="0.000000" column3="1056.000000"/>
+ <Line2 column1="0.000000" column2="6851.000000" column3="1052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="770" positionY="854" sizeX="11898" sizeY="7546" type="com.sun.star.drawing.GroupShape">
<XShapes>
<XShape positionX="2376" positionY="8002" sizeX="10292" sizeY="398" type="com.sun.star.drawing.GroupShape" name="CID/D=0:CS=0:Axis=0,0">
<XShapes>
- <XShape positionX="2376" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="1"/>
- <XShape positionX="4902" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="2"/>
- <XShape positionX="7429" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="3"/>
- <XShape positionX="9955" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="4"/>
- <XShape positionX="12481" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="5"/>
+ <XShape positionX="2376" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="1" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="TOP" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="2376.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="8002.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="4902" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="2" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="TOP" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="4902.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="8002.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="7429" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="3" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="TOP" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="7429.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="8002.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="9955" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="4" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="TOP" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="9955.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="8002.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="12481" positionY="8002" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="5" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="TOP" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="12481.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="8002.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="10293.000000" column2="0.000000" column3="2376.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="8002.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="770" positionY="854" sizeX="187" sizeY="7098" type="com.sun.star.drawing.GroupShape" name="CID/D=0:CS=0:Axis=1,0">
<XShapes>
- <XShape positionX="770" positionY="7554" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="0"/>
- <XShape positionX="770" positionY="6437" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="1"/>
- <XShape positionX="770" positionY="5321" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="2"/>
- <XShape positionX="770" positionY="4204" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="3"/>
- <XShape positionX="770" positionY="3087" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="4"/>
- <XShape positionX="770" positionY="1971" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="5"/>
- <XShape positionX="770" positionY="854" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="6"/>
+ <XShape positionX="770" positionY="7554" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="0" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="RIGHT" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="7554.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="770" positionY="6437" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="1" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="RIGHT" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="6437.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="770" positionY="5321" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="2" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="RIGHT" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="5321.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="770" positionY="4204" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="3" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="RIGHT" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="4204.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="770" positionY="3087" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="4" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="RIGHT" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="3087.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="770" positionY="1971" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="5" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="RIGHT" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="1971.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="770" positionY="854" sizeX="187" sizeY="398" type="com.sun.star.drawing.TextShape" text="6" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="RIGHT" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="854.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="188.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="7099.000000" column3="854.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="11899.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="7547.000000" column3="854.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="13069.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="7547.000000" column3="854.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="13069.000000" column2="0.000000" column3="770.000000"/>
+ <Line2 column1="0.000000" column2="7547.000000" column3="854.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="14478" positionY="3952" sizeX="1312" sizeY="1096" type="com.sun.star.drawing.GroupShape" name="CID/D=0:Legend=">
<XShapes>
- <XShape positionX="14478" positionY="3952" sizeX="1312" sizeY="1096" type="com.sun.star.drawing.RectangleShape" name="MarkHandles"/>
+ <XShape positionX="14478" positionY="3952" sizeX="1312" sizeY="1096" type="com.sun.star.drawing.RectangleShape" name="MarkHandles" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="15132390" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1313.000000" column2="0.000000" column3="14478.000000"/>
+ <Line2 column1="0.000000" column2="1097.000000" column3="3952.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
<XShape positionX="14594" positionY="4145" sizeX="211" sizeY="211" type="com.sun.star.drawing.GroupShape">
<XShapes>
<XShape positionX="14594" positionY="4145" sizeX="211" sizeY="211" type="com.sun.star.drawing.GroupShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=0:LegendEntry=0">
<XShapes>
- <XShape positionX="14594" positionY="4145" sizeX="211" sizeY="211" type="com.sun.star.drawing.RectangleShape"/>
- <XShape positionX="14594" positionY="4145" sizeX="211" sizeY="211" type="com.sun.star.drawing.RectangleShape"/>
+ <XShape positionX="14594" positionY="4145" sizeX="211" sizeY="211" type="com.sun.star.drawing.RectangleShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="10079487" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="212.000000" column2="0.000000" column3="14594.000000"/>
+ <Line2 column1="0.000000" column2="212.000000" column3="4145.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="14594" positionY="4145" sizeX="211" sizeY="211" type="com.sun.star.drawing.RectangleShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="17798" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="212.000000" column2="0.000000" column3="14594.000000"/>
+ <Line2 column1="0.000000" column2="212.000000" column3="4145.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="212.000000" column2="0.000000" column3="14594.000000"/>
+ <Line2 column1="0.000000" column2="212.000000" column3="4145.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="212.000000" column2="0.000000" column3="14594.000000"/>
+ <Line2 column1="0.000000" column2="212.000000" column3="4145.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
<XShape positionX="14594" positionY="4643" sizeX="211" sizeY="211" type="com.sun.star.drawing.GroupShape">
<XShapes>
<XShape positionX="14594" positionY="4643" sizeX="211" sizeY="211" type="com.sun.star.drawing.GroupShape" name="CID/MultiClick/D=0:CS=0:CT=0:Series=1:LegendEntry=0">
<XShapes>
- <XShape positionX="14594" positionY="4643" sizeX="211" sizeY="211" type="com.sun.star.drawing.RectangleShape"/>
- <XShape positionX="14594" positionY="4643" sizeX="211" sizeY="211" type="com.sun.star.drawing.RectangleShape"/>
+ <XShape positionX="14594" positionY="4643" sizeX="211" sizeY="211" type="com.sun.star.drawing.RectangleShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="10079487" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="212.000000" column2="0.000000" column3="14594.000000"/>
+ <Line2 column1="0.000000" column2="212.000000" column3="4643.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="14594" positionY="4643" sizeX="211" sizeY="211" type="com.sun.star.drawing.RectangleShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="16728590" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="212.000000" column2="0.000000" column3="14594.000000"/>
+ <Line2 column1="0.000000" column2="212.000000" column3="4643.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="212.000000" column2="0.000000" column3="14594.000000"/>
+ <Line2 column1="0.000000" column2="212.000000" column3="4643.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
+ <Transformation>
+ <Line1 column1="212.000000" column2="0.000000" column3="14594.000000"/>
+ <Line2 column1="0.000000" column2="212.000000" column3="4643.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="14905" positionY="4052" sizeX="769" sizeY="398" type="com.sun.star.drawing.TextShape" text="test1" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="LEFT" textVerticalAdjust="TOP" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="4800" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="770.000000" column2="0.000000" column3="14905.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="4052.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="14905" positionY="4550" sizeX="769" sizeY="398" type="com.sun.star.drawing.TextShape" text="test2" textAutoGrowHeight="true" textAutoGrowWidth="true" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="LEFT" textVerticalAdjust="TOP" textLeftDistance="0" textRightDistance="0" textUpperDistance="0" textLowerDistance="0" textMaximumFrameHeight="0" textMaximumFrameWidth="4800" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="16777215" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="20" angle="0"/>
+ <FillBitmap/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="770.000000" column2="0.000000" column3="14905.000000"/>
+ <Line2 column1="0.000000" column2="399.000000" column3="4550.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
- <XShape positionX="14905" positionY="4052" sizeX="769" sizeY="398" type="com.sun.star.drawing.TextShape" text="test1"/>
- <XShape positionX="14905" positionY="4550" sizeX="769" sizeY="398" type="com.sun.star.drawing.TextShape" text="test2"/>
</XShapes>
+ <Transformation>
+ <Line1 column1="1313.000000" column2="0.000000" column3="14478.000000"/>
+ <Line2 column1="0.000000" column2="1097.000000" column3="3952.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
</XShape>
</XShapes>
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index 8714040fed9d..8dce0da90f12 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -73,6 +73,8 @@
#include <osl/mutex.hxx>
#include <svx/unofill.hxx>
+#include <drawinglayer/XShapeDumper.hxx>
+
#include <time.h>
#include <com/sun/star/chart/ChartAxisPosition.hpp>
@@ -3023,102 +3025,6 @@ uno::Sequence< ::rtl::OUString > ChartView::getAvailableServiceNames() throw (un
return aServiceNames;
}
-namespace {
-
-#define DEBUG_DUMPER 0
-
-int writeCallback(void* pContext, const char* sBuffer, int nLen)
-{
- rtl::OStringBuffer* pBuffer = static_cast<rtl::OStringBuffer*>(pContext);
- pBuffer->append(sBuffer);
- return nLen;
-}
-
-int closeCallback(void* )
-{
- return 0;
-}
-
-void dumpPositionAsAttribute(const awt::Point& rPoint, xmlTextWriterPtr xmlWriter)
-{
- xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("positionX"), "%" SAL_PRIdINT32, rPoint.X);
- xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("positionY"), "%" SAL_PRIdINT32, rPoint.Y);
-}
-
-void dumpSizeAsAttribute(const awt::Size& rSize, xmlTextWriterPtr xmlWriter)
-{
- xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("sizeX"), "%" SAL_PRIdINT32, rSize.Width);
- xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("sizeY"), "%" SAL_PRIdINT32, rSize.Height);
-}
-
-void dumpShapeDescriptorAsAttribute( uno::Reference< drawing::XShapeDescriptor > xDescr, xmlTextWriterPtr xmlWriter )
-{
- xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("type"), "%s", rtl::OUStringToOString(xDescr->getShapeType(), RTL_TEXTENCODING_UTF8).getStr());
-}
-
-void dumpXShapes( uno::Reference< drawing::XShapes > xShapes, xmlTextWriterPtr xmlWriter );
-
-void dumpXShape( uno::Reference< drawing::XShape > xShape, xmlTextWriterPtr xmlWriter )
-{
- xmlTextWriterStartElement( xmlWriter, BAD_CAST( "XShape" ) );
-
- dumpPositionAsAttribute(xShape->getPosition(), xmlWriter);
- dumpSizeAsAttribute(xShape->getSize(), xmlWriter);
- uno::Reference< drawing::XShapeDescriptor > xDescr(xShape, uno::UNO_QUERY_THROW);
- dumpShapeDescriptorAsAttribute(xDescr, xmlWriter);
-
- uno::Reference< lang::XServiceInfo > xServiceInfo( xShape, uno::UNO_QUERY_THROW );
- uno::Sequence< rtl::OUString > aServiceNames = xServiceInfo->getSupportedServiceNames();
-
- uno::Reference< beans::XPropertySet > xPropSet(xShape, uno::UNO_QUERY_THROW);
- uno::Any aAny = xPropSet->getPropertyValue("Name");
- rtl::OUString aName;
- if (aAny >>= aName)
- {
- if (!aName.isEmpty())
- xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("name"), "%s", rtl::OUStringToOString(aName, RTL_TEXTENCODING_UTF8).getStr());
- }
- if (xServiceInfo->supportsService("com.sun.star.drawing.Text"))
- {
- uno::Reference< text::XText > xText(xShape, uno::UNO_QUERY_THROW);
- rtl::OUString aText = xText->getString();
- if(!aText.isEmpty())
- xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("text"), "%s", rtl::OUStringToOString(aText, RTL_TEXTENCODING_UTF8).getStr());
- }
- else if(xServiceInfo->supportsService("com.sun.star.drawing.GroupShape"))
- {
- uno::Reference< drawing::XShapes > xShapes(xShape, uno::UNO_QUERY_THROW);
- dumpXShapes(xShapes, xmlWriter);
- }
-#if DEBUG_DUMPER
- sal_Int32 nServices = aServiceNames.getLength();
- for (sal_Int32 i = 0; i < nServices; ++i)
- {
- xmlTextWriterStartElement(xmlWriter, BAD_CAST( "ServiceName" ));
- xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST( "name" ), "%s", rtl::OUStringToOString(aServiceNames[i], RTL_TEXTENCODING_UTF8).getStr());
- xmlTextWriterEndElement( xmlWriter );
- }
-#endif
-
- xmlTextWriterEndElement( xmlWriter );
-}
-
-void dumpXShapes( uno::Reference< drawing::XShapes > xShapes, xmlTextWriterPtr xmlWriter )
-{
- xmlTextWriterStartElement( xmlWriter, BAD_CAST( "XShapes" ) );
- uno::Reference< container::XIndexAccess > xIA( xShapes, uno::UNO_QUERY_THROW);
- sal_Int32 nLength = xIA->getCount();
- for (sal_Int32 i = 0; i < nLength; ++i)
- {
- uno::Reference< drawing::XShape > xShape( xIA->getByIndex( i ), uno::UNO_QUERY_THROW );
- dumpXShape( xShape, xmlWriter );
- }
-
- xmlTextWriterEndElement( xmlWriter );
-}
-
-}
-
rtl::OUString ChartView::dump() throw (uno::RuntimeException)
{
impl_updateView();
@@ -3127,21 +3033,12 @@ rtl::OUString ChartView::dump() throw (uno::RuntimeException)
if (!xPageShapes.is())
return rtl::OUString();
+ else
+ {
+ XShapeDumper dumper;
+ return dumper.dump(xPageShapes);
+ }
- rtl::OStringBuffer aString;
- xmlOutputBufferPtr xmlOutBuffer = xmlOutputBufferCreateIO( writeCallback, closeCallback, &aString, NULL );
- xmlTextWriterPtr xmlWriter = xmlNewTextWriter( xmlOutBuffer );
- xmlTextWriterSetIndent( xmlWriter, 1 );
-
- xmlTextWriterStartDocument( xmlWriter, NULL, NULL, NULL );
-
- dumpXShapes( xPageShapes, xmlWriter );
-
- xmlTextWriterEndDocument( xmlWriter );
- xmlFreeTextWriter( xmlWriter );
-
-
- return OStringToOUString(aString.makeStringAndClear(), RTL_TEXTENCODING_UTF8);
}
//.............................................................................
diff --git a/drawinglayer/Library_drawinglayer.mk b/drawinglayer/Library_drawinglayer.mk
index 94ab023682ea..146c38b98348 100644
--- a/drawinglayer/Library_drawinglayer.mk
+++ b/drawinglayer/Library_drawinglayer.mk
@@ -31,6 +31,7 @@ $(eval $(call gb_Library_use_package,drawinglayer,drawinglayer_inc))
$(eval $(call gb_Library_set_include,drawinglayer,\
$$(INCLUDE) \
+ -I$(SRCDIR)/drawinglayer/inc \
))
$(eval $(call gb_Library_add_defs,drawinglayer,\
@@ -39,6 +40,10 @@ $(eval $(call gb_Library_add_defs,drawinglayer,\
$(eval $(call gb_Library_use_sdk_api,drawinglayer))
+$(eval $(call gb_Library_use_externals,drawinglayer,\
+ libxml2 \
+))
+
$(eval $(call gb_Library_use_libraries,drawinglayer,\
basegfx \
canvastools \
@@ -171,6 +176,8 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\
drawinglayer/source/processor3d/zbufferprocessor3d \
drawinglayer/source/texture/texture3d \
drawinglayer/source/texture/texture \
+ drawinglayer/source/dumper/XShapeDumper \
+ drawinglayer/source/dumper/EnhancedShapeDumper \
))
# vim: set noet sw=4 ts=4:
diff --git a/drawinglayer/Package_inc.mk b/drawinglayer/Package_inc.mk
index 4cc1d34c530d..7d41e6c2b5d8 100644
--- a/drawinglayer/Package_inc.mk
+++ b/drawinglayer/Package_inc.mk
@@ -137,5 +137,6 @@ $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/
$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/zbufferprocessor3d.hxx,drawinglayer/processor3d/zbufferprocessor3d.hxx))
$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/texture/texture3d.hxx,drawinglayer/texture/texture3d.hxx))
$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/texture/texture.hxx,drawinglayer/texture/texture.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/XShapeDumper.hxx,drawinglayer/XShapeDumper.hxx))
# vim: set noet sw=4 ts=4:
diff --git a/drawinglayer/inc/drawinglayer/XShapeDumper.hxx b/drawinglayer/inc/drawinglayer/XShapeDumper.hxx
new file mode 100644
index 000000000000..a7d1d8d61b16
--- /dev/null
+++ b/drawinglayer/inc/drawinglayer/XShapeDumper.hxx
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2012 Artur Dorda <artur.dorda+libo@gmail.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include <drawinglayer/drawinglayerdllapi.h>
+
+#include <com/sun/star/drawing/XShapes.hpp>
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/drawing/FillStyle.hpp>
+#include <com/sun/star/awt/Gradient.hpp>
+#include <com/sun/star/drawing/Hatch.hpp>
+#include <com/sun/star/awt/XBitmap.hpp>
+#include <com/sun/star/drawing/RectanglePoint.hpp>
+#include <com/sun/star/drawing/BitmapMode.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+
+#include <com/sun/star/drawing/LineStyle.hpp>
+#include <com/sun/star/drawing/LineDash.hpp>
+#include <com/sun/star/drawing/LineJoint.hpp>
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp>
+
+#include <com/sun/star/drawing/PolygonKind.hpp>
+
+#include <com/sun/star/drawing/TextFitToSizeType.hpp>
+#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
+#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
+#include <com/sun/star/drawing/TextAnimationDirection.hpp>
+#include <com/sun/star/drawing/TextAnimationKind.hpp>
+#include <com/sun/star/text/WritingMode.hpp>
+
+#include <com/sun/star/drawing/HomogenMatrixLine3.hpp>
+#include <com/sun/star/drawing/HomogenMatrix3.hpp>
+
+#include <com/sun/star/beans/PropertyValue.hpp>
+
+#ifndef XShapeDumper_hxx
+#define XShapeDumper_hxx
+
+class DRAWINGLAYER_DLLPUBLIC XShapeDumper
+{
+
+public:
+ XShapeDumper();
+ rtl::OUString dump(com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> xPageShapes);
+
+};
+#endif
diff --git a/drawinglayer/source/dumper/EnhancedShapeDumper.cxx b/drawinglayer/source/dumper/EnhancedShapeDumper.cxx
new file mode 100644
index 000000000000..4d7c05641db6
--- /dev/null
+++ b/drawinglayer/source/dumper/EnhancedShapeDumper.cxx
@@ -0,0 +1,1079 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2012 Artur Dorda <artur.dorda+libo@gmail.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include <EnhancedShapeDumper.hxx>
+#include <rtl/strbuf.hxx>
+#include <com/sun/star/beans/XPropertySet.hpp>
+
+using namespace com::sun::star;
+
+// ------------------------------------------------------
+// ---------- EnhancedCustomShapeExtrusion.idl ----------
+// ------------------------------------------------------
+
+void EnhancedShapeDumper::dumpEnhancedCustomShapeExtrusionService(uno::Reference< beans::XPropertySet > xPropSet)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Extrusion");
+ sal_Bool bExtrusion;
+ if(anotherAny >>= bExtrusion)
+ dumpExtrusionAsAttribute(bExtrusion);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Brightness");
+ double aBrightness;
+ if(anotherAny >>= aBrightness)
+ dumpBrightnessAsAttribute(aBrightness);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Depth");
+ drawing::EnhancedCustomShapeParameterPair aDepth;
+ if(anotherAny >>= aDepth)
+ dumpDepthAsElement(aDepth);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Diffusion");
+ double aDiffusion;
+ if(anotherAny >>= aDiffusion)
+ dumpDiffusionAsAttribute(aDiffusion);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("NumberOfLineSegments");
+ sal_Int32 aNumberOfLineSegments;
+ if(anotherAny >>= aNumberOfLineSegments)
+ dumpNumberOfLineSegmentsAsAttribute(aNumberOfLineSegments);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LightFace");
+ sal_Bool bLightFace;
+ if(anotherAny >>= bLightFace)
+ dumpLightFaceAsAttribute(bLightFace);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FirstLightHarsh");
+ sal_Bool bFirstLightHarsh;
+ if(anotherAny >>= bFirstLightHarsh)
+ dumpFirstLightHarshAsAttribute(bFirstLightHarsh);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("SecondLightHarsh");
+ sal_Bool bSecondLightHarsh;
+ if(anotherAny >>= bSecondLightHarsh)
+ dumpSecondLightHarshAsAttribute(bSecondLightHarsh);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FirstLightLevel");
+ double aFirstLightLevel;
+ if(anotherAny >>= aFirstLightLevel)
+ dumpFirstLightLevelAsAttribute(aFirstLightLevel);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("SecondLightLevel");
+ double aSecondLightLevel;
+ if(anotherAny >>= aSecondLightLevel)
+ dumpSecondLightLevelAsAttribute(aSecondLightLevel);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FirstLightDirection");
+ drawing::Direction3D aFirstLightDirection;
+ if(anotherAny >>= aFirstLightDirection)
+ dumpFirstLightDirectionAsElement(aFirstLightDirection);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("SecondLightDirection");
+ drawing::Direction3D aSecondLightDirection;
+ if(anotherAny >>= aSecondLightDirection)
+ dumpSecondLightDirectionAsElement(aSecondLightDirection);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Metal");
+ sal_Bool bMetal;
+ if(anotherAny >>= bMetal)
+ dumpMetalAsAttribute(bMetal);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ShadeMode");
+ drawing::ShadeMode eShadeMode;
+ if(anotherAny >>= eShadeMode)
+ dumpShadeModeAsAttribute(eShadeMode);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RotateAngle");
+ drawing::EnhancedCustomShapeParameterPair aRotateAngle;
+ if(anotherAny >>= aRotateAngle)
+ dumpRotateAngleAsElement(aRotateAngle);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RotationCenter");
+ drawing::Direction3D aRotationCenter;
+ if(anotherAny >>= aRotationCenter)
+ dumpRotationCenterAsElement(aRotationCenter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Shininess");
+ double aShininess;
+ if(anotherAny >>= aShininess)
+ dumpShininessAsAttribute(aShininess);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Skew");
+ drawing::EnhancedCustomShapeParameterPair aSkew;
+ if(anotherAny >>= aSkew)
+ dumpSkewAsElement(aSkew);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Specularity");
+ double aSpecularity;
+ if(anotherAny >>= aSpecularity)
+ dumpSpecularityAsAttribute(aSpecularity);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ProjectionMode");
+ drawing::ProjectionMode eProjectionMode;
+ if(anotherAny >>= eProjectionMode)
+ dumpProjectionModeAsAttribute(eProjectionMode);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ViewPoint");
+ drawing::Position3D aViewPoint;
+ if(anotherAny >>= aViewPoint)
+ dumpViewPointAsElement(aViewPoint);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Origin");
+ drawing::EnhancedCustomShapeParameterPair aOrigin;
+ if(anotherAny >>= aOrigin)
+ dumpOriginAsElement(aOrigin);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ExtrusionColor");
+ sal_Bool bExtrusionColor;
+ if(anotherAny >>= bExtrusionColor)
+ dumpExtrusionColorAsAttribute(bExtrusionColor);
+ }
+}
+void EnhancedShapeDumper::dumpExtrusionAsAttribute(sal_Bool bExtrusion)
+{
+ if(bExtrusion)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("extrusion"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("extrusion"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpBrightnessAsAttribute(double aBrightness)
+{
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("brightness"), "%f", aBrightness);
+}
+
+void EnhancedShapeDumper::dumpEnhancedCustomShapeParameterPair(drawing::EnhancedCustomShapeParameterPair aParameterPair)
+{
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "First" ));
+ dumpEnhancedCustomShapeParameter(aParameterPair.First);
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Second" ));
+ dumpEnhancedCustomShapeParameter(aParameterPair.Second);
+ xmlTextWriterEndElement( xmlWriter );
+ }
+}
+
+void EnhancedShapeDumper::dumpDepthAsElement(drawing::EnhancedCustomShapeParameterPair aDepth)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Depth" ));
+ dumpEnhancedCustomShapeParameterPair(aDepth);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpDiffusionAsAttribute(double aDiffusion)
+{
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("diffusion"), "%f", aDiffusion);
+}
+
+void EnhancedShapeDumper::dumpNumberOfLineSegmentsAsAttribute(sal_Int32 aNumberOfLineSegments)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("numberOfLineSegments"), "%" SAL_PRIdINT32, aNumberOfLineSegments);
+}
+
+void EnhancedShapeDumper::dumpLightFaceAsAttribute(sal_Bool bLightFace)
+{
+ if(bLightFace)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lightFace"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lightFace"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpFirstLightHarshAsAttribute(sal_Bool bFirstLightHarsh)
+{
+ if(bFirstLightHarsh)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("firstLightHarsh"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("firstLightHarsh"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpSecondLightHarshAsAttribute(sal_Bool bSecondLightHarsh)
+{
+ if(bSecondLightHarsh)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("secondLightHarsh"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("secondLightHarsh"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpFirstLightLevelAsAttribute(double aFirstLightLevel)
+{
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("firstLightLevel"), "%f", aFirstLightLevel);
+}
+
+void EnhancedShapeDumper::dumpSecondLightLevelAsAttribute(double aSecondLightLevel)
+{
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("secondLightLevel"), "%f", aSecondLightLevel);
+}
+
+void EnhancedShapeDumper::dumpDirection3D(drawing::Direction3D aDirection3D)
+{
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("directionX"), "%f", aDirection3D.DirectionX);
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("directionY"), "%f", aDirection3D.DirectionY);
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("directionZ"), "%f", aDirection3D.DirectionZ);
+}
+
+void EnhancedShapeDumper::dumpFirstLightDirectionAsElement(drawing::Direction3D aFirstLightDirection)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "FirstLightDirection" ));
+ dumpDirection3D(aFirstLightDirection);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpSecondLightDirectionAsElement(drawing::Direction3D aSecondLightDirection)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "SecondLightDirection" ));
+ dumpDirection3D(aSecondLightDirection);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpMetalAsAttribute(sal_Bool bMetal)
+{
+ if(bMetal)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("metal"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("metal"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpShadeModeAsAttribute(drawing::ShadeMode eShadeMode)
+{
+ switch(eShadeMode)
+ {
+ case drawing::ShadeMode_FLAT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("shadeMode"), "%s", "FLAT");
+ break;
+ case drawing::ShadeMode_PHONG:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("shadeMode"), "%s", "PHONG");
+ break;
+ case drawing::ShadeMode_SMOOTH:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("shadeMode"), "%s", "SMOOTH");
+ break;
+ case drawing::ShadeMode_DRAFT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("shadeMode"), "%s", "DRAFT");
+ break;
+ default:
+ break;
+ }
+}
+
+void EnhancedShapeDumper::dumpRotateAngleAsElement(drawing::EnhancedCustomShapeParameterPair aRotateAngle)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "RotateAngle" ));
+ dumpEnhancedCustomShapeParameterPair(aRotateAngle);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpRotationCenterAsElement(drawing::Direction3D aRotationCenter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "RotationCenter" ));
+ dumpDirection3D(aRotationCenter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpShininessAsAttribute(double aShininess)
+{
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("shininess"), "%f", aShininess);
+}
+
+void EnhancedShapeDumper::dumpSkewAsElement(drawing::EnhancedCustomShapeParameterPair aSkew)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Skew" ));
+ dumpEnhancedCustomShapeParameterPair(aSkew);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpSpecularityAsAttribute(double aSpecularity)
+{
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("specularity"), "%f", aSpecularity);
+}
+
+void EnhancedShapeDumper::dumpProjectionModeAsAttribute(drawing::ProjectionMode eProjectionMode)
+{
+ switch(eProjectionMode)
+ {
+ case drawing::ProjectionMode_PARALLEL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("projectionMode"), "%s", "PARALLEL");
+ break;
+ case drawing::ProjectionMode_PERSPECTIVE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("projectionMode"), "%s", "PERSPECTIVE");
+ break;
+ default:
+ break;
+ }
+}
+
+void EnhancedShapeDumper::dumpViewPointAsElement(drawing::Position3D aViewPoint)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "ViewPoint" ));
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("positionX"), "%f", aViewPoint.PositionX);
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("positionY"), "%f", aViewPoint.PositionY);
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("positionZ"), "%f", aViewPoint.PositionZ);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpOriginAsElement(drawing::EnhancedCustomShapeParameterPair aOrigin)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Origin" ));
+ dumpEnhancedCustomShapeParameterPair(aOrigin);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpExtrusionColorAsAttribute(sal_Bool bExtrusionColor)
+{
+ if(bExtrusionColor)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("extrusionColor"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("extrusionColor"), "%s", "false");
+}
+
+// ------------------------------------------------------
+// ---------- EnhancedCustomShapeGeometry.idl -----------
+// ------------------------------------------------------
+
+void EnhancedShapeDumper::dumpEnhancedCustomShapeGeometryService(uno::Reference< beans::XPropertySet > xPropSet)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Type");
+ rtl::OUString sType;
+ if(anotherAny >>= sType)
+ dumpTypeAsAttribute(sType);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ViewBox");
+ awt::Rectangle aViewBox;
+ if(anotherAny >>= aViewBox)
+ dumpViewBoxAsElement(aViewBox);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("MirroredX");
+ sal_Bool bMirroredX;
+ if(anotherAny >>= bMirroredX)
+ dumpMirroredXAsAttribute(bMirroredX);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("MirroredY");
+ sal_Bool bMirroredY;
+ if(anotherAny >>= bMirroredY)
+ dumpMirroredYAsAttribute(bMirroredY);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextRotateAngle");
+ double aTextRotateAngle;
+ if(anotherAny >>= aTextRotateAngle)
+ dumpTextRotateAngleAsAttribute(aTextRotateAngle);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("AdjustmentValues");
+ uno::Sequence< drawing::EnhancedCustomShapeAdjustmentValue> aAdjustmentValues;
+ if(anotherAny >>= aAdjustmentValues)
+ dumpAdjustmentValuesAsElement(aAdjustmentValues);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Extrusion");
+ uno::Sequence< beans::PropertyValue > aExtrusion;
+ if(anotherAny >>= aExtrusion)
+ dumpExtrusionAsElement(aExtrusion);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Path");
+ uno::Sequence< beans::PropertyValue > aPath;
+ if(anotherAny >>= aPath)
+ dumpPathAsElement(aPath);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextPath");
+ uno::Sequence< beans::PropertyValue > aTextPath;
+ if(anotherAny >>= aTextPath)
+ dumpTextPathAsElement(aTextPath);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Equations");
+ uno::Sequence< rtl::OUString > aEquations;
+ if(anotherAny >>= aEquations)
+ dumpEquationsAsElement(aEquations);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Handles");
+ uno::Sequence< beans::PropertyValues > aHandles;
+ if(anotherAny >>= aHandles)
+ dumpHandlesAsElement(aHandles);
+ }
+}
+void EnhancedShapeDumper::dumpTypeAsAttribute(rtl::OUString sType)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("type"), "%s",
+ rtl::OUStringToOString(sType, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void EnhancedShapeDumper::dumpViewBoxAsElement(awt::Rectangle aViewBox)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "ViewBox" ));
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("x"), "%" SAL_PRIdINT32, aViewBox.X);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("y"), "%" SAL_PRIdINT32, aViewBox.Y);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("width"), "%" SAL_PRIdINT32, aViewBox.Width);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("height"), "%" SAL_PRIdINT32, aViewBox.Height);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpMirroredXAsAttribute(sal_Bool bMirroredX)
+{
+ if(bMirroredX)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("mirroredX"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("mirroredX"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpMirroredYAsAttribute(sal_Bool bMirroredY)
+{
+ if(bMirroredY)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("mirroredY"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("mirroredY"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpTextRotateAngleAsAttribute(double aTextRotateAngle)
+{
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textRotateAngle"), "%f", aTextRotateAngle);
+}
+
+void EnhancedShapeDumper::dumpAdjustmentValuesAsElement(uno::Sequence< drawing::EnhancedCustomShapeAdjustmentValue> aAdjustmentValues)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "AdjustmentValues" ));
+ sal_Int32 nLength = aAdjustmentValues.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "EnhancedCustomShapeAdjustmentValue" ));
+ uno::Any aAny = aAdjustmentValues[i].Value;
+ rtl::OUString sValue;
+ if(aAny >>= sValue)
+ {
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("value"), "%s",
+ rtl::OUStringToOString(sValue, RTL_TEXTENCODING_UTF8).getStr());
+ }
+ switch(aAdjustmentValues[i].State)
+ {
+ case beans::PropertyState_DIRECT_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "DIRECT_VALUE");
+ break;
+ case beans::PropertyState_DEFAULT_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "DEFAULT_VALUE");
+ break;
+ case beans::PropertyState_AMBIGUOUS_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "AMBIGUOUS_VALUE");
+ break;
+ default:
+ break;
+ }
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpPropertyValueAsElement(beans::PropertyValue aPropertyValue)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "PropertyValue" ));
+
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("name"), "%s",
+ rtl::OUStringToOString(aPropertyValue.Name, RTL_TEXTENCODING_UTF8).getStr());
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("handle"), "%" SAL_PRIdINT32, aPropertyValue.Handle);
+
+ uno::Any aAny = aPropertyValue.Value;
+ rtl::OUString sValue;
+ if(aAny >>= sValue)
+ {
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("value"), "%s",
+ rtl::OUStringToOString(sValue, RTL_TEXTENCODING_UTF8).getStr());
+ }
+ switch(aPropertyValue.State)
+ {
+ case beans::PropertyState_DIRECT_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "DIRECT_VALUE");
+ break;
+ case beans::PropertyState_DEFAULT_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "DEFAULT_VALUE");
+ break;
+ case beans::PropertyState_AMBIGUOUS_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "AMBIGUOUS_VALUE");
+ break;
+ default:
+ break;
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpExtrusionAsElement(uno::Sequence< beans::PropertyValue > aExtrusion)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Extrusion" ));
+ sal_Int32 nLength = aExtrusion.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ dumpPropertyValueAsElement(aExtrusion[i]);
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpPathAsElement(uno::Sequence< beans::PropertyValue > aPath)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Path" ));
+ sal_Int32 nLength = aPath.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ dumpPropertyValueAsElement(aPath[i]);
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpTextPathAsElement(uno::Sequence< beans::PropertyValue > aTextPath)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "TextPath" ));
+ sal_Int32 nLength = aTextPath.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ dumpPropertyValueAsElement(aTextPath[i]);
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpEquationsAsElement(uno::Sequence< rtl::OUString > aEquations)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Equations" ));
+ sal_Int32 nLength = aEquations.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("name"), "%s",
+ rtl::OUStringToOString(aEquations[i], RTL_TEXTENCODING_UTF8).getStr());
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+// PropertyValues specifies a sequence of PropertyValue instances.
+// so in this case it's a Sequence of a Sequence of a PropertyValue instances.
+// Welcome to Sequenception again.
+void EnhancedShapeDumper::dumpHandlesAsElement(uno::Sequence< beans::PropertyValues > aHandles)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Handles" ));
+ sal_Int32 nSequenceLength = aHandles.getLength();
+ for (sal_Int32 i = 0; i < nSequenceLength; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "PropertyValues" ));
+ uno::Sequence< beans::PropertyValue > propertyValueSequence = aHandles[i];
+ sal_Int32 nLength = propertyValueSequence.getLength();
+ for (sal_Int32 j = 0; j < nLength; ++j)
+ {
+ dumpPropertyValueAsElement(propertyValueSequence[j]);
+ }
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+// ------------------------------------------------------
+// ---------- EnhancedCustomShapeHandle.idl -----------
+// ------------------------------------------------------
+
+void EnhancedShapeDumper::dumpEnhancedCustomShapeHandleService(uno::Reference< beans::XPropertySet > xPropSet)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("MirroredX");
+ sal_Bool bMirroredX;
+ if(anotherAny >>= bMirroredX)
+ dumpMirroredXAsAttribute(bMirroredX);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("MirroredY");
+ sal_Bool bMirroredY;
+ if(anotherAny >>= bMirroredY)
+ dumpMirroredYAsAttribute(bMirroredY);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Switched");
+ sal_Bool bSwitched;
+ if(anotherAny >>= bSwitched)
+ dumpSwitchedAsAttribute(bSwitched);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Position");
+ drawing::EnhancedCustomShapeParameterPair aPosition;
+ if(anotherAny >>= aPosition)
+ dumpPositionAsElement(aPosition);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Polar");
+ drawing::EnhancedCustomShapeParameterPair aPolar;
+ if(anotherAny >>= aPolar)
+ dumpPolarAsElement(aPolar);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RefX");
+ sal_Int32 aRefX;
+ if(anotherAny >>= aRefX)
+ dumpRefXAsAttribute(aRefX);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RefY");
+ sal_Int32 aRefY;
+ if(anotherAny >>= aRefY)
+ dumpRefYAsAttribute(aRefY);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RefAngle");
+ sal_Int32 aRefAngle;
+ if(anotherAny >>= aRefAngle)
+ dumpRefAngleAsAttribute(aRefAngle);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RefR");
+ sal_Int32 aRefR;
+ if(anotherAny >>= aRefR)
+ dumpRefRAsAttribute(aRefR);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RangeXMinimum");
+ drawing::EnhancedCustomShapeParameter aRangeXMinimum;
+ if(anotherAny >>= aRangeXMinimum)
+ dumpRangeXMinimumAsElement(aRangeXMinimum);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RangeXMaximum");
+ drawing::EnhancedCustomShapeParameter aRangeXMaximum;
+ if(anotherAny >>= aRangeXMaximum)
+ dumpRangeXMaximumAsElement(aRangeXMaximum);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RangeYMinimum");
+ drawing::EnhancedCustomShapeParameter aRangeYMinimum;
+ if(anotherAny >>= aRangeYMinimum)
+ dumpRangeYMinimumAsElement(aRangeYMinimum);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RangeYMaximum");
+ drawing::EnhancedCustomShapeParameter aRangeYMaximum;
+ if(anotherAny >>= aRangeYMaximum)
+ dumpRangeYMaximumAsElement(aRangeYMaximum);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RadiusRangeMinimum");
+ drawing::EnhancedCustomShapeParameter aRadiusRangeMinimum;
+ if(anotherAny >>= aRadiusRangeMinimum)
+ dumpRadiusRangeMinimumAsElement(aRadiusRangeMinimum);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("RadiusRangeMaximum");
+ drawing::EnhancedCustomShapeParameter aRadiusRangeMaximum;
+ if(anotherAny >>= aRadiusRangeMaximum)
+ dumpRadiusRangeMaximumAsElement(aRadiusRangeMaximum);
+ }
+}
+
+void EnhancedShapeDumper::dumpSwitchedAsAttribute(sal_Bool bSwitched)
+{
+ if(bSwitched)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("switched"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("switched"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpPositionAsElement(drawing::EnhancedCustomShapeParameterPair aPosition)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Position" ));
+ dumpEnhancedCustomShapeParameterPair(aPosition);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpPolarAsElement(drawing::EnhancedCustomShapeParameterPair aPolar)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Polar" ));
+ dumpEnhancedCustomShapeParameterPair(aPolar);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpRefXAsAttribute(sal_Int32 aRefX)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("refX"), "%" SAL_PRIdINT32, aRefX);
+}
+
+void EnhancedShapeDumper::dumpRefYAsAttribute(sal_Int32 aRefY)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("refY"), "%" SAL_PRIdINT32, aRefY);
+}
+
+void EnhancedShapeDumper::dumpRefAngleAsAttribute(sal_Int32 aRefAngle)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("refAngle"), "%" SAL_PRIdINT32, aRefAngle);
+}
+
+void EnhancedShapeDumper::dumpRefRAsAttribute(sal_Int32 aRefR)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("refR"), "%" SAL_PRIdINT32, aRefR);
+}
+
+void EnhancedShapeDumper::dumpEnhancedCustomShapeParameter(drawing::EnhancedCustomShapeParameter aParameter)
+{
+ uno::Any aAny = aParameter.Value;
+ rtl::OUString sValue;
+ if(aAny >>= sValue)
+ {
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("value"), "%s",
+ rtl::OUStringToOString(sValue, RTL_TEXTENCODING_UTF8).getStr());
+ }
+ sal_Int32 aType = aParameter.Type;
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("type"), "%" SAL_PRIdINT32, aType);
+}
+
+void EnhancedShapeDumper::dumpRangeXMinimumAsElement(drawing::EnhancedCustomShapeParameter aRangeXMinimum)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "RangeXMinimum" ));
+ dumpEnhancedCustomShapeParameter(aRangeXMinimum);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpRangeXMaximumAsElement(drawing::EnhancedCustomShapeParameter aRangeXMaximum)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "RangeXMaximum" ));
+ dumpEnhancedCustomShapeParameter(aRangeXMaximum);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpRangeYMinimumAsElement(drawing::EnhancedCustomShapeParameter aRangeYMinimum)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "RangeYMinimum" ));
+ dumpEnhancedCustomShapeParameter(aRangeYMinimum);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpRangeYMaximumAsElement(drawing::EnhancedCustomShapeParameter aRangeYMaximum)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "RangeYMaximum" ));
+ dumpEnhancedCustomShapeParameter(aRangeYMaximum);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpRadiusRangeMinimumAsElement(drawing::EnhancedCustomShapeParameter aRadiusRangeMinimum)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "RadiusRangeMinimum" ));
+ dumpEnhancedCustomShapeParameter(aRadiusRangeMinimum);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpRadiusRangeMaximumAsElement(drawing::EnhancedCustomShapeParameter aRadiusRangeMaximum)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "RadiusRangeMaximum" ));
+ dumpEnhancedCustomShapeParameter(aRadiusRangeMaximum);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+// ------------------------------------------------------
+// ---------- EnhancedCustomShapePath.idl ---------------
+// ------------------------------------------------------
+
+void EnhancedShapeDumper::dumpEnhancedCustomShapePathService(uno::Reference< beans::XPropertySet > xPropSet)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Coordinates");
+ uno::Sequence< drawing::EnhancedCustomShapeParameterPair > aCoordinates;
+ if(anotherAny >>= aCoordinates)
+ dumpCoordinatesAsElement(aCoordinates);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Segments");
+ uno::Sequence< drawing::EnhancedCustomShapeSegment > aSegments;
+ if(anotherAny >>= aSegments)
+ dumpSegmentsAsElement(aSegments);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("StretchX");
+ sal_Int32 aStretchX;
+ if(anotherAny >>= aStretchX)
+ dumpStretchXAsAttribute(aStretchX);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("StretchY");
+ sal_Int32 aStretchY;
+ if(anotherAny >>= aStretchY)
+ dumpStretchYAsAttribute(aStretchY);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextFrames");
+ uno::Sequence< drawing::EnhancedCustomShapeTextFrame > aTextFrames;
+ if(anotherAny >>= aTextFrames)
+ dumpTextFramesAsElement(aTextFrames);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("GluePoints");
+ uno::Sequence< drawing::EnhancedCustomShapeParameterPair > aGluePoints;
+ if(anotherAny >>= aGluePoints)
+ dumpGluePointsAsElement(aGluePoints);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("GluePointLeavingDirections");
+ uno::Sequence< double > aGluePointLeavingDirections;
+ if(anotherAny >>= aGluePointLeavingDirections)
+ dumpGluePointLeavingDirectionsAsElement(aGluePointLeavingDirections);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("GluePointType");
+ sal_Int32 aGluePointType;
+ if(anotherAny >>= aGluePointType)
+ dumpGluePointTypeAsAttribute(aGluePointType);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ExtrusionAllowed");
+ sal_Bool bExtrusionAllowed;
+ if(anotherAny >>= bExtrusionAllowed)
+ dumpExtrusionAllowedAsAttribute(bExtrusionAllowed);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ConcentricGradientFillAllowed");
+ sal_Bool bConcentricGradientFillAllowed;
+ if(anotherAny >>= bConcentricGradientFillAllowed)
+ dumpConcentricGradientFillAllowedAsAttribute(bConcentricGradientFillAllowed);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextPathAllowed");
+ sal_Bool bTextPathAllowed;
+ if(anotherAny >>= bTextPathAllowed)
+ dumpTextPathAllowedAsAttribute(bTextPathAllowed);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("SubViewSize");
+ uno::Sequence< awt::Size > aSubViewSize;
+ if(anotherAny >>= aSubViewSize)
+ dumpSubViewSizeAsElement(aSubViewSize);
+ }
+}
+
+void EnhancedShapeDumper::dumpCoordinatesAsElement(uno::Sequence< drawing::EnhancedCustomShapeParameterPair > aCoordinates)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Coordinates" ));
+ sal_Int32 nLength = aCoordinates.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "EnhancedCustomShapeParameterPair" ));
+ dumpEnhancedCustomShapeParameterPair(aCoordinates[i]);
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpSegmentsAsElement(uno::Sequence< drawing::EnhancedCustomShapeSegment > aSegments)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Segments" ));
+ sal_Int32 nLength = aSegments.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "EnhancedCustomShapeSegment" ));
+ sal_Int32 aCommand = aSegments[i].Command;
+ sal_Int32 aCount = aSegments[i].Count;
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("command"), "%" SAL_PRIdINT32, aCommand);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("count"), "%" SAL_PRIdINT32, aCount);
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpStretchXAsAttribute(sal_Int32 aStretchX)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("stretchX"), "%" SAL_PRIdINT32, aStretchX);
+}
+
+void EnhancedShapeDumper::dumpStretchYAsAttribute(sal_Int32 aStretchY)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("stretchY"), "%" SAL_PRIdINT32, aStretchY);
+}
+
+void EnhancedShapeDumper::dumpTextFramesAsElement(uno::Sequence< drawing::EnhancedCustomShapeTextFrame > aTextFrames)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "TextFrames" ));
+ sal_Int32 nLength = aTextFrames.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "EnhancedCustomShapeTextFrame" ));
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "TopLeft" ));
+ dumpEnhancedCustomShapeParameterPair(aTextFrames[i].TopLeft);
+ xmlTextWriterEndElement( xmlWriter );
+
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "BottomRight" ));
+ dumpEnhancedCustomShapeParameterPair(aTextFrames[i].BottomRight);
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpGluePointsAsElement(uno::Sequence< drawing::EnhancedCustomShapeParameterPair > aGluePoints)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "GluePoints" ));
+ sal_Int32 nLength = aGluePoints.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "EnhancedCustomShapeParameterPair" ));
+ dumpEnhancedCustomShapeParameterPair(aGluePoints[i]);
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpGluePointLeavingDirectionsAsElement(uno::Sequence< double > aGluePointLeavingDirections)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "GluePointLeavingDirections" ));
+ sal_Int32 nLength = aGluePointLeavingDirections.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("value"), "%f", aGluePointLeavingDirections[i]);
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void EnhancedShapeDumper::dumpGluePointTypeAsAttribute(sal_Int32 aGluePointType)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("gluePointType"), "%" SAL_PRIdINT32, aGluePointType);
+}
+
+void EnhancedShapeDumper::dumpExtrusionAllowedAsAttribute(sal_Bool bExtrusionAllowed)
+{
+ if(bExtrusionAllowed)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("extrusionAllowed"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("extrusionAllowed"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpConcentricGradientFillAllowedAsAttribute(sal_Bool bConcentricGradientFillAllowed)
+{
+ if(bConcentricGradientFillAllowed)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("concentricGradientFillAllowed"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("concentricGradientFillAllowed"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpTextPathAllowedAsAttribute(sal_Bool bTextPathAllowed)
+{
+ if(bTextPathAllowed)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textPathAllowed"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textPathAllowed"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpSubViewSizeAsElement(uno::Sequence< awt::Size > aSubViewSize)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "SubViewSize" ));
+ sal_Int32 nLength = aSubViewSize.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Size" ));
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("width"), "%" SAL_PRIdINT32, aSubViewSize[i].Width);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("height"), "%" SAL_PRIdINT32, aSubViewSize[i].Height);
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+// ----------------------------------------------------------
+// ---------- EnhancedCustomShapeTextPath.idl ---------------
+// ----------------------------------------------------------
+
+void EnhancedShapeDumper::dumpEnhancedCustomShapeTextPathService(uno::Reference< beans::XPropertySet > xPropSet)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextPath");
+ sal_Bool bTextPath;
+ if(anotherAny >>= bTextPath)
+ dumpTextPathAsAttribute(bTextPath);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextPathMode");
+ drawing::EnhancedCustomShapeTextPathMode eTextPathMode;
+ if(anotherAny >>= eTextPathMode)
+ dumpTextPathModeAsAttribute(eTextPathMode);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ScaleX");
+ sal_Bool bScaleX;
+ if(anotherAny >>= bScaleX)
+ dumpScaleXAsAttribute(bScaleX);
+ }
+}
+
+void EnhancedShapeDumper::dumpTextPathAsAttribute(sal_Bool bTextPath)
+{
+ if(bTextPath)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textPath"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textPath"), "%s", "false");
+}
+
+void EnhancedShapeDumper::dumpTextPathModeAsAttribute(drawing::EnhancedCustomShapeTextPathMode eTextPathMode)
+{
+ switch(eTextPathMode)
+ {
+ case drawing::EnhancedCustomShapeTextPathMode_NORMAL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textPathMode"), "%s", "NORMAL");
+ break;
+ case drawing::EnhancedCustomShapeTextPathMode_PATH:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textPathMode"), "%s", "PATH");
+ break;
+ case drawing::EnhancedCustomShapeTextPathMode_SHAPE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textPathMode"), "%s", "SHAPE");
+ break;
+ default:
+ break;
+ }
+}
+
+void EnhancedShapeDumper::dumpScaleXAsAttribute(sal_Bool bScaleX)
+{
+ if(bScaleX)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("scaleX"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("scaleX"), "%s", "false");
+}
diff --git a/drawinglayer/source/dumper/EnhancedShapeDumper.hxx b/drawinglayer/source/dumper/EnhancedShapeDumper.hxx
new file mode 100644
index 000000000000..7ed9359535f7
--- /dev/null
+++ b/drawinglayer/source/dumper/EnhancedShapeDumper.hxx
@@ -0,0 +1,149 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2012 Artur Dorda <artur.dorda+libo@gmail.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include <libxml/xmlwriter.h>
+
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
+#include <com/sun/star/drawing/Direction3D.hpp>
+#include <com/sun/star/drawing/ShadeMode.hpp>
+#include <com/sun/star/drawing/ProjectionMode.hpp>
+#include <com/sun/star/drawing/Position3D.hpp>
+
+#include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/beans/PropertyValues.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp>
+
+#include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.hpp>
+#include <com/sun/star/awt/Size.hpp>
+
+#include <com/sun/star/drawing/EnhancedCustomShapeTextPathMode.hpp>
+
+#ifndef EnhancedShapeDumper_hxx
+#define EnhancedShapeDumper_hxx
+
+class EnhancedShapeDumper
+{
+public:
+ EnhancedShapeDumper(xmlTextWriterPtr writer)
+ :
+ xmlWriter(writer)
+ {
+
+ }
+
+ // auxiliary functions
+ void dumpEnhancedCustomShapeParameterPair(com::sun::star::drawing::EnhancedCustomShapeParameterPair aParameterPair);
+ void dumpDirection3D(com::sun::star::drawing::Direction3D aDirection3D);
+ void dumpPropertyValueAsElement(com::sun::star::beans::PropertyValue aPropertyValue);
+ void dumpEnhancedCustomShapeParameter(com::sun::star::drawing::EnhancedCustomShapeParameter aParameter);
+
+ // EnhancedCustomShapeExtrusion.idl
+ void dumpEnhancedCustomShapeExtrusionService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
+ void dumpExtrusionAsAttribute(sal_Bool bExtrusion);
+ void dumpBrightnessAsAttribute(double aBrightness);
+ void dumpDepthAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aDepth);
+ void dumpDiffusionAsAttribute(double aDiffusion);
+ void dumpNumberOfLineSegmentsAsAttribute(sal_Int32 aNumberOfLineSegments);
+ void dumpLightFaceAsAttribute(sal_Bool bLightFace);
+ void dumpFirstLightHarshAsAttribute(sal_Bool bFirstLightHarsh);
+ void dumpSecondLightHarshAsAttribute(sal_Bool bSecondLightHarsh);
+ void dumpFirstLightLevelAsAttribute(double aFirstLightLevel);
+ void dumpSecondLightLevelAsAttribute(double aSecondLightLevel);
+ void dumpFirstLightDirectionAsElement(com::sun::star::drawing::Direction3D aFirstLightDirection);
+ void dumpSecondLightDirectionAsElement(com::sun::star::drawing::Direction3D aSecondLightDirection);
+ void dumpMetalAsAttribute(sal_Bool bMetal);
+ void dumpShadeModeAsAttribute(com::sun::star::drawing::ShadeMode eShadeMode);
+ void dumpRotateAngleAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aRotateAngle);
+ void dumpRotationCenterAsElement(com::sun::star::drawing::Direction3D aRotationCenter);
+ void dumpShininessAsAttribute(double aShininess);
+ void dumpSkewAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aSkew);
+ void dumpSpecularityAsAttribute(double aSpecularity);
+ void dumpProjectionModeAsAttribute(com::sun::star::drawing::ProjectionMode eProjectionMode);
+ void dumpViewPointAsElement(com::sun::star::drawing::Position3D aViewPoint);
+ void dumpOriginAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aOrigin);
+ void dumpExtrusionColorAsAttribute(sal_Bool bExtrusionColor);
+
+ // EnhancedCustomShapeGeometry.idl
+ void dumpEnhancedCustomShapeGeometryService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
+ void dumpTypeAsAttribute(rtl::OUString sType);
+ void dumpViewBoxAsElement(com::sun::star::awt::Rectangle aViewBox);
+ void dumpMirroredXAsAttribute(sal_Bool bMirroredX); // also used in EnhancedCustomShapeHandle
+ void dumpMirroredYAsAttribute(sal_Bool bMirroredY); // also used in EnhancedCustomShapeHandle
+ void dumpTextRotateAngleAsAttribute(double aTextRotateAngle);
+ void dumpAdjustmentValuesAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue> aAdjustmentValues);
+ void dumpExtrusionAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aExtrusion);
+ void dumpPathAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aPath);
+ void dumpTextPathAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aTextPath);
+ void dumpEquationsAsElement(com::sun::star::uno::Sequence< rtl::OUString > aEquations);
+ void dumpHandlesAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValues > aHandles);
+
+ // EnhancedCustomShapeHandle.idl
+ void dumpEnhancedCustomShapeHandleService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
+ void dumpSwitchedAsAttribute(sal_Bool bSwitched);
+ void dumpPositionAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aPosition);
+ void dumpPolarAsElement(com::sun::star::drawing::EnhancedCustomShapeParameterPair aPolar);
+ void dumpRefXAsAttribute(sal_Int32 aRefX);
+ void dumpRefYAsAttribute(sal_Int32 aRefY);
+ void dumpRefAngleAsAttribute(sal_Int32 aRefAngle);
+ void dumpRefRAsAttribute(sal_Int32 aRefR);
+ void dumpRangeXMinimumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRangeXMinimum);
+ void dumpRangeXMaximumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRangeXMaximum);
+ void dumpRangeYMinimumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRangeYMinimum);
+ void dumpRangeYMaximumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRangeXMaximum);
+ void dumpRadiusRangeMinimumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRadiusRangeMinimum);
+ void dumpRadiusRangeMaximumAsElement(com::sun::star::drawing::EnhancedCustomShapeParameter aRadiusRangeMaximum);
+
+ // EnhancedCustomShapePath.idl
+ void dumpEnhancedCustomShapePathService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
+ void dumpCoordinatesAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair > aCoordinates);
+ void dumpSegmentsAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeSegment > aSegments);
+ void dumpStretchXAsAttribute(sal_Int32 aStretchX);
+ void dumpStretchYAsAttribute(sal_Int32 aStretchY);
+ void dumpTextFramesAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeTextFrame > aTextFrames);
+ void dumpGluePointsAsElement(com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair > aGluePoints);
+ void dumpGluePointLeavingDirectionsAsElement(com::sun::star::uno::Sequence< double > aGluePointLeavingDirections);
+ void dumpGluePointTypeAsAttribute(sal_Int32 aGluePointType);
+ void dumpExtrusionAllowedAsAttribute(sal_Bool bExtrusionAllowed);
+ void dumpConcentricGradientFillAllowedAsAttribute(sal_Bool bConcentricGradientFillAllowed);
+ void dumpTextPathAllowedAsAttribute(sal_Bool bTextPathAllowed);
+ void dumpSubViewSizeAsElement(com::sun::star::uno::Sequence< com::sun::star::awt::Size > aSubViewSize);
+
+ // EnhancedCustomShapePath.idl
+ void dumpEnhancedCustomShapeTextPathService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet);
+ void dumpTextPathAsAttribute(sal_Bool bTextPath);
+ void dumpTextPathModeAsAttribute(com::sun::star::drawing::EnhancedCustomShapeTextPathMode eTextPathMode);
+ void dumpScaleXAsAttribute(sal_Bool bScaleX);
+
+private:
+ xmlTextWriterPtr xmlWriter;
+};
+#endif
diff --git a/drawinglayer/source/dumper/XShapeDumper.cxx b/drawinglayer/source/dumper/XShapeDumper.cxx
new file mode 100644
index 000000000000..c5055410f59b
--- /dev/null
+++ b/drawinglayer/source/dumper/XShapeDumper.cxx
@@ -0,0 +1,1887 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2012 Artur Dorda <artur.dorda+libo@gmail.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include <drawinglayer/XShapeDumper.hxx>
+#include "EnhancedShapeDumper.hxx"
+#include <com/sun/star/drawing/XShapes.hpp>
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/text/XText.hpp>
+#include <rtl/strbuf.hxx>
+#include <libxml/xmlwriter.h>
+
+#define DEBUG_DUMPER 0
+
+using namespace com::sun::star;
+//class XShapeDumper
+
+XShapeDumper::XShapeDumper()
+{
+
+}
+
+namespace {
+
+// FUNCTION DECLARATIONS
+
+// auxiliary functions
+void dumpGradientProperty(com::sun::star::awt::Gradient aGradient, xmlTextWriterPtr xmlWriter);
+void dumpPolyPolygonBezierCoords(com::sun::star::drawing::PolyPolygonBezierCoords aPolyPolygonBezierCoords, xmlTextWriterPtr xmlWriter);
+void dumpPointSequenceSequence(com::sun::star::drawing::PointSequenceSequence aPointSequenceSequence, uno::Sequence<uno::Sequence<drawing::PolygonFlags> >*, xmlTextWriterPtr xmlWriter);
+
+// FillProperties.idl
+void dumpFillStyleAsAttribute(com::sun::star::drawing::FillStyle eFillStyle, xmlTextWriterPtr xmlWriter);
+void dumpFillColorAsAttribute(sal_Int32 aColor, xmlTextWriterPtr xmlWriter);
+void dumpFillTransparenceAsAttribute(sal_Int32 aTransparence, xmlTextWriterPtr xmlWriter);
+void dumpFillTransparenceGradientNameAsAttribute(rtl::OUString sTranspGradName, xmlTextWriterPtr xmlWriter);
+void dumpFillTransparenceGradientAsElement(com::sun::star::awt::Gradient aTranspGrad, xmlTextWriterPtr xmlWriter);
+void dumpFillGradientNameAsAttribute(rtl::OUString sGradName, xmlTextWriterPtr xmlWriter);
+void dumpFillGradientAsElement(com::sun::star::awt::Gradient aGradient, xmlTextWriterPtr xmlWriter);
+void dumpFillHatchNameAsAttribute(rtl::OUString sHatchName, xmlTextWriterPtr xmlWriter);
+void dumpFillHatchAsElement(com::sun::star::drawing::Hatch aHatch, xmlTextWriterPtr xmlWriter);
+void dumpFillBackgroundAsAttribute(sal_Bool bBackground, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapNameAsAttribute(rtl::OUString sBitmapName, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapAsElement(com::sun::star::uno::Reference<com::sun::star::awt::XBitmap> xBitmap, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapURLAsAttribute(rtl::OUString sBitmapURL, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapPositionOffsetXAsAttribute(sal_Int32 aBitmapPositionOffsetX, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapPositionOffsetYAsAttribute(sal_Int32 aBitmapPositionOffsetY, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapOffsetXAsAttribute(sal_Int32 aBitmapOffsetX, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapOffsetYAsAttribute(sal_Int32 aBitmapOffsetY, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapRectanglePointAsAttribute(com::sun::star::drawing::RectanglePoint eBitmapRectanglePoint, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapLogicalSizeAsAttribute(sal_Bool bBitmapLogicalSize, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapSizeXAsAttribute(sal_Int32 aBitmapSizeX, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapSizeYAsAttribute(sal_Int32 aBitmapSizeY, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapModeAsAttribute(com::sun::star::drawing::BitmapMode eBitmapMode, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapStretchAsAttribute(sal_Bool bBitmapStretch, xmlTextWriterPtr xmlWriter);
+void dumpFillBitmapTileAsAttribute(sal_Bool bBitmapTile, xmlTextWriterPtr xmlWriter);
+
+// LineProperties.idl
+void dumpLineStyleAsAttribute(com::sun::star::drawing::LineStyle eLineStyle, xmlTextWriterPtr xmlWriter);
+void dumpLineDashAsElement(com::sun::star::drawing::LineDash aLineDash, xmlTextWriterPtr xmlWriter);
+void dumpLineDashNameAsAttribute(rtl::OUString sLineDashName, xmlTextWriterPtr xmlWriter);
+void dumpLineColorAsAttribute(sal_Int32 aLineColor, xmlTextWriterPtr xmlWriter);
+void dumpLineTransparenceAsAttribute(sal_Int32 aLineTransparence, xmlTextWriterPtr xmlWriter);
+void dumpLineWidthAsAttribute(sal_Int32 aLineWidth, xmlTextWriterPtr xmlWriter);
+void dumpLineJointAsAttribute(com::sun::star::drawing::LineJoint eLineJoint, xmlTextWriterPtr xmlWriter);
+void dumpLineStartNameAsAttribute(rtl::OUString sLineStartName, xmlTextWriterPtr xmlWriter);
+void dumpLineEndNameAsAttribute(rtl::OUString sLineEndName, xmlTextWriterPtr xmlWriter);
+void dumpLineStartAsElement(com::sun::star::drawing::PolyPolygonBezierCoords aLineStart, xmlTextWriterPtr xmlWriter);
+void dumpLineEndAsElement(com::sun::star::drawing::PolyPolygonBezierCoords aLineEnd, xmlTextWriterPtr xmlWriter);
+void dumpLineStartCenterAsAttribute(sal_Bool bLineStartCenter, xmlTextWriterPtr xmlWriter);
+void dumpLineStartWidthAsAttribute(sal_Int32 aLineStartWidth, xmlTextWriterPtr xmlWriter);
+void dumpLineEndCenterAsAttribute(sal_Bool bLineEndCenter, xmlTextWriterPtr xmlWriter);
+void dumpLineEndWidthAsAttribute(sal_Int32 aLineEndWidth, xmlTextWriterPtr xmlWriter);
+
+// PolyPolygonDescriptor.idl
+void dumpPolygonKindAsAttribute(com::sun::star::drawing::PolygonKind ePolygonKind, xmlTextWriterPtr xmlWriter);
+void dumpPolyPolygonAsElement(com::sun::star::drawing::PointSequenceSequence aPolyPolygon, xmlTextWriterPtr xmlWriter);
+void dumpGeometryAsElement(com::sun::star::drawing::PointSequenceSequence aGeometry, xmlTextWriterPtr xmlWriter);
+
+// TextProperties.idl
+void dumpIsNumberingAsAttribute(sal_Bool bIsNumbering, xmlTextWriterPtr xmlWriter);
+void dumpTextAutoGrowHeightAsAttribute(sal_Bool bTextAutoGrowHeight, xmlTextWriterPtr xmlWriter);
+void dumpTextAutoGrowWidthAsAttribute(sal_Bool bTextAutoGrowWidth, xmlTextWriterPtr xmlWriter);
+void dumpTextContourFrameAsAttribute(sal_Bool bTextContourFrame, xmlTextWriterPtr xmlWriter);
+void dumpTextFitToSizeAsAttribute(com::sun::star::drawing::TextFitToSizeType eTextFitToSize, xmlTextWriterPtr xmlWriter);
+void dumpTextHorizontalAdjustAsAttribute(com::sun::star::drawing::TextHorizontalAdjust eTextHorizontalAdjust, xmlTextWriterPtr xmlWriter);
+void dumpTextVerticalAdjustAsAttribute(com::sun::star::drawing::TextVerticalAdjust eTextVerticalAdjust, xmlTextWriterPtr xmlWriter);
+void dumpTextLeftDistanceAsAttribute(sal_Int32 aTextLeftDistance, xmlTextWriterPtr xmlWriter);
+void dumpTextRightDistanceAsAttribute(sal_Int32 aTextRightDistance, xmlTextWriterPtr xmlWriter);
+void dumpTextUpperDistanceAsAttribute(sal_Int32 aTextUpperDistance, xmlTextWriterPtr xmlWriter);
+void dumpTextLowerDistanceAsAttribute(sal_Int32 aTextLowerDistance, xmlTextWriterPtr xmlWriter);
+void dumpTextMaximumFrameHeightAsAttribute(sal_Int32 aTextMaximumFrameHeight, xmlTextWriterPtr xmlWriter);
+void dumpTextMaximumFrameWidthAsAttribute(sal_Int32 aTextMaximumFrameWidth, xmlTextWriterPtr xmlWriter);
+void dumpTextMinimumFrameHeightAsAttribute(sal_Int32 aTextMinimumFrameHeight, xmlTextWriterPtr xmlWriter);
+void dumpTextMinimumFrameWidthAsAttribute(sal_Int32 aTextMinimumFrameWidth, xmlTextWriterPtr xmlWriter);
+void dumpTextAnimationAmountAsAttribute(sal_Int32 aTextAnimationAmount, xmlTextWriterPtr xmlWriter);
+void dumpTextAnimationCountAsAttribute(sal_Int32 aTextAnimationCount, xmlTextWriterPtr xmlWriter);
+void dumpTextAnimationDelayAsAttribute(sal_Int32 aTextAnimationDelay, xmlTextWriterPtr xmlWriter);
+void dumpTextAnimationDirectionAsAttribute(com::sun::star::drawing::TextAnimationDirection eTextAnimationDirection, xmlTextWriterPtr xmlWriter);
+void dumpTextAnimationKindAsAttribute(com::sun::star::drawing::TextAnimationKind eTextAnimationKind, xmlTextWriterPtr xmlWriter);
+void dumpTextAnimationStartInsideAsAttribute(sal_Bool bTextAnimationStartInside, xmlTextWriterPtr xmlWriter);
+void dumpTextAnimationStopInsideAsAttribute(sal_Bool bTextAnimationStopInside, xmlTextWriterPtr xmlWriter);
+void dumpTextWritingModeAsAttribute(com::sun::star::text::WritingMode eWritingMode, xmlTextWriterPtr xmlWriter);
+
+// ShadowProperties.idl
+void dumpShadowAsAttribute(sal_Bool bShadow, xmlTextWriterPtr xmlWriter);
+void dumpShadowColorAsAttribute(sal_Int32 aShadowColor, xmlTextWriterPtr xmlWriter);
+void dumpShadowTransparenceAsAttribute(sal_Int32 aShadowTransparence, xmlTextWriterPtr xmlWriter);
+void dumpShadowXDistanceAsAttribute(sal_Int32 aShadowXDistance, xmlTextWriterPtr xmlWriter);
+void dumpShadowYDistanceAsAttribute(sal_Int32 aShadowYDistance, xmlTextWriterPtr xmlWriter);
+
+//Shape.idl
+void dumpZOrderAsAttribute(sal_Int32 aZOrder, xmlTextWriterPtr xmlWriter);
+void dumpLayerIDAsAttribute(sal_Int32 aLayerID, xmlTextWriterPtr xmlWriter);
+void dumpLayerNameAsAttribute(rtl::OUString sLayerName, xmlTextWriterPtr xmlWriter);
+void dumpVisibleAsAttribute(sal_Bool bVisible, xmlTextWriterPtr xmlWriter);
+void dumpPrintableAsAttribute(sal_Bool bPrintable, xmlTextWriterPtr xmlWriter);
+void dumpMoveProtectAsAttribute(sal_Bool bMoveProtect, xmlTextWriterPtr xmlWriter);
+void dumpNameAsAttribute(rtl::OUString sName, xmlTextWriterPtr xmlWriter);
+void dumpSizeProtectAsAttribute(sal_Bool bSizeProtect, xmlTextWriterPtr xmlWriter);
+void dumpHomogenMatrixLine3(com::sun::star::drawing::HomogenMatrixLine3 aLine, xmlTextWriterPtr xmlWriter);
+void dumpTransformationAsElement(com::sun::star::drawing::HomogenMatrix3 aTransformation, xmlTextWriterPtr xmlWriter);
+void dumpNavigationOrderAsAttribute(sal_Int32 aNavigationOrder, xmlTextWriterPtr xmlWriter);
+void dumpHyperlinkAsAttribute(rtl::OUString sHyperlink, xmlTextWriterPtr xmlWriter);
+
+// PolyPolygonBezierDescriptor.idl
+void dumpPolyPolygonBezierAsElement(com::sun::star::drawing::PolyPolygonBezierCoords aPolyPolygonBezier, xmlTextWriterPtr xmlWriter);
+void dumpGeometryAsElement(com::sun::star::drawing::PolyPolygonBezierCoords aGeometry, xmlTextWriterPtr xmlWriter);
+
+// CustomShape.idl
+void dumpCustomShapeEngineAsAttribute(rtl::OUString sCustomShapeEngine, xmlTextWriterPtr xmlWriter);
+void dumpCustomShapeDataAsAttribute(rtl::OUString sCustomShapeData, xmlTextWriterPtr xmlWriter);
+void dumpCustomShapeGeometryAsElement(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue> aCustomShapeGeometry, xmlTextWriterPtr xmlWriter);
+void dumpCustomShapeReplacementURLAsAttribute(rtl::OUString sCustomShapeReplacementURL, xmlTextWriterPtr xmlWriter);
+
+// XShape.idl
+void dumpPositionAsAttribute(const com::sun::star::awt::Point& rPoint, xmlTextWriterPtr xmlWriter);
+void dumpSizeAsAttribute(const com::sun::star::awt::Size& rSize, xmlTextWriterPtr xmlWriter);
+
+// the rest
+void dumpShapeDescriptorAsAttribute( com::sun::star::uno::Reference< com::sun::star::drawing::XShapeDescriptor > xDescr, xmlTextWriterPtr xmlWriter );
+void dumpXShape(com::sun::star::uno::Reference< com::sun::star::drawing::XShape > xShape, xmlTextWriterPtr xmlWriter);
+void dumpXShapes( com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > xShapes, xmlTextWriterPtr xmlWriter );
+void dumpTextPropertiesService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter);
+void dumpFillPropertiesService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter);
+void dumpLinePropertiesService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter);
+void dumpShadowPropertiesService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter);
+void dumpPolyPolygonDescriptorService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter);
+void dumpShapeService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter);
+void dumpPolyPolygonBezierDescriptorService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter);
+void dumpCustomShapeService(com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter);
+
+
+int writeCallback(void* pContext, const char* sBuffer, int nLen)
+{
+ rtl::OStringBuffer* pBuffer = static_cast<rtl::OStringBuffer*>(pContext);
+ pBuffer->append(sBuffer);
+ return nLen;
+}
+
+int closeCallback(void* )
+{
+ return 0;
+}
+
+// ----------------------------------------
+// ---------- FillProperties.idl ----------
+// ----------------------------------------
+void dumpFillStyleAsAttribute(drawing::FillStyle eFillStyle, xmlTextWriterPtr xmlWriter)
+{
+ switch(eFillStyle)
+ {
+ case drawing::FillStyle_NONE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillStyle"), "%s", "NONE");
+ break;
+ case drawing::FillStyle_SOLID:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillStyle"), "%s", "SOLID");
+ break;
+ case drawing::FillStyle_GRADIENT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillStyle"), "%s", "GRADIENT");
+ break;
+ case drawing::FillStyle_HATCH:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillStyle"), "%s", "HATCH");
+ break;
+ case drawing::FillStyle_BITMAP:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillStyle"), "%s", "BITMAP");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpFillColorAsAttribute(sal_Int32 aColor, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillColor"), "%" SAL_PRIdINT32, aColor);
+}
+
+void dumpFillTransparenceAsAttribute(sal_Int32 aTransparence, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillTransparence"), "%" SAL_PRIdINT32, aTransparence);
+}
+
+void dumpFillTransparenceGradientNameAsAttribute(rtl::OUString sTranspGradName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillTransparenceGradientName"), "%s",
+ rtl::OUStringToOString(sTranspGradName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+//because there's more awt::Gradient properties to dump
+void dumpGradientProperty(awt::Gradient aGradient, xmlTextWriterPtr xmlWriter)
+{
+ switch(aGradient.Style) //enum GradientStyle
+ {
+ case awt::GradientStyle_LINEAR:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "LINEAR");
+ break;
+ case awt::GradientStyle_AXIAL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "AXIAL");
+ break;
+ case awt::GradientStyle_RADIAL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "RADIAL");
+ break;
+ case awt::GradientStyle_ELLIPTICAL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "ELLIPTICAL");
+ break;
+ case awt::GradientStyle_SQUARE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "SQUARE");
+ break;
+ case awt::GradientStyle_RECT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "RECT");
+ break;
+ default:
+ break;
+ }
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("startColor"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.StartColor);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("endColor"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.EndColor);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("angle"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.Angle);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("border"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.Border);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("xOffset"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.XOffset);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("yOffset"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.YOffset);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("startIntensity"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.StartIntensity);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("endIntensity"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.EndIntensity);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("stepCount"), "%" SAL_PRIdINT32, (sal_Int32) aGradient.StepCount);
+}
+
+void dumpFillTransparenceGradientAsElement(awt::Gradient aTranspGrad, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "FillTransparenceGradient" ));
+ dumpGradientProperty(aTranspGrad, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpFillGradientNameAsAttribute(rtl::OUString sGradName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillGradientName"), "%s",
+ rtl::OUStringToOString(sGradName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpFillGradientAsElement(awt::Gradient aGradient, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "FillGradient" ));
+ dumpGradientProperty(aGradient, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpFillHatchNameAsAttribute(rtl::OUString sHatchName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillHatchName"), "%s",
+ rtl::OUStringToOString(sHatchName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpFillHatchAsElement(drawing::Hatch aHatch, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "FillHatch" ));
+ switch(aHatch.Style)
+ {
+ case drawing::HatchStyle_SINGLE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "SINGLE");
+ break;
+ case drawing::HatchStyle_DOUBLE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "DOUBLE");
+ break;
+ case drawing::HatchStyle_TRIPLE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "TRIPLE");
+ break;
+ default:
+ break;
+ }
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("color"), "%" SAL_PRIdINT32, (sal_Int32) aHatch.Color);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("distance"), "%" SAL_PRIdINT32, (sal_Int32) aHatch.Distance);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("angle"), "%" SAL_PRIdINT32, (sal_Int32) aHatch.Angle);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpFillBackgroundAsAttribute(sal_Bool bBackground, xmlTextWriterPtr xmlWriter)
+{
+ if(bBackground)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBackground"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBackground"), "%s", "false");
+}
+
+void dumpFillBitmapNameAsAttribute(rtl::OUString sBitmapName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillGradientName"), "%s",
+ rtl::OUStringToOString(sBitmapName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpFillBitmapAsElement(uno::Reference<awt::XBitmap> xBitmap, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "FillBitmap" ));
+ if (xBitmap.is())
+ {
+ awt::Size const aSize = xBitmap->getSize();
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("width"), "%" SAL_PRIdINT32, aSize.Width);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("height"), "%" SAL_PRIdINT32, aSize.Height);
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpFillBitmapURLAsAttribute(rtl::OUString sBitmapURL, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillBitmapURL"), "%s",
+ rtl::OUStringToOString(sBitmapURL, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpFillBitmapPositionOffsetXAsAttribute(sal_Int32 aBitmapPositionOffsetX, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillBitmapPositionOffsetX"), "%" SAL_PRIdINT32, aBitmapPositionOffsetX);
+}
+
+void dumpFillBitmapPositionOffsetYAsAttribute(sal_Int32 aBitmapPositionOffsetY, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillBitmapPositionOffsetY"), "%" SAL_PRIdINT32, aBitmapPositionOffsetY);
+}
+
+void dumpFillBitmapOffsetXAsAttribute(sal_Int32 aBitmapOffsetX, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillBitmapOffsetX"), "%" SAL_PRIdINT32, aBitmapOffsetX);
+}
+
+void dumpFillBitmapOffsetYAsAttribute(sal_Int32 aBitmapOffsetY, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillBitmapOffsetY"), "%" SAL_PRIdINT32, aBitmapOffsetY);
+}
+
+void dumpFillBitmapRectanglePointAsAttribute(drawing::RectanglePoint eBitmapRectanglePoint, xmlTextWriterPtr xmlWriter)
+{
+ switch(eBitmapRectanglePoint)
+ {
+ case drawing::RectanglePoint_LEFT_TOP:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "LEFT_TOP");
+ break;
+ case drawing::RectanglePoint_MIDDLE_TOP:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "MIDDLE_TOP");
+ break;
+ case drawing::RectanglePoint_RIGHT_TOP:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "RIGHT_TOP");
+ break;
+ case drawing::RectanglePoint_LEFT_MIDDLE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "LEFT_MIDDLE");
+ break;
+ case drawing::RectanglePoint_MIDDLE_MIDDLE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "MIDDLE_MIDDLE");
+ break;
+ case drawing::RectanglePoint_RIGHT_MIDDLE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "RIGHT_MIDDLE");
+ break;
+ case drawing::RectanglePoint_LEFT_BOTTOM:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "LEFT_BOTTOM");
+ break;
+ case drawing::RectanglePoint_MIDDLE_BOTTOM:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "MIDDLE_BOTTOM");
+ break;
+ case drawing::RectanglePoint_RIGHT_BOTTOM:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapRectanglePoint"), "%s", "RIGHT_BOTTOM");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpFillBitmapLogicalSizeAsAttribute(sal_Bool bBitmapLogicalSize, xmlTextWriterPtr xmlWriter)
+{
+ if(bBitmapLogicalSize)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapLogicalSize"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapLogicalSize"), "%s", "false");
+}
+
+void dumpFillBitmapSizeXAsAttribute(sal_Int32 aBitmapSizeX, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillBitmapSizeX"), "%" SAL_PRIdINT32, aBitmapSizeX);
+}
+
+void dumpFillBitmapSizeYAsAttribute(sal_Int32 aBitmapSizeY, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("fillBitmapSizeY"), "%" SAL_PRIdINT32, aBitmapSizeY);
+}
+
+void dumpFillBitmapModeAsAttribute(drawing::BitmapMode eBitmapMode, xmlTextWriterPtr xmlWriter)
+{
+ switch(eBitmapMode)
+ {
+ case drawing::BitmapMode_REPEAT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapMode"), "%s", "REPEAT");
+ break;
+ case drawing::BitmapMode_STRETCH:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapMode"), "%s", "STRETCH");
+ break;
+ case drawing::BitmapMode_NO_REPEAT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapMode"), "%s", "NO_REPEAT");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpFillBitmapStretchAsAttribute(sal_Bool bBitmapStretch, xmlTextWriterPtr xmlWriter)
+{
+ if(bBitmapStretch)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapStretch"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapStretch"), "%s", "false");
+}
+
+void dumpFillBitmapTileAsAttribute(sal_Bool bBitmapTile, xmlTextWriterPtr xmlWriter)
+{
+ if(bBitmapTile)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapTile"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("fillBitmapTile"), "%s", "false");
+}
+
+// ----------------------------------------
+// ---------- LineProperties.idl ----------
+// ----------------------------------------
+
+void dumpLineStyleAsAttribute(drawing::LineStyle eLineStyle, xmlTextWriterPtr xmlWriter)
+{
+ switch(eLineStyle)
+ {
+ case drawing::LineStyle_NONE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineStyle"), "%s", "NONE");
+ break;
+ case drawing::LineStyle_SOLID:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineStyle"), "%s", "SOLID");
+ break;
+ case drawing::LineStyle_DASH:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineStyle"), "%s", "DASH");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpLineDashAsElement(drawing::LineDash aLineDash, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "LineDash" ));
+ switch(aLineDash.Style)
+ {
+ case drawing::DashStyle_RECT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "RECT");
+ break;
+ case drawing::DashStyle_ROUND:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "ROUND");
+ break;
+ case drawing::DashStyle_RECTRELATIVE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "RECTRELATIVE");
+ break;
+ case drawing::DashStyle_ROUNDRELATIVE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("style"), "%s", "ROUNDRELATIVE");
+ break;
+ default:
+ break;
+ }
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("dots"), "%" SAL_PRIdINT32, (sal_Int32) aLineDash.Dots);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("dotLen"), "%" SAL_PRIdINT32, (sal_Int32) aLineDash.DotLen);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("dashes"), "%" SAL_PRIdINT32, (sal_Int32) aLineDash.Dashes);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("dashLen"), "%" SAL_PRIdINT32, (sal_Int32) aLineDash.DashLen);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("distance"), "%" SAL_PRIdINT32, (sal_Int32) aLineDash.Distance);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpLineDashNameAsAttribute(rtl::OUString sLineDashName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("lineDashName"), "%s",
+ rtl::OUStringToOString(sLineDashName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpLineColorAsAttribute(sal_Int32 aLineColor, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("lineColor"), "%" SAL_PRIdINT32, aLineColor);
+}
+
+void dumpLineTransparenceAsAttribute(sal_Int32 aLineTransparence, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("lineTransparence"), "%" SAL_PRIdINT32, aLineTransparence);
+}
+
+void dumpLineWidthAsAttribute(sal_Int32 aLineWidth, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("lineWidth"), "%" SAL_PRIdINT32, aLineWidth);
+}
+
+void dumpLineJointAsAttribute(drawing::LineJoint eLineJoint, xmlTextWriterPtr xmlWriter)
+{
+ switch(eLineJoint)
+ {
+ case drawing::LineJoint_NONE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineJoint"), "%s", "NONE");
+ break;
+ case drawing::LineJoint_MIDDLE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineJoint"), "%s", "MIDDLE");
+ break;
+ case drawing::LineJoint_BEVEL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineJoint"), "%s", "BEVEL");
+ break;
+ case drawing::LineJoint_MITER:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineJoint"), "%s", "MITER");
+ break;
+ case drawing::LineJoint_ROUND:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineJoint"), "%s", "ROUND");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpLineStartNameAsAttribute(rtl::OUString sLineStartName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("lineStartName"), "%s",
+ rtl::OUStringToOString(sLineStartName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpLineEndNameAsAttribute(rtl::OUString sLineEndName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("lineEndName"), "%s",
+ rtl::OUStringToOString(sLineEndName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpPolyPolygonBezierCoords(drawing::PolyPolygonBezierCoords aPolyPolygonBezierCoords, xmlTextWriterPtr xmlWriter)
+{
+ dumpPointSequenceSequence(aPolyPolygonBezierCoords.Coordinates, &aPolyPolygonBezierCoords.Flags, xmlWriter);
+}
+
+void dumpLineStartAsElement(drawing::PolyPolygonBezierCoords aLineStart, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "LineStart" ));
+ dumpPolyPolygonBezierCoords(aLineStart, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpLineEndAsElement(drawing::PolyPolygonBezierCoords aLineEnd, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "LineEnd" ));
+ dumpPolyPolygonBezierCoords(aLineEnd, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpLineStartCenterAsAttribute(sal_Bool bLineStartCenter, xmlTextWriterPtr xmlWriter)
+{
+ if(bLineStartCenter)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineStartCenter"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineStartCenter"), "%s", "false");
+}
+
+void dumpLineStartWidthAsAttribute(sal_Int32 aLineStartWidth, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("lineStartWidth"), "%" SAL_PRIdINT32, aLineStartWidth);
+}
+
+void dumpLineEndCenterAsAttribute(sal_Bool bLineEndCenter, xmlTextWriterPtr xmlWriter)
+{
+ if(bLineEndCenter)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineEndCenter"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("lineEndCenter"), "%s", "false");
+}
+
+void dumpLineEndWidthAsAttribute(sal_Int32 aLineEndWidth, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("lineEndWidth"), "%" SAL_PRIdINT32, aLineEndWidth);
+}
+
+// -----------------------------------------------
+// ---------- PolyPolygonDescriptor.idl ----------
+// -----------------------------------------------
+
+void dumpPolygonKindAsAttribute(drawing::PolygonKind ePolygonKind, xmlTextWriterPtr xmlWriter)
+{
+ switch(ePolygonKind)
+ {
+ case drawing::PolygonKind_LINE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "LINE");
+ break;
+ case drawing::PolygonKind_POLY:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "POLY");
+ break;
+ case drawing::PolygonKind_PLIN:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "PLIN");
+ break;
+ case drawing::PolygonKind_PATHLINE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "PATHLINE");
+ break;
+ case drawing::PolygonKind_PATHFILL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "PATHFILL");
+ break;
+ case drawing::PolygonKind_FREELINE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "FREELINE");
+ break;
+ case drawing::PolygonKind_FREEFILL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "FREEFILL");
+ break;
+ case drawing::PolygonKind_PATHPOLY:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "PATHPOLY");
+ break;
+ case drawing::PolygonKind_PATHPLIN:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonKind"), "%s", "PATHPLIN");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpPointSequenceSequence(drawing::PointSequenceSequence aPointSequenceSequence, uno::Sequence<uno::Sequence< drawing::PolygonFlags > >* pFlags, xmlTextWriterPtr xmlWriter)
+{
+ // LibreOffice proudly presents - The Sequenception
+ uno::Sequence<uno::Sequence< awt::Point > > pointSequenceSequence = aPointSequenceSequence;
+ sal_Int32 nPointsSequence = pointSequenceSequence.getLength();
+
+ for (sal_Int32 i = 0; i < nPointsSequence; ++i)
+ {
+ uno::Sequence< awt::Point > pointSequence = pointSequenceSequence[i];
+ sal_Int32 nPoints = pointSequence.getLength();
+
+ uno::Sequence< drawing::PolygonFlags> flagsSequence;
+ if(pFlags)
+ flagsSequence = (*pFlags)[i];
+
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "pointSequence" ));
+
+ for(sal_Int32 j = 0; j < nPoints; ++j)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "point" ));
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("positionX"), "%" SAL_PRIdINT32, pointSequence[j].X);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("positionY"), "%" SAL_PRIdINT32, pointSequence[j].Y);
+
+ if(pFlags)
+ {
+ switch(flagsSequence[j])
+ {
+ case drawing::PolygonFlags_NORMAL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonFlags"), "%s", "NORMAL");
+ break;
+ case drawing::PolygonFlags_SMOOTH:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonFlags"), "%s", "SMOOTH");
+ break;
+ case drawing::PolygonFlags_CONTROL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonFlags"), "%s", "CONTROL");
+ break;
+ case drawing::PolygonFlags_SYMMETRIC:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("polygonFlags"), "%s", "SYMMETRIC");
+ break;
+ default:
+ break;
+ }
+ }
+
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+ }
+}
+
+void dumpPolyPolygonAsElement(drawing::PointSequenceSequence aPolyPolygon, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "PolyPolygon" ));
+ dumpPointSequenceSequence(aPolyPolygon, NULL, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpGeometryAsElement(drawing::PointSequenceSequence aGeometry, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Geometry" ));
+ dumpPointSequenceSequence(aGeometry, NULL, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+// ----------------------------------------
+// ---------- TextProperties.idl ----------
+// ----------------------------------------
+
+void dumpIsNumberingAsAttribute(sal_Bool bIsNumbering, xmlTextWriterPtr xmlWriter)
+{
+ if(bIsNumbering)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("isNumbering"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("isNumbering"), "%s", "false");
+}
+
+void dumpTextAutoGrowHeightAsAttribute(sal_Bool bTextAutoGrowHeight, xmlTextWriterPtr xmlWriter)
+{
+ if(bTextAutoGrowHeight)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAutoGrowHeight"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAutoGrowHeight"), "%s", "false");
+}
+
+void dumpTextAutoGrowWidthAsAttribute(sal_Bool bTextAutoGrowWidth, xmlTextWriterPtr xmlWriter)
+{
+ if(bTextAutoGrowWidth)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAutoGrowWidth"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAutoGrowWidth"), "%s", "false");
+}
+
+void dumpTextContourFrameAsAttribute(sal_Bool bTextContourFrame, xmlTextWriterPtr xmlWriter)
+{
+ if(bTextContourFrame)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textContourFrame"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textContourFrame"), "%s", "false");
+}
+
+void dumpTextFitToSizeAsAttribute(drawing::TextFitToSizeType eTextFitToSize, xmlTextWriterPtr xmlWriter)
+{
+ switch(eTextFitToSize)
+ {
+ case drawing::TextFitToSizeType_NONE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textFitToSize"), "%s", "NONE");
+ break;
+ case drawing::TextFitToSizeType_PROPORTIONAL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textFitToSize"), "%s", "PROPORTIONAL");
+ break;
+ case drawing::TextFitToSizeType_ALLLINES:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textFitToSize"), "%s", "ALLLINES");
+ break;
+ case drawing::TextFitToSizeType_AUTOFIT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textFitToSize"), "%s", "AUTOFIT");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpTextHorizontalAdjustAsAttribute(drawing::TextHorizontalAdjust eTextHorizontalAdjust, xmlTextWriterPtr xmlWriter)
+{
+ switch(eTextHorizontalAdjust)
+ {
+ case drawing::TextHorizontalAdjust_LEFT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textHorizontalAdjust"), "%s", "LEFT");
+ break;
+ case drawing::TextHorizontalAdjust_CENTER:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textHorizontalAdjust"), "%s", "CENTER");
+ break;
+ case drawing::TextHorizontalAdjust_RIGHT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textHorizontalAdjust"), "%s", "RIGHT");
+ break;
+ case drawing::TextHorizontalAdjust_BLOCK:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textHorizontalAdjust"), "%s", "BLOCK");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpTextVerticalAdjustAsAttribute(drawing::TextVerticalAdjust eTextVerticalAdjust, xmlTextWriterPtr xmlWriter)
+{
+ switch(eTextVerticalAdjust)
+ {
+ case drawing::TextVerticalAdjust_TOP:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textVerticalAdjust"), "%s", "TOP");
+ break;
+ case drawing::TextVerticalAdjust_CENTER:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textVerticalAdjust"), "%s", "CENTER");
+ break;
+ case drawing::TextVerticalAdjust_BOTTOM:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textVerticalAdjust"), "%s", "BOTTOM");
+ break;
+ case drawing::TextVerticalAdjust_BLOCK:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textVerticalAdjust"), "%s", "BLOCK");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpTextLeftDistanceAsAttribute(sal_Int32 aTextLeftDistance, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textLeftDistance"), "%" SAL_PRIdINT32, aTextLeftDistance);
+}
+
+void dumpTextRightDistanceAsAttribute(sal_Int32 aTextRightDistance, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textRightDistance"), "%" SAL_PRIdINT32, aTextRightDistance);
+}
+
+void dumpTextUpperDistanceAsAttribute(sal_Int32 aTextUpperDistance, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textUpperDistance"), "%" SAL_PRIdINT32, aTextUpperDistance);
+}
+
+void dumpTextLowerDistanceAsAttribute(sal_Int32 aTextLowerDistance, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textLowerDistance"), "%" SAL_PRIdINT32, aTextLowerDistance);
+}
+
+void dumpTextMaximumFrameHeightAsAttribute(sal_Int32 aTextMaximumFrameHeight, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textMaximumFrameHeight"), "%" SAL_PRIdINT32, aTextMaximumFrameHeight);
+}
+
+void dumpTextMaximumFrameWidthAsAttribute(sal_Int32 aTextMaximumFrameWidth, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textMaximumFrameWidth"), "%" SAL_PRIdINT32, aTextMaximumFrameWidth);
+}
+
+void dumpTextMinimumFrameHeightAsAttribute(sal_Int32 aTextMinimumFrameHeight, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textMinimumFrameHeight"), "%" SAL_PRIdINT32, aTextMinimumFrameHeight);
+}
+
+void dumpTextMinimumFrameWidthAsAttribute(sal_Int32 aTextMinimumFrameWidth, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textMinimumFrameWidth"), "%" SAL_PRIdINT32, aTextMinimumFrameWidth);
+}
+
+void dumpTextAnimationAmountAsAttribute(sal_Int32 aTextAnimationAmount, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textAnimationAmount"), "%" SAL_PRIdINT32, aTextAnimationAmount);
+}
+
+void dumpTextAnimationCountAsAttribute(sal_Int32 aTextAnimationCount, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textAnimationCount"), "%" SAL_PRIdINT32, aTextAnimationCount);
+}
+
+void dumpTextAnimationDelayAsAttribute(sal_Int32 aTextAnimationDelay, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("textAnimationDelay"), "%" SAL_PRIdINT32, aTextAnimationDelay);
+}
+
+void dumpTextAnimationDirectionAsAttribute(drawing::TextAnimationDirection eTextAnimationDirection, xmlTextWriterPtr xmlWriter)
+{
+ switch(eTextAnimationDirection)
+ {
+ case drawing::TextAnimationDirection_LEFT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationDirection"), "%s", "LEFT");
+ break;
+ case drawing::TextAnimationDirection_RIGHT:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationDirection"), "%s", "RIGHT");
+ break;
+ case drawing::TextAnimationDirection_UP:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationDirection"), "%s", "UP");
+ break;
+ case drawing::TextAnimationDirection_DOWN:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationDirection"), "%s", "DOWN");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpTextAnimationKindAsAttribute(drawing::TextAnimationKind eTextAnimationKind, xmlTextWriterPtr xmlWriter)
+{
+ switch(eTextAnimationKind)
+ {
+ case drawing::TextAnimationKind_NONE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationKind"), "%s", "NONE");
+ break;
+ case drawing::TextAnimationKind_BLINK:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationKind"), "%s", "BLINK");
+ break;
+ case drawing::TextAnimationKind_SCROLL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationKind"), "%s", "SCROLL");
+ break;
+ case drawing::TextAnimationKind_ALTERNATE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationKind"), "%s", "ALTERNATE");
+ break;
+ case drawing::TextAnimationKind_SLIDE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationKind"), "%s", "SLIDE");
+ break;
+ default:
+ break;
+ }
+}
+
+void dumpTextAnimationStartInsideAsAttribute(sal_Bool bTextAnimationStartInside, xmlTextWriterPtr xmlWriter)
+{
+ if(bTextAnimationStartInside)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationStartInside"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationStartInside"), "%s", "false");
+}
+
+void dumpTextAnimationStopInsideAsAttribute(sal_Bool bTextAnimationStopInside, xmlTextWriterPtr xmlWriter)
+{
+ if(bTextAnimationStopInside)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationStopInside"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textAnimationStopInside"), "%s", "false");
+}
+
+void dumpTextWritingModeAsAttribute(text::WritingMode eTextWritingMode, xmlTextWriterPtr xmlWriter)
+{
+ switch(eTextWritingMode)
+ {
+ case text::WritingMode_LR_TB:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textWritingMode"), "%s", "LR_TB");
+ break;
+ case text::WritingMode_RL_TB:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textWritingMode"), "%s", "RL_TB");
+ break;
+ case text::WritingMode_TB_RL:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("textWritingMode"), "%s", "TB_RL");
+ break;
+ default:
+ break;
+ }
+}
+
+// ------------------------------------------
+// ---------- ShadowProperties.idl ----------
+// ------------------------------------------
+
+void dumpShadowAsAttribute(sal_Bool bShadow, xmlTextWriterPtr xmlWriter)
+{
+ if(bShadow)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("shadow"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("shadow"), "%s", "false");
+}
+
+void dumpShadowColorAsAttribute(sal_Int32 aShadowColor, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("shadowColor"), "%" SAL_PRIdINT32, aShadowColor);
+}
+
+void dumpShadowTransparenceAsAttribute(sal_Int32 aShadowTransparence, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("shadowTransparence"), "%" SAL_PRIdINT32, aShadowTransparence);
+}
+
+void dumpShadowXDistanceAsAttribute(sal_Int32 aShadowXDistance, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("shadowXDistance"), "%" SAL_PRIdINT32, aShadowXDistance);
+}
+
+void dumpShadowYDistanceAsAttribute(sal_Int32 aShadowYDistance, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("shadowYDistance"), "%" SAL_PRIdINT32, aShadowYDistance);
+}
+
+// -------------------------------
+// ---------- Shape.idl ----------
+// -------------------------------
+
+void dumpZOrderAsAttribute(sal_Int32 aZOrder, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("zOrder"), "%" SAL_PRIdINT32, aZOrder);
+}
+
+void dumpLayerIDAsAttribute(sal_Int32 aLayerID, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("layerID"), "%" SAL_PRIdINT32, aLayerID);
+}
+
+void dumpLayerNameAsAttribute(rtl::OUString sLayerName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("layerName"), "%s",
+ rtl::OUStringToOString(sLayerName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpVisibleAsAttribute(sal_Bool bVisible, xmlTextWriterPtr xmlWriter)
+{
+ if(bVisible)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("visible"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("visible"), "%s", "false");
+}
+
+void dumpPrintableAsAttribute(sal_Bool bPrintable, xmlTextWriterPtr xmlWriter)
+{
+ if(bPrintable)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("printable"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("printable"), "%s", "false");
+}
+
+void dumpMoveProtectAsAttribute(sal_Bool bMoveProtect, xmlTextWriterPtr xmlWriter)
+{
+ if(bMoveProtect)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("moveProtect"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("moveProtect"), "%s", "false");
+}
+
+void dumpNameAsAttribute(rtl::OUString sName, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("name"), "%s",
+ rtl::OUStringToOString(sName, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpSizeProtectAsAttribute(sal_Bool bSizeProtect, xmlTextWriterPtr xmlWriter)
+{
+ if(bSizeProtect)
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("sizeProtect"), "%s", "true");
+ else
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("sizeProtect"), "%s", "false");
+}
+
+void dumpHomogenMatrixLine3(drawing::HomogenMatrixLine3 aHomogenMatrixLine3, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("column1"), "%f", aHomogenMatrixLine3.Column1);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("column2"), "%f", aHomogenMatrixLine3.Column2);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("column3"), "%f", aHomogenMatrixLine3.Column3);
+}
+
+void dumpTransformationAsElement(drawing::HomogenMatrix3 aTransformation, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Transformation" ));
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Line1" ));
+ dumpHomogenMatrixLine3(aTransformation.Line1, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Line2" ));
+ dumpHomogenMatrixLine3(aTransformation.Line2, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Line3" ));
+ dumpHomogenMatrixLine3(aTransformation.Line3, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpNavigationOrderAsAttribute(sal_Int32 aNavigationOrder, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("navigationOrder"), "%" SAL_PRIdINT32, aNavigationOrder);
+}
+
+void dumpHyperlinkAsAttribute(rtl::OUString sHyperlink, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("hyperlink"), "%s",
+ rtl::OUStringToOString(sHyperlink, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+// --------------------------------
+// ---------- XShape.idl ----------
+// --------------------------------
+
+void dumpPositionAsAttribute(const awt::Point& rPoint, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("positionX"), "%" SAL_PRIdINT32, rPoint.X);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("positionY"), "%" SAL_PRIdINT32, rPoint.Y);
+}
+
+void dumpSizeAsAttribute(const awt::Size& rSize, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("sizeX"), "%" SAL_PRIdINT32, rSize.Width);
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("sizeY"), "%" SAL_PRIdINT32, rSize.Height);
+}
+
+void dumpShapeDescriptorAsAttribute( uno::Reference< drawing::XShapeDescriptor > xDescr, xmlTextWriterPtr xmlWriter )
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("type"), "%s",
+ rtl::OUStringToOString(xDescr->getShapeType(), RTL_TEXTENCODING_UTF8).getStr());
+}
+
+// -----------------------------------------------------
+// ---------- PolyPolygonBezierDescriptor.idl ----------
+// -----------------------------------------------------
+
+void dumpPolyPolygonBezierAsElement(drawing::PolyPolygonBezierCoords aPolyPolygonBezier, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "PolyPolygonBezier" ));
+ dumpPolyPolygonBezierCoords(aPolyPolygonBezier, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpGeometryAsElement(drawing::PolyPolygonBezierCoords aGeometry, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "Geometry" ));
+ dumpPolyPolygonBezierCoords(aGeometry, xmlWriter);
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+// -------------------------------------
+// ---------- CustomShape.idl ----------
+// -------------------------------------
+
+void dumpCustomShapeEngineAsAttribute(rtl::OUString sCustomShapeEngine, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("customShapeEngine"), "%s",
+ rtl::OUStringToOString(sCustomShapeEngine, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpCustomShapeDataAsAttribute(rtl::OUString sCustomShapeData, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("customShapeData"), "%s",
+ rtl::OUStringToOString(sCustomShapeData, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+void dumpCustomShapeGeometryAsElement(uno::Sequence< beans::PropertyValue> aCustomShapeGeometry, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "CustomShapeGeometry" ));
+ sal_Int32 nLength = aCustomShapeGeometry.getLength();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "PropertyValue" ));
+
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("name"), "%s",
+ rtl::OUStringToOString(aCustomShapeGeometry[i].Name, RTL_TEXTENCODING_UTF8).getStr());
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("handle"), "%" SAL_PRIdINT32, aCustomShapeGeometry[i].Handle);
+
+ uno::Any aAny = aCustomShapeGeometry[i].Value;
+ rtl::OUString sValue;
+ if(aAny >>= sValue)
+ {
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("value"), "%s",
+ rtl::OUStringToOString(sValue, RTL_TEXTENCODING_UTF8).getStr());
+ }
+ switch(aCustomShapeGeometry[i].State)
+ {
+ case beans::PropertyState_DIRECT_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "DIRECT_VALUE");
+ break;
+ case beans::PropertyState_DEFAULT_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "DEFAULT_VALUE");
+ break;
+ case beans::PropertyState_AMBIGUOUS_VALUE:
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("propertyState"), "%s", "AMBIGUOUS_VALUE");
+ break;
+ default:
+ break;
+ }
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpCustomShapeReplacementURLAsAttribute(rtl::OUString sCustomShapeReplacementURL, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST("customShapeReplacementURL"), "%s",
+ rtl::OUStringToOString(sCustomShapeReplacementURL, RTL_TEXTENCODING_UTF8).getStr());
+}
+
+// methods dumping whole services
+
+void dumpTextPropertiesService(uno::Reference< beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter)
+{
+ uno::Reference< beans::XPropertySetInfo> xInfo = xPropSet->getPropertySetInfo();
+ if(xInfo->hasPropertyByName("IsNumbering"))
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("IsNumbering");
+ sal_Bool bIsNumbering;
+ if(anotherAny >>= bIsNumbering)
+ dumpIsNumberingAsAttribute(bIsNumbering, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAutoGrowHeight");
+ sal_Bool bTextAutoGrowHeight;
+ if(anotherAny >>= bTextAutoGrowHeight)
+ dumpTextAutoGrowHeightAsAttribute(bTextAutoGrowHeight, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAutoGrowWidth");
+ sal_Bool bTextAutoGrowWidth;
+ if(anotherAny >>= bTextAutoGrowWidth)
+ dumpTextAutoGrowWidthAsAttribute(bTextAutoGrowWidth, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextContourFrame");
+ sal_Bool bTextContourFrame;
+ if(anotherAny >>= bTextContourFrame)
+ dumpTextContourFrameAsAttribute(bTextContourFrame, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextFitToSize");
+ drawing::TextFitToSizeType eTextFitToSize;
+ if(anotherAny >>= eTextFitToSize)
+ dumpTextFitToSizeAsAttribute(eTextFitToSize, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextHorizontalAdjust");
+ drawing::TextHorizontalAdjust eTextHorizontalAdjust;
+ if(anotherAny >>= eTextHorizontalAdjust)
+ dumpTextHorizontalAdjustAsAttribute(eTextHorizontalAdjust, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextVerticalAdjust");
+ drawing::TextVerticalAdjust eTextVerticalAdjust;
+ if(anotherAny >>= eTextVerticalAdjust)
+ dumpTextVerticalAdjustAsAttribute(eTextVerticalAdjust, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextLeftDistance");
+ sal_Int32 aTextLeftDistance;
+ if(anotherAny >>= aTextLeftDistance)
+ dumpTextLeftDistanceAsAttribute(aTextLeftDistance, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextRightDistance");
+ sal_Int32 aTextRightDistance;
+ if(anotherAny >>= aTextRightDistance)
+ dumpTextRightDistanceAsAttribute(aTextRightDistance, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextUpperDistance");
+ sal_Int32 aTextUpperDistance;
+ if(anotherAny >>= aTextUpperDistance)
+ dumpTextUpperDistanceAsAttribute(aTextUpperDistance, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextLowerDistance");
+ sal_Int32 aTextLowerDistance;
+ if(anotherAny >>= aTextLowerDistance)
+ dumpTextLowerDistanceAsAttribute(aTextLowerDistance, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextMaximumFrameHeight");
+ sal_Int32 aTextMaximumFrameHeight;
+ if(anotherAny >>= aTextMaximumFrameHeight)
+ dumpTextMaximumFrameHeightAsAttribute(aTextMaximumFrameHeight, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextMaximumFrameWidth");
+ sal_Int32 aTextMaximumFrameWidth;
+ if(anotherAny >>= aTextMaximumFrameWidth)
+ dumpTextMaximumFrameWidthAsAttribute(aTextMaximumFrameWidth, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextMinimumFrameHeight");
+ sal_Int32 aTextMinimumFrameHeight;
+ if(anotherAny >>= aTextMinimumFrameHeight)
+ dumpTextMinimumFrameHeightAsAttribute(aTextMinimumFrameHeight, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextMinimumFrameWidth");
+ sal_Int32 aTextMinimumFrameWidth;
+ if(anotherAny >>= aTextMinimumFrameWidth)
+ dumpTextMinimumFrameWidthAsAttribute(aTextMinimumFrameWidth, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAnimationAmount");
+ sal_Int32 aTextAnimationAmount;
+ if(anotherAny >>= aTextAnimationAmount)
+ dumpTextAnimationAmountAsAttribute(aTextAnimationAmount, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAnimationCount");
+ sal_Int32 aTextAnimationCount;
+ if(anotherAny >>= aTextAnimationCount)
+ dumpTextAnimationCountAsAttribute(aTextAnimationCount, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAnimationDelay");
+ sal_Int32 aTextAnimationDelay;
+ if(anotherAny >>= aTextAnimationDelay)
+ dumpTextAnimationDelayAsAttribute(aTextAnimationDelay, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAnimationDirection");
+ drawing::TextAnimationDirection eTextAnimationDirection;
+ if(anotherAny >>= eTextAnimationDirection)
+ dumpTextAnimationDirectionAsAttribute(eTextAnimationDirection, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAnimationKind");
+ drawing::TextAnimationKind eTextAnimationKind;
+ if(anotherAny >>= eTextAnimationKind)
+ dumpTextAnimationKindAsAttribute(eTextAnimationKind, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAnimationStartInside");
+ sal_Bool bTextAnimationStartInside;
+ if(anotherAny >>= bTextAnimationStartInside)
+ dumpTextAnimationStartInsideAsAttribute(bTextAnimationStartInside, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextAnimationStopInside");
+ sal_Bool bTextAnimationStopInside;
+ if(anotherAny >>= bTextAnimationStopInside)
+ dumpTextAnimationStopInsideAsAttribute(bTextAnimationStopInside, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("TextWritingMode");
+ text::WritingMode eTextWritingMode;
+ if(anotherAny >>= eTextWritingMode)
+ dumpTextWritingModeAsAttribute(eTextWritingMode, xmlWriter);
+ }
+}
+
+void dumpFillPropertiesService(uno::Reference< beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillStyle");
+ drawing::FillStyle eFillStyle;
+ if(anotherAny >>= eFillStyle)
+ dumpFillStyleAsAttribute(eFillStyle, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillColor");
+ sal_Int32 aColor;
+ if(anotherAny >>= aColor)
+ dumpFillColorAsAttribute(aColor, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillTransparence");
+ sal_Int32 aTransparence;
+ if(anotherAny >>= aTransparence)
+ dumpFillTransparenceAsAttribute(aTransparence, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillTransparenceGradientName");
+ rtl::OUString sTranspGradName;
+ if(anotherAny >>= sTranspGradName)
+ dumpFillTransparenceGradientNameAsAttribute(sTranspGradName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillTransparenceGradient");
+ awt::Gradient aTranspGrad;
+ if(anotherAny >>= aTranspGrad)
+ dumpFillTransparenceGradientAsElement(aTranspGrad, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillGradientName");
+ rtl::OUString sGradName;
+ if(anotherAny >>= sGradName)
+ dumpFillGradientNameAsAttribute(sGradName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillGradient");
+ awt::Gradient aGradient;
+ if(anotherAny >>= aGradient)
+ dumpFillGradientAsElement(aGradient, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillHatchName");
+ rtl::OUString sHatchName;
+ if(anotherAny >>= sHatchName)
+ dumpFillGradientNameAsAttribute(sHatchName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillHatch");
+ drawing::Hatch aHatch;
+ if(anotherAny >>= aHatch)
+ dumpFillHatchAsElement(aHatch, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBackground");
+ sal_Bool bFillBackground;
+ if(anotherAny >>= bFillBackground)
+ dumpFillBackgroundAsAttribute(bFillBackground, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapName");
+ rtl::OUString sBitmapName;
+ if(anotherAny >>= sBitmapName)
+ dumpFillGradientNameAsAttribute(sBitmapName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmap");
+ uno::Reference<awt::XBitmap> xBitmap;
+ if(anotherAny >>= xBitmap)
+ dumpFillBitmapAsElement(xBitmap, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapURL");
+ rtl::OUString sBitmapURL;
+ if(anotherAny >>= sBitmapURL)
+ dumpFillBitmapURLAsAttribute(sBitmapURL, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapPositionOffsetX");
+ sal_Int32 aBitmapPositionOffsetX;
+ if(anotherAny >>= aBitmapPositionOffsetX)
+ dumpFillBitmapPositionOffsetXAsAttribute(aBitmapPositionOffsetX, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapPositionOffsetY");
+ sal_Int32 aBitmapPositionOffsetY;
+ if(anotherAny >>= aBitmapPositionOffsetY)
+ dumpFillBitmapPositionOffsetYAsAttribute(aBitmapPositionOffsetY, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapOffsetX");
+ sal_Int32 aBitmapOffsetX;
+ if(anotherAny >>= aBitmapOffsetX)
+ dumpFillBitmapOffsetXAsAttribute(aBitmapOffsetX, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapOffsetY");
+ sal_Int32 aBitmapOffsetY;
+ if(anotherAny >>= aBitmapOffsetY)
+ dumpFillBitmapOffsetYAsAttribute(aBitmapOffsetY, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapRectanglePoint");
+ drawing::RectanglePoint eBitmapRectanglePoint;
+ if(anotherAny >>= eBitmapRectanglePoint)
+ dumpFillBitmapRectanglePointAsAttribute(eBitmapRectanglePoint, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapLogicalSize");
+ sal_Bool bBitmapLogicalSize;
+ if(anotherAny >>= bBitmapLogicalSize)
+ dumpFillBitmapLogicalSizeAsAttribute(bBitmapLogicalSize, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapSizeX");
+ sal_Int32 aBitmapSizeX;
+ if(anotherAny >>= aBitmapSizeX)
+ dumpFillBitmapSizeXAsAttribute(aBitmapSizeX, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapSizeY");
+ sal_Int32 aBitmapSizeY;
+ if(anotherAny >>= aBitmapSizeY)
+ dumpFillBitmapSizeYAsAttribute(aBitmapSizeY, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapMode");
+ drawing::BitmapMode eBitmapMode;
+ if(anotherAny >>= eBitmapMode)
+ dumpFillBitmapModeAsAttribute(eBitmapMode, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapStretch");
+ sal_Bool bBitmapStretch;
+ if(anotherAny >>= bBitmapStretch)
+ dumpFillBitmapStretchAsAttribute(bBitmapStretch, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("FillBitmapTile");
+ sal_Bool bBitmapTile;
+ if(anotherAny >>= bBitmapTile)
+ dumpFillBitmapTileAsAttribute(bBitmapTile, xmlWriter);
+ }
+}
+
+void dumpLinePropertiesService(uno::Reference< beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineStyle");
+ drawing::LineStyle eLineStyle;
+ if(anotherAny >>= eLineStyle)
+ dumpLineStyleAsAttribute(eLineStyle, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineDash");
+ drawing::LineDash aLineDash;
+ if(anotherAny >>= aLineDash)
+ dumpLineDashAsElement(aLineDash, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineDashName");
+ rtl::OUString sLineDashName;
+ if(anotherAny >>= sLineDashName)
+ dumpLineDashNameAsAttribute(sLineDashName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineColor");
+ sal_Int32 aLineColor;
+ if(anotherAny >>= aLineColor)
+ dumpLineColorAsAttribute(aLineColor, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineTransparence");
+ sal_Int32 aLineTransparence;
+ if(anotherAny >>= aLineTransparence)
+ dumpLineTransparenceAsAttribute(aLineTransparence, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineWidth");
+ sal_Int32 aLineWidth;
+ if(anotherAny >>= aLineWidth)
+ dumpLineWidthAsAttribute(aLineWidth, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineJoint");
+ drawing::LineJoint eLineJoint;
+ if(anotherAny >>= eLineJoint)
+ dumpLineJointAsAttribute(eLineJoint, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineStartName");
+ rtl::OUString sLineStartName;
+ if(anotherAny >>= sLineStartName)
+ dumpLineStartNameAsAttribute(sLineStartName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineEndName");
+ rtl::OUString sLineEndName;
+ if(anotherAny >>= sLineEndName)
+ dumpLineEndNameAsAttribute(sLineEndName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineStart");
+ drawing::PolyPolygonBezierCoords aLineStart;
+ if(anotherAny >>= aLineStart)
+ dumpLineStartAsElement(aLineStart, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineEnd");
+ drawing::PolyPolygonBezierCoords aLineEnd;
+ if(anotherAny >>= aLineEnd)
+ dumpLineEndAsElement(aLineEnd, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineStartCenter");
+ sal_Bool bLineStartCenter;
+ if(anotherAny >>= bLineStartCenter)
+ dumpLineStartCenterAsAttribute(bLineStartCenter, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineStartWidth");
+ sal_Int32 aLineStartWidth;
+ if(anotherAny >>= aLineStartWidth)
+ dumpLineStartWidthAsAttribute(aLineStartWidth, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineEndCenter");
+ sal_Bool bLineEndCenter;
+ if(anotherAny >>= bLineEndCenter)
+ dumpLineEndCenterAsAttribute(bLineEndCenter, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LineEndWidth");
+ sal_Int32 aLineEndWidth;
+ if(anotherAny >>= aLineEndWidth)
+ dumpLineEndWidthAsAttribute(aLineEndWidth, xmlWriter);
+ }
+}
+
+void dumpShadowPropertiesService(uno::Reference< beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Shadow");
+ sal_Bool bShadow;
+ if(anotherAny >>= bShadow)
+ dumpShadowAsAttribute(bShadow, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ShadowColor");
+ sal_Int32 aShadowColor;
+ if(anotherAny >>= aShadowColor)
+ dumpShadowColorAsAttribute(aShadowColor, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ShadowTransparence");
+ sal_Int32 aShadowTransparence;
+ if(anotherAny >>= aShadowTransparence)
+ dumpShadowTransparenceAsAttribute(aShadowTransparence, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ShadowXDistance");
+ sal_Int32 aShadowXDistance;
+ if(anotherAny >>= aShadowXDistance)
+ dumpShadowXDistanceAsAttribute(aShadowXDistance, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ShadowYDistance");
+ sal_Int32 aShadowYDistance;
+ if(anotherAny >>= aShadowYDistance)
+ dumpShadowYDistanceAsAttribute(aShadowYDistance, xmlWriter);
+ }
+}
+
+void dumpPolyPolygonDescriptorService(uno::Reference< beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("PolygonKind");
+ drawing::PolygonKind ePolygonKind;
+ if(anotherAny >>= ePolygonKind)
+ dumpPolygonKindAsAttribute(ePolygonKind, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("PolyPolygon");
+ drawing::PointSequenceSequence aPolyPolygon;
+ if(anotherAny >>= aPolyPolygon)
+ dumpPolyPolygonAsElement(aPolyPolygon, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Geometry");
+ drawing::PointSequenceSequence aGeometry;
+ if(anotherAny >>= aGeometry)
+ dumpGeometryAsElement(aGeometry, xmlWriter);
+ }
+}
+
+void dumpShapeService(uno::Reference< beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter)
+{
+ uno::Reference< beans::XPropertySetInfo> xInfo = xPropSet->getPropertySetInfo();
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("ZOrder");
+ sal_Int32 aZOrder;
+ if(anotherAny >>= aZOrder)
+ dumpZOrderAsAttribute(aZOrder, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LayerID");
+ sal_Int32 aLayerID;
+ if(anotherAny >>= aLayerID)
+ dumpLayerIDAsAttribute(aLayerID, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("LayerName");
+ rtl::OUString sLayerName;
+ if(anotherAny >>= sLayerName)
+ dumpLayerNameAsAttribute(sLayerName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Visible");
+ sal_Bool bVisible;
+ if(anotherAny >>= bVisible)
+ dumpVisibleAsAttribute(bVisible, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Printable");
+ sal_Bool bPrintable;
+ if(anotherAny >>= bPrintable)
+ dumpPrintableAsAttribute(bPrintable, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("MoveProtect");
+ sal_Bool bMoveProtect;
+ if(anotherAny >>= bMoveProtect)
+ dumpMoveProtectAsAttribute(bMoveProtect, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Name");
+ rtl::OUString sName;
+ if(anotherAny >>= sName)
+ dumpNameAsAttribute(sName, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("SizeProtect");
+ sal_Bool bSizeProtect;
+ if(anotherAny >>= bSizeProtect)
+ dumpSizeProtectAsAttribute(bSizeProtect, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Transformation");
+ drawing::HomogenMatrix3 aTransformation;
+ if(anotherAny >>= aTransformation)
+ dumpTransformationAsElement(aTransformation, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("NavigationOrder");
+ sal_Int32 aNavigationOrder;
+ if(anotherAny >>= aNavigationOrder)
+ dumpNavigationOrderAsAttribute(aNavigationOrder, xmlWriter);
+ }
+ if(xInfo->hasPropertyByName("Hyperlink"))
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Hyperlink");
+ rtl::OUString sHyperlink;
+ if(anotherAny >>= sHyperlink)
+ dumpHyperlinkAsAttribute(sHyperlink, xmlWriter);
+ }
+}
+
+void dumpPolyPolygonBezierDescriptorService(uno::Reference< beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter)
+{
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("PolygonKind");
+ drawing::PolygonKind ePolygonKind;
+ if(anotherAny >>= ePolygonKind)
+ dumpPolygonKindAsAttribute(ePolygonKind, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("PolyPolygonBezier");
+ drawing::PolyPolygonBezierCoords aPolyPolygonBezier;
+ if(anotherAny >>= aPolyPolygonBezier)
+ dumpPolyPolygonBezierCoords(aPolyPolygonBezier, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("Geometry");
+ drawing::PolyPolygonBezierCoords aGeometry;
+ if(anotherAny >>= aGeometry)
+ dumpPolyPolygonBezierCoords(aGeometry, xmlWriter);
+ }
+}
+
+void dumpCustomShapeService(uno::Reference< beans::XPropertySet > xPropSet, xmlTextWriterPtr xmlWriter)
+{
+ uno::Reference< beans::XPropertySetInfo> xInfo = xPropSet->getPropertySetInfo();
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("CustomShapeEngine");
+ rtl::OUString sCustomShapeEngine;
+ if(anotherAny >>= sCustomShapeEngine)
+ dumpCustomShapeEngineAsAttribute(sCustomShapeEngine, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("CustomShapeData");
+ rtl::OUString sCustomShapeData;
+ if(anotherAny >>= sCustomShapeData)
+ dumpCustomShapeDataAsAttribute(sCustomShapeData, xmlWriter);
+ }
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("CustomShapeGeometry");
+ uno::Sequence< beans::PropertyValue> aCustomShapeGeometry;
+ if(anotherAny >>= aCustomShapeGeometry)
+ dumpCustomShapeGeometryAsElement(aCustomShapeGeometry, xmlWriter);
+ }
+ if(xInfo->hasPropertyByName("CustomShapeReplacementURL"))
+ {
+ uno::Any anotherAny = xPropSet->getPropertyValue("CustomShapeReplacementURL");
+ rtl::OUString sCustomShapeReplacementURL;
+ if(anotherAny >>= sCustomShapeReplacementURL)
+ dumpCustomShapeReplacementURLAsAttribute(sCustomShapeReplacementURL, xmlWriter);
+ }
+}
+
+void dumpXShape(uno::Reference< drawing::XShape > xShape, xmlTextWriterPtr xmlWriter)
+{
+ xmlTextWriterStartElement( xmlWriter, BAD_CAST( "XShape" ) );
+ uno::Reference< beans::XPropertySet > xPropSet(xShape, uno::UNO_QUERY_THROW);
+ uno::Reference<beans::XPropertySetInfo> xPropSetInfo = xPropSet->getPropertySetInfo();
+ rtl::OUString aName;
+
+ dumpPositionAsAttribute(xShape->getPosition(), xmlWriter);
+ dumpSizeAsAttribute(xShape->getSize(), xmlWriter);
+ uno::Reference< drawing::XShapeDescriptor > xDescr(xShape, uno::UNO_QUERY_THROW);
+ dumpShapeDescriptorAsAttribute(xDescr, xmlWriter);
+
+ // uno::Sequence<beans::Property> aProperties = xPropSetInfo->getProperties();
+
+ uno::Reference< lang::XServiceInfo > xServiceInfo( xShape, uno::UNO_QUERY_THROW );
+ uno::Sequence< rtl::OUString > aServiceNames = xServiceInfo->getSupportedServiceNames();
+
+ uno::Reference< beans::XPropertySetInfo> xInfo = xPropSet->getPropertySetInfo();
+ if(xInfo->hasPropertyByName("Name"))
+ {
+ uno::Any aAny = xPropSet->getPropertyValue("Name");
+ if (aAny >>= aName)
+ {
+ if (!aName.isEmpty())
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("name"), "%s", rtl::OUStringToOString(aName, RTL_TEXTENCODING_UTF8).getStr());
+ }
+ }
+
+ try
+ {
+ if (xServiceInfo->supportsService("com.sun.star.drawing.Text"))
+ {
+ uno::Reference< text::XText > xText(xShape, uno::UNO_QUERY_THROW);
+ rtl::OUString aText = xText->getString();
+ if(!aText.isEmpty())
+ xmlTextWriterWriteFormatAttribute( xmlWriter, BAD_CAST("text"), "%s", rtl::OUStringToOString(aText, RTL_TEXTENCODING_UTF8).getStr());
+ }
+ if(xServiceInfo->supportsService("com.sun.star.drawing.TextProperties"))
+ dumpTextPropertiesService(xPropSet, xmlWriter);
+
+ if(xServiceInfo->supportsService("com.sun.star.drawing.GroupShape"))
+ {
+ uno::Reference< drawing::XShapes > xShapes(xShape, uno::UNO_QUERY_THROW);
+ dumpXShapes(xShapes, xmlWriter);
+ }
+ if(xServiceInfo->supportsService("com.sun.star.drawing.FillProperties"))
+ dumpFillPropertiesService(xPropSet, xmlWriter);
+
+ if(xServiceInfo->supportsService("com.sun.star.drawing.LineProperties"))
+ dumpLinePropertiesService(xPropSet, xmlWriter);
+
+ if(xServiceInfo->supportsService("com.sun.star.drawing.PolyPolygonDescriptor"))
+ dumpPolyPolygonDescriptorService(xPropSet, xmlWriter);
+
+ if(xServiceInfo->supportsService("com.sun.star.drawing.ShadowProperties"))
+ dumpShadowPropertiesService(xPropSet, xmlWriter);
+
+ if(xServiceInfo->supportsService("com.sun.star.drawing.Shape"))
+ dumpShapeService(xPropSet, xmlWriter);
+
+ if(xServiceInfo->supportsService("com.sun.star.drawing.PolyPolygonBezierDescriptor"))
+ dumpPolyPolygonBezierDescriptorService(xPropSet, xmlWriter);
+
+ if(xServiceInfo->supportsService("com.sun.star.drawing.CustomShape"))
+ dumpCustomShapeService(xPropSet, xmlWriter);
+
+ // EnhancedShapeDumper used
+
+ if(xServiceInfo->supportsService("com.sun.star.drawing.EnhancedCustomShapeExtrusion"))
+ {
+ EnhancedShapeDumper enhancedDumper(xmlWriter);
+ enhancedDumper.dumpEnhancedCustomShapeExtrusionService(xPropSet);
+ }
+ if(xServiceInfo->supportsService("com.sun.star.drawing.EnhancedCustomShapeGeometry"))
+ {
+ EnhancedShapeDumper enhancedDumper(xmlWriter);
+ enhancedDumper.dumpEnhancedCustomShapeGeometryService(xPropSet);
+ }
+ if(xServiceInfo->supportsService("com.sun.star.drawing.EnhancedCustomShapeHandle"))
+ {
+ EnhancedShapeDumper enhancedDumper(xmlWriter);
+ enhancedDumper.dumpEnhancedCustomShapeHandleService(xPropSet);
+ }
+ if(xServiceInfo->supportsService("com.sun.star.drawing.EnhancedCustomShapePath"))
+ {
+ EnhancedShapeDumper enhancedDumper(xmlWriter);
+ enhancedDumper.dumpEnhancedCustomShapePathService(xPropSet);
+ }
+ if(xServiceInfo->supportsService("com.sun.star.drawing.EnhancedCustomShapeTextPath"))
+ {
+ EnhancedShapeDumper enhancedDumper(xmlWriter);
+ enhancedDumper.dumpEnhancedCustomShapeTextPathService(xPropSet);
+ }
+ } // end of the 'try' block
+ catch (com::sun::star::beans::UnknownPropertyException &e)
+ {
+ printf("Problem in the XShapeDumper");
+ }
+
+ #if DEBUG_DUMPER
+ sal_Int32 nServices = aServiceNames.getLength();
+ for (sal_Int32 i = 0; i < nServices; ++i)
+ {
+ xmlTextWriterStartElement(xmlWriter, BAD_CAST( "ServiceName" ));
+ xmlTextWriterWriteFormatAttribute(xmlWriter, BAD_CAST( "name" ), "%s", rtl::OUStringToOString(aServiceNames[i], RTL_TEXTENCODING_UTF8).getStr());
+ xmlTextWriterEndElement( xmlWriter );
+ }
+ #endif
+
+ xmlTextWriterEndElement( xmlWriter );
+}
+
+void dumpXShapes( uno::Reference< drawing::XShapes > xShapes, xmlTextWriterPtr xmlWriter )
+{
+ xmlTextWriterStartElement( xmlWriter, BAD_CAST( "XShapes" ) );
+ uno::Reference< container::XIndexAccess > xIA( xShapes, uno::UNO_QUERY_THROW);
+ sal_Int32 nLength = xIA->getCount();
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ uno::Reference< drawing::XShape > xShape( xIA->getByIndex( i ), uno::UNO_QUERY_THROW );
+ dumpXShape( xShape, xmlWriter );
+ }
+
+ xmlTextWriterEndElement( xmlWriter );
+}
+} //end of namespace
+
+rtl::OUString XShapeDumper::dump(uno::Reference<drawing::XShapes> xPageShapes)
+{
+
+ rtl::OStringBuffer aString;
+ xmlOutputBufferPtr xmlOutBuffer = xmlOutputBufferCreateIO( writeCallback, closeCallback, &aString, NULL );
+ xmlTextWriterPtr xmlWriter = xmlNewTextWriter( xmlOutBuffer );
+ xmlTextWriterSetIndent( xmlWriter, 1 );
+
+ xmlTextWriterStartDocument( xmlWriter, NULL, NULL, NULL );
+
+ dumpXShapes( xPageShapes, xmlWriter );
+
+ xmlTextWriterEndDocument( xmlWriter );
+ xmlFreeTextWriter( xmlWriter );
+
+ return OStringToOUString(aString.makeStringAndClear(), RTL_TEXTENCODING_UTF8);
+}
+
diff --git a/sc/qa/extras/regression-test.cxx b/sc/qa/extras/regression-test.cxx
index 2c281058b864..e909467ffecf 100644
--- a/sc/qa/extras/regression-test.cxx
+++ b/sc/qa/extras/regression-test.cxx
@@ -73,9 +73,8 @@ bool checkDumpAgainstFile( const rtl::OUString& rDump, const rtl::OUString aFile
CPPUNIT_ASSERT_MESSAGE("dump is empty", !rDump.isEmpty());
rtl::OString aDump = rtl::OUStringToOString(rDump, RTL_TEXTENCODING_UTF8);
- XMLDiff aDiff(aOFile.getStr(), aDump.getStr(),static_cast<int>(rDump.getLength()), aToleranceFile.getStr());
-
- return aDiff.compare();
+ return doXMLDiff(aOFile.getStr(), aDump.getStr(),
+ static_cast<int>(rDump.getLength()), aToleranceFile.getStr());
}
}
diff --git a/sd/CppunitTest_sd_regression_test.mk b/sd/CppunitTest_sd_regression_test.mk
index 22d049e1e2da..56b480a0b3f9 100644
--- a/sd/CppunitTest_sd_regression_test.mk
+++ b/sd/CppunitTest_sd_regression_test.mk
@@ -105,6 +105,7 @@ $(eval $(call gb_CppunitTest_use_components,sd_regression_test,\
sfx2/util/sfx \
sot/util/sot \
svl/source/fsstor/fsstorage \
+ svtools/util/svt \
toolkit/util/tk \
ucb/source/core/ucb1 \
ucb/source/ucp/expand/ucpexpand1 \
@@ -114,6 +115,7 @@ $(eval $(call gb_CppunitTest_use_components,sd_regression_test,\
unotools/util/utl \
unoxml/source/rdf/unordf \
unoxml/source/service/unoxml \
+ xmloff/util/xo \
xmlsecurity/util/xsec_fw \
xmlsecurity/util/xmlsecurity \
))
diff --git a/sd/Module_sd.mk b/sd/Module_sd.mk
index d4c080d1f977..654f2aa7f408 100644
--- a/sd/Module_sd.mk
+++ b/sd/Module_sd.mk
@@ -42,8 +42,7 @@ $(eval $(call gb_Module_add_targets,sd,\
ifneq ($(OS),DRAGONFLY)
$(eval $(call gb_Module_add_check_targets,sd,\
- CppunitTest_sd_uimpress \
- CppunitTest_sd_filters_test \
+ CppunitTest_sd_regression_test \
))
endif
@@ -52,6 +51,6 @@ $(eval $(call gb_Module_add_subsequentcheck_targets,sd,\
JunitTest_sd_unoapi \
))
-# Still a problem in line 16
-# CppunitTest_sd_regression_test \
+# CppunitTest_sd_uimpress \
+# CppunitTest_sd_filters_test \
# vim: set noet sw=4 ts=4:
diff --git a/sd/qa/unit/data/odp/shapes-test.odp b/sd/qa/unit/data/odp/shapes-test.odp
new file mode 100644
index 000000000000..fa202104ba05
--- /dev/null
+++ b/sd/qa/unit/data/odp/shapes-test.odp
Binary files differ
diff --git a/sd/qa/unit/data/odp/text-test.odp b/sd/qa/unit/data/odp/text-test.odp
new file mode 100644
index 000000000000..415e05c7c2d8
--- /dev/null
+++ b/sd/qa/unit/data/odp/text-test.odp
Binary files differ
diff --git a/sd/qa/unit/data/tolerance.xml b/sd/qa/unit/data/tolerance.xml
new file mode 100644
index 000000000000..167dfb61b88c
--- /dev/null
+++ b/sd/qa/unit/data/tolerance.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<tolerances>
+</tolerances>
diff --git a/sd/qa/unit/data/xml/shapes-test_page0.xml b/sd/qa/unit/data/xml/shapes-test_page0.xml
new file mode 100644
index 000000000000..731c050f9519
--- /dev/null
+++ b/sd/qa/unit/data/xml/shapes-test_page0.xml
@@ -0,0 +1,473 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="1000" positionY="1200" sizeX="3000" sizeY="2400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3001.000000" column2="0.000000" column3="1000.000000"/>
+ <Line2 column1="0.000000" column2="2401.000000" column3="1200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="rectangle" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="6200" positionY="1000" sizeX="3600" sizeY="3000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3601.000000" column2="0.000000" column3="6200.000000"/>
+ <Line2 column1="0.000000" column2="3001.000000" column3="1000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="round-rectangle" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="11400" positionY="1400" sizeX="2200" sizeY="2200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2201.000000" column2="0.000000" column3="11400.000000"/>
+ <Line2 column1="0.000000" column2="2201.000000" column3="1400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="rectangle" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="15200" positionY="1400" sizeX="2400" sizeY="2400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2401.000000" column2="0.000000" column3="15200.000000"/>
+ <Line2 column1="0.000000" column2="2401.000000" column3="1400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="round-rectangle" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="18600" positionY="1200" sizeX="2800" sizeY="2800" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2801.000000" column2="0.000000" column3="18600.000000"/>
+ <Line2 column1="0.000000" column2="2801.000000" column3="1200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="ellipse" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="22800" positionY="2200" sizeX="3600" sizeY="1200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3601.000000" column2="0.000000" column3="22800.000000"/>
+ <Line2 column1="0.000000" column2="1201.000000" column3="2200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="ellipse" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="1400" positionY="4600" sizeX="3200" sizeY="3200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3201.000000" column2="0.000000" column3="1400.000000"/>
+ <Line2 column1="0.000000" column2="3201.000000" column3="4600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="Type" handle="0" value="mso-spt100" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="5000" positionY="5200" sizeX="4400" sizeY="2000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="4401.000000" column2="0.000000" column3="5000.000000"/>
+ <Line2 column1="0.000000" column2="2001.000000" column3="5200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="isosceles-triangle" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="10400" positionY="5200" sizeX="1400" sizeY="2000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1401.000000" column2="0.000000" column3="10400.000000"/>
+ <Line2 column1="0.000000" column2="2001.000000" column3="5200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="right-triangle" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="13400" positionY="5000" sizeX="2600" sizeY="2000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2601.000000" column2="0.000000" column3="13400.000000"/>
+ <Line2 column1="0.000000" column2="2001.000000" column3="5000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="trapezoid" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="17400" positionY="5200" sizeX="1400" sizeY="2800" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1401.000000" column2="0.000000" column3="17400.000000"/>
+ <Line2 column1="0.000000" column2="2801.000000" column3="5200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="diamond" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="21000" positionY="5600" sizeX="3200" sizeY="2000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3201.000000" column2="0.000000" column3="21000.000000"/>
+ <Line2 column1="0.000000" column2="2001.000000" column3="5600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="parallelogram" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="1600" positionY="9400" sizeX="2600" sizeY="2400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2601.000000" column2="0.000000" column3="1600.000000"/>
+ <Line2 column1="0.000000" column2="2401.000000" column3="9400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="pentagon" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="5600" positionY="9400" sizeX="3400" sizeY="2800" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3401.000000" column2="0.000000" column3="5600.000000"/>
+ <Line2 column1="0.000000" column2="2801.000000" column3="9400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="hexagon" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="10600" positionY="9200" sizeX="3000" sizeY="3200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3001.000000" column2="0.000000" column3="10600.000000"/>
+ <Line2 column1="0.000000" column2="3201.000000" column3="9200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="octagon" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="15800" positionY="9400" sizeX="2600" sizeY="2600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2601.000000" column2="0.000000" column3="15800.000000"/>
+ <Line2 column1="0.000000" column2="2601.000000" column3="9400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="cross" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="19800" positionY="9400" sizeX="2600" sizeY="2600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2601.000000" column2="0.000000" column3="19800.000000"/>
+ <Line2 column1="0.000000" column2="2601.000000" column3="9400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="ring" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="23800" positionY="9200" sizeX="2400" sizeY="5200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2401.000000" column2="0.000000" column3="23800.000000"/>
+ <Line2 column1="0.000000" column2="5201.000000" column3="9200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="block-arc" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="1600" positionY="14600" sizeX="2200" sizeY="3800" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2201.000000" column2="0.000000" column3="1600.000000"/>
+ <Line2 column1="0.000000" column2="3801.000000" column3="14600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="can" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="5800" positionY="14800" sizeX="3000" sizeY="3000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3001.000000" column2="0.000000" column3="5800.000000"/>
+ <Line2 column1="0.000000" column2="3001.000000" column3="14800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="cube" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="10400" positionY="15200" sizeX="2200" sizeY="3600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2201.000000" column2="0.000000" column3="10400.000000"/>
+ <Line2 column1="0.000000" column2="3601.000000" column3="15200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="paper" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="15400" positionY="15200" sizeX="4800" sizeY="3200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="TOP" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="4801.000000" column2="0.000000" column3="15400.000000"/>
+ <Line2 column1="0.000000" column2="3201.000000" column3="15200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="frame" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Extrusion" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+</XShapes>
diff --git a/sd/qa/unit/data/xml/shapes-test_page1.xml b/sd/qa/unit/data/xml/shapes-test_page1.xml
new file mode 100644
index 000000000000..149285914bef
--- /dev/null
+++ b/sd/qa/unit/data/xml/shapes-test_page1.xml
@@ -0,0 +1,255 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="1800" positionY="1600" sizeX="1800" sizeY="1600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1801.000000" column2="0.000000" column3="1800.000000"/>
+ <Line2 column1="0.000000" column2="1601.000000" column3="1600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="bang" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="6000" positionY="800" sizeX="2800" sizeY="3000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2801.000000" column2="0.000000" column3="6000.000000"/>
+ <Line2 column1="0.000000" column2="3001.000000" column3="800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="star4" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="11000" positionY="1000" sizeX="3200" sizeY="3200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3201.000000" column2="0.000000" column3="11000.000000"/>
+ <Line2 column1="0.000000" column2="3201.000000" column3="1000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="star5" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="16200" positionY="1000" sizeX="1400" sizeY="3400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1401.000000" column2="0.000000" column3="16200.000000"/>
+ <Line2 column1="0.000000" column2="3401.000000" column3="1000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="non-primitive" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="19400" positionY="1200" sizeX="3600" sizeY="3000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3601.000000" column2="0.000000" column3="19400.000000"/>
+ <Line2 column1="0.000000" column2="3001.000000" column3="1200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="star8" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="24000" positionY="1400" sizeX="3200" sizeY="3000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3201.000000" column2="0.000000" column3="24000.000000"/>
+ <Line2 column1="0.000000" column2="3001.000000" column3="1400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="non-primitive" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="800" positionY="4800" sizeX="3400" sizeY="3400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3401.000000" column2="0.000000" column3="800.000000"/>
+ <Line2 column1="0.000000" column2="3401.000000" column3="4800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="star24" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="5800" positionY="5000" sizeX="5000" sizeY="4000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="5001.000000" column2="0.000000" column3="5800.000000"/>
+ <Line2 column1="0.000000" column2="4001.000000" column3="5000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="non-primitive" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="12600" positionY="5600" sizeX="4000" sizeY="4400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="4001.000000" column2="0.000000" column3="12600.000000"/>
+ <Line2 column1="0.000000" column2="4401.000000" column3="5600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="vertical-scroll" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="18600" positionY="6200" sizeX="5600" sizeY="3600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="5601.000000" column2="0.000000" column3="18600.000000"/>
+ <Line2 column1="0.000000" column2="3601.000000" column3="6200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="horizontal-scroll" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="1200" positionY="11000" sizeX="2400" sizeY="4000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2401.000000" column2="0.000000" column3="1200.000000"/>
+ <Line2 column1="0.000000" column2="4001.000000" column3="11000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="NonPrimitive" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="5800" positionY="11000" sizeX="4400" sizeY="4200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="4401.000000" column2="0.000000" column3="5800.000000"/>
+ <Line2 column1="0.000000" column2="4201.000000" column3="11000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="mso-spt21" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+</XShapes>
diff --git a/sd/qa/unit/data/xml/shapes-test_page2.xml b/sd/qa/unit/data/xml/shapes-test_page2.xml
new file mode 100644
index 000000000000..f8b3735f995d
--- /dev/null
+++ b/sd/qa/unit/data/xml/shapes-test_page2.xml
@@ -0,0 +1,392 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="1400" positionY="1200" sizeX="2800" sizeY="2200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2801.000000" column2="0.000000" column3="1400.000000"/>
+ <Line2 column1="0.000000" column2="2201.000000" column3="1200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="smiley" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="6000" positionY="1000" sizeX="3200" sizeY="2400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3201.000000" column2="0.000000" column3="6000.000000"/>
+ <Line2 column1="0.000000" column2="2401.000000" column3="1000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="sun" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="11000" positionY="1400" sizeX="2000" sizeY="2200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2001.000000" column2="0.000000" column3="11000.000000"/>
+ <Line2 column1="0.000000" column2="2201.000000" column3="1400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="MirroredX" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="moon" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="14800" positionY="1000" sizeX="2600" sizeY="3800" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2601.000000" column2="0.000000" column3="14800.000000"/>
+ <Line2 column1="0.000000" column2="3801.000000" column3="1000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="non-primitive" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="18600" positionY="1400" sizeX="2400" sizeY="2600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="TOP" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2401.000000" column2="0.000000" column3="18600.000000"/>
+ <Line2 column1="0.000000" column2="2601.000000" column3="1400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="heart" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="23400" positionY="1400" sizeX="2800" sizeY="2600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="TOP" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="666" textMinimumFrameWidth="486" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2801.000000" column2="0.000000" column3="23400.000000"/>
+ <Line2 column1="0.000000" column2="2601.000000" column3="1400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="non-primitive" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="1600" positionY="5600" sizeX="2400" sizeY="1600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2401.000000" column2="0.000000" column3="1600.000000"/>
+ <Line2 column1="0.000000" column2="1601.000000" column3="5600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="non-primitive" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="6000" positionY="5000" sizeX="3400" sizeY="2600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3401.000000" column2="0.000000" column3="6000.000000"/>
+ <Line2 column1="0.000000" column2="2601.000000" column3="5000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="forbidden" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="10800" positionY="5200" sizeX="2400" sizeY="2600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2401.000000" column2="0.000000" column3="10800.000000"/>
+ <Line2 column1="0.000000" column2="2601.000000" column3="5200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="NonPrimitive" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="15200" positionY="6000" sizeX="2000" sizeY="1200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2001.000000" column2="0.000000" column3="15200.000000"/>
+ <Line2 column1="0.000000" column2="1201.000000" column3="6000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="bracket-pair" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="18200" positionY="5200" sizeX="1200" sizeY="2400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1201.000000" column2="0.000000" column3="18200.000000"/>
+ <Line2 column1="0.000000" column2="2401.000000" column3="5200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="left-bracket" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="21000" positionY="5400" sizeX="1400" sizeY="2400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1401.000000" column2="0.000000" column3="21000.000000"/>
+ <Line2 column1="0.000000" column2="2401.000000" column3="5400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="right-bracket" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="1600" positionY="9800" sizeX="2600" sizeY="2600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2601.000000" column2="0.000000" column3="1600.000000"/>
+ <Line2 column1="0.000000" column2="2601.000000" column3="9800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="brace-pair" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="6000" positionY="9800" sizeX="1000" sizeY="2800" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1001.000000" column2="0.000000" column3="6000.000000"/>
+ <Line2 column1="0.000000" column2="2801.000000" column3="9800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="left-brace" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="9800" positionY="9200" sizeX="1600" sizeY="3200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="749" textMinimumFrameWidth="499" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1601.000000" column2="0.000000" column3="9800.000000"/>
+ <Line2 column1="0.000000" column2="3201.000000" column3="9200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="right-brace" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="13800" positionY="9600" sizeX="3200" sizeY="3400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3201.000000" column2="0.000000" column3="13800.000000"/>
+ <Line2 column1="0.000000" column2="3401.000000" column3="9600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="quad-bevel" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="18800" positionY="9800" sizeX="3800" sizeY="2400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="750" textMinimumFrameWidth="500" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="3801.000000" column2="0.000000" column3="18800.000000"/>
+ <Line2 column1="0.000000" column2="2401.000000" column3="9800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="col-60da8460" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="24800" positionY="9600" sizeX="2200" sizeY="3000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="66" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2201.000000" column2="0.000000" column3="24800.000000"/>
+ <Line2 column1="0.000000" column2="3001.000000" column3="9600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="col-502ad400" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+</XShapes>
diff --git a/sd/qa/unit/data/xml/shapes-test_page3.xml b/sd/qa/unit/data/xml/shapes-test_page3.xml
new file mode 100644
index 000000000000..013999f5db62
--- /dev/null
+++ b/sd/qa/unit/data/xml/shapes-test_page3.xml
@@ -0,0 +1,714 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="2200" positionY="1800" sizeX="2600" sizeY="2800" type="com.sun.star.drawing.LineShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="4800" positionY="1800"/>
+ <point positionX="2200" positionY="4600"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="2600" positionY="0"/>
+ <point positionX="0" positionY="2800"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="2600.000000" column2="0.000000" column3="2200.000000"/>
+ <Line2 column1="0.000000" column2="2800.000000" column3="1800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="4800" positionY="3600" sizeX="1200" sizeY="200" type="com.sun.star.drawing.LineShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="4800" positionY="3600"/>
+ <point positionX="6000" positionY="3800"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="0"/>
+ <point positionX="1200" positionY="200"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="1200.000000" column2="0.000000" column3="4800.000000"/>
+ <Line2 column1="0.000000" column2="200.000000" column3="3600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="8629" positionY="86" sizeX="7592" sizeY="7398" type="com.sun.star.drawing.OpenBezierShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="0.000000" column2="7591.681979" column3="8629.325587"/>
+ <Line2 column1="-7398.482222" column2="0.000000" column3="7484.216507"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <pointSequence>
+ <point positionX="8632" positionY="7287" polygonFlags="NORMAL"/>
+ <point positionX="8587" positionY="6521" polygonFlags="CONTROL"/>
+ <point positionX="9125" positionY="5860" polygonFlags="CONTROL"/>
+ <point positionX="9109" positionY="5074" polygonFlags="NORMAL"/>
+ <point positionX="9094" positionY="4361" polygonFlags="CONTROL"/>
+ <point positionX="9252" positionY="3652" polygonFlags="CONTROL"/>
+ <point positionX="9369" positionY="2949" polygonFlags="NORMAL"/>
+ <point positionX="9463" positionY="2381" polygonFlags="CONTROL"/>
+ <point positionX="9761" positionY="1863" polygonFlags="CONTROL"/>
+ <point positionX="9890" positionY="1301" polygonFlags="NORMAL"/>
+ <point positionX="10046" positionY="619" polygonFlags="CONTROL"/>
+ <point positionX="10588" positionY="71" polygonFlags="CONTROL"/>
+ <point positionX="11191" positionY="86" polygonFlags="NORMAL"/>
+ <point positionX="11768" positionY="100" polygonFlags="CONTROL"/>
+ <point positionX="12092" positionY="810" polygonFlags="CONTROL"/>
+ <point positionX="12275" positionY="1344" polygonFlags="NORMAL"/>
+ <point positionX="12429" positionY="1795" polygonFlags="CONTROL"/>
+ <point positionX="12397" positionY="2270" polygonFlags="CONTROL"/>
+ <point positionX="12362" positionY="2732" polygonFlags="NORMAL"/>
+ <point positionX="12325" positionY="3216" polygonFlags="CONTROL"/>
+ <point positionX="12522" positionY="3633" polygonFlags="CONTROL"/>
+ <point positionX="12449" positionY="4120" polygonFlags="NORMAL"/>
+ <point positionX="12371" positionY="4635" polygonFlags="CONTROL"/>
+ <point positionX="12002" positionY="5300" polygonFlags="CONTROL"/>
+ <point positionX="12362" positionY="5682" polygonFlags="NORMAL"/>
+ <point positionX="12837" positionY="6186" polygonFlags="CONTROL"/>
+ <point positionX="13734" positionY="5831" polygonFlags="CONTROL"/>
+ <point positionX="14401" positionY="5682" polygonFlags="NORMAL"/>
+ <point positionX="15026" positionY="5542" polygonFlags="CONTROL"/>
+ <point positionX="15806" positionY="5330" polygonFlags="CONTROL"/>
+ <point positionX="16049" positionY="4684" polygonFlags="NORMAL"/>
+ <point positionX="16276" positionY="4079" polygonFlags="CONTROL"/>
+ <point positionX="16249" positionY="3402" polygonFlags="CONTROL"/>
+ <point positionX="16136" positionY="2776" polygonFlags="NORMAL"/>
+ <point positionX="16049" positionY="2294" polygonFlags="CONTROL"/>
+ <point positionX="16592" positionY="1463" polygonFlags="CONTROL"/>
+ <point positionX="15658" positionY="1344" polygonFlags="NORMAL"/>
+ <point positionX="14831" positionY="1238" polygonFlags="CONTROL"/>
+ <point positionX="15004" positionY="2018" polygonFlags="CONTROL"/>
+ <point positionX="14834" positionY="2429" polygonFlags="NORMAL"/>
+ <point positionX="14603" positionY="2986" polygonFlags="CONTROL"/>
+ <point positionX="14392" positionY="3574" polygonFlags="CONTROL"/>
+ <point positionX="13967" positionY="3990" polygonFlags="NORMAL"/>
+ <point positionX="13587" positionY="4362" polygonFlags="CONTROL"/>
+ <point positionX="12972" positionY="4385" polygonFlags="CONTROL"/>
+ <point positionX="12449" positionY="4380" polygonFlags="NORMAL"/>
+ <point positionX="11972" positionY="4375" polygonFlags="CONTROL"/>
+ <point positionX="11522" positionY="4205" polygonFlags="CONTROL"/>
+ <point positionX="11061" positionY="4033" polygonFlags="NORMAL"/>
+ <point positionX="10612" positionY="3865" polygonFlags="CONTROL"/>
+ <point positionX="10027" positionY="4118" polygonFlags="CONTROL"/>
+ <point positionX="9846" positionY="4727" polygonFlags="NORMAL"/>
+ <point positionX="9695" positionY="5235" polygonFlags="CONTROL"/>
+ <point positionX="9639" positionY="5679" polygonFlags="CONTROL"/>
+ <point positionX="9673" positionY="6159" polygonFlags="NORMAL"/>
+ <point positionX="9724" positionY="6890" polygonFlags="CONTROL"/>
+ <point positionX="10610" positionY="7073" polygonFlags="CONTROL"/>
+ <point positionX="11191" positionY="7243" polygonFlags="NORMAL"/>
+ <point positionX="11848" positionY="7435" polygonFlags="CONTROL"/>
+ <point positionX="12518" positionY="7533" polygonFlags="CONTROL"/>
+ <point positionX="13230" positionY="7460" polygonFlags="NORMAL"/>
+ <point positionX="13746" positionY="7407" polygonFlags="CONTROL"/>
+ <point positionX="14357" positionY="7495" polygonFlags="CONTROL"/>
+ <point positionX="14748" positionY="7070" polygonFlags="NORMAL"/>
+ <point positionX="14748" positionY="7070" polygonFlags="NORMAL"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="197" positionY="3" polygonFlags="NORMAL"/>
+ <point positionX="963" positionY="-42" polygonFlags="CONTROL"/>
+ <point positionX="1624" positionY="496" polygonFlags="CONTROL"/>
+ <point positionX="2410" positionY="480" polygonFlags="NORMAL"/>
+ <point positionX="3123" positionY="465" polygonFlags="CONTROL"/>
+ <point positionX="3832" positionY="623" polygonFlags="CONTROL"/>
+ <point positionX="4535" positionY="740" polygonFlags="NORMAL"/>
+ <point positionX="5103" positionY="834" polygonFlags="CONTROL"/>
+ <point positionX="5621" positionY="1132" polygonFlags="CONTROL"/>
+ <point positionX="6183" positionY="1261" polygonFlags="NORMAL"/>
+ <point positionX="6865" positionY="1417" polygonFlags="CONTROL"/>
+ <point positionX="7413" positionY="1959" polygonFlags="CONTROL"/>
+ <point positionX="7398" positionY="2562" polygonFlags="NORMAL"/>
+ <point positionX="7384" positionY="3139" polygonFlags="CONTROL"/>
+ <point positionX="6674" positionY="3463" polygonFlags="CONTROL"/>
+ <point positionX="6140" positionY="3646" polygonFlags="NORMAL"/>
+ <point positionX="5689" positionY="3800" polygonFlags="CONTROL"/>
+ <point positionX="5214" positionY="3768" polygonFlags="CONTROL"/>
+ <point positionX="4752" positionY="3733" polygonFlags="NORMAL"/>
+ <point positionX="4268" positionY="3696" polygonFlags="CONTROL"/>
+ <point positionX="3851" positionY="3893" polygonFlags="CONTROL"/>
+ <point positionX="3364" positionY="3820" polygonFlags="NORMAL"/>
+ <point positionX="2849" positionY="3742" polygonFlags="CONTROL"/>
+ <point positionX="2184" positionY="3373" polygonFlags="CONTROL"/>
+ <point positionX="1802" positionY="3733" polygonFlags="NORMAL"/>
+ <point positionX="1298" positionY="4208" polygonFlags="CONTROL"/>
+ <point positionX="1653" positionY="5105" polygonFlags="CONTROL"/>
+ <point positionX="1802" positionY="5772" polygonFlags="NORMAL"/>
+ <point positionX="1942" positionY="6397" polygonFlags="CONTROL"/>
+ <point positionX="2154" positionY="7177" polygonFlags="CONTROL"/>
+ <point positionX="2800" positionY="7420" polygonFlags="NORMAL"/>
+ <point positionX="3405" positionY="7647" polygonFlags="CONTROL"/>
+ <point positionX="4082" positionY="7620" polygonFlags="CONTROL"/>
+ <point positionX="4708" positionY="7507" polygonFlags="NORMAL"/>
+ <point positionX="5190" positionY="7420" polygonFlags="CONTROL"/>
+ <point positionX="6021" positionY="7963" polygonFlags="CONTROL"/>
+ <point positionX="6140" positionY="7029" polygonFlags="NORMAL"/>
+ <point positionX="6246" positionY="6202" polygonFlags="CONTROL"/>
+ <point positionX="5466" positionY="6375" polygonFlags="CONTROL"/>
+ <point positionX="5055" positionY="6205" polygonFlags="NORMAL"/>
+ <point positionX="4498" positionY="5974" polygonFlags="CONTROL"/>
+ <point positionX="3910" positionY="5763" polygonFlags="CONTROL"/>
+ <point positionX="3494" positionY="5338" polygonFlags="NORMAL"/>
+ <point positionX="3122" positionY="4958" polygonFlags="CONTROL"/>
+ <point positionX="3099" positionY="4343" polygonFlags="CONTROL"/>
+ <point positionX="3104" positionY="3820" polygonFlags="NORMAL"/>
+ <point positionX="3109" positionY="3343" polygonFlags="CONTROL"/>
+ <point positionX="3279" positionY="2893" polygonFlags="CONTROL"/>
+ <point positionX="3451" positionY="2432" polygonFlags="NORMAL"/>
+ <point positionX="3619" positionY="1983" polygonFlags="CONTROL"/>
+ <point positionX="3366" positionY="1398" polygonFlags="CONTROL"/>
+ <point positionX="2757" positionY="1217" polygonFlags="NORMAL"/>
+ <point positionX="2249" positionY="1066" polygonFlags="CONTROL"/>
+ <point positionX="1805" positionY="1010" polygonFlags="CONTROL"/>
+ <point positionX="1325" positionY="1044" polygonFlags="NORMAL"/>
+ <point positionX="594" positionY="1095" polygonFlags="CONTROL"/>
+ <point positionX="411" positionY="1981" polygonFlags="CONTROL"/>
+ <point positionX="241" positionY="2562" polygonFlags="NORMAL"/>
+ <point positionX="49" positionY="3219" polygonFlags="CONTROL"/>
+ <point positionX="-49" positionY="3889" polygonFlags="CONTROL"/>
+ <point positionX="24" positionY="4601" polygonFlags="NORMAL"/>
+ <point positionX="77" positionY="5117" polygonFlags="CONTROL"/>
+ <point positionX="-11" positionY="5728" polygonFlags="CONTROL"/>
+ <point positionX="414" positionY="6119" polygonFlags="NORMAL"/>
+ <point positionX="414" positionY="6119" polygonFlags="NORMAL"/>
+ </pointSequence>
+ </XShape>
+ <XShape positionX="3800" positionY="6400" sizeX="1800" sizeY="1200" type="com.sun.star.drawing.LineShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd>
+ <pointSequence>
+ <point positionX="10" positionY="0" polygonFlags="NORMAL"/>
+ <point positionX="0" positionY="30" polygonFlags="NORMAL"/>
+ <point positionX="20" positionY="30" polygonFlags="NORMAL"/>
+ <point positionX="10" positionY="0" polygonFlags="NORMAL"/>
+ </pointSequence>
+ </LineEnd>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="3800" positionY="7600"/>
+ <point positionX="5600" positionY="6400"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="1200"/>
+ <point positionX="1800" positionY="0"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="1800.000000" column2="0.000000" column3="3800.000000"/>
+ <Line2 column1="0.000000" column2="1200.000000" column3="6400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="18348" positionY="525" sizeX="8645" sizeY="6751" type="com.sun.star.drawing.ClosedBezierShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="8645.321503" column2="0.000000" column3="18348.000000"/>
+ <Line2 column1="0.000000" column2="6751.172578" column3="525.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <pointSequence>
+ <point positionX="18348" positionY="7243" polygonFlags="NORMAL"/>
+ <point positionX="18951" positionY="7332" polygonFlags="CONTROL"/>
+ <point positionX="19562" positionY="7215" polygonFlags="CONTROL"/>
+ <point positionX="20169" positionY="7200" polygonFlags="NORMAL"/>
+ <point positionX="20809" positionY="7184" polygonFlags="CONTROL"/>
+ <point positionX="20839" positionY="6538" polygonFlags="CONTROL"/>
+ <point positionX="20950" positionY="6115" polygonFlags="NORMAL"/>
+ <point positionX="21085" positionY="5599" polygonFlags="CONTROL"/>
+ <point positionX="21023" positionY="5074" polygonFlags="CONTROL"/>
+ <point positionX="21037" positionY="4554" polygonFlags="NORMAL"/>
+ <point positionX="21049" positionY="4092" polygonFlags="CONTROL"/>
+ <point positionX="21033" positionY="3627" polygonFlags="CONTROL"/>
+ <point positionX="21037" positionY="3166" polygonFlags="NORMAL"/>
+ <point positionX="21042" positionY="2557" polygonFlags="CONTROL"/>
+ <point positionX="20311" positionY="2450" polygonFlags="CONTROL"/>
+ <point positionX="19866" positionY="2515" polygonFlags="NORMAL"/>
+ <point positionX="19390" positionY="2584" polygonFlags="CONTROL"/>
+ <point positionX="18645" positionY="2487" polygonFlags="CONTROL"/>
+ <point positionX="18608" positionY="1908" polygonFlags="NORMAL"/>
+ <point positionX="18578" positionY="1443" polygonFlags="CONTROL"/>
+ <point positionX="18333" positionY="866" polygonFlags="CONTROL"/>
+ <point positionX="19042" positionY="607" polygonFlags="NORMAL"/>
+ <point positionX="19599" positionY="403" polygonFlags="CONTROL"/>
+ <point positionX="20169" positionY="602" polygonFlags="CONTROL"/>
+ <point positionX="20560" positionY="954" polygonFlags="NORMAL"/>
+ <point positionX="20998" positionY="1348" polygonFlags="CONTROL"/>
+ <point positionX="21528" positionY="1585" polygonFlags="CONTROL"/>
+ <point positionX="21948" positionY="2038" polygonFlags="NORMAL"/>
+ <point positionX="22328" positionY="2448" polygonFlags="CONTROL"/>
+ <point positionX="22815" positionY="2752" polygonFlags="CONTROL"/>
+ <point positionX="23336" positionY="2992" polygonFlags="NORMAL"/>
+ <point positionX="23850" positionY="3228" polygonFlags="CONTROL"/>
+ <point positionX="24383" positionY="3468" polygonFlags="CONTROL"/>
+ <point positionX="24984" positionY="3426" polygonFlags="NORMAL"/>
+ <point positionX="25462" positionY="3392" polygonFlags="CONTROL"/>
+ <point positionX="26206" positionY="3798" polygonFlags="CONTROL"/>
+ <point positionX="26459" positionY="3253" polygonFlags="NORMAL"/>
+ <point positionX="26648" positionY="2847" polygonFlags="CONTROL"/>
+ <point positionX="26666" positionY="2292" polygonFlags="CONTROL"/>
+ <point positionX="26415" positionY="1908" polygonFlags="NORMAL"/>
+ <point positionX="26129" positionY="1470" polygonFlags="CONTROL"/>
+ <point positionX="25369" positionY="1324" polygonFlags="CONTROL"/>
+ <point positionX="25027" positionY="1648" polygonFlags="NORMAL"/>
+ <point positionX="24655" positionY="2001" polygonFlags="CONTROL"/>
+ <point positionX="25301" positionY="2552" polygonFlags="CONTROL"/>
+ <point positionX="25288" positionY="3036" polygonFlags="NORMAL"/>
+ <point positionX="25275" positionY="3508" polygonFlags="CONTROL"/>
+ <point positionX="25468" positionY="3950" polygonFlags="CONTROL"/>
+ <point positionX="25548" positionY="4424" polygonFlags="NORMAL"/>
+ <point positionX="25655" positionY="5059" polygonFlags="CONTROL"/>
+ <point positionX="26263" positionY="4848" polygonFlags="CONTROL"/>
+ <point positionX="26632" positionY="4988" polygonFlags="NORMAL"/>
+ <point positionX="27116" positionY="5171" polygonFlags="CONTROL"/>
+ <point positionX="27166" positionY="6200" polygonFlags="CONTROL"/>
+ <point positionX="26459" positionY="6289" polygonFlags="NORMAL"/>
+ <point positionX="25910" positionY="6358" polygonFlags="CONTROL"/>
+ <point positionX="25585" positionY="5832" polygonFlags="CONTROL"/>
+ <point positionX="25157" positionY="5595" polygonFlags="NORMAL"/>
+ <point positionX="24651" positionY="5315" polygonFlags="CONTROL"/>
+ <point positionX="24507" positionY="4749" polygonFlags="CONTROL"/>
+ <point positionX="24507" positionY="4250" polygonFlags="SMOOTH"/>
+ <point positionX="24507" positionY="3534" polygonFlags="CONTROL"/>
+ <point positionX="23865" positionY="3497" polygonFlags="CONTROL"/>
+ <point positionX="23422" positionY="3339" polygonFlags="NORMAL"/>
+ <point positionX="22949" positionY="3170" polygonFlags="CONTROL"/>
+ <point positionX="22437" positionY="3093" polygonFlags="CONTROL"/>
+ <point positionX="21991" positionY="3296" polygonFlags="NORMAL"/>
+ <point positionX="21380" positionY="3574" polygonFlags="CONTROL"/>
+ <point positionX="21765" positionY="4222" polygonFlags="CONTROL"/>
+ <point positionX="21644" positionY="4684" polygonFlags="NORMAL"/>
+ <point positionX="21542" positionY="5074" polygonFlags="CONTROL"/>
+ <point positionX="21980" positionY="5726" polygonFlags="CONTROL"/>
+ <point positionX="21167" positionY="5768" polygonFlags="NORMAL"/>
+ <point positionX="20654" positionY="5794" polygonFlags="CONTROL"/>
+ <point positionX="20256" positionY="5430" polygonFlags="CONTROL"/>
+ <point positionX="19779" positionY="5508" polygonFlags="NORMAL"/>
+ <point positionX="19306" positionY="5585" polygonFlags="CONTROL"/>
+ <point positionX="19067" positionY="6562" polygonFlags="CONTROL"/>
+ <point positionX="19866" positionY="6636" polygonFlags="NORMAL"/>
+ <point positionX="20348" positionY="6680" polygonFlags="CONTROL"/>
+ <point positionX="20787" positionY="6882" polygonFlags="CONTROL"/>
+ <point positionX="21254" positionY="6983" polygonFlags="NORMAL"/>
+ <point positionX="21739" positionY="7088" polygonFlags="CONTROL"/>
+ <point positionX="22200" positionY="6884" polygonFlags="CONTROL"/>
+ <point positionX="22642" positionY="6723" polygonFlags="NORMAL"/>
+ <point positionX="23076" positionY="6565" polygonFlags="CONTROL"/>
+ <point positionX="23842" positionY="6723" polygonFlags="CONTROL"/>
+ <point positionX="23813" positionY="5985" polygonFlags="NORMAL"/>
+ <point positionX="23769" positionY="5595" polygonFlags="NORMAL"/>
+ <point positionX="18348" positionY="7243" polygonFlags="NORMAL"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="0" positionY="6718" polygonFlags="NORMAL"/>
+ <point positionX="603" positionY="6807" polygonFlags="CONTROL"/>
+ <point positionX="1214" positionY="6690" polygonFlags="CONTROL"/>
+ <point positionX="1821" positionY="6675" polygonFlags="NORMAL"/>
+ <point positionX="2461" positionY="6659" polygonFlags="CONTROL"/>
+ <point positionX="2491" positionY="6013" polygonFlags="CONTROL"/>
+ <point positionX="2602" positionY="5590" polygonFlags="NORMAL"/>
+ <point positionX="2737" positionY="5074" polygonFlags="CONTROL"/>
+ <point positionX="2675" positionY="4549" polygonFlags="CONTROL"/>
+ <point positionX="2689" positionY="4029" polygonFlags="NORMAL"/>
+ <point positionX="2701" positionY="3567" polygonFlags="CONTROL"/>
+ <point positionX="2685" positionY="3102" polygonFlags="CONTROL"/>
+ <point positionX="2689" positionY="2641" polygonFlags="NORMAL"/>
+ <point positionX="2694" positionY="2032" polygonFlags="CONTROL"/>
+ <point positionX="1963" positionY="1925" polygonFlags="CONTROL"/>
+ <point positionX="1518" positionY="1990" polygonFlags="NORMAL"/>
+ <point positionX="1042" positionY="2059" polygonFlags="CONTROL"/>
+ <point positionX="297" positionY="1962" polygonFlags="CONTROL"/>
+ <point positionX="260" positionY="1383" polygonFlags="NORMAL"/>
+ <point positionX="230" positionY="918" polygonFlags="CONTROL"/>
+ <point positionX="-15" positionY="341" polygonFlags="CONTROL"/>
+ <point positionX="694" positionY="82" polygonFlags="NORMAL"/>
+ <point positionX="1251" positionY="-122" polygonFlags="CONTROL"/>
+ <point positionX="1821" positionY="77" polygonFlags="CONTROL"/>
+ <point positionX="2212" positionY="429" polygonFlags="NORMAL"/>
+ <point positionX="2650" positionY="823" polygonFlags="CONTROL"/>
+ <point positionX="3180" positionY="1060" polygonFlags="CONTROL"/>
+ <point positionX="3600" positionY="1513" polygonFlags="NORMAL"/>
+ <point positionX="3980" positionY="1923" polygonFlags="CONTROL"/>
+ <point positionX="4467" positionY="2227" polygonFlags="CONTROL"/>
+ <point positionX="4988" positionY="2467" polygonFlags="NORMAL"/>
+ <point positionX="5502" positionY="2703" polygonFlags="CONTROL"/>
+ <point positionX="6035" positionY="2943" polygonFlags="CONTROL"/>
+ <point positionX="6636" positionY="2901" polygonFlags="NORMAL"/>
+ <point positionX="7114" positionY="2867" polygonFlags="CONTROL"/>
+ <point positionX="7858" positionY="3273" polygonFlags="CONTROL"/>
+ <point positionX="8111" positionY="2728" polygonFlags="NORMAL"/>
+ <point positionX="8300" positionY="2322" polygonFlags="CONTROL"/>
+ <point positionX="8318" positionY="1767" polygonFlags="CONTROL"/>
+ <point positionX="8067" positionY="1383" polygonFlags="NORMAL"/>
+ <point positionX="7781" positionY="945" polygonFlags="CONTROL"/>
+ <point positionX="7021" positionY="799" polygonFlags="CONTROL"/>
+ <point positionX="6679" positionY="1123" polygonFlags="NORMAL"/>
+ <point positionX="6307" positionY="1476" polygonFlags="CONTROL"/>
+ <point positionX="6953" positionY="2027" polygonFlags="CONTROL"/>
+ <point positionX="6940" positionY="2511" polygonFlags="NORMAL"/>
+ <point positionX="6927" positionY="2983" polygonFlags="CONTROL"/>
+ <point positionX="7120" positionY="3425" polygonFlags="CONTROL"/>
+ <point positionX="7200" positionY="3899" polygonFlags="NORMAL"/>
+ <point positionX="7307" positionY="4534" polygonFlags="CONTROL"/>
+ <point positionX="7915" positionY="4323" polygonFlags="CONTROL"/>
+ <point positionX="8284" positionY="4463" polygonFlags="NORMAL"/>
+ <point positionX="8768" positionY="4646" polygonFlags="CONTROL"/>
+ <point positionX="8818" positionY="5675" polygonFlags="CONTROL"/>
+ <point positionX="8111" positionY="5764" polygonFlags="NORMAL"/>
+ <point positionX="7562" positionY="5833" polygonFlags="CONTROL"/>
+ <point positionX="7237" positionY="5307" polygonFlags="CONTROL"/>
+ <point positionX="6809" positionY="5070" polygonFlags="NORMAL"/>
+ <point positionX="6303" positionY="4790" polygonFlags="CONTROL"/>
+ <point positionX="6159" positionY="4224" polygonFlags="CONTROL"/>
+ <point positionX="6159" positionY="3725" polygonFlags="SMOOTH"/>
+ <point positionX="6159" positionY="3009" polygonFlags="CONTROL"/>
+ <point positionX="5517" positionY="2972" polygonFlags="CONTROL"/>
+ <point positionX="5074" positionY="2814" polygonFlags="NORMAL"/>
+ <point positionX="4601" positionY="2645" polygonFlags="CONTROL"/>
+ <point positionX="4089" positionY="2568" polygonFlags="CONTROL"/>
+ <point positionX="3643" positionY="2771" polygonFlags="NORMAL"/>
+ <point positionX="3032" positionY="3049" polygonFlags="CONTROL"/>
+ <point positionX="3417" positionY="3697" polygonFlags="CONTROL"/>
+ <point positionX="3296" positionY="4159" polygonFlags="NORMAL"/>
+ <point positionX="3194" positionY="4549" polygonFlags="CONTROL"/>
+ <point positionX="3632" positionY="5201" polygonFlags="CONTROL"/>
+ <point positionX="2819" positionY="5243" polygonFlags="NORMAL"/>
+ <point positionX="2306" positionY="5269" polygonFlags="CONTROL"/>
+ <point positionX="1908" positionY="4905" polygonFlags="CONTROL"/>
+ <point positionX="1431" positionY="4983" polygonFlags="NORMAL"/>
+ <point positionX="958" positionY="5060" polygonFlags="CONTROL"/>
+ <point positionX="719" positionY="6037" polygonFlags="CONTROL"/>
+ <point positionX="1518" positionY="6111" polygonFlags="NORMAL"/>
+ <point positionX="2000" positionY="6155" polygonFlags="CONTROL"/>
+ <point positionX="2439" positionY="6357" polygonFlags="CONTROL"/>
+ <point positionX="2906" positionY="6458" polygonFlags="NORMAL"/>
+ <point positionX="3391" positionY="6563" polygonFlags="CONTROL"/>
+ <point positionX="3852" positionY="6359" polygonFlags="CONTROL"/>
+ <point positionX="4294" positionY="6198" polygonFlags="NORMAL"/>
+ <point positionX="4728" positionY="6040" polygonFlags="CONTROL"/>
+ <point positionX="5494" positionY="6198" polygonFlags="CONTROL"/>
+ <point positionX="5465" positionY="5460" polygonFlags="NORMAL"/>
+ <point positionX="5421" positionY="5070" polygonFlags="NORMAL"/>
+ <point positionX="0" positionY="6718" polygonFlags="NORMAL"/>
+ </pointSequence>
+ </XShape>
+ <XShape positionX="7400" positionY="7886" sizeX="4479" sizeY="6914" type="com.sun.star.drawing.ClosedBezierShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="4479.155188" column2="0.000000" column3="7400.000000"/>
+ <Line2 column1="0.000000" column2="6913.571703" column3="7886.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <pointSequence>
+ <point positionX="9200" positionY="13600" polygonFlags="NORMAL"/>
+ <point positionX="9200" positionY="12200" polygonFlags="CONTROL"/>
+ <point positionX="7600" positionY="10600" polygonFlags="CONTROL"/>
+ <point positionX="7600" positionY="10600" polygonFlags="NORMAL"/>
+ <point positionX="7600" positionY="10600" polygonFlags="CONTROL"/>
+ <point positionX="8600" positionY="9000" polygonFlags="CONTROL"/>
+ <point positionX="8200" positionY="9200" polygonFlags="SYMMETRIC"/>
+ <point positionX="7800" positionY="9400" polygonFlags="CONTROL"/>
+ <point positionX="9800" positionY="7800" polygonFlags="CONTROL"/>
+ <point positionX="9800" positionY="9800" polygonFlags="SYMMETRIC"/>
+ <point positionX="9800" positionY="11800" polygonFlags="CONTROL"/>
+ <point positionX="13600" positionY="11800" polygonFlags="CONTROL"/>
+ <point positionX="10800" positionY="8600" polygonFlags="SYMMETRIC"/>
+ <point positionX="8000" positionY="5400" polygonFlags="CONTROL"/>
+ <point positionX="10000" positionY="14000" polygonFlags="CONTROL"/>
+ <point positionX="11600" positionY="14000" polygonFlags="SYMMETRIC"/>
+ <point positionX="13200" positionY="14000" polygonFlags="CONTROL"/>
+ <point positionX="7400" positionY="14800" polygonFlags="CONTROL"/>
+ <point positionX="7400" positionY="14800" polygonFlags="NORMAL"/>
+ <point positionX="9200" positionY="13600" polygonFlags="NORMAL"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1800" positionY="5714" polygonFlags="NORMAL"/>
+ <point positionX="1800" positionY="4314" polygonFlags="CONTROL"/>
+ <point positionX="200" positionY="2714" polygonFlags="CONTROL"/>
+ <point positionX="200" positionY="2714" polygonFlags="NORMAL"/>
+ <point positionX="200" positionY="2714" polygonFlags="CONTROL"/>
+ <point positionX="1200" positionY="1114" polygonFlags="CONTROL"/>
+ <point positionX="800" positionY="1314" polygonFlags="SYMMETRIC"/>
+ <point positionX="400" positionY="1514" polygonFlags="CONTROL"/>
+ <point positionX="2400" positionY="-86" polygonFlags="CONTROL"/>
+ <point positionX="2400" positionY="1914" polygonFlags="SYMMETRIC"/>
+ <point positionX="2400" positionY="3914" polygonFlags="CONTROL"/>
+ <point positionX="6200" positionY="3914" polygonFlags="CONTROL"/>
+ <point positionX="3400" positionY="714" polygonFlags="SYMMETRIC"/>
+ <point positionX="600" positionY="-2486" polygonFlags="CONTROL"/>
+ <point positionX="2600" positionY="6114" polygonFlags="CONTROL"/>
+ <point positionX="4200" positionY="6114" polygonFlags="SYMMETRIC"/>
+ <point positionX="5800" positionY="6114" polygonFlags="CONTROL"/>
+ <point positionX="0" positionY="6914" polygonFlags="CONTROL"/>
+ <point positionX="0" positionY="6914" polygonFlags="NORMAL"/>
+ <point positionX="1800" positionY="5714" polygonFlags="NORMAL"/>
+ </pointSequence>
+ </XShape>
+ <XShape positionX="14800" positionY="9000" sizeX="3800" sizeY="4800" type="com.sun.star.drawing.PolyLineShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" lineStyle="SOLID">
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="15000" positionY="13800"/>
+ <point positionX="16801" positionY="11800"/>
+ <point positionX="16400" positionY="9000"/>
+ <point positionX="18600" positionY="10000"/>
+ <point positionX="14800" positionY="11400"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="2171"/>
+ <point positionX="2691" positionY="2171"/>
+ <point positionX="4504" positionY="0"/>
+ <point positionX="5233" positionY="2304"/>
+ <point positionX="1650" positionY="416"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="3500.881673" column2="1712.474725" column3="13386.648093"/>
+ <Line2 column1="-3889.487950" column2="1541.378057" column3="12347.841208"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="1312" positionY="8865" sizeX="5636" sizeY="6339" type="com.sun.star.drawing.OpenBezierShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="1567.207856" column2="6230.915598" column3="41.872336"/>
+ <Line2 column1="-6267.085096" column2="1558.162962" column3="14880.349578"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <pointSequence>
+ <point positionX="1401" positionY="13600" polygonFlags="NORMAL"/>
+ <point positionX="2001" positionY="11200" polygonFlags="CONTROL"/>
+ <point positionX="6001" positionY="13600" polygonFlags="CONTROL"/>
+ <point positionX="2600" positionY="10600" polygonFlags="SYMMETRIC"/>
+ <point positionX="-801" positionY="7600" polygonFlags="CONTROL"/>
+ <point positionX="4600" positionY="9400" polygonFlags="CONTROL"/>
+ <point positionX="4600" positionY="9400" polygonFlags="NORMAL"/>
+ <point positionX="4600" positionY="9400" polygonFlags="CONTROL"/>
+ <point positionX="8001" positionY="10800" polygonFlags="CONTROL"/>
+ <point positionX="5601" positionY="11000" polygonFlags="SYMMETRIC"/>
+ <point positionX="3201" positionY="11200" polygonFlags="CONTROL"/>
+ <point positionX="5201" positionY="12600" polygonFlags="CONTROL"/>
+ <point positionX="5600" positionY="12000" polygonFlags="SYMMETRIC"/>
+ <point positionX="6000" positionY="11400" polygonFlags="CONTROL"/>
+ <point positionX="7401" positionY="13600" polygonFlags="CONTROL"/>
+ <point positionX="6801" positionY="14000" polygonFlags="SYMMETRIC"/>
+ <point positionX="6201" positionY="14399" polygonFlags="CONTROL"/>
+ <point positionX="1401" positionY="15001" polygonFlags="CONTROL"/>
+ <point positionX="1601" positionY="14000" polygonFlags="NORMAL"/>
+ <point positionX="1401" positionY="15001" polygonFlags="NORMAL"/>
+ <point positionX="1201" positionY="16000" polygonFlags="CONTROL"/>
+ <point positionX="1400" positionY="13000" polygonFlags="CONTROL"/>
+ <point positionX="1400" positionY="13000" polygonFlags="NORMAL"/>
+ </pointSequence>
+ <pointSequence>
+ <point positionX="1572" positionY="1008" polygonFlags="NORMAL"/>
+ <point positionX="4045" positionY="1008" polygonFlags="CONTROL"/>
+ <point positionX="2688" positionY="5471" polygonFlags="CONTROL"/>
+ <point positionX="4773" positionY="1444" polygonFlags="SYMMETRIC"/>
+ <point positionX="6858" positionY="-2583" polygonFlags="CONTROL"/>
+ <point positionX="6422" positionY="3093" polygonFlags="CONTROL"/>
+ <point positionX="6422" positionY="3093" polygonFlags="NORMAL"/>
+ <point positionX="6422" positionY="3093" polygonFlags="CONTROL"/>
+ <point positionX="5889" positionY="6732" polygonFlags="CONTROL"/>
+ <point positionX="5113" positionY="4452" polygonFlags="SYMMETRIC"/>
+ <point positionX="4337" positionY="2172" polygonFlags="CONTROL"/>
+ <point positionX="3464" positionY="4452" polygonFlags="CONTROL"/>
+ <point positionX="4143" positionY="4694" polygonFlags="SYMMETRIC"/>
+ <point positionX="4822" positionY="4936" polygonFlags="CONTROL"/>
+ <point positionX="3027" positionY="6829" polygonFlags="CONTROL"/>
+ <point positionX="2494" positionY="6344" polygonFlags="SYMMETRIC"/>
+ <point positionX="1961" positionY="5859" polygonFlags="CONTROL"/>
+ <point positionX="213" positionY="1348" polygonFlags="CONTROL"/>
+ <point positionX="1232" positionY="1299" polygonFlags="NORMAL"/>
+ <point positionX="213" positionY="1348" polygonFlags="NORMAL"/>
+ <point positionX="-805" positionY="1396" polygonFlags="CONTROL"/>
+ <point positionX="2154" positionY="862" polygonFlags="CONTROL"/>
+ <point positionX="2154" positionY="862" polygonFlags="NORMAL"/>
+ </pointSequence>
+ </XShape>
+ <XShape positionX="20400" positionY="9800" sizeX="7000" sizeY="6000" type="com.sun.star.drawing.PolyPolygonShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="20400" positionY="13600"/>
+ <point positionX="20600" positionY="9800"/>
+ <point positionX="24200" positionY="11600"/>
+ <point positionX="27400" positionY="14400"/>
+ <point positionX="23000" positionY="15800"/>
+ <point positionX="20400" positionY="13600"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="3800"/>
+ <point positionX="200" positionY="0"/>
+ <point positionX="3800" positionY="1800"/>
+ <point positionX="7000" positionY="4600"/>
+ <point positionX="2600" positionY="6000"/>
+ <point positionX="0" positionY="3800"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="7000.000000" column2="0.000000" column3="20400.000000"/>
+ <Line2 column1="0.000000" column2="6000.000000" column3="9800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="2200" positionY="16600" sizeX="7800" sizeY="3000" type="com.sun.star.drawing.PolyPolygonShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="2200" positionY="16600"/>
+ <point positionX="2200" positionY="17800"/>
+ <point positionX="4000" positionY="19600"/>
+ <point positionX="4800" positionY="19600"/>
+ <point positionX="4800" positionY="18600"/>
+ <point positionX="5800" positionY="19600"/>
+ <point positionX="6400" positionY="19600"/>
+ <point positionX="7000" positionY="19000"/>
+ <point positionX="7600" positionY="19000"/>
+ <point positionX="8200" positionY="19600"/>
+ <point positionX="10000" positionY="17800"/>
+ <point positionX="4000" positionY="17800"/>
+ <point positionX="4000" positionY="16600"/>
+ <point positionX="2200" positionY="16600"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="0" positionY="7800"/>
+ <point positionX="1200" positionY="7800"/>
+ <point positionX="3000" positionY="6000"/>
+ <point positionX="3000" positionY="5200"/>
+ <point positionX="2000" positionY="5200"/>
+ <point positionX="3000" positionY="4200"/>
+ <point positionX="3000" positionY="3600"/>
+ <point positionX="2400" positionY="3000"/>
+ <point positionX="2400" positionY="2400"/>
+ <point positionX="3000" positionY="1800"/>
+ <point positionX="1200" positionY="0"/>
+ <point positionX="1200" positionY="6000"/>
+ <point positionX="0" positionY="6000"/>
+ <point positionX="0" positionY="7800"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="0.000000" column2="-7800.000000" column3="10000.000000"/>
+ <Line2 column1="3000.000000" column2="0.000000" column3="16600.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+ <XShape positionX="12400" positionY="17200" sizeX="6200" sizeY="2600" type="com.sun.star.drawing.PolyPolygonShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <PolyPolygon>
+ <pointSequence>
+ <point positionX="14600" positionY="18000"/>
+ <point positionX="13200" positionY="18000"/>
+ <point positionX="12400" positionY="18800"/>
+ <point positionX="13400" positionY="19800"/>
+ <point positionX="15400" positionY="19800"/>
+ <point positionX="17600" positionY="19800"/>
+ <point positionX="18600" positionY="18800"/>
+ <point positionX="17800" positionY="18000"/>
+ <point positionX="16400" positionY="18000"/>
+ <point positionX="16400" positionY="17200"/>
+ <point positionX="15000" positionY="17200"/>
+ <point positionX="15000" positionY="17400"/>
+ <point positionX="13800" positionY="17400"/>
+ <point positionX="13800" positionY="17600"/>
+ <point positionX="15000" positionY="17600"/>
+ <point positionX="15000" positionY="18000"/>
+ <point positionX="14000" positionY="18000"/>
+ <point positionX="14600" positionY="18000"/>
+ </pointSequence>
+ </PolyPolygon>
+ <Geometry>
+ <pointSequence>
+ <point positionX="2200" positionY="800"/>
+ <point positionX="800" positionY="800"/>
+ <point positionX="0" positionY="1600"/>
+ <point positionX="1000" positionY="2600"/>
+ <point positionX="3000" positionY="2600"/>
+ <point positionX="5200" positionY="2600"/>
+ <point positionX="6200" positionY="1600"/>
+ <point positionX="5400" positionY="800"/>
+ <point positionX="4000" positionY="800"/>
+ <point positionX="4000" positionY="0"/>
+ <point positionX="2600" positionY="0"/>
+ <point positionX="2600" positionY="200"/>
+ <point positionX="1400" positionY="200"/>
+ <point positionX="1400" positionY="400"/>
+ <point positionX="2600" positionY="400"/>
+ <point positionX="2600" positionY="800"/>
+ <point positionX="1600" positionY="800"/>
+ <point positionX="2200" positionY="800"/>
+ </pointSequence>
+ </Geometry>
+ <Transformation>
+ <Line1 column1="6200.000000" column2="0.000000" column3="12400.000000"/>
+ <Line2 column1="0.000000" column2="2600.000000" column3="17200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+</XShapes>
diff --git a/sd/qa/unit/data/xml/shapes-test_page4.xml b/sd/qa/unit/data/xml/shapes-test_page4.xml
new file mode 100644
index 000000000000..ae6673274074
--- /dev/null
+++ b/sd/qa/unit/data/xml/shapes-test_page4.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="2200" positionY="1800" sizeX="4400" sizeY="7000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="SQUARE" startColor="32768" endColor="8388736" angle="1200" border="40" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="4401.000000" column2="0.000000" column3="2200.000000"/>
+ <Line2 column1="0.000000" column2="7001.000000" column3="1800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="MirroredY" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="MirroredX" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="can" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="11800" positionY="2400" sizeX="5800" sizeY="5600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="16777062" endColor="10053171" angle="450" border="45" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="5801.000000" column2="0.000000" column3="11800.000000"/>
+ <Line2 column1="0.000000" column2="5601.000000" column3="2400.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="MirroredX" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="MirroredY" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="cube" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="21400" positionY="3800" sizeX="2400" sizeY="4600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="AXIAL" startColor="16711680" endColor="16777215" angle="0" border="50" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2401.000000" column2="0.000000" column3="21400.000000"/>
+ <Line2 column1="0.000000" column2="4601.000000" column3="3800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="can" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="24800" positionY="2000" sizeX="2800" sizeY="3000" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="2801.000000" column2="0.000000" column3="24800.000000"/>
+ <Line2 column1="0.000000" column2="3001.000000" column3="2000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="cube" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="7600" positionY="9800" sizeX="5600" sizeY="5600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="RADIAL" startColor="8388608" endColor="16776960" angle="0" border="20" xOffset="30" yOffset="30" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="8421504" distance="20" angle="0"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="5601.000000" column2="0.000000" column3="7600.000000"/>
+ <Line2 column1="0.000000" column2="5601.000000" column3="9800.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="ellipse" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+</XShapes>
diff --git a/sd/qa/unit/data/xml/shapes-test_page5.xml b/sd/qa/unit/data/xml/shapes-test_page5.xml
new file mode 100644
index 000000000000..69d48ab4e109
--- /dev/null
+++ b/sd/qa/unit/data/xml/shapes-test_page5.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="4000" positionY="3200" sizeX="4800" sizeY="4200" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="HATCH" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="TRIPLE" color="255" distance="102" angle="900"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="4801.000000" column2="0.000000" column3="4000.000000"/>
+ <Line2 column1="0.000000" column2="4201.000000" column3="3200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="quad-bevel" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="16000" positionY="2200" sizeX="5800" sizeY="4400" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="750" textMinimumFrameWidth="500" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="HATCH" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="102" angle="450"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="5801.000000" column2="0.000000" column3="16000.000000"/>
+ <Line2 column1="0.000000" column2="4401.000000" column3="2200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="col-60da8460" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="6600" positionY="10200" sizeX="4600" sizeY="8800" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="66" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="HATCH" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="DOUBLE" color="8388608" distance="76" angle="900"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="4601.000000" column2="0.000000" column3="6600.000000"/>
+ <Line2 column1="0.000000" column2="8801.000000" column3="10200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="col-502ad400" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+ <XShape positionX="14400" positionY="10200" sizeX="7600" sizeY="2600" type="com.sun.star.drawing.CustomShape" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="HATCH" fillColor="13625333" fillTransparence="0" fillTransparenceGradientName="">
+ <FillTransparenceGradient style="LINEAR" startColor="0" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillGradient style="LINEAR" startColor="8421504" endColor="16777215" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
+ <FillHatch style="SINGLE" color="0" distance="102" angle="900"/>
+ <FillBitmap width="32" height="32"/>
+ <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
+ <LineStart/>
+ <LineEnd/>
+ <Transformation>
+ <Line1 column1="7601.000000" column2="0.000000" column3="14400.000000"/>
+ <Line2 column1="0.000000" column2="2601.000000" column3="10200.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ <CustomShapeGeometry>
+ <PropertyValue name="ViewBox" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Type" handle="0" value="quad-bevel" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="AdjustmentValues" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Path" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Equations" handle="0" propertyState="DIRECT_VALUE"/>
+ <PropertyValue name="Handles" handle="0" propertyState="DIRECT_VALUE"/>
+ </CustomShapeGeometry>
+ </XShape>
+</XShapes>
diff --git a/sd/qa/unit/data/xml/shapes-test_page6.xml b/sd/qa/unit/data/xml/shapes-test_page6.xml
new file mode 100644
index 000000000000..45ef536763aa
--- /dev/null
+++ b/sd/qa/unit/data/xml/shapes-test_page6.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="6753" positionY="13803" sizeX="14098" sizeY="971" type="com.sun.star.drawing.TableShape"/>
+ <XShape positionX="2108" positionY="1361" sizeX="14098" sizeY="9184" type="com.sun.star.drawing.TableShape"/>
+</XShapes>
diff --git a/sd/qa/unit/data/xml/shapes-test_page7.xml b/sd/qa/unit/data/xml/shapes-test_page7.xml
new file mode 100644
index 000000000000..3170a3bb3e9c
--- /dev/null
+++ b/sd/qa/unit/data/xml/shapes-test_page7.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<XShapes>
+ <XShape positionX="1361" positionY="9000" sizeX="24639" sizeY="7858" type="com.sun.star.presentation.GraphicObjectShape" textAutoGrowHeight="true" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" shadow="false" shadowColor="8421504" shadowTransparence="0" shadowXDistance="200" shadowYDistance="200" zOrder="0" layerID="0" layerName="layout" visible="true" printable="true" moveProtect="false" name="" sizeProtect="false">
+ <Transformation>
+ <Line1 column1="24640.000000" column2="0.000000" column3="1361.000000"/>
+ <Line2 column1="0.000000" column2="7859.000000" column3="9000.000000"/>
+ <Line3 column1="0.000000" column2="0.000000" column3="1.000000"/>
+ </Transformation>
+ </XShape>
+</XShapes>
diff --git a/sd/qa/unit/regression-test.cxx b/sd/qa/unit/regression-test.cxx
index 4ed5b80d59a8..0b1dee1c7fc7 100644
--- a/sd/qa/unit/regression-test.cxx
+++ b/sd/qa/unit/regression-test.cxx
@@ -31,6 +31,7 @@
#include <sal/config.h>
#include <unotest/filters-test.hxx>
#include <test/bootstrapfixture.hxx>
+#include <test/xmldiff.hxx>
#include <rtl/strbuf.hxx>
#include <osl/file.hxx>
#include <com/sun/star/lang/XComponent.hpp>
@@ -56,6 +57,9 @@
#include <iostream>
#include <rtl/oustringostreaminserter.hxx>
+#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
+#include <drawinglayer/XShapeDumper.hxx>
+
namespace {
bool compareFiles( const rtl::OUString& aFileNameOne, const rtl::OUString& aFileNameTwo)
@@ -116,9 +120,11 @@ public:
private:
uno::Reference<document::XFilter> m_xFilter;
uno::Reference<uno::XInterface> m_xDrawComponent;
+ void testStuff(::sd::DrawDocShellRef xDocShRef, const rtl::OString& fileNameBase);
};
#define PPTX_FORMAT_TYPE 268959811
+#define ODP_FORMAT_TYPE 285212967
struct FileFormat {
const char* pName; const char* pFilterName; const char* pTypeName; sal_uLong nFormatType;
@@ -127,6 +133,7 @@ struct FileFormat {
// cf. sc/qa/unit/filters-test.cxx and filters/...*.xcu to fill out.
FileFormat aFileFormats[] = {
{ "pptx" , "Impress MS PowerPoint 2007 XML", "MS PowerPoint 2007 XML", PPTX_FORMAT_TYPE },
+ { "odp" , "impress8", "impress8", ODP_FORMAT_TYPE },
{ 0, 0, 0, 0 }
};
@@ -150,11 +157,11 @@ FileFormat aFileFormats[] = {
rtl::OUString(), pFmt->nFormatType, nFormat,
rtl::OUString::createFromAscii( pFmt->pTypeName ),
0, rtl::OUString(), rtl::OUString(), /* userdata */
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("private:factory/sdraw*")) );
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("private:factory/simpress*")) );
aFilter->SetVersion(SOFFICE_FILEFORMAT_CURRENT);
::sd::DrawDocShellRef xDocShRef = new ::sd::DrawDocShell();
- SfxMedium* pSrcMed = new SfxMedium(rURL, STREAM_STD_READ, true);
+ SfxMedium* pSrcMed = new SfxMedium(rURL, STREAM_STD_READ);
pSrcMed->SetFilter(aFilter);
if ( !xDocShRef->DoLoad(pSrcMed) )
{
@@ -168,33 +175,53 @@ FileFormat aFileFormats[] = {
void SdFiltersTest::test()
{
- ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/a.pptx"));
+ {
+ ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/odp/shapes-test.odp"));
+ testStuff(xDocShRef, rtl::OUStringToOString(getPathFromSrc("/sd/qa/unit/data/xml/shapes-test_page"), RTL_TEXTENCODING_UTF8));
+ }
+ /*
+ {
+ ::sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/odp/text-test.odp"));
+ testStuff(xDocShRef);
+ }*/
+}
+
+void SdFiltersTest::testStuff(::sd::DrawDocShellRef xDocShRef, const rtl::OString& fileNameBase)
+{
CPPUNIT_ASSERT_MESSAGE( "failed to load", xDocShRef.Is() );
CPPUNIT_ASSERT_MESSAGE( "not in destruction", !xDocShRef->IsInDestruction() );
- uno::Reference< frame::XModel > xModel = xDocShRef->GetModel();
- CPPUNIT_ASSERT(xModel.is());
- uno::Reference< frame::XStorable > xStorable( xModel, uno::UNO_QUERY_THROW);
- CPPUNIT_ASSERT( xStorable.is());
-
- uno::Sequence< beans::PropertyValue > aArgs(1);
- beans::PropertyValue aValue;
- uno::Any aAny;
-
- aAny <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("impress_svg_Export"));
-
- aValue.Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FilterName"));
- aValue.Value = aAny;
- aValue.State = beans::PropertyState_DIRECT_VALUE;
-
- aArgs[0] = aValue;
-
- rtl::OUString aNewSvgURL = m_aSolverRootURL + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/unittest/sd/test2.svg"));
-
- xStorable->storeToURL( aNewSvgURL, aArgs );
-
- compareFiles( getPathFromSrc("/sd/qa/unit/data/svg/test.svg"), getPathFromSolver("/unittest/sd/test2.svg") );
-
+ uno::Reference<frame::XModel> xTempModel(xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW);
+ CPPUNIT_ASSERT(xTempModel.is());
+ uno::Reference<drawing::XDrawPagesSupplier> xDrawPagesSupplier (xTempModel, uno::UNO_QUERY_THROW);
+ CPPUNIT_ASSERT(xDrawPagesSupplier.is());
+ uno::Reference< drawing::XDrawPages > xDrawPages = xDrawPagesSupplier->getDrawPages();
+ CPPUNIT_ASSERT(xDrawPages.is());
+
+ XShapeDumper xShapeDumper;
+ sal_Int32 nLength = xDrawPages->getCount();
+ rtl::OString aFileNameExt(".xml");
+ for (sal_Int32 i = 0; i < nLength; ++i)
+ {
+ uno::Reference<drawing::XDrawPage> xDrawPage;
+ uno::Any aAny = xDrawPages->getByIndex(i);
+ aAny >>= xDrawPage;
+ uno::Reference< drawing::XShapes > xShapes(xDrawPage, uno::UNO_QUERY_THROW);
+ rtl::OUString aString = xShapeDumper.dump(xShapes);
+ rtl::OStringBuffer aFileNameBuf(fileNameBase);
+ aFileNameBuf.append(i);
+ aFileNameBuf.append(aFileNameExt);
+
+ rtl::OString aFileName = aFileNameBuf.makeStringAndClear();
+
+ std::cout << aString << std::endl;
+ doXMLDiff(aFileName.getStr(),
+ rtl::OUStringToOString(aString, RTL_TEXTENCODING_UTF8).getStr(),
+ static_cast<int>(aString.getLength()),
+ rtl::OUStringToOString(
+ getPathFromSrc("/sd/qa/unit/data/tolerance.xml"),
+ RTL_TEXTENCODING_UTF8).getStr());
+ }
xDocShRef->DoClose();
}
@@ -207,7 +234,7 @@ bool SdFiltersTest::load(const rtl::OUString &rFilter, const rtl::OUString &rURL
rUserData, rtl::OUString() );
::sd::DrawDocShellRef xDocShRef = new ::sd::DrawDocShell();
- SfxMedium* pSrcMed = new SfxMedium(rURL, STREAM_STD_READ, true);
+ SfxMedium* pSrcMed = new SfxMedium(rURL, STREAM_STD_READ);
pSrcMed->SetFilter(&aFilter);
bool bLoaded = xDocShRef->DoLoad(pSrcMed);
xDocShRef->DoClose();
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index ce1315f6f4ad..447979a81d48 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -92,6 +92,7 @@
#include <basegfx/matrix/b2dhommatrixtools.hxx>
#include <basegfx/tools/unotools.hxx>
#include "shapeimpl.hxx"
+#include <sal/log.hxx>
#include <vector>
diff --git a/test/inc/test/xmldiff.hxx b/test/inc/test/xmldiff.hxx
index 0d768ae08fdb..cdba298dcc05 100644
--- a/test/inc/test/xmldiff.hxx
+++ b/test/inc/test/xmldiff.hxx
@@ -26,74 +26,10 @@
* instead of those above.
*/
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-#include <libxml/xmlmemory.h>
-#include <string>
-#include <set>
#include <test/testdllapi.hxx>
-#define USE_CPPUNIT 1
-
-struct tolerance
-{
- ~tolerance()
- {
- xmlFree(elementName);
- xmlFree(attribName);
- }
-
- tolerance()
- {
- elementName = NULL;
- attribName = NULL;
- }
-
- tolerance(const tolerance& tol)
- {
- elementName = xmlStrdup(tol.elementName);
- attribName = xmlStrdup(tol.attribName);
- relative = tol.relative;
- value = tol.value;
- }
-
- xmlChar* elementName;
- xmlChar* attribName;
- bool relative;
- double value;
- bool operator==(const tolerance& rTol) const { return xmlStrEqual(elementName, rTol.elementName) && xmlStrEqual(attribName, rTol.attribName); }
- bool operator<(const tolerance& rTol) const
- {
- int cmp = xmlStrcmp(elementName, rTol.elementName);
- if(cmp == 0)
- {
- cmp = xmlStrcmp(attribName, rTol.attribName);
- }
-
- if(cmp>=0)
- return false;
- else
- return true;
- }
-};
-
-class OOO_DLLPUBLIC_TEST XMLDiff
-{
-public:
- XMLDiff(const char* pFileName, const char* pContent, int size, const char* pToleranceFileName);
- ~XMLDiff();
-
- bool compare();
-private:
- typedef std::set<tolerance> ToleranceContainer;
-
- void loadToleranceFile(xmlDocPtr xmlTolerance);
- bool compareAttributes(xmlNodePtr node1, xmlNodePtr node2);
- bool compareElements(xmlNodePtr node1, xmlNodePtr node2);
-
- ToleranceContainer toleranceContainer;
- xmlDocPtr xmlFile1;
- xmlDocPtr xmlFile2;
-};
+bool OOO_DLLPUBLIC_TEST
+doXMLDiff(const char* pFileName, const char* pContent, int size,
+ const char* pToleranceFileName);
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/test/source/diff/diff.cxx b/test/source/diff/diff.cxx
index 00e144436e61..048e7835384f 100644
--- a/test/source/diff/diff.cxx
+++ b/test/source/diff/diff.cxx
@@ -26,10 +26,16 @@
* instead of those above.
*/
+#define USE_CPPUNIT 1
#include "test/xmldiff.hxx"
+
#include <libxml/xpath.h>
-#include <rtl/math.hxx>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include <libxml/xmlmemory.h>
+
+#include <set>
#include <cstring>
#include <sstream>
#include <cmath>
@@ -39,6 +45,73 @@
#include <cppunit/extensions/HelperMacros.h>
#endif
+#include <rtl/math.hxx>
+
+
+struct tolerance
+{
+ ~tolerance()
+ {
+ xmlFree(elementName);
+ xmlFree(attribName);
+ }
+
+ tolerance()
+ {
+ elementName = NULL;
+ attribName = NULL;
+ }
+
+ tolerance(const tolerance& tol)
+ {
+ elementName = xmlStrdup(tol.elementName);
+ attribName = xmlStrdup(tol.attribName);
+ relative = tol.relative;
+ value = tol.value;
+ }
+
+ xmlChar* elementName;
+ xmlChar* attribName;
+ bool relative;
+ double value;
+ bool operator==(const tolerance& rTol) const { return xmlStrEqual(elementName, rTol.elementName) && xmlStrEqual(attribName, rTol.attribName); }
+ bool operator<(const tolerance& rTol) const
+ {
+ int cmp = xmlStrcmp(elementName, rTol.elementName);
+ if(cmp == 0)
+ {
+ cmp = xmlStrcmp(attribName, rTol.attribName);
+ }
+
+ if(cmp>=0)
+ return false;
+ else
+ return true;
+ }
+};
+
+class XMLDiff
+{
+public:
+ XMLDiff(const char* pFileName, const char* pContent, int size, const char* pToleranceFileName);
+ ~XMLDiff();
+
+ bool compare();
+private:
+ typedef std::set<tolerance> ToleranceContainer;
+
+ void loadToleranceFile(xmlDocPtr xmlTolerance);
+ bool compareAttributes(xmlNodePtr node1, xmlNodePtr node2);
+ bool compareElements(xmlNodePtr node1, xmlNodePtr node2);
+
+ ToleranceContainer toleranceContainer;
+ xmlDocPtr xmlFile1;
+ xmlDocPtr xmlFile2;
+};
+
+
+
+
XMLDiff::XMLDiff( const char* pFileName, const char* pContent, int size, const char* pToleranceFile)
{
xmlFile1 = xmlParseFile(pFileName);
@@ -290,4 +363,13 @@ bool XMLDiff::compareAttributes(xmlNodePtr node1, xmlNodePtr node2)
return true;
}
+
+bool
+doXMLDiff(char const*const pFileName, char const*const pContent, int const size,
+ char const*const pToleranceFileName)
+{
+ XMLDiff aDiff(pFileName, pContent, size, pToleranceFileName);
+ return aDiff.compare();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */