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 06:23:16 +0200 |
commit | 946b01e2d4a41b06415f6371b7b52dca090e7b86 (patch) | |
tree | a52f7ba06a2e7438f4b14abb457ed7ce39a524ea /vcl/source | |
parent | 651844c9b122fd8463ad1dde4f9a0200efc345a3 (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>
Diffstat (limited to 'vcl/source')
-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() ) |