ooo-build r14746 - in trunk: . patches/dev300



Author: thorstenb
Date: Thu Dec  4 14:52:23 2008
New Revision: 14746
URL: http://svn.gnome.org/viewvc/ooo-build?rev=14746&view=rev

Log:
    * patchs/dev300/apply:
    * patches/dev300/svg-import-*.diff: adapted to basegfx changes,
    enabled again



Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply
   trunk/patches/dev300/svg-import-filter-gfxfilter.diff
   trunk/patches/dev300/svg-import-viewbox-fix.diff

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Thu Dec  4 14:52:23 2008
@@ -2087,8 +2087,7 @@
 jvmfwk-gij32.diff, n#222708, pmladek
 
 
-# FIXME 2008-11-26: doesn't compile
-[ SVGImport > dev300-m99 ]
+[ SVGImport ]
 # A bit less partial implementation of SVG import
 # Work in progress, but fairly usable already
 svg-import-filter.diff, thorsten

Modified: trunk/patches/dev300/svg-import-filter-gfxfilter.diff
==============================================================================
--- trunk/patches/dev300/svg-import-filter-gfxfilter.diff	(original)
+++ trunk/patches/dev300/svg-import-filter-gfxfilter.diff	Thu Dec  4 14:52:23 2008
@@ -118,7 +118,7 @@
  
 +#include <comphelper/processfactory.hxx>
 +#include <basegfx/polygon/b2dpolygoncutandtouch.hxx>
-+#include <basegfx/polygon/b2dpolypolygontools.hxx>
++#include <basegfx/polygon/b2dpolypolygoncutter.hxx>
 +#include <unotools/streamwrap.hxx>
 +#include <xmloff/xmluconv.hxx>
 +#include <vcl/graph.hxx>
@@ -140,7 +140,7 @@
          // do we have a gradient fill? then write out gradient as well
          if( rState.meFillType == GRADIENT && rState.maFillGradient.maStops.size() > 1 )
          {
-@@ -1505,10 +1520,13 @@ struct ShapeWritingVisitor
+@@ -1505,10 +1520,12 @@ struct ShapeWritingVisitor
              for( sal_uInt32 i=0; i<rPoly.count(); ++i )
              {                
                  aPolys.push_back(
@@ -148,17 +148,16 @@
 -                        rPoly.getB2DPolygon(i),
 -                        aState.mnStrokeWidth/2.0,
 -                        aState.meLineJoin));
-+                    basegfx::tools::removeNeutralPolygons(
-+                        basegfx::tools::removeAllIntersections(
-+                            basegfx::tools::createAreaGeometryForPolygon(
++                    basegfx::tools::stripNeutralPolygons(
++                        basegfx::tools::prepareForPolygonOperation(
++                            basegfx::tools::createAreaGeometry(
 +                                rPoly.getB2DPolygon(i),
 +                                aState.mnStrokeWidth/2.0,
-+                                aState.meLineJoin)),
-+                            true));
++                                aState.meLineJoin))));
                  // TODO(F2): line ends
              }
  
-@@ -1873,4 +1891,723 @@ sal_Bool SVGReader::parseAndConvert()
+@@ -1873,4 +1891,735 @@ sal_Bool SVGReader::parseAndConvert()
      return sal_True;
  }
  
@@ -739,24 +738,36 @@
 +            // vcl thick lines are severly borked - generate filled
 +            // polygon instead
 +            std::vector<basegfx::B2DPolyPolygon> aPolys;
-+            aPoly=basegfx::tools::adaptiveSubdivideByAngle(aPoly);
 +            if( !aState.maDashArray.empty() )
-+                aPoly=basegfx::tools::applyLineDashing(aPoly,
-+                                                       aState.maDashArray);
++            {
++                basegfx::B2DPolyPolygon aSegment;
++                for( sal_uInt32 i=0; i<rPoly.count(); ++i )
++                {
++                    basegfx::tools::applyLineDashing(rPoly,
++                                                     aState.maDashArray,
++                                                     &aSegment);
++                    aPoly.append(aSegment);
++                }
++            }
++
++            // applied line dashing to original rPoly above, to get
++            // correctly transformed lengths - need to transform
++            // again, now
++            aPoly.transform(aState.maCTM);
++
 +            for( sal_uInt32 i=0; i<aPoly.count(); ++i )
 +            {                
 +                // ugly. convert to integer-based tools polygon
 +                // first, and only _then_ remove intersections (we
 +                // might get new ones from the rounding)
 +                aPolys.push_back(
-+                    basegfx::tools::removeNeutralPolygons(
-+                        basegfx::tools::removeAllIntersections(
++                    basegfx::tools::stripNeutralPolygons(
++                        basegfx::tools::prepareForPolygonOperation(
 +                            ::PolyPolygon(
-+                                basegfx::tools::createAreaGeometryForPolygon(
++                                basegfx::tools::createAreaGeometry(
 +                                    aPoly.getB2DPolygon(i),
 +                                    pt100thmm(aState.mnStrokeWidth/2.0),
-+                                    aState.meLineJoin)).getB2DPolyPolygon()),
-+                        true));
++                                    aState.meLineJoin)).getB2DPolyPolygon())));
 +                // TODO(F2): line ends
 +            }
 +

Modified: trunk/patches/dev300/svg-import-viewbox-fix.diff
==============================================================================
--- trunk/patches/dev300/svg-import-viewbox-fix.diff	(original)
+++ trunk/patches/dev300/svg-import-viewbox-fix.diff	Thu Dec  4 14:52:23 2008
@@ -21,21 +21,3 @@
  
  		        // scan for style info
      		    const sal_Int32 nNumAttrs( xAttributes->getLength() );
-@@ -2468,10 +2469,16 @@
-             // vcl thick lines are severly borked - generate filled
-             // polygon instead
-             std::vector<basegfx::B2DPolyPolygon> aPolys;
--            aPoly=basegfx::tools::adaptiveSubdivideByAngle(aPoly);
-+            aPoly=basegfx::tools::adaptiveSubdivideByAngle(rPoly);
-             if( !aState.maDashArray.empty() )
-                 aPoly=basegfx::tools::applyLineDashing(aPoly,
-                                                        aState.maDashArray);
-+
-+            // applied line dashing to original rPoly above, to get
-+            // correctly transformed lengths - need to transform
-+            // again, now
-+            aPoly.transform(aState.maCTM);
-+
-             for( sal_uInt32 i=0; i<aPoly.count(); ++i )
-             {                
-                 // ugly. convert to integer-based tools polygon



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]