|
 |
69cc7b |
From f41ae9bc40fae21ac66d859057488801c1d47ccd Mon Sep 17 00:00:00 2001
|
|
 |
69cc7b |
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
 |
69cc7b |
Date: Thu, 31 Aug 2017 16:22:58 +0100
|
|
 |
69cc7b |
Subject: [PATCH] Resolves: tdf#112145 pdf export of editengine highlight color
|
|
 |
69cc7b |
fails sometimes
|
|
 |
69cc7b |
|
|
 |
69cc7b |
When setting a fill or line color on the outputdevice, put it back to its previous
|
|
 |
69cc7b |
setting when finished with the record, PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D
|
|
 |
69cc7b |
was the one in this case but protect the other similar ones here too
|
|
 |
69cc7b |
|
|
 |
69cc7b |
Change-Id: Ifb9b182d72bb6c48a9d9480270fde4384be6291e
|
|
 |
69cc7b |
---
|
|
 |
69cc7b |
drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx | 8 ++++++++
|
|
 |
69cc7b |
1 file changed, 8 insertions(+)
|
|
 |
69cc7b |
|
|
 |
69cc7b |
diff --git a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
|
|
 |
69cc7b |
index 885367d..0274b7c 100644
|
|
 |
69cc7b |
--- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
|
|
 |
69cc7b |
+++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
|
|
 |
69cc7b |
@@ -1219,6 +1219,8 @@ namespace drawinglayer
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
else
|
|
 |
69cc7b |
{
|
|
 |
69cc7b |
+ mpOutputDevice->Push(PushFlags::LINECOLOR | PushFlags::FILLCOLOR);
|
|
 |
69cc7b |
+
|
|
 |
69cc7b |
// support SvtGraphicStroke MetaCommentAction
|
|
 |
69cc7b |
SvtGraphicStroke* pSvtGraphicStroke = impTryToCreateSvtGraphicStroke(
|
|
 |
69cc7b |
rBasePolygon, nullptr,
|
|
 |
69cc7b |
@@ -1274,6 +1276,8 @@ namespace drawinglayer
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
|
|
 |
69cc7b |
impEndSvtGraphicStroke(pSvtGraphicStroke);
|
|
 |
69cc7b |
+
|
|
 |
69cc7b |
+ mpOutputDevice->Pop();
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
|
|
 |
69cc7b |
break;
|
|
 |
69cc7b |
@@ -1666,6 +1670,7 @@ namespace drawinglayer
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
case PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D :
|
|
 |
69cc7b |
{
|
|
 |
69cc7b |
+ mpOutputDevice->Push(PushFlags::LINECOLOR | PushFlags::FILLCOLOR);
|
|
 |
69cc7b |
const primitive2d::PolyPolygonColorPrimitive2D& rPolygonCandidate(static_cast< const primitive2d::PolyPolygonColorPrimitive2D& >(rCandidate));
|
|
 |
69cc7b |
basegfx::B2DPolyPolygon aLocalPolyPolygon(rPolygonCandidate.getB2DPolyPolygon());
|
|
 |
69cc7b |
|
|
 |
69cc7b |
@@ -1722,6 +1727,7 @@ namespace drawinglayer
|
|
 |
69cc7b |
impEndSvtGraphicFill(pSvtGraphicFill);
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
|
|
 |
69cc7b |
+ mpOutputDevice->Pop();
|
|
 |
69cc7b |
break;
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
case PRIMITIVE2D_ID_METAFILEPRIMITIVE2D :
|
|
 |
69cc7b |
@@ -1811,6 +1817,7 @@ namespace drawinglayer
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
case PRIMITIVE2D_ID_UNIFIEDTRANSPARENCEPRIMITIVE2D :
|
|
 |
69cc7b |
{
|
|
 |
69cc7b |
+ mpOutputDevice->Push(PushFlags::LINECOLOR | PushFlags::FILLCOLOR);
|
|
 |
69cc7b |
// for metafile: Need to examine what the pure vcl version is doing here actually
|
|
 |
69cc7b |
// - uses DrawTransparent with metafile for content and a gradient
|
|
 |
69cc7b |
// - uses DrawTransparent for single PolyPoylgons directly. Can be detected by
|
|
 |
69cc7b |
@@ -1945,6 +1952,7 @@ namespace drawinglayer
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
|
|
 |
69cc7b |
+ mpOutputDevice->Pop();
|
|
 |
69cc7b |
break;
|
|
 |
69cc7b |
}
|
|
 |
69cc7b |
case PRIMITIVE2D_ID_TRANSPARENCEPRIMITIVE2D :
|
|
 |
69cc7b |
--
|
|
 |
69cc7b |
2.13.5
|
|
 |
69cc7b |
|