diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-03-29 14:05:55 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-03-29 20:15:47 +0100 |
commit | 11fe18ea21974e4fdc01a3f4a455725cec8ce11a (patch) | |
tree | 878c6a61fd2668833957a52af09dbf647d0af9bd /drawinglayer/source | |
parent | fdeada8c50c3e9126537ceafc649c85dc4be598c (diff) |
copy between the outputdevices without interim Bitmap
Change-Id: I6c0097b1b069cad2771c94210986714d59431e4f
Reviewed-on: https://gerrit.libreoffice.org/69929
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'drawinglayer/source')
-rw-r--r-- | drawinglayer/source/processor2d/vclhelperbufferdevice.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx b/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx index e30851d23493..c377f4ee6526 100644 --- a/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx +++ b/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx @@ -334,7 +334,6 @@ namespace drawinglayer mrOutDev.EnableMapMode(false); mpContent->EnableMapMode(false); - Bitmap aContent(mpContent->GetBitmap(aEmptyPoint, aSizePixel)); #ifdef DBG_UTIL if(bDoSaveForVisualControl) @@ -346,6 +345,7 @@ namespace drawinglayer "~/content.bmp", #endif StreamMode::WRITE|StreamMode::TRUNC); + Bitmap aContent(mpContent->GetBitmap(aEmptyPoint, aSizePixel)); WriteDIB(aContent, aNew, false, true); } #endif @@ -373,6 +373,7 @@ namespace drawinglayer } #endif + Bitmap aContent(mpContent->GetBitmap(aEmptyPoint, aSizePixel)); mrOutDev.DrawBitmapEx(maDestPixel.TopLeft(), BitmapEx(aContent, aAlphaMask)); } else if(mpMask) @@ -394,17 +395,21 @@ namespace drawinglayer } #endif + Bitmap aContent(mpContent->GetBitmap(aEmptyPoint, aSizePixel)); mrOutDev.DrawBitmapEx(maDestPixel.TopLeft(), BitmapEx(aContent, aMask)); } else if(0.0 != fTrans) { sal_uInt8 nMaskValue(static_cast<sal_uInt8>(basegfx::fround(fTrans * 255.0))); const AlphaMask aAlphaMask(aSizePixel, &nMaskValue); + Bitmap aContent(mpContent->GetBitmap(aEmptyPoint, aSizePixel)); mrOutDev.DrawBitmapEx(maDestPixel.TopLeft(), BitmapEx(aContent, aAlphaMask)); } else { - mrOutDev.DrawBitmap(maDestPixel.TopLeft(), aContent); + mrOutDev.DrawOutDev(maDestPixel.TopLeft(), aSizePixel, + aEmptyPoint, aSizePixel, + *mpContent); } mrOutDev.SetRasterOp(aOrigRasterOp); |