Related: #i124638# Corrected paints of Writer Frames...
with DrawingLayer FillAttributes for all systems and AA/nonAA (cherry picked from commit fcc24448899577e220db70f265bad59f0ffa8428) Change-Id: I1b3d66061132d1d276080f99e94c421b429de936
This commit is contained in:
committed by
Miklos Vajna
parent
c7853b5b5c
commit
c3f70303cf
@@ -1838,12 +1838,9 @@ bool DrawFillAttributes(
|
|||||||
|
|
||||||
if(bUseNew && rFillAttributes.get() && rFillAttributes->isUsed())
|
if(bUseNew && rFillAttributes.get() && rFillAttributes->isUsed())
|
||||||
{
|
{
|
||||||
//UUUU Need to substract a half logical pixel unit from TopLeft to get the correct
|
basegfx::B2DRange aPaintRange(
|
||||||
// layering for AAed paints
|
rPaintRect.Left(),
|
||||||
const basegfx::B2DVector aHalfSingleUnit(rOut.GetInverseViewTransformation() * basegfx::B2DVector(0.5, 0.5));
|
rPaintRect.Top(),
|
||||||
const basegfx::B2DRange aPaintRange(
|
|
||||||
rPaintRect.Left() - aHalfSingleUnit.getX(),
|
|
||||||
rPaintRect.Top() - aHalfSingleUnit.getY(),
|
|
||||||
rPaintRect.Right(),
|
rPaintRect.Right(),
|
||||||
rPaintRect.Bottom());
|
rPaintRect.Bottom());
|
||||||
|
|
||||||
@@ -1851,6 +1848,14 @@ bool DrawFillAttributes(
|
|||||||
!basegfx::fTools::equalZero(aPaintRange.getWidth()) &&
|
!basegfx::fTools::equalZero(aPaintRange.getWidth()) &&
|
||||||
!basegfx::fTools::equalZero(aPaintRange.getHeight()))
|
!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(
|
const basegfx::B2DRange aDefineRange(
|
||||||
rOriginalLayoutRect.Left(),
|
rOriginalLayoutRect.Left(),
|
||||||
rOriginalLayoutRect.Top(),
|
rOriginalLayoutRect.Top(),
|
||||||
|
Reference in New Issue
Block a user