summaryrefslogtreecommitdiff
path: root/vcl/source/gdi/pdfextoutdevdata.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/gdi/pdfextoutdevdata.cxx')
-rw-r--r--vcl/source/gdi/pdfextoutdevdata.cxx17
1 files changed, 16 insertions, 1 deletions
diff --git a/vcl/source/gdi/pdfextoutdevdata.cxx b/vcl/source/gdi/pdfextoutdevdata.cxx
index 247176bb430e..f62fff043620 100644
--- a/vcl/source/gdi/pdfextoutdevdata.cxx
+++ b/vcl/source/gdi/pdfextoutdevdata.cxx
@@ -294,13 +294,18 @@ struct PageSyncData
std::deque< PDFWriter::StructAttribute > mParaStructAttributes;
std::deque< PDFWriter::StructAttributeValue > mParaStructAttributeValues;
std::deque< Graphic > mGraphics;
+ Graphic* mpCurrentGraphic;
std::deque< std::shared_ptr< PDFWriter::AnyWidget > >
mControls;
GlobalSyncData* mpGlobalData;
bool mbGroupIgnoreGDIMtfActions;
- explicit PageSyncData( GlobalSyncData* pGlobal ) : mbGroupIgnoreGDIMtfActions ( false ) { mpGlobalData = pGlobal; }
+
+ explicit PageSyncData( GlobalSyncData* pGlobal )
+ : mpCurrentGraphic ( nullptr )
+ , mbGroupIgnoreGDIMtfActions ( false )
+ { mpGlobalData = pGlobal; }
void PushAction( const OutputDevice& rOutDev, const PDFExtOutDevDataSync::Action eAct );
bool PlaySyncPageAct( PDFWriter& rWriter, sal_uInt32& rCurGDIMtfAction, const PDFExtOutDevData& rOutDevData );
@@ -412,6 +417,7 @@ bool PageSyncData::PlaySyncPageAct( PDFWriter& rWriter, sal_uInt32& rCurGDIMtfAc
mbGroupIgnoreGDIMtfActions =
rOutDevData.HasAdequateCompression(
rGraphic, mParaRects[0], mParaRects[1]);
+ mpCurrentGraphic = mbGroupIgnoreGDIMtfActions ? nullptr : &rGraphic;
}
break;
}
@@ -466,6 +472,10 @@ bool PageSyncData::PlaySyncPageAct( PDFWriter& rWriter, sal_uInt32& rCurGDIMtfAc
}
mbGroupIgnoreGDIMtfActions = false;
}
+ else
+ {
+ mpCurrentGraphic = nullptr;
+ }
}
break;
case PDFExtOutDevDataSync::CreateNamedDest:
@@ -520,6 +530,11 @@ PDFExtOutDevData::~PDFExtOutDevData()
delete mpGlobalSyncData;
}
+const Graphic* PDFExtOutDevData::GetCurrentGraphic() const
+{
+ return mpPageSyncData->mpCurrentGraphic;
+}
+
void PDFExtOutDevData::SetDocumentLocale( const css::lang::Locale& rLoc )
{
maDocLocale = rLoc;