diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2020-05-14 14:42:24 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2020-05-29 10:29:55 +0200 |
commit | 86e509b9cfc3249fc97f9f49fbeafdc4a7d8af12 (patch) | |
tree | 237ec41ea8be456391f753bcbca74d5fef4af612 /vcl | |
parent | 38e10bcb8ff20b638ee86d76bfadffabe7ac88d9 (diff) |
Consider mpAlphaVDev when processing metafile in OutputDevice::DrawOutDev
Change-Id: Ia9709bba6eb2a64781297ca260341693b0e39107
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95019
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 946b01e2d4a41b06415f6371b7b52dca090e7b86)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95074
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/outdev/outdev.cxx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx index 18f273b8185a..020a57a6a40c 100644 --- a/vcl/source/outdev/outdev.cxx +++ b/vcl/source/outdev/outdev.cxx @@ -415,8 +415,16 @@ void OutputDevice::DrawOutDev( const Point& rDestPt, const Size& rDestSize, if ( mpMetaFile ) { - const Bitmap aBmp( rOutDev.GetBitmap( rSrcPt, rSrcSize ) ); - mpMetaFile->AddAction( new MetaBmpScaleAction( rDestPt, rDestSize, aBmp ) ); + if (rOutDev.mpAlphaVDev) + { + const BitmapEx aBmpEx(rOutDev.GetBitmapEx(rSrcPt, rSrcSize)); + mpMetaFile->AddAction(new MetaBmpExScaleAction(rDestPt, rDestSize, aBmpEx)); + } + else + { + const Bitmap aBmp(rOutDev.GetBitmap(rSrcPt, rSrcSize)); + mpMetaFile->AddAction(new MetaBmpScaleAction(rDestPt, rDestSize, aBmp)); + } } if ( !IsDeviceOutputNecessary() ) |