incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r1232006 - in /incubator/ooo/trunk/main/filter/source/svg: svgexport.cxx svgwriter.cxx
Date Mon, 16 Jan 2012 14:30:12 GMT
Author: alg
Date: Mon Jan 16 14:30:11 2012
New Revision: 1232006

URL: http://svn.apache.org/viewvc?rev=1232006&view=rev
Log:
#118783# Corrected errors in ID strings, corrected Svg line/fill export, corrected polygon
close state

Modified:
    incubator/ooo/trunk/main/filter/source/svg/svgexport.cxx
    incubator/ooo/trunk/main/filter/source/svg/svgwriter.cxx

Modified: incubator/ooo/trunk/main/filter/source/svg/svgexport.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/filter/source/svg/svgexport.cxx?rev=1232006&r1=1232005&r2=1232006&view=diff
==============================================================================
--- incubator/ooo/trunk/main/filter/source/svg/svgexport.cxx (original)
+++ incubator/ooo/trunk/main/filter/source/svg/svgexport.cxx Mon Jan 16 14:30:11 2012
@@ -689,7 +689,7 @@ sal_Bool SVGFilter::implExportPages( con
                     aId = ( B2UCONST( "Slide_" ) ) += ::rtl::OUString::valueOf( ++mnSlideId
);
 
                 if( aSlideName.getLength() )
-                    ( ( aId += B2UCONST( "(" ) ) += aSlideName ) += B2UCONST( ")" );
+                    ( aId += B2UCONST( "_" ) ) += aSlideName;
                 
                 mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "id", aId );
 
@@ -825,7 +825,7 @@ sal_Bool SVGFilter::implExportShape( con
                     aId += ::rtl::OUString::valueOf( ++mnDrawingGroupId );
 
                     if( aObjName.getLength() )
-                        ( ( aId += B2UCONST( "(" ) ) += aObjName ) += B2UCONST( ")" );
+                        ( aId += B2UCONST( "_" ) ) += aObjName;
                 
                     mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "id", aId );
 				
@@ -855,7 +855,7 @@ sal_Bool SVGFilter::implExportShape( con
                     aId += ::rtl::OUString::valueOf( ++mnDrawingId );
 
                     if( aObjName.getLength() )
-                        ( ( aId += B2UCONST( "(" ) ) += aObjName ) += B2UCONST( ")" );
+                        ( aId += B2UCONST( "_" ) ) += aObjName;
                 
                     {
                         if( ( aShapeType.lastIndexOf( B2UCONST( "drawing.OLE2Shape" ) ) !=
-1 ) ||

Modified: incubator/ooo/trunk/main/filter/source/svg/svgwriter.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/filter/source/svg/svgwriter.cxx?rev=1232006&r1=1232005&r2=1232006&view=diff
==============================================================================
--- incubator/ooo/trunk/main/filter/source/svg/svgwriter.cxx (original)
+++ incubator/ooo/trunk/main/filter/source/svg/svgwriter.cxx Mon Jan 16 14:30:11 2012
@@ -489,8 +489,8 @@ PolyPolygon& SVGActionWriter::ImplMap( c
 			aPathData += ::rtl::OUString::valueOf( ( aPolyPoint = rPoly[ 0 ] ).X() );
 			aPathData += aComma;
 			aPathData += ::rtl::OUString::valueOf( aPolyPoint.Y() );
-			
             sal_Char nCurrentMode = 0;
+            const bool bClose(!bLine || rPoly[0] == rPoly[nSize - 1]);
 
 			while( n < nSize )
 			{
@@ -525,7 +525,7 @@ PolyPolygon& SVGActionWriter::ImplMap( c
 				}
 			}
 
-			if( !bLine )
+			if(bClose)
 				aPathData += B2UCONST( " Z" );
 
 			if( i < ( nCount - 1 ) )
@@ -1039,6 +1039,10 @@ void SVGActionWriter::ImplWriteActions( 
                                         sal_uInt32 nWriteFlags,
                                         const ::rtl::OUString* pElementId )
 {
+    // need a counter fo rthe actions written per shape to avoid double ID
+    // generation
+    sal_Int32 nEntryCount(0);
+
     if( mnInnerMtfCount )
         nWriteFlags |= SVGWRITER_NO_SHAPE_COMMENTS;
 
@@ -1381,8 +1385,10 @@ void SVGActionWriter::ImplWriteActions( 
                             mapCurShape.reset( new SVGShapeDescriptor );
                             
                             if( pElementId )
-                                mapCurShape->maId = *pElementId;
-                            
+                            {
+                                mapCurShape->maId = *pElementId + B2UCONST("_") + ::rtl::OUString::valueOf(nEntryCount++);
+                            }
+
                             mapCurShape->maShapePolyPoly = aShapePolyPoly;
                             mapCurShape->maShapeFillColor = aFill.getFillColor();
                             mapCurShape->maShapeFillColor.SetTransparency( (sal_uInt8)
FRound( 255.0 * aFill.getTransparency() ) );
@@ -1447,16 +1453,32 @@ void SVGActionWriter::ImplWriteActions( 
                     
                     if( bSkip )
                     {
+                        Polygon aPoly;
+
+                        aStroke.getPath(aPoly);
+
+                        if(mapCurShape.get())
+                        {
+                            if(1 != mapCurShape->maShapePolyPoly.Count()
+                                || !mapCurShape->maShapePolyPoly[0].IsEqual(aPoly))
+                            {
+                                // this path action is not covering the same path than the
already existing
+                                // fill polypolygon, so write out the fill polygon
+                                ImplWriteShape( *mapCurShape );
+                                mapCurShape.reset();
+                            }
+                        }
+
                         if( !mapCurShape.get() )
                         {
-                            Polygon aPoly;
                             
                             mapCurShape.reset( new SVGShapeDescriptor );
                             
                             if( pElementId )
-                                mapCurShape->maId = *pElementId;
+                            {
+                                mapCurShape->maId = *pElementId + B2UCONST("_") + ::rtl::OUString::valueOf(nEntryCount++);
+                            }
                             
-                            aStroke.getPath( aPoly );
                             mapCurShape->maShapePolyPoly = aPoly;
                         }
                             



Mime
View raw message