You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2013/10/30 17:13:42 UTC

svn commit: r1537155 [2/2] - in /openoffice/branches/alg/aw080/main: basegfx/inc/basegfx/polygon/ basegfx/source/polygon/ xmloff/inc/ xmloff/source/draw/ xmloff/source/style/ xmloff/source/text/

Modified: openoffice/branches/alg/aw080/main/xmloff/source/draw/xexptran.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/xmloff/source/draw/xexptran.cxx?rev=1537155&r1=1537154&r2=1537155&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/xmloff/source/draw/xexptran.cxx (original)
+++ openoffice/branches/alg/aw080/main/xmloff/source/draw/xexptran.cxx Wed Oct 30 16:13:41 2013
@@ -1250,1846 +1250,72 @@ void SdXMLImExTransform3D::GetFullTransf
 
 SdXMLImExViewBox::SdXMLImExViewBox(double fX, double fY, double fW, double fH)
 :	mfX( fX ),
-	mfY( fY ),
-	mfW( fW ),
-	mfH( fH )
+    mfY( fY ),
+    mfW( fW ),
+    mfH( fH )
 {
 }
 
 // #100617# Asked vincent hardy: svg:viewBox values may be double precision.
 SdXMLImExViewBox::SdXMLImExViewBox(const OUString& rNew, const SvXMLUnitConverter& rConv)
 :	msString(rNew),
-	mfX( 0.0 ),
-	mfY( 0.0 ),
-	mfW( 1000.0 ),
-	mfH( 1000.0 )
+    mfX( 0.0 ),
+    mfY( 0.0 ),
+    mfW( 1000.0 ),
+    mfH( 1000.0 )
 {
-	if(msString.getLength())
-	{
-		const OUString aStr(msString.getStr(), (sal_uInt16)msString.getLength());
-		const sal_Int32 nLen(aStr.getLength());
-		sal_Int32 nPos(0);
-
-		// skip starting spaces
-		Imp_SkipSpaces(aStr, nPos, nLen);
-	
-		// get mX, #100617# be prepared for doubles
-		mfX = Imp_GetDoubleChar(aStr, nPos, nLen, rConv, mfX);
-
-		// skip spaces and commas
-		Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
-	
-		// get mY, #100617# be prepared for doubles
-		mfY = Imp_GetDoubleChar(aStr, nPos, nLen, rConv, mfY);
-
-		// skip spaces and commas
-		Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
-	
-		// get mW, #100617# be prepared for doubles
-		mfW = Imp_GetDoubleChar(aStr, nPos, nLen, rConv, mfW);
-
-		// skip spaces and commas
-		Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
-	
-		// get mH, #100617# be prepared for doubles
-		mfH = Imp_GetDoubleChar(aStr, nPos, nLen, rConv, mfH);
-	}
+    if(msString.getLength())
+    {
+        const OUString aStr(msString.getStr(), (sal_uInt16)msString.getLength());
+        const sal_Int32 nLen(aStr.getLength());
+        sal_Int32 nPos(0);
+
+        // skip starting spaces
+        Imp_SkipSpaces(aStr, nPos, nLen);
+    
+        // get mX, #100617# be prepared for doubles
+        mfX = Imp_GetDoubleChar(aStr, nPos, nLen, rConv, mfX);
+
+        // skip spaces and commas
+        Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
+    
+        // get mY, #100617# be prepared for doubles
+        mfY = Imp_GetDoubleChar(aStr, nPos, nLen, rConv, mfY);
+
+        // skip spaces and commas
+        Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
+    
+        // get mW, #100617# be prepared for doubles
+        mfW = Imp_GetDoubleChar(aStr, nPos, nLen, rConv, mfW);
+
+        // skip spaces and commas
+        Imp_SkipSpacesAndCommas(aStr, nPos, nLen);
+    
+        // get mH, #100617# be prepared for doubles
+        mfH = Imp_GetDoubleChar(aStr, nPos, nLen, rConv, mfH);
+    }
 }
 
 const OUString& SdXMLImExViewBox::GetExportString()
 {
-	OUString aNewString;
-	OUString aEmptySpace(sal_Unicode(' '));
+    OUString aNewString;
+    OUString aEmptySpace(sal_Unicode(' '));
 
-	Imp_PutDoubleChar(aNewString, mfX);
-	aNewString += aEmptySpace;
-	
-	Imp_PutDoubleChar(aNewString, mfY);
-	aNewString += aEmptySpace;
-	
-	Imp_PutDoubleChar(aNewString, mfW);
-	aNewString += aEmptySpace;
-	
-	Imp_PutDoubleChar(aNewString, mfH);
+    Imp_PutDoubleChar(aNewString, mfX);
+    aNewString += aEmptySpace;
+    
+    Imp_PutDoubleChar(aNewString, mfY);
+    aNewString += aEmptySpace;
+    
+    Imp_PutDoubleChar(aNewString, mfW);
+    aNewString += aEmptySpace;
+    
+    Imp_PutDoubleChar(aNewString, mfH);
 
-	// set new string
-	msString = aNewString;
+    // set new string
+    msString = aNewString;
 
-	return msString;
+    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

Modified: openoffice/branches/alg/aw080/main/xmloff/source/draw/ximp3dobject.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/xmloff/source/draw/ximp3dobject.cxx?rev=1537155&r1=1537154&r2=1537155&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/xmloff/source/draw/ximp3dobject.cxx (original)
+++ openoffice/branches/alg/aw080/main/xmloff/source/draw/ximp3dobject.cxx Wed Oct 30 16:13:41 2013
@@ -475,59 +475,6 @@ void SdXML3DPolygonBasedShapeContext::St
             {
                 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

Modified: openoffice/branches/alg/aw080/main/xmloff/source/draw/ximpshap.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/xmloff/source/draw/ximpshap.cxx?rev=1537155&r1=1537154&r2=1537155&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/xmloff/source/draw/ximpshap.cxx (original)
+++ openoffice/branches/alg/aw080/main/xmloff/source/draw/ximpshap.cxx Wed Oct 30 16:13:41 2013
@@ -1321,24 +1321,24 @@ SdXMLPolygonShapeContext::~SdXMLPolygonS
 
 void SdXMLPolygonShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
 {
-	// Add, set Style and properties from base shape
-	if(mbClosed)
-		AddShape("com.sun.star.drawing.PolyPolygonShape");
-	else
-		AddShape("com.sun.star.drawing.PolyLineShape");
+    // Add, set Style and properties from base shape
+    if(mbClosed)
+        AddShape("com.sun.star.drawing.PolyPolygonShape");
+    else
+        AddShape("com.sun.star.drawing.PolyLineShape");
 
-	if( mxShape.is() )
-	{
-		SetStyle();
-		SetLayer();
+    if( mxShape.is() )
+    {
+        SetStyle();
+        SetLayer();
 
-		// set local parameters on shape
-		uno::Reference< beans::XPropertySet > xPropSet(mxShape, uno::UNO_QUERY);
-		if(xPropSet.is())
-		{
-			// set polygon
-			if(maPoints.getLength() && maViewBox.getLength())
-			{
+        // set local parameters on shape
+        uno::Reference< beans::XPropertySet > xPropSet(mxShape, uno::UNO_QUERY);
+        if(xPropSet.is())
+        {
+            // set polygon
+            if(maPoints.getLength() && maViewBox.getLength())
+            {
                 const SdXMLImExViewBox aViewBox(maViewBox, GetImport().GetMM100UnitConverter());
                 basegfx::B2DVector aSize(aViewBox.GetWidth(), aViewBox.GetHeight());
 
@@ -1378,23 +1378,14 @@ void SdXMLPolygonShapeContext::StartElem
                         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);
-			}
-		}
-
-		// set pos, size, shear and rotate and get copy of matrix
-		SetTransformation();
+        // set pos, size, shear and rotate and get copy of matrix
+        SetTransformation();
 
-		SdXMLShapeContext::StartElement(xAttrList);
-	}
+        SdXMLShapeContext::StartElement(xAttrList);
+    }
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1552,89 +1543,6 @@ void SdXMLPathShapeContext::StartElement
                 }
             }
         }
-
-        // 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::process
                     }
                 }
             }
-
-            // 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;
-            //}
         }
     }
 	}

Modified: openoffice/branches/alg/aw080/main/xmloff/source/style/MarkerStyle.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/xmloff/source/style/MarkerStyle.cxx?rev=1537155&r1=1537154&r2=1537155&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/xmloff/source/style/MarkerStyle.cxx (original)
+++ openoffice/branches/alg/aw080/main/xmloff/source/style/MarkerStyle.cxx Wed Oct 30 16:13:41 2013
@@ -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);

Modified: openoffice/branches/alg/aw080/main/xmloff/source/text/txtparae.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/xmloff/source/text/txtparae.cxx?rev=1537155&r1=1537154&r2=1537155&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/xmloff/source/text/txtparae.cxx (original)
+++ openoffice/branches/alg/aw080/main/xmloff/source/text/txtparae.cxx Wed Oct 30 16:13:41 2013
@@ -2866,8 +2866,8 @@ void XMLTextParagraphExport::_exportText
 }
 
 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::exportConto
     }
 
     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::exportConto
             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::exportConto
             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 ) )