From e67dbbf9d21552a583889628df909c2a21cbd785 Mon Sep 17 00:00:00 2001 From: Patrick Jaap Date: Tue, 8 Aug 2017 10:43:46 +0200 Subject: new EMF+ Parser: Basic implementation for Graphic Stacks Some basic code for push/pop events of the graphic stacks. Each draw/fill action is also transferred to the currend state. The implementation follows the one from the old parser. Change-Id: Ib6411046801023dfa72b16038a9e8ede4c628942 Reviewed-on: https://gerrit.libreoffice.org/40867 Tested-by: Jenkins Reviewed-by: Thorsten Behrens --- drawinglayer/source/tools/emfphelperdata.hxx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'drawinglayer/source/tools/emfphelperdata.hxx') diff --git a/drawinglayer/source/tools/emfphelperdata.hxx b/drawinglayer/source/tools/emfphelperdata.hxx index 7a6d8b1f89ee..74e886b7daaa 100644 --- a/drawinglayer/source/tools/emfphelperdata.hxx +++ b/drawinglayer/source/tools/emfphelperdata.hxx @@ -26,6 +26,7 @@ #include #include #include +#include // predefines class SvStream; @@ -184,6 +185,8 @@ namespace emfplushelper // // typedef std::map GraphicStateMap; + typedef std::map GraphicStateMap; + struct EmfPlusHelperData { private: @@ -215,8 +218,8 @@ namespace emfplushelper SvMemoryStream mMStream; /* emf+ graphic state stack */ -// GraphicStateMap mGSStack; -// GraphicStateMap mGSContainerStack; + GraphicStateMap mGSStack; + GraphicStateMap mGSContainerStack; /// data holders wmfemfhelper::TargetHolders& mrTargetHolders; @@ -229,6 +232,10 @@ namespace emfplushelper // internal mapper void mappingChanged(); + // stack actions + void GraphicStatePush(GraphicStateMap& map, sal_Int32 index); + void GraphicStatePop (GraphicStateMap& map, sal_Int32 index, wmfemfhelper::PropertyHolder& rState); + // primitive creators void EMFPPlusDrawPolygon(const ::basegfx::B2DPolyPolygon& polygon, sal_uInt32 penIndex); void EMFPPlusFillPolygon(const ::basegfx::B2DPolyPolygon& polygon, bool isColor, sal_uInt32 brushIndexOrColor); -- cgit