summaryrefslogtreecommitdiff
path: root/drawinglayer/source/tools/emfphelperdata.hxx
diff options
context:
space:
mode:
authorBartosz Kosiorek <gang65@poczta.onet.pl>2017-11-05 00:02:49 +0100
committerBartosz Kosiorek <gang65@poczta.onet.pl>2017-11-16 21:55:54 +0100
commitd0c4cee7e5ad00363d264aec0011a4b07983b19d (patch)
treefa15f8e5dd76f92681455572d4a7f99bedc0c409 /drawinglayer/source/tools/emfphelperdata.hxx
parent6a7e7c3821ab795b92a1832bcfd3179a51ea8313 (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.hxx5
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);
};
}