diff options
author | Armin Le Grand <alg@apache.org> | 2013-08-28 12:23:58 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-08-28 15:37:07 +0100 |
commit | 03e73d57f1bf7da4f4a19ae1cff9c104e8fedd5e (patch) | |
tree | b29bd94e762f79196cd44924937f5d84f13b348c /drawinglayer | |
parent | 284a03b4d2415fef9ed2172d9b18d0d5df684410 (diff) |
Resolves: #i122923# optimize place to add alpha to bitmaps which need rotation
(cherry picked from commit 2178fea0941c4abb624ecddf2453f670ba68878f)
Change-Id: Ib83d10bcd2d0950fbb8afe8894caa9c0b60e6a5d
Diffstat (limited to 'drawinglayer')
-rw-r--r-- | drawinglayer/source/processor2d/vclprocessor2d.cxx | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx index 16661498958d..7418a9ccdffe 100644 --- a/drawinglayer/source/processor2d/vclprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx @@ -435,28 +435,8 @@ namespace drawinglayer } } - // decompose matrix to check for shear, rotate and mirroring - basegfx::B2DVector aScale, aTranslate; - double fRotate, fShearX; - - aLocalTransform.decompose(aScale, aTranslate, fRotate, fShearX); - - const bool bRotated(!basegfx::fTools::equalZero(fRotate)); - const bool bSheared(!basegfx::fTools::equalZero(fShearX)); - - if(!aBitmapEx.IsTransparent() && (bSheared || bRotated)) - { - // parts will be uncovered, extend aBitmapEx with a mask bitmap - const Bitmap aContent(aBitmapEx.GetBitmap()); -#if defined(MACOSX) - AlphaMask aMaskBmp( aContent.GetSizePixel()); - aMaskBmp.Erase( 0); -#else - Bitmap aMaskBmp( aContent.GetSizePixel(), 1); - aMaskBmp.Erase(Color(COL_BLACK)); // #122758# Initialize to non-transparent -#endif - aBitmapEx = BitmapEx(aContent, aMaskBmp); - } + // #122923# do no longer add Alpha channel here; the right place to do this is when really + // the own transformer is used (see OutputDevice::DrawTransformedBitmapEx). // draw using OutputDevice'sDrawTransformedBitmapEx mpOutputDevice->DrawTransformedBitmapEx(aLocalTransform, aBitmapEx); |