diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2020-05-28 20:13:50 +0200 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2020-05-29 06:26:16 +0200 |
commit | 8c84448febf817875ad0d377de0f0b34987992cb (patch) | |
tree | 03442162059cbe6fdfe82fa983e51881cab803a5 /drawinglayer | |
parent | c9f4952b98da9adad1b556414c5fcecafedca473 (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>
Diffstat (limited to 'drawinglayer')
-rw-r--r-- | drawinglayer/source/processor2d/vclprocessor2d.cxx | 3 |
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()); |