summaryrefslogtreecommitdiff
path: root/sw/source/core/layout
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2014-06-03 16:43:56 +0000
committerArmin Le Grand <alg@apache.org>2014-06-03 16:43:56 +0000
commitfcc24448899577e220db70f265bad59f0ffa8428 (patch)
treec04b6d738c3a85b8cb5320645c4b04693daa2ebd /sw/source/core/layout
parent2a9414bc50d9c0618513ccbd82a30e2591db1159 (diff)
i124638 Corrected paints of Writer Frames with DrawingLayer FillAttributes for all systems and AA/nonAA
Notes
Diffstat (limited to 'sw/source/core/layout')
-rw-r--r--sw/source/core/layout/paintfrm.cxx17
1 files changed, 11 insertions, 6 deletions
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 318986e0956f..081ad1a7362e 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(),