diff options
author | Michael Meeks <michael.meeks@suse.com> | 2013-06-10 12:34:39 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-06-11 14:41:50 +0100 |
commit | 03b4c0e0724f9928e00abd822bd846c6e200fa14 (patch) | |
tree | ed130afaa90f5ed6ac3a3705f6639cccb06c3381 /vcl/source | |
parent | 056c7b46d42c9cb891cb269a2561f1cf34cafe10 (diff) |
Revert "fix canvas bitmap rendering (argb32 pixmaps) fixes color in n#780830"
This reverts commit 46e53913e9dcc84ffed8fb5f1b4959c70c7e5649.
Conflicts:
vcl/inc/salbmp.hxx
vcl/source/gdi/gdimtf.cxx
vcl/unx/generic/gdi/salgdi2.cxx
Change-Id: Ifa893b687c724ea71655aa4e084a44858695073e
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/gdi/gdimtf.cxx | 50 |
1 files changed, 13 insertions, 37 deletions
diff --git a/vcl/source/gdi/gdimtf.cxx b/vcl/source/gdi/gdimtf.cxx index 1a9c8e9c2f26..2195f23fa7ea 100644 --- a/vcl/source/gdi/gdimtf.cxx +++ b/vcl/source/gdi/gdimtf.cxx @@ -446,46 +446,22 @@ bool GDIMetaFile::ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, S } SalBitmap* pSalBmp = ImplGetSVData()->mpDefInst->CreateSalBitmap(); -#if defined(UNX) && !defined(ANDROID) && !defined(IOS) && !defined(MACOSX) && !defined(LIBO_HEADLESS) - X11SalBitmap* X11Bmp = static_cast< X11SalBitmap* >( pSalBmp ); - - // for pdf export metafile recording, don't break - // other code's assumption that Bitmap with alpha - // channel comes as BitmapEx - if( !pOut->GetExtOutDevData() ) - { - X11Bmp->SetHasAlpha( true ); - if( X11Bmp->Create( xBitmapCanvas, aSize ) ) - { - Bitmap aBitmap( X11Bmp ); - if ( pOut->GetMapMode() == MAP_PIXEL ) - pOut->DrawBitmap( rPos, aBitmap ); - else - pOut->DrawBitmap( rPos, rLogicDestSize, aBitmap ); - return true; - } - } - else -#endif + SalBitmap* pSalMask = ImplGetSVData()->mpDefInst->CreateSalBitmap(); + if( pSalBmp->Create( xBitmapCanvas, aSize ) && pSalMask->Create( xBitmapCanvas, aSize, true ) ) { - // for Windows and Mac, exclusively use this code - // path. The inline alpha on X11 is a hack. - SalBitmap* pSalMask = ImplGetSVData()->mpDefInst->CreateSalBitmap(); - if( pSalBmp->Create( xBitmapCanvas, aSize ) && pSalMask->Create( xBitmapCanvas, aSize, true ) ) - { - Bitmap aBitmap( pSalBmp ); - Bitmap aMask( pSalMask ); - AlphaMask aAlphaMask( aMask ); - BitmapEx aBitmapEx( aBitmap, aAlphaMask ); - if ( pOut->GetMapMode() == MAP_PIXEL ) - pOut->DrawBitmapEx( rPos, aBitmapEx ); - else - pOut->DrawBitmapEx( rPos, rLogicDestSize, aBitmapEx ); - return true; - } - delete pSalMask; + Bitmap aBitmap( pSalBmp ); + Bitmap aMask( pSalMask ); + AlphaMask aAlphaMask( aMask ); + BitmapEx aBitmapEx( aBitmap, aAlphaMask ); + if ( pOut->GetMapMode() == MAP_PIXEL ) + pOut->DrawBitmapEx( rPos, aBitmapEx ); + else + pOut->DrawBitmapEx( rPos, rLogicDestSize, aBitmapEx ); + return true; } + delete pSalBmp; + delete pSalMask; } } } |