vcl/source/gdi/pdfwriter_impl2.cxx |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit 4ab908e94da9305d6800c82b5d753c26193aa96b
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Nov 4 15:44:11 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Thu Nov 4 18:15:30 2021 +0100

    Resolves: tdf#138826 adjust the aTmpMtf to get drawn at maPos of Action
    
    see also #i112076#
    
    Change-Id: I9c3eea3d5d518da164821bfcf494292dccb69e27
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124714
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/source/gdi/pdfwriter_impl2.cxx 
b/vcl/source/gdi/pdfwriter_impl2.cxx
index c2fb49e84d87..e472dbd52cef 100644
--- a/vcl/source/gdi/pdfwriter_impl2.cxx
+++ b/vcl/source/gdi/pdfwriter_impl2.cxx
@@ -438,6 +438,12 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& 
i_rMtf, vcl::PDFExtOutDevDa
                         const Color aTransCol( 
rTransparenceGradient.GetStartColor() );
                         const sal_uInt16 nTransPercent = 
aTransCol.GetLuminance() * 100 / 255;
                         m_rOuterFace.BeginTransparencyGroup();
+
+                        // tdf#138826 adjust the aTmpMtf to start at rPos (see 
also #i112076#)
+                        Point aMtfOrigin(aTmpMtf.GetPrefMapMode().GetOrigin());
+                        if (rPos != aMtfOrigin)
+                            aTmpMtf.Move(rPos.X() - aMtfOrigin.X(), rPos.Y() - 
aMtfOrigin.Y());
+
                         playMetafile( aTmpMtf, nullptr, i_rContext, pDummyVDev 
);
                         m_rOuterFace.EndTransparencyGroup( tools::Rectangle( 
rPos, rSize ), nTransPercent );
                     }

Reply via email to