summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Kosiorek <gang65@poczta.onet.pl>2017-11-07 22:34:46 +0100
committerBartosz Kosiorek <gang65@poczta.onet.pl>2017-11-09 13:25:11 +0100
commit4418372084001ae6ae8153bf79a551a5bd5b40d4 (patch)
tree04efb31d4e892b26b65dbc50feb19c41c091f2be
parente49aa9303f047d7610b2b8334404db120d7bc8db (diff)
tdf#113707 EMF+ Add support for ResetClip record
Change-Id: I00ab6ac7a5e157cff469c2afd5e14d5f06f01bd0 Reviewed-on: https://gerrit.libreoffice.org/44432 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
-rw-r--r--drawinglayer/source/tools/emfphelperdata.cxx11
-rw-r--r--drawinglayer/source/tools/emfphelperdata.hxx2
2 files changed, 12 insertions, 1 deletions
diff --git a/drawinglayer/source/tools/emfphelperdata.cxx b/drawinglayer/source/tools/emfphelperdata.cxx
index 77f5d8f0c912..d791eb034309 100644
--- a/drawinglayer/source/tools/emfphelperdata.cxx
+++ b/drawinglayer/source/tools/emfphelperdata.cxx
@@ -85,6 +85,7 @@ namespace emfplushelper
case EmfPlusRecordTypeTranslateWorldTransform: return "EmfPlusRecordTypeTranslateWorldTransform";
case EmfPlusRecordTypeScaleWorldTransform: return "EmfPlusRecordTypeScaleWorldTransform";
case EmfPlusRecordTypeSetPageTransform: return "EmfPlusRecordTypeSetPageTransform";
+ case EmfPlusRecordTypeResetClip: return "EmfPlusRecordTypeResetClip";
case EmfPlusRecordTypeSetClipRect: return "EmfPlusRecordTypeSetClipRect";
case EmfPlusRecordTypeSetClipPath: return "EmfPlusRecordTypeSetClipPath";
case EmfPlusRecordTypeSetClipRegion: return "EmfPlusRecordTypeSetClipRegion";
@@ -1516,6 +1517,16 @@ namespace emfplushelper
"EMF+\t " << maWorldTransform);
break;
}
+ case EmfPlusRecordTypeResetClip:
+ {
+ SAL_INFO("drawinglayer", "EMF+ EmfPlusRecordTypeResetClip");
+ // We don't need to read anything more, as Size needs to be set 0x0000000C
+ // and DataSize must be set to 0.
+
+ // Resets the current clipping region for the world space to infinity.
+ HandleNewClipRegion(::basegfx::B2DPolyPolygon(), mrTargetHolders, mrPropertyHolders);
+ break;
+ }
case EmfPlusRecordTypeSetClipRect:
{
int combineMode = (flags >> 8) & 0xf;
diff --git a/drawinglayer/source/tools/emfphelperdata.hxx b/drawinglayer/source/tools/emfphelperdata.hxx
index 516a8e4e6a3f..71aa0758544f 100644
--- a/drawinglayer/source/tools/emfphelperdata.hxx
+++ b/drawinglayer/source/tools/emfphelperdata.hxx
@@ -82,7 +82,7 @@ namespace emfplushelper
#define EmfPlusRecordTypeScaleWorldTransform 0x402E
#define EmfPlusRecordTypeRotateWorldTransform 0x402F
#define EmfPlusRecordTypeSetPageTransform 0x4030
- //TODO EmfPlusRecordTypeResetClip 0x4031
+ #define EmfPlusRecordTypeResetClip 0x4031
#define EmfPlusRecordTypeSetClipRect 0x4032
#define EmfPlusRecordTypeSetClipPath 0x4033
#define EmfPlusRecordTypeSetClipRegion 0x4034