summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/outdev/outdev.cxx49
1 files changed, 17 insertions, 32 deletions
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index 0dcdd84a5d0a..fe06032d7ca0 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -431,42 +431,27 @@ void OutputDevice::DrawOutDev( const Point& rDestPt, const Size& rDestSize,
if ( mbOutputClipped )
return;
- SalTwoRect aPosAry(rOutDev.ImplLogicXToDevicePixel(rSrcPt.X()),
- rOutDev.ImplLogicYToDevicePixel(rSrcPt.Y()),
- rOutDev.ImplLogicWidthToDevicePixel(rSrcSize.Width()),
- rOutDev.ImplLogicHeightToDevicePixel(rSrcSize.Height()),
- ImplLogicXToDevicePixel(rDestPt.X()),
- ImplLogicYToDevicePixel(rDestPt.Y()),
- ImplLogicWidthToDevicePixel(rDestSize.Width()),
- ImplLogicHeightToDevicePixel(rDestSize.Height()));
-
- if( mpAlphaVDev )
+ if (rOutDev.mpAlphaVDev)
{
- if( rOutDev.mpAlphaVDev )
- {
- // alpha-blend source over destination
- DrawBitmapEx( rDestPt, rDestSize, rOutDev.GetBitmapEx(rSrcPt, rSrcSize) );
- }
- else
- {
- drawOutDevDirect( &rOutDev, aPosAry );
-
- // #i32109#: make destination rectangle opaque - source has no alpha
- mpAlphaVDev->ImplFillOpaqueRectangle( tools::Rectangle(rDestPt, rDestSize) );
- }
+ // alpha-blend source over destination
+ DrawBitmapEx(rDestPt, rDestSize, rOutDev.GetBitmapEx(rSrcPt, rSrcSize));
}
else
{
- if( rOutDev.mpAlphaVDev )
- {
- // alpha-blend source over destination
- DrawBitmapEx( rDestPt, rDestSize, rOutDev.GetBitmapEx(rSrcPt, rSrcSize) );
- }
- else
- {
- // no alpha at all, neither in source nor destination device
- drawOutDevDirect( &rOutDev, aPosAry );
- }
+ SalTwoRect aPosAry(rOutDev.ImplLogicXToDevicePixel(rSrcPt.X()),
+ rOutDev.ImplLogicYToDevicePixel(rSrcPt.Y()),
+ rOutDev.ImplLogicWidthToDevicePixel(rSrcSize.Width()),
+ rOutDev.ImplLogicHeightToDevicePixel(rSrcSize.Height()),
+ ImplLogicXToDevicePixel(rDestPt.X()),
+ ImplLogicYToDevicePixel(rDestPt.Y()),
+ ImplLogicWidthToDevicePixel(rDestSize.Width()),
+ ImplLogicHeightToDevicePixel(rDestSize.Height()));
+
+ drawOutDevDirect(&rOutDev, aPosAry);
+
+ // #i32109#: make destination rectangle opaque - source has no alpha
+ if (mpAlphaVDev)
+ mpAlphaVDev->ImplFillOpaqueRectangle(tools::Rectangle(rDestPt, rDestSize));
}
}