summaryrefslogtreecommitdiff
path: root/drawinglayer/source/tools/emfphelperdata.hxx
diff options
context:
space:
mode:
authorPatrick Jaap <patrick.jaap@tu-dresden.de>2017-08-08 10:43:46 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2017-08-16 21:21:59 +0200
commite67dbbf9d21552a583889628df909c2a21cbd785 (patch)
tree2bf02240326ea75c7b7f9518375808a21f6bcec4 /drawinglayer/source/tools/emfphelperdata.hxx
parent708eb7472349954de44ad0519b6680e668937d89 (diff)
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 <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'drawinglayer/source/tools/emfphelperdata.hxx')
-rw-r--r--drawinglayer/source/tools/emfphelperdata.hxx11
1 files changed, 9 insertions, 2 deletions
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 <basegfx/point/b2dpoint.hxx>
#include <basegfx/vector/b2dsize.hxx>
#include <basegfx/color/bcolor.hxx>
+#include <map>
// predefines
class SvStream;
@@ -184,6 +185,8 @@ namespace emfplushelper
//
// typedef std::map<int, EmfPlusGraphicState> GraphicStateMap;
+ typedef std::map<int, wmfemfhelper::PropertyHolder> 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);