diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2023-06-30 14:44:21 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2023-07-03 11:32:14 +0200 |
commit | a225b4dbd46897903b217969da5f97f2660022c9 (patch) | |
tree | 56ac50c99cf54a6da161a9396ba262355d8d94a6 /include | |
parent | 7f1012806f5cf2cd53e52d8f2a95c09a2215efbc (diff) |
tdf#152231 vcl,sw: PDF/UA export: fix comments in the margin
If enabled, the comments mess up the structure elements, because the
PageSyncData::mActions stores indexes into the GDIMetaFile::m_aList
vector, and in PageSyncData::PlaySyncPageAct() the indexes don't match.
This is because SwViewShell::PrintOrPDFExport() replaces the GDIMetaFile
with a temporary one, then records the page content, then applies
scaling to the temporary one and replays it, recording with the original
one; somehow replaying a temporary GDIMetaFile with 270 actions to one
that already has 4 actions results in 392 actions.
It's not obvious how this can work with the temporary GDIMetaFile, so
try to get rid of it; not sure if there any drawbacks to this but the
GDIMetaFile is freshly created by the caller in any case.
Change-Id: Ic297367ea307aa8eee8d609751d06abf417e9629
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153808
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/gdimtf.hxx | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/vcl/gdimtf.hxx b/include/vcl/gdimtf.hxx index d62cd899623b..63bde564dcfd 100644 --- a/include/vcl/gdimtf.hxx +++ b/include/vcl/gdimtf.hxx @@ -115,6 +115,7 @@ public: void Move( tools::Long nX, tools::Long nY ); // additional Move method getting specifics how to handle MapMode( MapUnit::MapPixel ) void Move( tools::Long nX, tools::Long nY, tools::Long nDPIX, tools::Long nDPIY ); + void ScaleActions(double fScaleX, double fScaleY); void Scale( double fScaleX, double fScaleY ); void Scale( const Fraction& rScaleX, const Fraction& rScaleY ); void Rotate( Degree10 nAngle10 ); |