diff options
author | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2017-11-05 00:02:49 +0100 |
---|---|---|
committer | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2017-11-16 21:55:54 +0100 |
commit | d0c4cee7e5ad00363d264aec0011a4b07983b19d (patch) | |
tree | fa15f8e5dd76f92681455572d4a7f99bedc0c409 /drawinglayer/source/tools/emfphelperdata.hxx | |
parent | 6a7e7c3821ab795b92a1832bcfd3179a51ea8313 (diff) |
tdf#113704 Implement proper reading of the EmfPlusRegionNode
Regions are specified as a binary tree of region nodes, and each node must
either be a terminal node or specify one or two child nodes.
Nodes contains two child nodes:
RegionNodeDataTypeAnd = 0x00000001,
RegionNodeDataTypeOr = 0x00000002,
RegionNodeDataTypeXor = 0x00000003,
RegionNodeDataTypeExclude = 0x00000004,
RegionNodeDataTypeComplement = 0x00000005,
Terminal nodes:
RegionNodeDataTypeRect = 0x10000000,
RegionNodeDataTypePath = 0x10000001,
RegionNodeDataTypeEmpty = 0x10000002,
RegionNodeDataTypeInfinite = 0x10000003
RegionNode must contain at least one element.
Change-Id: I668e5892701b979f09bcf5bbce44a43226676192
Reviewed-on: https://gerrit.libreoffice.org/44324
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Tested-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Diffstat (limited to 'drawinglayer/source/tools/emfphelperdata.hxx')
-rw-r--r-- | drawinglayer/source/tools/emfphelperdata.hxx | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drawinglayer/source/tools/emfphelperdata.hxx b/drawinglayer/source/tools/emfphelperdata.hxx index 8c91e4edadb0..98a90ab49b36 100644 --- a/drawinglayer/source/tools/emfphelperdata.hxx +++ b/drawinglayer/source/tools/emfphelperdata.hxx @@ -66,6 +66,7 @@ namespace emfplushelper #define EmfPlusRecordTypeSetRenderingOrigin 0x401D #define EmfPlusRecordTypeSetAntiAliasMode 0x401E #define EmfPlusRecordTypeSetTextRenderingHint 0x401F + //TODO EmfPlusSetTextContrast 0x4020 #define EmfPlusRecordTypeSetInterpolationMode 0x4021 #define EmfPlusRecordTypeSetPixelOffsetMode 0x4022 //TODO EmfPlusRecordTypeSetCompositingMode 0x4023 @@ -104,8 +105,6 @@ namespace emfplushelper #define EmfPlusObjectTypeImageAttributes 0x800 #define EmfPlusObjectTypeCustomLineCap 0x900 - #define EmfPlusRegionInitialStateInfinite 0x10000003 - enum UnitType { UnitTypeWorld = 0x00, @@ -242,7 +241,6 @@ namespace emfplushelper // helper functions ::basegfx::BColor EMFPGetBrushColorOrARGBColor(sal_uInt16 flags, sal_uInt32 brushIndexOrColor) const; - void combineClip(int combineMode, ::basegfx::B2DPolyPolygon const & polygon); public: EmfPlusHelperData( @@ -262,6 +260,7 @@ namespace emfplushelper // readers static void ReadRectangle(SvStream& s, float& x, float& y, float &width, float& height, bool bCompressed = false); static bool readXForm(SvStream& rIn, basegfx::B2DHomMatrix& rTarget); + ::basegfx::B2DPolyPolygon const combineClip(::basegfx::B2DPolyPolygon const & leftPolygon, int combineMode, ::basegfx::B2DPolyPolygon const & rightPolygon); }; } |