[Libreoffice-commits] core.git: Branch 'aoo/trunk' - sw/source

Armin Le Grand alg at apache.org
Tue Jun 3 11:08:30 PDT 2014


 sw/source/core/layout/paintfrm.cxx |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

New commits:
commit fcc24448899577e220db70f265bad59f0ffa8428
Author: Armin Le Grand <alg at apache.org>
Date:   Tue Jun 3 16:43:56 2014 +0000

    i124638 Corrected paints of Writer Frames with DrawingLayer FillAttributes for all systems and AA/nonAA

diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 318986e..081ad1a 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -1649,12 +1649,9 @@ bool MA_FASTCALL DrawFillAttributes(
 
     if(bUseNew && rFillAttributes.get() && rFillAttributes->isUsed())
     {
-        //UUUU Need to substract a half logical pixel unit from TopLeft to get the correct
-        // layering for AAed paints
-        const basegfx::B2DVector aHalfSingleUnit(rOut.GetInverseViewTransformation() * basegfx::B2DVector(0.5, 0.5));
-        const basegfx::B2DRange aPaintRange(
-            rPaintRect.Left() - aHalfSingleUnit.getX(),
-            rPaintRect.Top() - aHalfSingleUnit.getY(),
+        basegfx::B2DRange aPaintRange(
+            rPaintRect.Left(),
+            rPaintRect.Top(),
             rPaintRect.Right(),
             rPaintRect.Bottom());
 
@@ -1662,6 +1659,14 @@ bool MA_FASTCALL DrawFillAttributes(
             !basegfx::fTools::equalZero(aPaintRange.getWidth()) &&
             !basegfx::fTools::equalZero(aPaintRange.getHeight()))
         {
+            //UUUU need to expand for correct AAed and non-AAed visualization as primitive; move
+            // bounds to half-(logical)pixel bounds and add a width/height of one pixel that is missing
+            // from SwRect/Rectangle integer handling
+            const basegfx::B2DVector aSingleUnit(rOut.GetInverseViewTransformation() * basegfx::B2DVector(0.5, 0.5));
+
+            aPaintRange.expand(aPaintRange.getMinimum() - (aSingleUnit * 0.5));
+            aPaintRange.expand(aPaintRange.getMaximum() + (aSingleUnit * 1.5));
+
             const basegfx::B2DRange aDefineRange(
                 rOriginalLayoutRect.Left(),
                 rOriginalLayoutRect.Top(),


More information about the Libreoffice-commits mailing list