diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2008-07-01 21:56:39 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2008-07-01 21:56:39 +0000 |
commit | f6978b3fa4b67675d4463afb51f109a0d33e725c (patch) | |
tree | bd1bdfff0eb8722fe07ae6a0ad36f0d0f32d3d67 /xmloff/source/draw/shapeexport2.cxx | |
parent | 97556a56364aa75dac8176ada15f2ef392c92a4f (diff) |
INTEGRATION: CWS impress143 (1.65.40); FILE MERGED
2008/05/28 08:26:33 sj 1.65.40.1: #i85649# added user defined path
Diffstat (limited to 'xmloff/source/draw/shapeexport2.cxx')
-rw-r--r-- | xmloff/source/draw/shapeexport2.cxx | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/xmloff/source/draw/shapeexport2.cxx b/xmloff/source/draw/shapeexport2.cxx index a7cac0cb176b..a7bb8bd7fcec 100644 --- a/xmloff/source/draw/shapeexport2.cxx +++ b/xmloff/source/draw/shapeexport2.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: shapeexport2.cxx,v $ - * $Revision: 1.65 $ + * $Revision: 1.66 $ * * This file is part of OpenOffice.org. * @@ -1446,6 +1446,44 @@ void XMLShapeExport::ImpExportConnectorShape( } } + if( xProps->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("PolyPolygonBezier") ) ) >>= aAny ) + { + // get PolygonBezier + drawing::PolyPolygonBezierCoords* pSourcePolyPolygon = + (drawing::PolyPolygonBezierCoords*)aAny.getValue(); + + if(pSourcePolyPolygon && pSourcePolyPolygon->Coordinates.getLength()) + { + sal_Int32 nOuterCnt(pSourcePolyPolygon->Coordinates.getLength()); + drawing::PointSequence* pOuterSequence = pSourcePolyPolygon->Coordinates.getArray(); + drawing::FlagSequence* pOuterFlags = pSourcePolyPolygon->Flags.getArray(); + + if(pOuterSequence && pOuterFlags) + { + // prepare svx:d element export + awt::Point aPoint( 0, 0 ); + awt::Size aSize( 1, 1 ); + SdXMLImExViewBox aViewBox( 0, 0, 1, 1 ); + SdXMLImExSvgDElement aSvgDElement(aViewBox); + + for(sal_Int32 a(0L); a < nOuterCnt; a++) + { + drawing::PointSequence* pSequence = pOuterSequence++; + drawing::FlagSequence* pFlags = pOuterFlags++; + + if(pSequence && pFlags) + { + aSvgDElement.AddPolygon(pSequence, pFlags, + aPoint, aSize, sal_False ); + } + } + + // write point array + mrExport.AddAttribute(XML_NAMESPACE_SVG, XML_D, aSvgDElement.GetExportString()); + } + } + } + // write connector shape. Add Export later. sal_Bool bCreateNewline( (nFeatures & SEF_EXPORT_NO_WS) == 0 ); // #86116#/#92210# SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW, XML_CONNECTOR, bCreateNewline, sal_True); |