[Libreoffice-commits] core.git: drawinglayer/source

Bartosz Kosiorek gang65 at poczta.onet.pl
Thu Nov 9 12:25:50 UTC 2017


 drawinglayer/source/tools/emfphelperdata.cxx |   11 +++++++++++
 drawinglayer/source/tools/emfphelperdata.hxx |    2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)

New commits:
commit 4418372084001ae6ae8153bf79a551a5bd5b40d4
Author: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Date:   Tue Nov 7 22:34:46 2017 +0100

    tdf#113707 EMF+ Add support for ResetClip record
    
    Change-Id: I00ab6ac7a5e157cff469c2afd5e14d5f06f01bd0
    Reviewed-on: https://gerrit.libreoffice.org/44432
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>

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


More information about the Libreoffice-commits mailing list