Author: alg
Date: Tue Jun 3 16:43:56 2014
New Revision: 1599676
URL: http://svn.apache.org/r1599676
Log:
i124638 Corrected paints of Writer Frames with DrawingLayer FillAttributes for
all systems and AA/nonAA
Modified:
openoffice/trunk/main/sw/source/core/layout/paintfrm.cxx
Modified: openoffice/trunk/main/sw/source/core/layout/paintfrm.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/core/layout/paintfrm.cxx?rev=1599676&r1=1599675&r2=1599676&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/core/layout/paintfrm.cxx (original)
+++ openoffice/trunk/main/sw/source/core/layout/paintfrm.cxx Tue Jun 3
16:43:56 2014
@@ -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(),