summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2013-10-30 15:13:41 +0000
committerArmin Le Grand <alg@apache.org>2013-10-30 15:13:41 +0000
commit016bb3894dcc2e3a9cfb6324f1a9f389c192426d (patch)
tree105bcd1f49c32338b4abe1bfa22a8ff45badc91c
parent6b40671cdcb58fcf8f0c7af4b49cb94a7b53cd97 (diff)
save adaptions to aw080 due to fixes done on trunk
-rw-r--r--basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx2
-rw-r--r--basegfx/source/polygon/b2dsvgpolypolygon.cxx10
-rw-r--r--xmloff/inc/xexptran.hxx62
-rw-r--r--xmloff/source/draw/XMLImageMapContext.cxx12
-rw-r--r--xmloff/source/draw/XMLImageMapExport.cxx30
-rw-r--r--xmloff/source/draw/shapeexport2.cxx211
-rw-r--r--xmloff/source/draw/shapeexport3.cxx93
-rw-r--r--xmloff/source/draw/xexptran.cxx1774
-rw-r--r--xmloff/source/draw/ximp3dobject.cxx53
-rw-r--r--xmloff/source/draw/ximpshap.cxx120
-rw-r--r--xmloff/source/style/MarkerStyle.cxx106
-rw-r--r--xmloff/source/text/txtparae.cxx56
12 files changed, 44 insertions, 2485 deletions
diff --git a/basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx b/basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx
index 5b1b20479cdd..ccfb155ecd09 100644
--- a/basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx
+++ b/basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx
@@ -19,8 +19,6 @@
*
*************************************************************/
-
-
#ifndef _BGFX_POLYPOLYGON_B2DPOLYGONTOOLS_HXX
#define _BGFX_POLYPOLYGON_B2DPOLYGONTOOLS_HXX
diff --git a/basegfx/source/polygon/b2dsvgpolypolygon.cxx b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
index c5babb9545a6..b67ff5b068aa 100644
--- a/basegfx/source/polygon/b2dsvgpolypolygon.cxx
+++ b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
@@ -92,7 +92,10 @@ namespace basegfx
// add current polygon
if(bIsClosed)
{
- closeWithGeometryChange(aCurrPoly);
+ // #123465# no need to do the old closeWithGeometryChange
+ // corerection on SVG polygons; this even may lead to wrong
+ // results e.g. for marker processing
+ aCurrPoly.setClosed(true);
}
o_rPolyPolygon.append(aCurrPoly);
@@ -612,7 +615,10 @@ namespace basegfx
// end-process last poly
if(bIsClosed)
{
- closeWithGeometryChange(aCurrPoly);
+ // #123465# no need to do the old closeWithGeometryChange
+ // corerection on SVG polygons; this even may lead to wrong
+ // results e.g. for marker processing
+ aCurrPoly.setClosed(true);
}
o_rPolyPolygon.append(aCurrPoly);
diff --git a/xmloff/inc/xexptran.hxx b/xmloff/inc/xexptran.hxx
index b57a84ed21dd..03bc99a05d34 100644
--- a/xmloff/inc/xexptran.hxx
+++ b/xmloff/inc/xexptran.hxx
@@ -132,67 +132,5 @@ public:
const rtl::OUString& GetExportString();
};
-//////////////////////////////////////////////////////////////////////////////
-//
-//class SdXMLImExPointsElement
-//{
-// rtl::OUString msString;
-// com::sun::star::drawing::PointSequenceSequence maPoly;
-//
-//public:
-// SdXMLImExPointsElement(com::sun::star::drawing::PointSequence* pPoints,
-// const SdXMLImExViewBox& rViewBox,
-// const com::sun::star::awt::Point& rObjectPos,
-// const com::sun::star::awt::Size& rObjectSize,
-// const bool bClosed);
-// SdXMLImExPointsElement(const rtl::OUString& rNew,
-// const SdXMLImExViewBox& rViewBox,
-// const com::sun::star::awt::Point& rObjectPos,
-// const com::sun::star::awt::Size& rObjectSize,
-// const SvXMLUnitConverter& rConv,
-// const bool bClosed);
-//
-// const rtl::OUString& GetExportString() const { return msString; }
-// const com::sun::star::drawing::PointSequenceSequence& GetPointSequenceSequence() const { return maPoly; }
-//};
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-//class SdXMLImExSvgDElement
-//{
-// rtl::OUString msString;
-// const SdXMLImExViewBox& mrViewBox;
-// bool mbIsClosed;
-// bool mbIsCurve;
-//
-// sal_Int32 mnLastX;
-// sal_Int32 mnLastY;
-//
-// com::sun::star::drawing::PointSequenceSequence maPoly;
-// com::sun::star::drawing::FlagSequenceSequence maFlag;
-//
-//public:
-// SdXMLImExSvgDElement(const SdXMLImExViewBox& rViewBox);
-// SdXMLImExSvgDElement(const rtl::OUString& rNew,
-// const SdXMLImExViewBox& rViewBox,
-// const com::sun::star::awt::Point& rObjectPos,
-// const com::sun::star::awt::Size& rObjectSize,
-// const SvXMLUnitConverter& rConv);
-//
-// void AddPolygon(
-// com::sun::star::drawing::PointSequence* pPoints,
-// com::sun::star::drawing::FlagSequence* pFlags,
-// const com::sun::star::awt::Point& rObjectPos,
-// const com::sun::star::awt::Size& rObjectSize,
-// bool bClosed = false, bool bRelative = true);
-//
-// const rtl::OUString& GetExportString() const { return msString; }
-// bool IsClosed() const { return mbIsClosed; }
-// bool IsCurve() const { return mbIsCurve; }
-// const com::sun::star::drawing::PointSequenceSequence& GetPointSequenceSequence() const { return maPoly; }
-// const com::sun::star::drawing::FlagSequenceSequence& GetFlagSequenceSequence() const { return maFlag; }
-//};
-//
-
#endif // _XEXPTRANSFORM_HXX
// eof
diff --git a/xmloff/source/draw/XMLImageMapContext.cxx b/xmloff/source/draw/XMLImageMapContext.cxx
index 17b5e94ee849..bb00dedd9930 100644
--- a/xmloff/source/draw/XMLImageMapContext.cxx
+++ b/xmloff/source/draw/XMLImageMapContext.cxx
@@ -508,18 +508,6 @@ void XMLImageMapPolygonContext::Prepare(Reference<XPropertySet> & rPropertySet)
rPropertySet->setPropertyValue(sPolygon, aAny);
}
}
- //awt::Point aPoint(aViewBox.GetX(), aViewBox.GetY());
- //awt::Size aSize(aViewBox.GetWidth(), aViewBox.GetHeight());
- //SdXMLImExPointsElement aPoints( sPointsString, aViewBox, aPoint, aSize, GetImport().GetMM100UnitConverter(), true );
- //PointSequenceSequence aPointSeqSeq = aPoints.GetPointSequenceSequence();
- //
- //// only use first element of sequence-sequence
- //if (aPointSeqSeq.getLength() > 0)
- //{
- // Any aAny;
- // aAny <<= aPointSeqSeq[0];
- // rPropertySet->setPropertyValue(sPolygon, aAny);
- //}
// parent properties
XMLImageMapObjectContext::Prepare(rPropertySet);
diff --git a/xmloff/source/draw/XMLImageMapExport.cxx b/xmloff/source/draw/XMLImageMapExport.cxx
index 89cf157f237a..012a35a7d0d2 100644
--- a/xmloff/source/draw/XMLImageMapExport.cxx
+++ b/xmloff/source/draw/XMLImageMapExport.cxx
@@ -318,8 +318,7 @@ void XMLImageMapExport::ExportCircle(
aBuffer.makeStringAndClear() );
}
-void XMLImageMapExport::ExportPolygon(
- const Reference<XPropertySet> & rPropertySet)
+void XMLImageMapExport::ExportPolygon(const Reference<XPropertySet> & rPropertySet)
{
// polygons get exported as bounding box, viewbox, and coordinate
// pair sequence. The bounding box is always the entire image.
@@ -334,27 +333,6 @@ void XMLImageMapExport::ExportPolygon(
aPoly));
const basegfx::B2DRange aPolygonRange(aPolygon.getB2DRange());
-// TTTT:
-// // get bounding box (assume top-left to be 0,0)
-// sal_Int32 nWidth = 0;
-// sal_Int32 nHeight = 0;
-// sal_Int32 nLength = aPoly.getLength();
-// const struct awt::Point* pPointPtr = aPoly.getConstArray();
-// for ( sal_Int32 i = 0; i < nLength; i++ )
-// {
-// sal_Int32 nPolyX = pPointPtr->X;
-// sal_Int32 nPolyY = pPointPtr->Y;
-//
-// if ( nPolyX > nWidth )
-// nWidth = nPolyX;
-// if ( nPolyY > nHeight )
-// nHeight = nPolyY;
-//
-// pPointPtr++;
-// }
-// DBG_ASSERT(nWidth > 0, "impossible Polygon found");
-// DBG_ASSERT(nHeight > 0, "impossible Polygon found");
-
// parameters svg:x, svg:y, svg:width, svg:height
OUStringBuffer aBuffer;
@@ -377,12 +355,6 @@ void XMLImageMapExport::ExportPolygon(
aPolygon));
mrExport.AddAttribute(XML_NAMESPACE_DRAW, XML_POINTS, aPointString);
-
- // TTTT:
- //awt::Point aPoint(0, 0);
- //awt::Size aSize(nWidth, nHeight);
- //SdXMLImExPointsElement aPoints( &aPoly, aViewBox, aPoint, aSize, true);
- //mrExport.AddAttribute( XML_NAMESPACE_DRAW, XML_POINTS, aPoints.GetExportString());
}
// eof
diff --git a/xmloff/source/draw/shapeexport2.cxx b/xmloff/source/draw/shapeexport2.cxx
index 4313e820759e..ec6a06712893 100644
--- a/xmloff/source/draw/shapeexport2.cxx
+++ b/xmloff/source/draw/shapeexport2.cxx
@@ -949,26 +949,26 @@ void XMLShapeExport::ImpExportEllipseShape(
sal_Bool bCreateNewline( (nFeatures & SEF_EXPORT_NO_WS) == 0 ); // #86116#/#92210#
+ // prepare name (with most used)
+ enum ::xmloff::token::XMLTokenEnum eName(XML_CIRCLE);
+
if(bCircle)
{
- // write circle
- SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW, XML_CIRCLE, bCreateNewline, sal_True);
-
- ImpExportDescription( xShape ); // #i68101#
- ImpExportEvents( xShape );
- ImpExportGluePoints( xShape );
- ImpExportText( xShape );
+ // name already set
}
else
{
- // write ellipse
- SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW, XML_ELLIPSE, bCreateNewline, sal_True);
-
- ImpExportDescription( xShape ); // #i68101#
- ImpExportEvents( xShape );
- ImpExportGluePoints( xShape );
- ImpExportText( xShape );
+ // set name
+ eName = XML_ELLIPSE;
}
+
+ // write ellipse or circle
+ SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW, eName, bCreateNewline, sal_True);
+
+ ImpExportDescription( xShape ); // #i68101#
+ ImpExportEvents( xShape );
+ ImpExportGluePoints( xShape );
+ ImpExportText( xShape );
}
}
@@ -976,17 +976,12 @@ void XMLShapeExport::ImpExportEllipseShape(
void XMLShapeExport::ImpExportPolygonShape(
const uno::Reference< drawing::XShape >& xShape,
- XmlShapeType /*eShapeType*/, sal_Int32 nFeatures, awt::Point* pRefPoint) // TTTT: eShapeType
+ XmlShapeType /*eShapeType*/, sal_Int32 nFeatures, awt::Point* pRefPoint)
{
const uno::Reference< beans::XPropertySet > xPropSet(xShape, uno::UNO_QUERY);
if(xPropSet.is())
{
-// sal_Bool bClosed(eShapeType == XmlShapeTypeDrawPolyPolygonShape
-// || eShapeType == XmlShapeTypeDrawClosedBezierShape);
-// sal_Bool bBezier(eShapeType == XmlShapeTypeDrawClosedBezierShape
-// || eShapeType == XmlShapeTypeDrawOpenBezierShape);
-
// get matrix
::basegfx::B2DHomMatrix aMatrix;
ImpExportNewTrans_GetB2DHomMatrix(aMatrix, xPropSet);
@@ -1001,9 +996,6 @@ void XMLShapeExport::ImpExportPolygonShape(
// use features and write
ImpExportNewTrans_FeaturesAndWrite(aTRScale, fTRShear, fTRRotate, aTRTranslate, nFeatures);
- //awt::Point aPoint(0, 0);
- //awt::Size aSize(FRound(fabs(aTRScale.getX())), FRound(fabs(aTRScale.getY())));
-
// create and export ViewBox. caution! for svg:ViewBox, use the absolute values (!)
SdXMLImExViewBox aViewBox(0.0, 0.0, fabs(aTRScale.getX()), fabs(aTRScale.getY()));
@@ -1014,6 +1006,9 @@ void XMLShapeExport::ImpExportPolygonShape(
basegfx::B2DPolyPolygon aPolyPolygon;
const bool bCreateNewline( (nFeatures & SEF_EXPORT_NO_WS) == 0 ); // #86116#/#92210#
+ // prepare name (with most used)
+ enum ::xmloff::token::XMLTokenEnum eName(XML_PATH);
+
if(aAny.getValueType().equals(getCppuType((drawing::PolyPolygonBezierCoords*)0)))
{
aPolyPolygon = basegfx::tools::UnoPolyPolygonBezierCoordsToB2DPolyPolygon(*(drawing::PolyPolygonBezierCoords*)aAny.getValue());
@@ -1032,13 +1027,8 @@ void XMLShapeExport::ImpExportPolygonShape(
// write point array
mrExport.AddAttribute(XML_NAMESPACE_DRAW, XML_POINTS, aPointString);
- // write object now
- SvXMLElementExport aOBJ(
- mrExport,
- XML_NAMESPACE_DRAW,
- aPolygon.isClosed() ? XML_POLYGON : XML_POLYLINE,
- bCreateNewline,
- sal_True);
+ // set name
+ eName = aPolygon.isClosed() ? XML_POLYGON : XML_POLYLINE;
}
else
{
@@ -1051,135 +1041,22 @@ void XMLShapeExport::ImpExportPolygonShape(
// write point array
mrExport.AddAttribute(XML_NAMESPACE_SVG, XML_D, aPolygonString);
-
- // write object now
- SvXMLElementExport aOBJ(
- mrExport,
- XML_NAMESPACE_DRAW,
- XML_PATH,
- bCreateNewline,
- sal_True);
}
+ // write object, but after attributes are added since this call will
+ // consume all of these added attributes and the destructor will close the
+ // scope. Also before text is added; this may add sub-scopes as needed
+ SvXMLElementExport aOBJ(
+ mrExport,
+ XML_NAMESPACE_DRAW,
+ eName,
+ bCreateNewline,
+ sal_True);
+
ImpExportDescription( xShape ); // #i68101#
ImpExportEvents( xShape );
ImpExportGluePoints( xShape );
ImpExportText( xShape );
-
-// TTTT
-// if(bBezier)
-// {
-// // get PolygonBezier
-// uno::Any aAny( xPropSet->getPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("Geometry"))) );
-// 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
-// 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, bClosed);
-// }
-// }
-//
-// // write point array
-// mrExport.AddAttribute(XML_NAMESPACE_SVG, XML_D, aSvgDElement.GetExportString());
-// }
-//
-// // write object now
-// SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW, XML_PATH, bCreateNewline, sal_True);
-//
-// ImpExportDescription( xShape ); // #i68101#
-// ImpExportEvents( xShape );
-// ImpExportGluePoints( xShape );
-// ImpExportText( xShape );
-// }
-// }
-// else
-// {
-// // get non-bezier polygon
-// uno::Any aAny( xPropSet->getPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("Geometry"))) );
-// drawing::PointSequenceSequence* pSourcePolyPolygon = (drawing::PointSequenceSequence*)aAny.getValue();
-//
-// if(pSourcePolyPolygon && pSourcePolyPolygon->getLength())
-// {
-// sal_Int32 nOuterCnt(pSourcePolyPolygon->getLength());
-//
-// if(1L == nOuterCnt && !bBezier)
-// {
-// // simple polygon shape, can be written as svg:points sequence
-// drawing::PointSequence* pSequence = pSourcePolyPolygon->getArray();
-// if(pSequence)
-// {
-// const basegfx::B2DPolygon aPolygon(
-// basegfx::tools::UnoPointSequenceToB2DPolygon(
-// *pSequence));
-// const ::rtl::OUString aPointString(
-// basegfx::tools::exportToSvgPoints(
-// aPolygon));
-// // SdXMLImExPointsElement aPoints(pSequence, aViewBox, aPoint, aSize, bClosed);
-//
-// // write point array
-// mrExport.AddAttribute(XML_NAMESPACE_DRAW, XML_POINTS, aPointString);
-// }
-//
-// // write object now
-// SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW,
-// bClosed ? XML_POLYGON : XML_POLYLINE , bCreateNewline, sal_True);
-//
-// ImpExportDescription( xShape ); // #i68101#
-// ImpExportEvents( xShape );
-// ImpExportGluePoints( xShape );
-// ImpExportText( xShape );
-// }
-// else
-// {
-// // polypolygon or bezier, needs to be written as a svg:path sequence
-// drawing::PointSequence* pOuterSequence = pSourcePolyPolygon->getArray();
-// if(pOuterSequence)
-// {
-// // prepare svx:d element export
-// SdXMLImExSvgDElement aSvgDElement(aViewBox);
-//
-// for(sal_Int32 a(0L); a < nOuterCnt; a++)
-// {
-// drawing::PointSequence* pSequence = pOuterSequence++;
-// if(pSequence)
-// {
-// aSvgDElement.AddPolygon(pSequence, 0L, aPoint,
-// aSize, bClosed);
-// }
-// }
-//
-// // write point array
-// mrExport.AddAttribute(XML_NAMESPACE_SVG, XML_D, aSvgDElement.GetExportString());
-// }
-//
-// // write object now
-// SvXMLElementExport aOBJ(mrExport, XML_NAMESPACE_DRAW, XML_PATH, bCreateNewline, sal_True);
-//
-// ImpExportDescription( xShape ); // #i68101#
-// ImpExportEvents( xShape );
-// ImpExportGluePoints( xShape );
-// ImpExportText( xShape );
-// }
-// }
-// }
}
}
@@ -1538,34 +1415,6 @@ void XMLShapeExport::ImpExportConnectorShape(
// write svg:d
mrExport.AddAttribute(XML_NAMESPACE_SVG, XML_D, aPolygonString);
-// TTTT
-// 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, 0.0, 1.0, 1.0 );
-// 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());
-// }
}
}
diff --git a/xmloff/source/draw/shapeexport3.cxx b/xmloff/source/draw/shapeexport3.cxx
index c3ef92d1edc7..b905bb326c21 100644
--- a/xmloff/source/draw/shapeexport3.cxx
+++ b/xmloff/source/draw/shapeexport3.cxx
@@ -237,99 +237,6 @@ void XMLShapeExport::ImpExport3DShape(
// write point array
mrExport.AddAttribute(XML_NAMESPACE_SVG, XML_D, aPolygonString);
- // TTTT
- //// look for maximal values
- //double fXMin = 0;
- //double fXMax = 0;
- //double fYMin = 0;
- //double fYMax = 0;
- //sal_Bool bInit(sal_False);
- //sal_Int32 nOuterSequenceCount(xPolyPolygon3D.SequenceX.getLength());
- //drawing::DoubleSequence* pInnerSequenceX = xPolyPolygon3D.SequenceX.getArray();
- //drawing::DoubleSequence* pInnerSequenceY = xPolyPolygon3D.SequenceY.getArray();
- //
- //sal_Int32 a;
- //for (a = 0; a < nOuterSequenceCount; a++)
- //{
- // sal_Int32 nInnerSequenceCount(pInnerSequenceX->getLength());
- // double* pArrayX = pInnerSequenceX->getArray();
- // double* pArrayY = pInnerSequenceY->getArray();
- //
- // for(sal_Int32 b(0L); b < nInnerSequenceCount; b++)
- // {
- // double fX = *pArrayX++;
- // double fY = *pArrayY++;
- //
- // if(bInit)
- // {
- // if(fX > fXMax)
- // fXMax = fX;
- //
- // if(fX < fXMin)
- // fXMin = fX;
- //
- // if(fY > fYMax)
- // fYMax = fY;
- //
- // if(fY < fYMin)
- // fYMin = fY;
- // }
- // else
- // {
- // fXMin = fXMax = fX;
- // fYMin = fYMax = fY;
- // bInit = sal_True;
- // }
- // }
- //
- // pInnerSequenceX++;
- // pInnerSequenceY++;
- //}
- //
- //// export ViewBox
- //awt::Point aMinPoint(FRound(fXMin), FRound(fYMin));
- //awt::Size aMaxSize(FRound(fXMax) - aMinPoint.X, FRound(fYMax) - aMinPoint.Y);
- //SdXMLImExViewBox aViewBox(fXMin, fYMin, fXMax - fXMin, fYMax - fYMin);
- //mrExport.AddAttribute(XML_NAMESPACE_SVG, XML_VIEWBOX, aViewBox.GetExportString());
- //
- //// prepare svx:d element export
- //SdXMLImExSvgDElement aSvgDElement(aViewBox);
- //pInnerSequenceX = xPolyPolygon3D.SequenceX.getArray();
- //pInnerSequenceY = xPolyPolygon3D.SequenceY.getArray();
- //
- //for (a = 0; a < nOuterSequenceCount; a++)
- //{
- // sal_Int32 nInnerSequenceCount(pInnerSequenceX->getLength());
- // double* pArrayX = pInnerSequenceX->getArray();
- // double* pArrayY = pInnerSequenceY->getArray();
- // drawing::PointSequence aPoly(nInnerSequenceCount);
- // awt::Point* pInnerSequence = aPoly.getArray();
- //
- // for(sal_Int32 b(0L); b < nInnerSequenceCount; b++)
- // {
- // double fX = *pArrayX++;
- // double fY = *pArrayY++;
- //
- // *pInnerSequence = awt::Point(FRound(fX), FRound(fY));
- // pInnerSequence++;
- // }
- //
- // // calculate closed flag
- // awt::Point* pFirst = aPoly.getArray();
- // awt::Point* pLast = pFirst + (nInnerSequenceCount - 1);
- // sal_Bool bClosed = (pFirst->X == pLast->X && pFirst->Y == pLast->Y);
- //
- // aSvgDElement.AddPolygon(&aPoly, 0L, aMinPoint,
- // aMaxSize, bClosed);
- //
- // // #80594# corrected error in PolyPolygon3D export for 3D XML
- // pInnerSequenceX++;
- // pInnerSequenceY++;
- //}
- //
- //// write point array
- //mrExport.AddAttribute(XML_NAMESPACE_SVG, XML_D, aSvgDElement.GetExportString());
-
if(eShapeType == XmlShapeTypeDraw3DLatheObject)
{
// write 3DLathe shape
diff --git a/xmloff/source/draw/xexptran.cxx b/xmloff/source/draw/xexptran.cxx
index 7ee9bddab83c..3d4204f734da 100644
--- a/xmloff/source/draw/xexptran.cxx
+++ b/xmloff/source/draw/xexptran.cxx
@@ -1318,1778 +1318,4 @@ const OUString& SdXMLImExViewBox::GetExportString()
return msString;
}
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-//SdXMLImExPointsElement::SdXMLImExPointsElement(drawing::PointSequence* pPoints,
-// const SdXMLImExViewBox& rViewBox,
-// const awt::Point& rObjectPos,
-// const awt::Size& rObjectSize,
-// const bool bClosed)
-//: maPoly( 0L )
-//{
-// DBG_ASSERT(pPoints, "Empty PointSequence handed over to SdXMLImExPointsElement(!)");
-//
-// // add polygon to string
-// sal_Int32 nCnt(pPoints->getLength());
-//
-// // #104076# Convert to string only when at last one point included
-// if(nCnt > 0)
-// {
-// OUString aNewString;
-// awt::Point* pArray = pPoints->getArray();
-//
-// // last point same? Ignore it.
-// // #96328# ...but only when polygon is CLOSED
-// if(bClosed && (pArray->X == (pArray + (nCnt - 1))->X) && (pArray->Y == (pArray + (nCnt - 1))->Y))
-// nCnt--;
-//
-// // object size and ViewBox size different?
-// bool bScale(rObjectSize.Width != rViewBox.GetWidth()
-// || rObjectSize.Height != rViewBox.GetHeight());
-// bool bTranslate(rViewBox.GetX() != 0L || rViewBox.GetY() != 0L);
-//
-// for(sal_Int32 a(0L); a < nCnt; a++)
-// {
-// // prepare coordinates
-// sal_Int32 nX( pArray->X - rObjectPos.X );
-// sal_Int32 nY( pArray->Y - rObjectPos.Y );
-//
-// if(bScale && rObjectSize.Width && rObjectSize.Height)
-// {
-// nX = (nX * rViewBox.GetWidth()) / rObjectSize.Width;
-// nY = (nY * rViewBox.GetHeight()) / rObjectSize.Height;
-// }
-//
-// if(bTranslate)
-// {
-// nX += rViewBox.GetX();
-// nY += rViewBox.GetY();
-// }
-//
-// // X and comma
-// Imp_PutNumberChar(aNewString, nX);
-// aNewString += String(sal_Unicode(','));
-//
-// // Y and space (not for last)
-// Imp_PutNumberChar(aNewString, nY);
-// if(a + 1 != nCnt)
-// aNewString += String(sal_Unicode(' '));
-//
-// // next point
-// pArray++;
-// }
-//
-// // set new string
-// msString = aNewString;
-// }
-//}
-//
-//// #100617# svg:polyline or svg:polygon values may be double precision.
-//SdXMLImExPointsElement::SdXMLImExPointsElement(const OUString& rNew,
-// const SdXMLImExViewBox& rViewBox,
-// const awt::Point& rObjectPos,
-// const awt::Size& rObjectSize,
-// const SvXMLUnitConverter& rConv,
-// const bool bClosed)
-//: msString( rNew ),
-// maPoly( 0L )
-//{
-// // convert string to polygon
-// const OUString aStr(msString.getStr(), (sal_uInt16)msString.getLength());
-// const sal_Int32 nLen(aStr.getLength());
-// sal_Int32 nPos(0);
-// sal_Int32 nNumPoints(0L);
-//
-// // skip starting spaces
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// // count points in first loop
-// while(nPos < nLen)
-// {
-// // skip number, #100617# be prepared for doubles
-// Imp_SkipDouble(aStr, nPos, nLen);
-//
-// // skip spaces and commas
-// Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
-//
-// // skip number, #100617# be prepared for doubles
-// Imp_SkipDouble(aStr, nPos, nLen);
-//
-// // skip spaces and commas
-// Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
-//
-// // one more point
-// nNumPoints++;
-// }
-//
-// // second loop
-// if(nNumPoints)
-// {
-// nPos = 0;
-// maPoly.realloc(1);
-// drawing::PointSequence* pOuterSequence = maPoly.getArray();
-// pOuterSequence->realloc(nNumPoints + (bClosed ? 1 : 0));
-// awt::Point* pInnerSequence = pOuterSequence->getArray();
-//
-// // object size and ViewBox size different?
-// bool bScale(rObjectSize.Width != rViewBox.GetWidth()
-// || rObjectSize.Height != rViewBox.GetHeight());
-// bool bTranslate(rViewBox.GetX() != 0L || rViewBox.GetY() != 0L);
-//
-// // skip starting spaces
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen)
-// {
-// // prepare new parameter pair
-// sal_Int32 nX(0L);
-// sal_Int32 nY(0L);
-//
-// // get mX, #100617# be prepared for doubles
-// nX = FRound(Imp_GetDoubleChar(aStr, nPos, nLen, rConv, (double)nX));
-//
-// // skip spaces and commas
-// Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
-//
-// // get mY, #100617# be prepared for doubles
-// nY = FRound(Imp_GetDoubleChar(aStr, nPos, nLen, rConv, (double)nY));
-//
-// // skip spaces and commas
-// Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
-//
-// // prepare parameters
-// if(bTranslate)
-// {
-// nX -= rViewBox.GetX();
-// nY -= rViewBox.GetY();
-// }
-//
-// if(bScale && rViewBox.GetWidth() && rViewBox.GetHeight() )
-// {
-// nX = (nX * rObjectSize.Width) / rViewBox.GetWidth();
-// nY = (nY * rObjectSize.Height) / rViewBox.GetHeight();
-// }
-//
-// nX += rObjectPos.X;
-// nY += rObjectPos.Y;
-//
-// // add new point
-// *pInnerSequence = awt::Point( nX, nY );
-// pInnerSequence++;
-// }
-//
-// if(bClosed)
-// {
-// *pInnerSequence = *pOuterSequence->getArray();
-// }
-// }
-//}
-//
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-//
-//SdXMLImExSvgDElement::SdXMLImExSvgDElement(const SdXMLImExViewBox& rViewBox)
-//: mrViewBox( rViewBox ),
-// mbIsClosed( false ),
-// mbIsCurve( false ),
-// mnLastX( 0L ),
-// mnLastY( 0L ),
-// maPoly( 0L ),
-// maFlag( 0L )
-//{
-//}
-//
-//void Imp_GetPrevPos(awt::Point*& pPrevPos1,
-// drawing::PolygonFlags& aPrevFlag1,
-// const bool bClosed, awt::Point* pPoints,
-// drawing::PolygonFlags* pFlags, const sal_Int32 nPos,
-// const sal_Int32 nCnt, const sal_Int32 nAdd)
-//{
-// if(bClosed)
-// {
-// pPrevPos1 = pPoints + ((nPos + nCnt - nAdd) % nCnt);
-// aPrevFlag1 = *(pFlags + ((nPos + nCnt - nAdd) % nCnt));
-// }
-// else if(nPos > (nAdd - 1))
-// {
-// pPrevPos1 = pPoints + (nPos - nAdd);
-// aPrevFlag1 = *(pFlags + (nPos - nAdd));
-// }
-// else
-// pPrevPos1 = 0L;
-//}
-//
-//void Imp_PrepareCoorExport(sal_Int32& nX, sal_Int32& nY,
-// const awt::Point* pPointArray, const awt::Point& rObjectPos,
-// const awt::Size& rObjectSize, const SdXMLImExViewBox& mrViewBox,
-// const bool bScale, const bool bTranslate)
-//{
-// nX = pPointArray->X - rObjectPos.X;
-// nY = pPointArray->Y - rObjectPos.Y;
-//
-// if(bScale && rObjectSize.Width && rObjectSize.Height )
-// {
-// nX = (nX * mrViewBox.GetWidth()) / rObjectSize.Width;
-// nY = (nY * mrViewBox.GetHeight()) / rObjectSize.Height;
-// }
-//
-// if(bTranslate)
-// {
-// nX += mrViewBox.GetX();
-// nY += mrViewBox.GetY();
-// }
-//}
-//
-////#define TEST_QUADRATIC_CURVES
-//#ifdef TEST_QUADRATIC_CURVES
-//// To be able to test quadratic curve code: The code concerning to
-//// bDoTestHere can be used (see below). Construct shapes which have their control
-//// points on equal coordinates. When these are written, they can be
-//// forced to create correct 'Q' and 'T' statements using this flag.
-//// These may then be tested for import/exporting.
-//static bool bDoTestHere(true);
-//#endif // TEST_QUADRATIC_CURVES
-//
-//void SdXMLImExSvgDElement::AddPolygon(
-// drawing::PointSequence* pPoints,
-// drawing::FlagSequence* pFlags,
-// const awt::Point& rObjectPos,
-// const awt::Size& rObjectSize,
-// bool bClosed, bool bRelative)
-//{
-// DBG_ASSERT(pPoints, "Empty PointSequence handed over to SdXMLImExSvgDElement(!)");
-//
-// sal_Int32 nCnt(pPoints->getLength());
-//
-// // #104076# Convert to string only when at last one point included
-// if(nCnt > 0)
-// {
-// // append polygon to string
-// OUString aNewString;
-// sal_Unicode aLastCommand = ' ';
-// awt::Point* pPointArray = pPoints->getArray();
-//
-// // are the flags used at all? If not forget about them
-// if(pFlags)
-// {
-// sal_Int32 nFlagCnt(pFlags->getLength());
-//
-// if(nFlagCnt)
-// {
-// bool bFlagsUsed(false);
-// drawing::PolygonFlags* pFlagArray = pFlags->getArray();
-//
-// for(sal_Int32 a(0); !bFlagsUsed && a < nFlagCnt; a++)
-// if(drawing::PolygonFlags_NORMAL != *pFlagArray++)
-// bFlagsUsed = true;
-//
-// if(!bFlagsUsed)
-// pFlags = 0L;
-// }
-// else
-// {
-// pFlags = 0L;
-// }
-// }
-//
-// // object size and ViewBox size different?
-// bool bScale(rObjectSize.Width != mrViewBox.GetWidth()
-// || rObjectSize.Height != mrViewBox.GetHeight());
-// bool bTranslate(mrViewBox.GetX() != 0L || mrViewBox.GetY() != 0L);
-//
-// // #87202# rework of point reduction:
-// // Test for Last point same -> closed, ignore last point. Take
-// // some more circumstances in account when looking at curve segments.
-// drawing::PolygonFlags* pFlagArray = (pFlags) ? pFlags->getArray() : 0L;
-//
-// // #121090# only reduce double start/end points if polygon *is* closed
-// if(bClosed && (pPointArray->X == (pPointArray + (nCnt - 1))->X) && (pPointArray->Y == (pPointArray + (nCnt - 1))->Y))
-// {
-// if(pFlags)
-// {
-// // point needs to be ignored if point before it is
-// // NO control point. Else the last point is needed
-// // for exporting the last segment of the curve. That means
-// // that the last and the first point will be saved double,
-// // but SVG does not support a better solution here.
-// if(nCnt >= 2 && drawing::PolygonFlags_CONTROL != *(pFlagArray + (nCnt - 2)))
-// {
-// nCnt--;
-// }
-// }
-// else
-// {
-// // no curve, ignore last point
-// nCnt--;
-// }
-// }
-//
-// // bezier poly, handle curves
-// bool bDidWriteStart(false);
-//
-// for(sal_Int32 a(0L); a < nCnt; a++)
-// {
-// if(!pFlags || drawing::PolygonFlags_CONTROL != *pFlagArray)
-// {
-// bool bDidWriteAsCurve(false);
-//
-// if(bDidWriteStart)
-// {
-// if(pFlags)
-// {
-// // real curve point, get previous to see if it's a control point
-// awt::Point* pPrevPos1;
-// drawing::PolygonFlags aPrevFlag1;
-//
-// Imp_GetPrevPos(pPrevPos1, aPrevFlag1, bClosed, pPoints->getArray(),
-// pFlags->getArray(), a, nCnt, 1);
-//
-// if(pPrevPos1 && drawing::PolygonFlags_CONTROL == aPrevFlag1)
-// {
-// // get previous2 to see if it's a control point, too
-// awt::Point* pPrevPos2;
-// drawing::PolygonFlags aPrevFlag2;
-//
-// Imp_GetPrevPos(pPrevPos2, aPrevFlag2, bClosed, pPoints->getArray(),
-// pFlags->getArray(), a, nCnt, 2);
-//
-// if(pPrevPos2 && drawing::PolygonFlags_CONTROL == aPrevFlag2)
-// {
-// // get previous3 to see if it's a curve point and if,
-// // if it is fully symmetric or not
-// awt::Point* pPrevPos3;
-// drawing::PolygonFlags aPrevFlag3;
-//
-// Imp_GetPrevPos(pPrevPos3, aPrevFlag3, bClosed, pPoints->getArray(),
-// pFlags->getArray(), a, nCnt, 3);
-//
-// if(pPrevPos3)
-// {
-// // prepare coordinates
-// sal_Int32 nX, nY;
-//
-// Imp_PrepareCoorExport(nX, nY, pPointArray, rObjectPos, rObjectSize,
-// mrViewBox, bScale, bTranslate);
-//
-// // #100617# test if this curve segment may be written as
-// // a quadratic bezier
-// // That's the case if both control points are in the same place
-// // when they are prolonged to the common quadratic control point
-// // Left: P = (3P1 - P0) / 2
-// // Right: P = (3P2 - P3) / 2
-// bool bIsQuadratic(false);
-// const bool bEnableSaveQuadratic(false);
-//
-// sal_Int32 nPX_L(FRound((double)((3 * pPrevPos2->X) - pPrevPos3->X) / 2.0));
-// sal_Int32 nPY_L(FRound((double)((3 * pPrevPos2->Y) - pPrevPos3->Y) / 2.0));
-// sal_Int32 nPX_R(FRound((double)((3 * pPrevPos1->X) - pPointArray->X) / 2.0));
-// sal_Int32 nPY_R(FRound((double)((3 * pPrevPos1->Y) - pPointArray->Y) / 2.0));
-// sal_Int32 nDist(0);
-//
-// if(nPX_L != nPX_R)
-// {
-// nDist += abs(nPX_L - nPX_R);
-// }
-//
-// if(nPY_L != nPY_R)
-// {
-// nDist += abs(nPY_L - nPY_R);
-// }
-//
-// if(nDist <= BORDER_INTEGERS_ARE_EQUAL)
-// {
-// if(bEnableSaveQuadratic)
-// {
-// bIsQuadratic = true;
-// }
-// }
-//
-//#ifdef TEST_QUADRATIC_CURVES
-// if(bDoTestHere)
-// {
-// bIsQuadratic = false;
-//
-// if(pPrevPos1->X == pPrevPos2->X && pPrevPos1->Y == pPrevPos2->Y)
-// bIsQuadratic = true;
-// }
-//#endif // TEST_QUADRATIC_CURVES
-//
-// if(bIsQuadratic)
-// {
-//#ifdef TEST_QUADRATIC_CURVES
-// if(bDoTestHere)
-// {
-// bool bPrevPointIsSymmetric(false);
-//
-// if(drawing::PolygonFlags_SYMMETRIC == aPrevFlag3)
-// {
-// // get previous4 to see if it's a control point
-// awt::Point* pPrevPos4;
-// drawing::PolygonFlags aPrevFlag4;
-//
-// Imp_GetPrevPos(pPrevPos4, aPrevFlag4, bClosed, pPoints->getArray(),
-// pFlags->getArray(), a, nCnt, 4);
-//
-// if(drawing::PolygonFlags_CONTROL == aPrevFlag4)
-// {
-// // okay, prevPos3 is symmetric (c2) and prevPos4
-// // is existing control point, the 's' statement can be used
-// bPrevPointIsSymmetric = true;
-// }
-// }
-//
-// if(bPrevPointIsSymmetric)
-// {
-// // write a shorthand/smooth quadratic curveto entry (T)
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('t'))
-// aNewString += OUString(sal_Unicode('t'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('t');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('T'))
-// aNewString += OUString(sal_Unicode('T'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('T');
-// }
-// }
-// else
-// {
-// // prepare coordinates
-// sal_Int32 nX1, nY1;
-//
-// Imp_PrepareCoorExport(nX1, nY1, pPrevPos1, rObjectPos, rObjectSize,
-// mrViewBox, bScale, bTranslate);
-//
-// // write a quadratic curveto entry (Q)
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('q'))
-// aNewString += OUString(sal_Unicode('q'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX1 - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY1 - mnLastY);
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('q');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('Q'))
-// aNewString += OUString(sal_Unicode('Q'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX1);
-// Imp_PutNumberCharWithSpace(aNewString, nY1);
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('Q');
-// }
-// }
-// }
-// else
-// {
-//#endif // TEST_QUADRATIC_CURVES
-// awt::Point aNewPoint(nPX_L, nPY_L);
-// bool bPrevPointIsSmooth(false);
-//
-// if(drawing::PolygonFlags_SMOOTH == aPrevFlag3)
-// {
-// // get previous4 to see if it's a control point
-// awt::Point* pPrevPos4;
-// drawing::PolygonFlags aPrevFlag4;
-//
-// Imp_GetPrevPos(pPrevPos4, aPrevFlag4, bClosed, pPoints->getArray(),
-// pFlags->getArray(), a, nCnt, 4);
-//
-// if(drawing::PolygonFlags_CONTROL == aPrevFlag4)
-// {
-// // okay, prevPos3 is smooth (c1) and prevPos4
-// // is existing control point. Test if it's even symmetric
-// // and thus the 'T' statement may be used.
-// ::basegfx::B2DVector aVec1(pPrevPos4->X - pPrevPos3->X, pPrevPos4->Y - pPrevPos3->Y);
-// ::basegfx::B2DVector aVec2(aNewPoint.X - pPrevPos3->X, aNewPoint.Y - pPrevPos3->Y);
-// bool bSameLength(false);
-// bool bSameDirection(false);
-//
-// // get vector values
-// Imp_CalcVectorValues(aVec1, aVec2, bSameLength, bSameDirection);
-//
-// if(bSameLength && bSameDirection)
-// bPrevPointIsSmooth = true;
-// }
-// }
-//
-// if(bPrevPointIsSmooth)
-// {
-// // write a shorthand/smooth quadratic curveto entry (T)
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('t'))
-// aNewString += String(sal_Unicode('t'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('t');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('T'))
-// aNewString += String(sal_Unicode('T'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('T');
-// }
-// }
-// else
-// {
-// // prepare coordinates
-// sal_Int32 nX1, nY1;
-//
-// Imp_PrepareCoorExport(nX1, nY1, &aNewPoint, rObjectPos, rObjectSize,
-// mrViewBox, bScale, bTranslate);
-//
-// // write a quadratic curveto entry (Q)
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('q'))
-// aNewString += String(sal_Unicode('q'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX1 - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY1 - mnLastY);
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('q');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('Q'))
-// aNewString += String(sal_Unicode('Q'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX1);
-// Imp_PutNumberCharWithSpace(aNewString, nY1);
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('Q');
-// }
-// }
-//#ifdef TEST_QUADRATIC_CURVES
-// }
-//#endif // TEST_QUADRATIC_CURVES
-// }
-// else
-// {
-// bool bPrevPointIsSymmetric(false);
-//
-// if(drawing::PolygonFlags_SYMMETRIC == aPrevFlag3)
-// {
-// // get previous4 to see if it's a control point
-// awt::Point* pPrevPos4;
-// drawing::PolygonFlags aPrevFlag4;
-//
-// Imp_GetPrevPos(pPrevPos4, aPrevFlag4, bClosed, pPoints->getArray(),
-// pFlags->getArray(), a, nCnt, 4);
-//
-// if(drawing::PolygonFlags_CONTROL == aPrevFlag4)
-// {
-// // okay, prevPos3 is symmetric (c2) and prevPos4
-// // is existing control point, the 's' statement can be used
-// bPrevPointIsSymmetric = true;
-// }
-// }
-//
-// // prepare coordinates
-// sal_Int32 nX2, nY2;
-//
-// Imp_PrepareCoorExport(nX2, nY2, pPrevPos1, rObjectPos, rObjectSize,
-// mrViewBox, bScale, bTranslate);
-//
-// if(bPrevPointIsSymmetric)
-// {
-// // write a shorthand/smooth curveto entry (S)
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('s'))
-// aNewString += String(sal_Unicode('s'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX2 - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY2 - mnLastY);
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('s');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('S'))
-// aNewString += String(sal_Unicode('S'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX2);
-// Imp_PutNumberCharWithSpace(aNewString, nY2);
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('S');
-// }
-// }
-// else
-// {
-// // prepare coordinates
-// sal_Int32 nX1, nY1;
-//
-// Imp_PrepareCoorExport(nX1, nY1, pPrevPos2, rObjectPos, rObjectSize,
-// mrViewBox, bScale, bTranslate);
-//
-// // write a curveto entry (C)
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('c'))
-// aNewString += String(sal_Unicode('c'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX1 - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY1 - mnLastY);
-// Imp_PutNumberCharWithSpace(aNewString, nX2 - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY2 - mnLastY);
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('c');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('C'))
-// aNewString += String(sal_Unicode('C'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX1);
-// Imp_PutNumberCharWithSpace(aNewString, nY1);
-// Imp_PutNumberCharWithSpace(aNewString, nX2);
-// Imp_PutNumberCharWithSpace(aNewString, nY2);
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('C');
-// }
-// }
-// }
-//
-// // remember that current point IS written
-// bDidWriteAsCurve = true;
-//
-// // remember new last position
-// mnLastX = nX;
-// mnLastY = nY;
-// }
-// }
-// }
-// }
-// }
-//
-// if(!bDidWriteAsCurve)
-// {
-// // current point not yet written, prepare coordinates
-// sal_Int32 nX, nY;
-//
-// Imp_PrepareCoorExport(nX, nY, pPointArray, rObjectPos, rObjectSize,
-// mrViewBox, bScale, bTranslate);
-//
-// if(bDidWriteStart)
-// {
-// // write as normal point
-// if(mnLastX == nX)
-// {
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('v'))
-// aNewString += String(sal_Unicode('v'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('v');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('V'))
-// aNewString += String(sal_Unicode('V'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('V');
-// }
-// }
-// else if(mnLastY == nY)
-// {
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('h'))
-// aNewString += String(sal_Unicode('h'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-//
-// aLastCommand = sal_Unicode('h');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('H'))
-// aNewString += String(sal_Unicode('H'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-//
-// aLastCommand = sal_Unicode('H');
-// }
-// }
-// else
-// {
-// if(bRelative)
-// {
-// if(aLastCommand != sal_Unicode('l'))
-// aNewString += String(sal_Unicode('l'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('l');
-// }
-// else
-// {
-// if(aLastCommand != sal_Unicode('L'))
-// aNewString += String(sal_Unicode('L'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('L');
-// }
-// }
-// }
-// else
-// {
-// // write as start point
-// if(bRelative)
-// {
-// aNewString += String(sal_Unicode('m'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX - mnLastX);
-// Imp_PutNumberCharWithSpace(aNewString, nY - mnLastY);
-//
-// aLastCommand = sal_Unicode('l');
-// }
-// else
-// {
-// aNewString += String(sal_Unicode('M'));
-//
-// Imp_PutNumberCharWithSpace(aNewString, nX);
-// Imp_PutNumberCharWithSpace(aNewString, nY);
-//
-// aLastCommand = sal_Unicode('L');
-// }
-//
-// // remember start written
-// bDidWriteStart = true;
-// }
-//
-// // remember new last position
-// mnLastX = nX;
-// mnLastY = nY;
-// }
-// }
-//
-// // next point
-// pPointArray++;
-// pFlagArray++;
-// }
-//
-// // close path if closed poly
-// if(bClosed)
-// {
-// if(bRelative)
-// aNewString += String(sal_Unicode('z'));
-// else
-// aNewString += String(sal_Unicode('Z'));
-// }
-//
-// // append new string
-// msString += aNewString;
-// }
-//}
-//
-//// #100617# Linear double reader
-//double Imp_ImportDoubleAndSpaces(
-// double fRetval, const OUString& rStr, sal_Int32& rPos,
-// const sal_Int32 nLen, const SvXMLUnitConverter& rConv)
-//{
-// fRetval = Imp_GetDoubleChar(rStr, rPos, nLen, rConv, fRetval);
-// Imp_SkipSpacesAndCommas(rStr, rPos, nLen);
-// return fRetval;
-//}
-//
-//// #100617# Allow to read doubles, too. This will need to be changed to
-//// the usage of Imp_ImportDoubleAndSpaces(...). For now, this is sufficient
-//// since the interface cannot transport doubles.
-//sal_Int32 Imp_ImportNumberAndSpaces(
-// sal_Int32 nRetval, const OUString& rStr, sal_Int32& rPos,
-// const sal_Int32 nLen, const SvXMLUnitConverter& rConv)
-//{
-// nRetval = FRound(Imp_ImportDoubleAndSpaces(double(nRetval), rStr, rPos, nLen, rConv));
-// Imp_SkipSpacesAndCommas(rStr, rPos, nLen);
-// return nRetval;
-//}
-//
-//void Imp_PrepareCoorImport(sal_Int32& nX, sal_Int32& nY,
-// const awt::Point& rObjectPos, const awt::Size& rObjectSize,
-// const SdXMLImExViewBox& rViewBox, const bool bScale, const bool bTranslate)
-//{
-// if(bTranslate)
-// {
-// nX -= rViewBox.GetX();
-// nY -= rViewBox.GetY();
-// }
-//
-// if(bScale && rViewBox.GetWidth() && rViewBox.GetHeight())
-// {
-// nX = (nX * rObjectSize.Width) / rViewBox.GetWidth();
-// nY = (nY * rObjectSize.Height) / rViewBox.GetHeight();
-// }
-//
-// nX += rObjectPos.X;
-// nY += rObjectPos.Y;
-//}
-//
-//void Imp_AddExportPoints(sal_Int32 nX, sal_Int32 nY,
-// awt::Point* pPoints, drawing::PolygonFlags* pFlags,
-// const sal_Int32 nInnerIndex,
-// drawing::PolygonFlags eFlag)
-//{
-// if(pPoints)
-// pPoints[nInnerIndex] = awt::Point( nX, nY );
-//
-// if(pFlags)
-// pFlags[nInnerIndex] = eFlag;
-//}
-//
-//void Imp_CalcVectorValues(::basegfx::B2DVector& aVec1, ::basegfx::B2DVector& aVec2, bool& bSameLength, bool& bSameDirection)
-//{
-// const sal_Int32 nLen1(FRound(aVec1.getLength()));
-// const sal_Int32 nLen2(FRound(aVec2.getLength()));
-// aVec1.normalize();
-// aVec2.normalize();
-// aVec1 += aVec2;
-// const sal_Int32 nLen3(FRound(aVec1.getLength() * ((nLen1 + nLen2) / 2.0)));
-//
-// bSameLength = (abs(nLen1 - nLen2) <= BORDER_INTEGERS_ARE_EQUAL);
-// bSameDirection = (nLen3 <= BORDER_INTEGERS_ARE_EQUAL);
-//}
-//
-//void Imp_CorrectPolygonFlag(const sal_uInt32 nInnerIndex, const awt::Point* const pInnerSequence,
-// drawing::PolygonFlags* const pInnerFlags, const sal_Int32 nX1, const sal_Int32 nY1)
-//{
-// if(nInnerIndex)
-// {
-// const awt::Point aPPrev1 = pInnerSequence[nInnerIndex - 1];
-//
-// if(nInnerIndex > 1)
-// {
-// const awt::Point aPPrev2 = pInnerSequence[nInnerIndex - 2];
-// const drawing::PolygonFlags aFPrev2 = pInnerFlags[nInnerIndex - 2];
-// ::basegfx::B2DVector aVec1(aPPrev2.X - aPPrev1.X, aPPrev2.Y - aPPrev1.Y);
-// ::basegfx::B2DVector aVec2(nX1 - aPPrev1.X, nY1 - aPPrev1.Y);
-// bool bSameLength(false);
-// bool bSameDirection(false);
-//
-// // get vector values
-// Imp_CalcVectorValues(aVec1, aVec2, bSameLength, bSameDirection);
-//
-// if(drawing::PolygonFlags_CONTROL == aFPrev2)
-// {
-// // point before is a control point
-// if(bSameDirection)
-// {
-// if(bSameLength)
-// {
-// // set to PolygonFlags_SYMMETRIC
-// pInnerFlags[nInnerIndex - 1] = drawing::PolygonFlags_SYMMETRIC;
-// }
-// else
-// {
-// // set to PolygonFlags_SMOOTH
-// pInnerFlags[nInnerIndex - 1] = drawing::PolygonFlags_SMOOTH;
-// }
-// }
-// else
-// {
-// // set to PolygonFlags_NORMAL
-// pInnerFlags[nInnerIndex - 1] = drawing::PolygonFlags_NORMAL;
-// }
-// }
-// else
-// {
-// // point before is a simple curve point
-// if(bSameDirection)
-// {
-// // set to PolygonFlags_SMOOTH
-// pInnerFlags[nInnerIndex - 1] = drawing::PolygonFlags_SMOOTH;
-// }
-// else
-// {
-// // set to PolygonFlags_NORMAL
-// pInnerFlags[nInnerIndex - 1] = drawing::PolygonFlags_NORMAL;
-// }
-// }
-// }
-// else
-// {
-// // no point before starpoint, set type to PolygonFlags_NORMAL
-// pInnerFlags[nInnerIndex - 1] = drawing::PolygonFlags_NORMAL;
-// }
-// }
-//}
-//
-//SdXMLImExSvgDElement::SdXMLImExSvgDElement(const OUString& rNew,
-// const SdXMLImExViewBox& rViewBox,
-// const awt::Point& rObjectPos,
-// const awt::Size& rObjectSize,
-// const SvXMLUnitConverter& rConv)
-//: msString( rNew ),
-// mrViewBox( rViewBox ),
-// mbIsClosed( false ),
-// mbIsCurve( false ),
-// mnLastX( 0L ),
-// mnLastY( 0L ),
-// maPoly( 0L ),
-// maFlag( 0L )
-//{
-// // convert string to polygon
-// const OUString aStr(msString.getStr(), msString.getLength());
-// const sal_Int32 nLen(aStr.getLength());
-// sal_Int32 nPos(0);
-// sal_Int32 nNumPolys(0L);
-// bool bEllipticalArc(false);
-//
-// // object size and ViewBox size different?
-// bool bScale(rObjectSize.Width != mrViewBox.GetWidth()
-// || rObjectSize.Height != mrViewBox.GetHeight());
-// bool bTranslate(mrViewBox.GetX() != 0L || mrViewBox.GetY() != 0L);
-//
-// // first loop: count polys and get flags
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen)
-// {
-// switch(aStr[nPos++])
-// {
-// case 'Z' :
-// case 'z' :
-// {
-// break;
-// }
-// case 'M' :
-// case 'm' :
-// {
-// nNumPolys++;
-// break;
-// }
-// case 'S' :
-// case 's' :
-// case 'C' :
-// case 'c' :
-// case 'Q' :
-// case 'q' :
-// case 'T' :
-// case 't' :
-// {
-// mbIsCurve = true;
-// break;
-// }
-// case 'L' :
-// case 'l' :
-// case 'H' :
-// case 'h' :
-// case 'V' :
-// case 'v' :
-// {
-// // normal, interpreted values. All okay.
-// break;
-// }
-// case 'A' :
-// case 'a' :
-// {
-// // Not yet interpreted value.
-// bEllipticalArc = true;
-// break;
-// }
-// }
-// }
-//
-// DBG_ASSERT(!bEllipticalArc, "XMLIMP: non-interpreted tags in svg:d element!");
-//
-// if(nNumPolys)
-// {
-// // alloc arrays
-// maPoly.realloc(nNumPolys);
-// if(IsCurve())
-// maFlag.realloc(nNumPolys);
-//
-// // get outer sequences
-// drawing::PointSequence* pOuterSequence = maPoly.getArray();
-// drawing::FlagSequence* pOuterFlags = (IsCurve()) ? maFlag.getArray() : 0L;
-//
-// // prepare new loop, count
-// sal_uInt32 nPointCount(0L);
-// nPos = 0;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// // #104076# reset closed flag for next to be started polygon
-// mbIsClosed = false;
-//
-// while(nPos < nLen)
-// {
-// switch(aStr[nPos])
-// {
-// case 'z' :
-// case 'Z' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// // #104076# remember closed state of current polygon
-// mbIsClosed = true;
-//
-// break;
-// }
-// case 'm' :
-// case 'M' :
-// {
-// // new poly starts, end-process current poly
-// if(nPointCount)
-// {
-// // #104076# If this partial polygon is closed, use one more point
-// // to represent that
-// if(mbIsClosed)
-// {
-// nPointCount++;
-// }
-//
-// pOuterSequence->realloc(nPointCount);
-// pOuterSequence++;
-//
-// if(pOuterFlags)
-// {
-// pOuterFlags->realloc(nPointCount);
-// pOuterFlags++;
-// }
-//
-// // reset point count for next polygon
-// nPointCount = 0L;
-// }
-//
-// // #104076# reset closed flag for next to be started polygon
-// mbIsClosed = false;
-//
-// // NO break, continue in next case
-// }
-// case 'L' :
-// case 'l' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// nPointCount++;
-// }
-// break;
-// }
-// case 'H' :
-// case 'h' :
-// case 'V' :
-// case 'v' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// nPointCount++;
-// }
-// break;
-// }
-// case 'S' :
-// case 's' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// nPointCount += 3;
-// }
-// break;
-// }
-// case 'C' :
-// case 'c' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// nPointCount += 3;
-// }
-// break;
-// }
-//
-// // #100617# quadratic beziers, supported as cubic ones
-// case 'Q' :
-// case 'q' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-//
-// // use three points since quadratic is imported as cubic
-// nPointCount += 3;
-// }
-// break;
-// }
-//
-// // #100617# relative quadratic beziers, supported as cubic ones
-// case 'T' :
-// case 't' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-//
-// // use three points since quadratic is imported as cubic
-// nPointCount += 3;
-// }
-// break;
-// }
-//
-// // #100617# not yet supported: elliptical arc
-// case 'A' :
-// case 'a' :
-// {
-// DBG_ERROR("XMLIMP: non-interpreted tags in svg:d element (elliptical arc)!");
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipNumberAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipNumberAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// }
-// break;
-// }
-//
-// default:
-// {
-// nPos++;
-// DBG_ERROR("XMLIMP: non-interpreted tags in svg:d element (unknown)!");
-// break;
-// }
-// }
-// }
-//
-// // alloc last poly (when points used)
-// if(nPointCount)
-// {
-// // #104076# If this partial polygon is closed, use one more point
-// // to represent that
-// if(mbIsClosed)
-// {
-// nPointCount++;
-// }
-//
-// pOuterSequence->realloc(nPointCount);
-// pOuterSequence++;
-//
-// if(pOuterFlags)
-// {
-// pOuterFlags->realloc(nPointCount);
-// pOuterFlags++;
-// }
-// }
-//
-// // set pointers back
-// pOuterSequence = maPoly.getArray();
-// pOuterFlags = (IsCurve()) ? maFlag.getArray() : 0L;
-// awt::Point* pNotSoInnerSequence = 0L;
-// drawing::PolygonFlags* pNotSoInnerFlags = 0L;
-// sal_uInt32 nInnerIndex(0L);
-//
-// // prepare new loop, read points
-// nPos = 0;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// // #104076# reset closed flag for next to be started polygon
-// mbIsClosed = false;
-//
-// while(nPos < nLen)
-// {
-// bool bRelative(false);
-//
-// switch(aStr[nPos])
-// {
-// case 'z' :
-// case 'Z' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// // #104076# remember closed state of current polygon
-// mbIsClosed = true;
-//
-// // closed: add first point again
-// // sal_Int32 nX(pInnerSequence[0].X);
-// // sal_Int32 nY(pInnerSequence[0].Y);
-// // Imp_AddExportPoints(nX, nY, pInnerSequence, pInnerFlags, nInnerIndex++, drawing::PolygonFlags_NORMAL);
-//
-// break;
-// }
-//
-// case 'm' :
-// {
-// bRelative = true;
-// }
-// case 'M' :
-// {
-// // #104076# end-process current poly
-// if(mbIsClosed)
-// {
-// if(pNotSoInnerSequence)
-// {
-// // closed: add first point again
-// sal_Int32 nX(pNotSoInnerSequence[0].X);
-// sal_Int32 nY(pNotSoInnerSequence[0].Y);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_NORMAL);
-// }
-//
-// // reset closed flag for next to be started polygon
-// mbIsClosed = false;
-// }
-//
-// // next poly
-// pNotSoInnerSequence = pOuterSequence->getArray();
-// pOuterSequence++;
-//
-// if(pOuterFlags)
-// {
-// pNotSoInnerFlags = pOuterFlags->getArray();
-// pOuterFlags++;
-// }
-//
-// nInnerIndex = 0L;
-//
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// sal_Int32 nX(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-//
-// if(bRelative)
-// {
-// nX += mnLastX;
-// nY += mnLastY;
-// }
-//
-// // set last position
-// mnLastX = nX;
-// mnLastY = nY;
-//
-// // calc transform and add point and flag
-// Imp_PrepareCoorImport(nX, nY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_NORMAL);
-// }
-// break;
-// }
-//
-// case 'l' :
-// {
-// bRelative = true;
-// }
-// case 'L' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// sal_Int32 nX(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-//
-// if(bRelative)
-// {
-// nX += mnLastX;
-// nY += mnLastY;
-// }
-//
-// // set last position
-// mnLastX = nX;
-// mnLastY = nY;
-//
-// // calc transform and add point and flag
-// Imp_PrepareCoorImport(nX, nY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_NORMAL);
-// }
-// break;
-// }
-//
-// case 'h' :
-// {
-// bRelative = true;
-// }
-// case 'H' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// sal_Int32 nX(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY(mnLastY);
-//
-// if(bRelative)
-// nX += mnLastX;
-//
-// // set last position
-// mnLastX = nX;
-//
-// // calc transform and add point and flag
-// Imp_PrepareCoorImport(nX, nY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_NORMAL);
-// }
-// break;
-// }
-//
-// case 'v' :
-// {
-// bRelative = true;
-// }
-// case 'V' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// sal_Int32 nX(mnLastX);
-// sal_Int32 nY(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-//
-// if(bRelative)
-// nY += mnLastY;
-//
-// // set last position
-// mnLastY = nY;
-//
-// // calc transform and add point and flag
-// Imp_PrepareCoorImport(nX, nY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_NORMAL);
-// }
-// break;
-// }
-//
-// case 's' :
-// {
-// bRelative = true;
-// }
-// case 'S' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// sal_Int32 nX1;
-// sal_Int32 nY1;
-// sal_Int32 nX2(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY2(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nX(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-//
-// if(bRelative)
-// {
-// nX2 += mnLastX;
-// nY2 += mnLastY;
-// nX += mnLastX;
-// nY += mnLastY;
-// }
-//
-// // set last position
-// mnLastX = nX;
-// mnLastY = nY;
-//
-// // calc transform for new points
-// Imp_PrepareCoorImport(nX2, nY2, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-// Imp_PrepareCoorImport(nX, nY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-//
-// // one more thing is known: the previous real point is PolygonFlags_SYMMETRIC
-// // and the Point X1,Y1 can be constructed by mirroring the point before it.
-// nX1 = nX2;
-// nY1 = nY2;
-// if(nInnerIndex)
-// {
-// awt::Point aPPrev1 = pNotSoInnerSequence[nInnerIndex - 1];
-//
-// if(nInnerIndex > 1)
-// {
-// awt::Point aPPrev2 = pNotSoInnerSequence[nInnerIndex - 2];
-// nX1 = aPPrev1.X -(aPPrev2.X - aPPrev1.X);
-// nY1 = aPPrev1.Y -(aPPrev2.Y - aPPrev1.Y);
-// }
-//
-// // set curve point to symmetric
-// pNotSoInnerFlags[nInnerIndex - 1] = drawing::PolygonFlags_SYMMETRIC;
-// }
-//
-// // add calculated control point
-// Imp_AddExportPoints(nX1, nY1, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_CONTROL);
-//
-// // add new points and set flags
-// Imp_AddExportPoints(nX2, nY2, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_CONTROL);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_SMOOTH);
-// }
-// break;
-// }
-//
-// case 'c' :
-// {
-// bRelative = true;
-// }
-// case 'C' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// sal_Int32 nX1(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY1(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nX2(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY2(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nX(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-//
-// if(bRelative)
-// {
-// nX1 += mnLastX;
-// nY1 += mnLastY;
-// nX2 += mnLastX;
-// nY2 += mnLastY;
-// nX += mnLastX;
-// nY += mnLastY;
-// }
-//
-// // set last position
-// mnLastX = nX;
-// mnLastY = nY;
-//
-// // calc transform for new points
-// Imp_PrepareCoorImport(nX1, nY1, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-// Imp_PrepareCoorImport(nX2, nY2, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-// Imp_PrepareCoorImport(nX, nY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-//
-// // correct polygon flag for previous point
-// Imp_CorrectPolygonFlag(nInnerIndex, pNotSoInnerSequence, pNotSoInnerFlags, nX1, nY1);
-//
-// // add new points and set flags
-// Imp_AddExportPoints(nX1, nY1, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_CONTROL);
-// Imp_AddExportPoints(nX2, nY2, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_CONTROL);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_SMOOTH);
-// }
-// break;
-// }
-//
-// // #100617# quadratic beziers are imported as cubic
-// case 'q' :
-// {
-// bRelative = true;
-// }
-// case 'Q' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// sal_Int32 nXX(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nYY(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nX(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-//
-// if(bRelative)
-// {
-// nXX += mnLastX;
-// nYY += mnLastY;
-// nX += mnLastX;
-// nY += mnLastY;
-// }
-//
-// // set last position
-// mnLastX = nX;
-// mnLastY = nY;
-//
-// // calc transform for new points
-// Imp_PrepareCoorImport(nXX, nYY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-// Imp_PrepareCoorImport(nX, nY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-//
-// // calculate X1,X2
-// awt::Point aPPrev1 = (nInnerIndex) ? pNotSoInnerSequence[nInnerIndex-1] : pNotSoInnerSequence[0];
-// sal_Int32 nX1 = FRound((double)((nXX * 2) + aPPrev1.X) / 3.0);
-// sal_Int32 nY1 = FRound((double)((nYY * 2) + aPPrev1.Y) / 3.0);
-// sal_Int32 nX2 = FRound((double)((nXX * 2) + nX) / 3.0);
-// sal_Int32 nY2 = FRound((double)((nYY * 2) + nY) / 3.0);
-//
-// // correct polygon flag for previous point
-// Imp_CorrectPolygonFlag(nInnerIndex, pNotSoInnerSequence, pNotSoInnerFlags, nX1, nY1);
-//
-// // add new points and set flags
-// Imp_AddExportPoints(nX1, nY1, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_CONTROL);
-// Imp_AddExportPoints(nX2, nY2, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_CONTROL);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_SMOOTH);
-// }
-// break;
-// }
-//
-// // #100617# relative quadratic beziers are imported as cubic
-// case 't' :
-// {
-// bRelative = true;
-// }
-// case 'T' :
-// {
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// sal_Int32 nXX;
-// sal_Int32 nYY;
-// sal_Int32 nX(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-// sal_Int32 nY(Imp_ImportNumberAndSpaces(0, aStr, nPos, nLen, rConv));
-//
-// if(bRelative)
-// {
-// nX += mnLastX;
-// nY += mnLastY;
-// }
-//
-// // set last position
-// mnLastX = nX;
-// mnLastY = nY;
-//
-// // calc transform for new points
-// Imp_PrepareCoorImport(nX, nY, rObjectPos, rObjectSize, mrViewBox, bScale, bTranslate);
-//
-// // one more thing is known: the previous real point is PolygonFlags_SYMMETRIC
-// // and the Point X1,Y1 can be constructed by mirroring the point before it.
-// nXX = nX;
-// nYY = nY;
-// awt::Point aPPrev1 = pNotSoInnerSequence[0];
-//
-// if(nInnerIndex)
-// {
-// aPPrev1 = pNotSoInnerSequence[nInnerIndex - 1];
-//
-// if(nInnerIndex > 1)
-// {
-// awt::Point aPPrev2 = pNotSoInnerSequence[nInnerIndex - 2];
-// nXX = aPPrev1.X -(aPPrev2.X - aPPrev1.X);
-// nYY = aPPrev1.Y -(aPPrev2.Y - aPPrev1.Y);
-// }
-//
-// // set curve point to smooth here, since length
-// // is changed and thus only c1 can be used.
-// pNotSoInnerFlags[nInnerIndex - 1] = drawing::PolygonFlags_SMOOTH;
-// }
-//
-// // calculate X1,X2
-// sal_Int32 nX1 = FRound((double)((nXX * 2) + aPPrev1.X) / 3.0);
-// sal_Int32 nY1 = FRound((double)((nYY * 2) + aPPrev1.Y) / 3.0);
-// sal_Int32 nX2 = FRound((double)((nXX * 2) + nX) / 3.0);
-// sal_Int32 nY2 = FRound((double)((nYY * 2) + nY) / 3.0);
-//
-// // correct polygon flag for previous point
-// Imp_CorrectPolygonFlag(nInnerIndex, pNotSoInnerSequence, pNotSoInnerFlags, nX1, nY1);
-//
-// // add new points and set flags
-// Imp_AddExportPoints(nX1, nY1, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_CONTROL);
-// Imp_AddExportPoints(nX2, nY2, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_CONTROL);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_SMOOTH);
-// }
-// break;
-// }
-//
-// // #100617# not yet supported: elliptical arc
-// case 'A' :
-// case 'a' :
-// {
-// DBG_ERROR("XMLIMP: non-interpreted tags in svg:d element (elliptical arc)!");
-// nPos++;
-// Imp_SkipSpaces(aStr, nPos, nLen);
-//
-// while(nPos < nLen && Imp_IsOnNumberChar(aStr, nPos))
-// {
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipNumberAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipNumberAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// Imp_SkipDoubleAndSpacesAndCommas(aStr, nPos, nLen);
-// }
-// break;
-// }
-//
-// default:
-// {
-// nPos++;
-// DBG_ERROR("XMLIMP: non-interpreted tags in svg:d element (unknown)!");
-// break;
-// }
-// }
-// }
-//
-// // #104076# end-process closed state of last poly
-// if(mbIsClosed)
-// {
-// if(pNotSoInnerSequence)
-// {
-// // closed: add first point again
-// sal_Int32 nX(pNotSoInnerSequence[0].X);
-// sal_Int32 nY(pNotSoInnerSequence[0].Y);
-// Imp_AddExportPoints(nX, nY, pNotSoInnerSequence, pNotSoInnerFlags, nInnerIndex++, drawing::PolygonFlags_NORMAL);
-// }
-// }
-//
-// // #87202# If it's a curve and it's closed the last point maybe too much
-// // and just exported since SVG does not allow special handling of same
-// // start and end point, remove this last point.
-// // Evtl. correct the last curve flags, too.
-// if(IsCurve() && IsClosed())
-// {
-// // make one more loop over the PolyPolygon
-// pOuterSequence = maPoly.getArray();
-// pOuterFlags = maFlag.getArray();
-// sal_Int32 nOuterCnt(maPoly.getLength());
-//
-// for(sal_Int32 a(0); a < nOuterCnt; a++)
-// {
-// // get Polygon pointers
-// awt::Point* pInnerSequence = pOuterSequence->getArray();
-// drawing::PolygonFlags* pInnerFlags = pOuterFlags->getArray();
-// sal_Int32 nInnerCnt(pOuterSequence->getLength());
-//
-// while( nInnerCnt >= 2
-// && ((pInnerSequence + (nInnerCnt - 2))->X == (pInnerSequence + (nInnerCnt - 1))->X)
-// && ((pInnerSequence + (nInnerCnt - 2))->Y == (pInnerSequence + (nInnerCnt - 1))->Y)
-// && drawing::PolygonFlags_CONTROL != *(pInnerFlags + (nInnerCnt - 2)))
-// {
-// // remove last point from array
-// pOuterSequence->realloc(nInnerCnt - 1);
-// pOuterFlags->realloc(nInnerCnt - 1);
-//
-// // get new pointers
-// pInnerSequence = pOuterSequence->getArray();
-// pInnerFlags = pOuterFlags->getArray();
-// nInnerCnt = pOuterSequence->getLength();
-// }
-//
-// // now evtl. correct the last curve flags
-// if(nInnerCnt >= 4)
-// {
-// if( pInnerSequence->X == (pInnerSequence + (nInnerCnt - 1))->X
-// && pInnerSequence->Y == (pInnerSequence + (nInnerCnt - 1))->Y
-// && drawing::PolygonFlags_CONTROL == *(pInnerFlags + 1)
-// && drawing::PolygonFlags_CONTROL == *(pInnerFlags + (nInnerCnt - 2)))
-// {
-// awt::Point aPrev = *(pInnerSequence + (nInnerCnt - 2));
-// awt::Point aCurr = *pInnerSequence;
-// awt::Point aNext = *(pInnerSequence + 1);
-// ::basegfx::B2DVector aVec1(aPrev.X - aCurr.X, aPrev.Y - aCurr.Y);
-// ::basegfx::B2DVector aVec2(aNext.X - aCurr.X, aNext.Y - aCurr.Y);
-// bool bSameLength(false);
-// bool bSameDirection(false);
-//
-// // get vector values
-// Imp_CalcVectorValues(aVec1, aVec2, bSameLength, bSameDirection);
-//
-// // set correct flag value
-// if(bSameDirection)
-// {
-// if(bSameLength)
-// {
-// // set to PolygonFlags_SYMMETRIC
-// *pInnerFlags = drawing::PolygonFlags_SYMMETRIC;
-// *(pInnerFlags + (nInnerCnt - 1)) = drawing::PolygonFlags_SYMMETRIC;
-// }
-// else
-// {
-// // set to PolygonFlags_SMOOTH
-// *pInnerFlags = drawing::PolygonFlags_SMOOTH;
-// *(pInnerFlags + (nInnerCnt - 1)) = drawing::PolygonFlags_SMOOTH;
-// }
-// }
-// else
-// {
-// // set to PolygonFlags_NORMAL
-// *pInnerFlags = drawing::PolygonFlags_NORMAL;
-// *(pInnerFlags + (nInnerCnt - 1)) = drawing::PolygonFlags_NORMAL;
-// }
-// }
-// }
-//
-// // switch to next Polygon
-// pOuterSequence++;
-// pOuterFlags++;
-// }
-// }
-// }
-//}
-
// eof
diff --git a/xmloff/source/draw/ximp3dobject.cxx b/xmloff/source/draw/ximp3dobject.cxx
index 1d673cffec6c..cbba3ce7814a 100644
--- a/xmloff/source/draw/ximp3dobject.cxx
+++ b/xmloff/source/draw/ximp3dobject.cxx
@@ -475,59 +475,6 @@ void SdXML3DPolygonBasedShapeContext::StartElement(const uno::Reference< xml::sa
{
OSL_ENSURE(false, "Error on importing svg:d for 3D PolyPolygon (!)");
}
-
- // TTTT
- //SdXMLImExViewBox aViewBox(maViewBox, GetImport().GetMM100UnitConverter());
- //awt::Point aMinPoint(aViewBox.GetX(), aViewBox.GetY());
- //awt::Size aMaxSize(aViewBox.GetWidth(), aViewBox.GetHeight());
- //SdXMLImExSvgDElement aPoints(maPoints, aViewBox,
- // aMinPoint, aMaxSize, GetImport().GetMM100UnitConverter());
- //
- //// convert to double sequences
- //drawing::PointSequenceSequence& xPoSeSe =
- // (drawing::PointSequenceSequence&)aPoints.GetPointSequenceSequence();
- //sal_Int32 nOuterSequenceCount = xPoSeSe.getLength();
- //drawing::PointSequence* pInnerSequence = xPoSeSe.getArray();
- //
- //drawing::PolyPolygonShape3D xPolyPolygon3D;
- //xPolyPolygon3D.SequenceX.realloc(nOuterSequenceCount);
- //xPolyPolygon3D.SequenceY.realloc(nOuterSequenceCount);
- //xPolyPolygon3D.SequenceZ.realloc(nOuterSequenceCount);
- //drawing::DoubleSequence* pOuterSequenceX = xPolyPolygon3D.SequenceX.getArray();
- //drawing::DoubleSequence* pOuterSequenceY = xPolyPolygon3D.SequenceY.getArray();
- //drawing::DoubleSequence* pOuterSequenceZ = xPolyPolygon3D.SequenceZ.getArray();
- //
- //for(sal_Int32 a(0L); a < nOuterSequenceCount; a++)
- //{
- // sal_Int32 nInnerSequenceCount(pInnerSequence->getLength());
- // awt::Point* pArray = pInnerSequence->getArray();
- //
- // pOuterSequenceX->realloc(nInnerSequenceCount);
- // pOuterSequenceY->realloc(nInnerSequenceCount);
- // pOuterSequenceZ->realloc(nInnerSequenceCount);
- // double* pInnerSequenceX = pOuterSequenceX->getArray();
- // double* pInnerSequenceY = pOuterSequenceY->getArray();
- // double* pInnerSequenceZ = pOuterSequenceZ->getArray();
- //
- // for(sal_Int32 b(0L); b < nInnerSequenceCount; b++)
- // {
- // *pInnerSequenceX++ = pArray->X;
- // *pInnerSequenceY++ = pArray->Y;
- // *pInnerSequenceZ++ = 0.0;
- // pArray++;
- // }
- // pInnerSequence++;
- //
- // pOuterSequenceX++;
- // pOuterSequenceY++;
- // pOuterSequenceZ++;
- //}
- //
- //// set poly
- //uno::Any aAny;
- //aAny <<= xPolyPolygon3D;
- //xPropSet->setPropertyValue(
- // OUString(RTL_CONSTASCII_USTRINGPARAM("D3DPolyPolygon3D")), aAny);
}
// call parent
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index 30b45bf702ac..c9591f777a61 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -1378,15 +1378,6 @@ void SdXMLPolygonShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
xPropSet->setPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("Geometry")), aAny);
}
}
-
- //awt::Point aPosition(aViewBox.GetX(), aViewBox.GetY());
- //SdXMLImExPointsElement aPoints(maPoints, aViewBox,
- // aPosition, aSize, GetImport().GetMM100UnitConverter(), mbClosed);
- //
- //uno::Any aAny;
- //aAny <<= aPoints.GetPointSequenceSequence();
- //xPropSet->setPropertyValue(
- // OUString(RTL_CONSTASCII_USTRINGPARAM("Geometry")), aAny);
}
}
@@ -1552,89 +1543,6 @@ void SdXMLPathShapeContext::StartElement(const uno::Reference< xml::sax::XAttrib
}
}
}
-
- // TTTT
- //// prepare some of the parameters
- //SdXMLImExViewBox aViewBox(maViewBox, GetImport().GetMM100UnitConverter());
- //awt::Size aSize(aViewBox.GetWidth(), aViewBox.GetHeight());
- //awt::Point aPosition(aViewBox.GetX(), aViewBox.GetY());
- //if (maSize.Width != 0 && maSize.Height !=0)
- //{
- // aSize = maSize;
- //}
- //
- //SdXMLImExSvgDElement aPoints(maD, aViewBox,
- // aPosition, aSize, GetImport().GetMM100UnitConverter());
- //
- //const char* pService;
- //// now create shape
- //if(aPoints.IsCurve())
- //{
- // if(aPoints.IsClosed())
- // {
- // pService = "com.sun.star.drawing.ClosedBezierShape";
- // }
- // else
- // {
- // pService = "com.sun.star.drawing.OpenBezierShape";
- // }
- //}
- //else
- //{
- // if(aPoints.IsClosed())
- // {
- // pService = "com.sun.star.drawing.PolyPolygonShape";
- // }
- // else
- // {
- // pService = "com.sun.star.drawing.PolyLineShape";
- // }
- //}
- //
- //// Add, set Style and properties from base shape
- //AddShape(pService);
- //
- //// #89344# test for mxShape.is() and not for mxShapes.is() to support
- //// shape import helper classes WITHOUT XShapes (member mxShapes). This
- //// is used by the writer.
- //if( mxShape.is() )
- //{
- // SetStyle();
- // SetLayer();
- //
- // // set local parameters on shape
- // uno::Reference< beans::XPropertySet > xPropSet(mxShape, uno::UNO_QUERY);
- // if(xPropSet.is())
- // {
- // uno::Any aAny;
- //
- // // set svg:d
- // if(maD.getLength())
- // {
- // if(aPoints.IsCurve())
- // {
- // drawing::PolyPolygonBezierCoords aSourcePolyPolygon(
- // aPoints.GetPointSequenceSequence(),
- // aPoints.GetFlagSequenceSequence());
- //
- // aAny <<= aSourcePolyPolygon;
- // xPropSet->setPropertyValue(
- // OUString(RTL_CONSTASCII_USTRINGPARAM("Geometry")), aAny);
- // }
- // else
- // {
- // aAny <<= aPoints.GetPointSequenceSequence();
- // xPropSet->setPropertyValue(
- // OUString(RTL_CONSTASCII_USTRINGPARAM("Geometry")), aAny);
- // }
- // }
- // }
- //
- // // set pos, size, shear and rotate
- // SetTransformation();
- //
- // SdXMLShapeContext::StartElement(xAttrList);
- //}
}
}
@@ -2019,34 +1927,6 @@ void SdXMLConnectorShapeContext::processAttribute( sal_uInt16 nPrefix, const ::r
}
}
}
-
- // TTTT
- //SdXMLImExViewBox aViewBox( 0.0, 0.0, 1.0, 1.0 );
- //awt::Point aPoint( 0, 0 );
- //awt::Size aSize( 1, 1 );
- //
- //SdXMLImExSvgDElement aPoints( rValue, aViewBox,
- // aPoint, aSize, GetImport().GetMM100UnitConverter() );
- //
- //if ( aPoints.IsCurve() )
- //{
- // drawing::PolyPolygonBezierCoords aSourcePolyPolygon(
- // aPoints.GetPointSequenceSequence(),
- // aPoints.GetFlagSequenceSequence());
- // maPath <<= aSourcePolyPolygon;
- //}
- //else
- //{
- // const drawing::PointSequenceSequence& rOuterSeq = aPoints.GetPointSequenceSequence();
- // drawing::FlagSequenceSequence aFlagSeqSeq( rOuterSeq.getLength() );
- // for ( int a = 0; a < rOuterSeq.getLength(); a++ )
- // aFlagSeqSeq[ a ] = drawing::FlagSequence( rOuterSeq[ a ].getLength() );
- //
- // drawing::PolyPolygonBezierCoords aSourcePolyPolygon(
- // aPoints.GetPointSequenceSequence(),
- // aFlagSeqSeq );
- // maPath <<= aSourcePolyPolygon;
- //}
}
}
}
diff --git a/xmloff/source/style/MarkerStyle.cxx b/xmloff/source/style/MarkerStyle.cxx
index e7352aa9a04a..89f9ce0fd22a 100644
--- a/xmloff/source/style/MarkerStyle.cxx
+++ b/xmloff/source/style/MarkerStyle.cxx
@@ -111,7 +111,7 @@ sal_Bool XMLMarkerStyleImport::importXML(
{
if(aPolyPolygon.count())
{
- // TTTT: ViewBox probably not used, but stay with former processing inside of
+ // ViewBox probably not used, but stay with former processing inside of
// SdXMLImExSvgDElement
const basegfx::B2DRange aSourceRange(
pViewBox->GetX(), pViewBox->GetY(),
@@ -138,44 +138,6 @@ sal_Bool XMLMarkerStyleImport::importXML(
}
}
- // TTTT
- //SdXMLImExSvgDElement aPoints(strPathData, *pViewBox, awt::Point( 0, 0 ),
- // awt::Size( pViewBox->GetWidth(), pViewBox->GetHeight() ),
- // rUnitConverter );
- //
- //if(aPoints.IsCurve())
- //{
- // drawing::PolyPolygonBezierCoords aSourcePolyPolygon(
- // aPoints.GetPointSequenceSequence(),
- // aPoints.GetFlagSequenceSequence());
- // rValue <<= aSourcePolyPolygon;
- //}
- //else
- //{
- // drawing::PolyPolygonBezierCoords aSourcePolyPolygon;
- // aSourcePolyPolygon.Coordinates = aPoints.GetPointSequenceSequence();
- // aSourcePolyPolygon.Flags.realloc(aSourcePolyPolygon.Coordinates.getLength());
- //
- // // Zeiger auf innere sequences holen
- // const drawing::PointSequence* pInnerSequence = aSourcePolyPolygon.Coordinates.getConstArray();
- // drawing::FlagSequence* pInnerSequenceFlags = aSourcePolyPolygon.Flags.getArray();
- //
- // for(sal_Int32 a(0); a < aSourcePolyPolygon.Coordinates.getLength(); a++)
- // {
- // pInnerSequenceFlags->realloc(pInnerSequence->getLength());
- // drawing::PolygonFlags* pPolyFlags = pInnerSequenceFlags->getArray();
- //
- // for(sal_Int32 b(0); b < pInnerSequence->getLength(); b++)
- // *pPolyFlags++ = drawing::PolygonFlags_NORMAL;
- //
- // // next run
- // pInnerSequence++;
- // pInnerSequenceFlags++;
- // }
- //
- // rValue <<= aSourcePolyPolygon;
- //}
-
if( aDisplayName.getLength() )
{
rImport.AddStyleDisplayName( XML_STYLE_FAMILY_SD_MARKER_ID, rStrName,
@@ -238,54 +200,6 @@ sal_Bool XMLMarkerStyleExport::exportXML(
/////////////////
// Viewbox (viewBox="0 0 1500 1000")
- // TTTT
- //sal_Int32 nMinX(0x7fffffff);
- //sal_Int32 nMaxX(0x80000000);
- //sal_Int32 nMinY(0x7fffffff);
- //sal_Int32 nMaxY(0x80000000);
- //sal_Int32 nOuterCnt(aBezier.Coordinates.getLength());
- //drawing::PointSequence* pOuterSequence = aBezier.Coordinates.getArray();
- //sal_Int32 a, b;
- //sal_Bool bClosed(sal_False);
- //
- //for (a = 0; a < nOuterCnt; a++)
- //{
- // drawing::PointSequence* pSequence = pOuterSequence++;
- // const awt::Point *pPoints = pSequence->getConstArray();
- // sal_Int32 nPointCount(pSequence->getLength());
- //
- // if(nPointCount)
- // {
- // const awt::Point aStart = pPoints[0];
- // const awt::Point aEnd = pPoints[nPointCount - 1];
- //
- // if(aStart.X == aEnd.X && aStart.Y == aEnd.Y)
- // {
- // bClosed = sal_True;
- // }
- // }
- //
- // for (b = 0; b < nPointCount; b++)
- // {
- // const awt::Point aPoint = pPoints[b];
- //
- // if( aPoint.X < nMinX )
- // nMinX = aPoint.X;
- //
- // if( aPoint.X > nMaxX )
- // nMaxX = aPoint.X;
- //
- // if( aPoint.Y < nMinY )
- // nMinY = aPoint.Y;
- //
- // if( aPoint.Y > nMaxY )
- // nMaxY = aPoint.Y;
- // }
- //}
- //
- //sal_Int32 nDifX(nMaxX - nMinX);
- //sal_Int32 nDifY(nMaxY - nMinY);
-
SdXMLImExViewBox aViewBox(
aPolyPolygonRange.getMinX(),
aPolyPolygonRange.getMinY(),
@@ -299,23 +213,7 @@ sal_Bool XMLMarkerStyleExport::exportXML(
basegfx::tools::exportToSvgD(
aPolyPolygon,
true, // bUseRelativeCoordinates
- false)); // bDetectQuadraticBeziers TTTT: not used in old, but maybe activated now
-
- // TTTT
- //pOuterSequence = aBezier.Coordinates.getArray();
- //drawing::FlagSequence* pOuterFlags = aBezier.Flags.getArray();
- //SdXMLImExSvgDElement aSvgDElement(aViewBox);
- //
- //for (a = 0; a < nOuterCnt; a++)
- //{
- // drawing::PointSequence* pSequence = pOuterSequence++;
- // drawing::FlagSequence* pFlags = pOuterFlags++;
- //
- // aSvgDElement.AddPolygon(pSequence, pFlags,
- // awt::Point( 0, 0 ),
- // awt::Size( aViewBox.GetWidth(), aViewBox.GetHeight() ),
- // bClosed);
- //}
+ false)); // bDetectQuadraticBeziers: not used in old, but maybe activated now
// write point array
rExport.AddAttribute(XML_NAMESPACE_SVG, XML_D, aPolygonString);
diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index 6a23dd514f70..e2f807c2049b 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -2866,8 +2866,8 @@ void XMLTextParagraphExport::_exportTextFrame(
}
void XMLTextParagraphExport::exportContour(
- const Reference < XPropertySet > & rPropSet,
- const Reference < XPropertySetInfo > & rPropSetInfo )
+ const Reference < XPropertySet > & rPropSet,
+ const Reference < XPropertySetInfo > & rPropSetInfo )
{
if( !rPropSetInfo->hasPropertyByName( sContourPolyPolygon ) )
{
@@ -2887,27 +2887,6 @@ void XMLTextParagraphExport::exportContour(
}
const basegfx::B2DRange aPolyPolygonRange(aPolyPolygon.getB2DRange());
-
-// TTTT:
-// awt::Point aPoint( 0, 0 );
-// awt::Size aSize( 0, 0 );
-// sal_Int32 nPolygons = aSourcePolyPolygon.getLength();
-// const PointSequence *pPolygons = aSourcePolyPolygon.getConstArray();
-// while( nPolygons-- )
-// {
-// sal_Int32 nPoints = pPolygons->getLength();
-// const awt::Point *pPoints = pPolygons->getConstArray();
-// while( nPoints-- )
-// {
-// if( aSize.Width < pPoints->X )
-// aSize.Width = pPoints->X;
-// if( aSize.Height < pPoints->Y )
-// aSize.Height = pPoints->Y;
-// pPoints++;
-// }
-// pPolygons++;
-// }
-
bool bPixel(false);
if( rPropSetInfo->hasPropertyByName( sIsPixelContour ) )
@@ -2953,10 +2932,6 @@ void XMLTextParagraphExport::exportContour(
basegfx::tools::exportToSvgPoints(
aPolyPolygon.getB2DPolygon(0)));
- // TTTT
- //PointSequence* pSequence = (PointSequence*)aSourcePolyPolygon.getConstArray();
- //SdXMLImExPointsElement aPoints( pSequence, aViewBox, aPolyPolygonRange.getMinimum(), aPolyPolygonRange.getRange(), true);
-
// write point array
GetExport().AddAttribute(XML_NAMESPACE_DRAW, XML_POINTS, aPointString);
eElem = XML_CONTOUR_POLYGON;
@@ -2968,36 +2943,11 @@ void XMLTextParagraphExport::exportContour(
basegfx::tools::exportToSvgD(
aPolyPolygon,
true, // bUseRelativeCoordinates
- false)); // bDetectQuadraticBeziers TTTT: not used in old, but maybe activated now
+ false)); // bDetectQuadraticBeziers: not used in old, but maybe activated now
// write point array
GetExport().AddAttribute( XML_NAMESPACE_SVG, XML_D, aPolygonString);
eElem = XML_CONTOUR_PATH;
-
- // TTTT
- ///*const*/ PointSequence* pOuterSequence =
- // (PointSequence*)aSourcePolyPolygon.getConstArray();
- //if(pOuterSequence)
- //{
- // // prepare svx:d element export
- // SdXMLImExSvgDElement aSvgDElement( aViewBox );
- //
- // for(sal_Int32 a(0L); a < nPolygonCount; a++)
- // {
- // /*const*/ PointSequence* pSequence = pOuterSequence++;
- // if(pSequence)
- // {
- // awt::Point aPoint(aPolyPolygonRange.getMinX(), aPolyPolygonRange.getMinY());
- // awt::Size aSize(aPolyPolygonRange.getWidth(), aPolyPolygonRange.getHeight());
- // aSvgDElement.AddPolygon(pSequence, 0L, aPoint, aSize, sal_True );
- // }
- // }
- //
- // // write point array
- // GetExport().AddAttribute( XML_NAMESPACE_SVG, XML_D,
- // aSvgDElement.GetExportString());
- // eElem = XML_CONTOUR_PATH;
- //}
}
if( rPropSetInfo->hasPropertyByName( sIsAutomaticContour ) )