Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi,

would you please review attached patches for 3-3-0 - they're
extracted from OOo's calc65 CWS, which'll go into RC10.

Both are tested & work fine for me - they're safe in a sense that
they'll definitely not make matters worse. ;)

Cheers,

-- Thorsten
changeset:   274229:e8ffb0039660
user:        Andre Fischer<andre.f.fischer@oracle.com>
date:        Thu Jan 13 16:25:57 2011 +0100
summary:     calc65: #i116318# Fixed the painting of axial gradients.

diff -r 6fcb36ae022d -r e8ffb0039660 cppcanvas/source/mtfrenderer/implrenderer.cxx
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx     Thu Jan 13 15:58:12 2011 +0100
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx     Thu Jan 13 16:25:57 2011 +0100
@@ -682,10 +682,23 @@
 
                         case GRADIENT_AXIAL:
                         {
-                            basegfx::tools::createLinearODFGradientInfo(aGradInfo,
+                            // Adapt the border so that it is suitable
+                            // for the axial gradient.  An axial
+                            // gradient consists of two linear
+                            // gradients.  Each of those covers half
+                            // of the total size.  In order to
+                            // compensate for the condensed display of
+                            // the linear gradients, we have to
+                            // enlarge the area taken up by the actual
+                            // gradient (1-fBorder).  After that we
+                            // have to turn the result back into a
+                            // border value, hence the second (left
+                            // most 1-...
+                            const double fAxialBorder (1-2*(1-fBorder));
+                            basegfx::tools::createAxialODFGradientInfo(aGradInfo,
                                                                         aBounds,
                                                                         nSteps,
-                                                                        fBorder,
+                                                                        fAxialBorder,
                                                                         fRotation);
                             // map odf to svg gradient orientation - x
                             // instead of y direction

changeset:   274228:6fcb36ae022d
user:        Philipp Lohmann [pl] <Philipp.Lohmann@Oracle.COM>
date:        Thu Jan 13 15:58:12 2011 +0100
summary:     calc65: #i116371# fix backgrounds for polypolygons in metafile

diff -r c70c59ba39fd -r 6fcb36ae022d drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
--- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx        Thu Jan 06 17:27:00 2011 
+0100
+++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx        Thu Jan 13 15:58:12 2011 
+0100
@@ -1379,6 +1379,7 @@
                                {
                                        // need to handle PolyPolygonHatchPrimitive2D here to 
support XPATHFILL_SEQ_BEGIN/XPATHFILL_SEQ_END
                                        const primitive2d::PolyPolygonHatchPrimitive2D& 
rHatchCandidate = static_cast< const primitive2d::PolyPolygonHatchPrimitive2D& >(rCandidate);
+                                   const attribute::FillHatchAttribute& rFillHatchAttribute = 
rHatchCandidate.getFillHatch();
                                        basegfx::B2DPolyPolygon 
aLocalPolyPolygon(rHatchCandidate.getB2DPolyPolygon());
 
                     // #i112245# Metafiles use tools Polygon and are not able to have more than 
65535 points
@@ -1386,8 +1387,20 @@
                     while(fillPolyPolygonNeededToBeSplit(aLocalPolyPolygon))
                         ;
 
+                                       if(rFillHatchAttribute.isFillBackground())
+                                       {
+                                               // with fixing #i111954# (see below) the possible 
background
+                                               // fill of a hatched object was lost.Generate a 
background fill 
+                                               // primitive and render it
+                                           const primitive2d::Primitive2DReference xBackground(
+                                                       new 
primitive2d::PolyPolygonColorPrimitive2D(
+                                                               aLocalPolyPolygon, 
+                                                               
rHatchCandidate.getBackgroundColor()));
+                                               
+                                               
process(primitive2d::Primitive2DSequence(&xBackground, 1));
+                                       }
+
                     SvtGraphicFill* pSvtGraphicFill = 0;
-                                   const attribute::FillHatchAttribute& rFillHatchAttribute = 
rHatchCandidate.getFillHatch();
                                    aLocalPolyPolygon.transform(maCurrentTransformation);
 
                                    if(!mnSvtGraphicFillCount && aLocalPolyPolygon.count())

Attachment: pgp_tePet0bun.pgp
Description: PGP signature


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.