summaryrefslogtreecommitdiff
path: root/drawinglayer
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2020-05-28 20:13:50 +0200
committerMike Kaganski <mike.kaganski@collabora.com>2020-05-29 10:31:40 +0200
commitc644b2b4abe3051c0e0fc91674154c796fd326f6 (patch)
tree391c0d15daa02bae90325a2d44b9a4cbbba01756 /drawinglayer
parentf510bdfa98014ca0ae596dcd0dfd487cfc90f3eb (diff)
Use buffer with alpha in VclProcessor2D::RenderUnifiedTransparencePrimitive2D
This allows UnifiedTransparencePrimitive2D to produce truly transparent image, usable later in the stack - specifically by glow and soft edge effect. Change-Id: I27e9bfbfb9c60856bc3fad1a483623c90d5cabff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94969 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 8c84448febf817875ad0d377de0f0b34987992cb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95083
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/source/processor2d/vclprocessor2d.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index 60b372b0ef48..e64995c8b50a 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -841,13 +841,14 @@ void VclProcessor2D::RenderUnifiedTransparencePrimitive2D(
// transparence is in visible range
basegfx::B2DRange aRange(rTransCandidate.getChildren().getB2DRange(getViewInformation2D()));
aRange.transform(maCurrentTransformation);
- impBufferDevice aBufferDevice(*mpOutputDevice, aRange);
+ impBufferDevice aBufferDevice(*mpOutputDevice, aRange, true);
if (aBufferDevice.isVisible())
{
// remember last OutDev and set to content
OutputDevice* pLastOutputDevice = mpOutputDevice;
mpOutputDevice = &aBufferDevice.getContent();
+ mpOutputDevice->Erase();
// paint content to it
process(rTransCandidate.getChildren());