summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-06-10 12:34:39 +0100
committerMichael Meeks <michael.meeks@suse.com>2013-06-11 14:41:50 +0100
commit03b4c0e0724f9928e00abd822bd846c6e200fa14 (patch)
treeed130afaa90f5ed6ac3a3705f6639cccb06c3381 /vcl/source
parent056c7b46d42c9cb891cb269a2561f1cf34cafe10 (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.cxx50
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;
}
}
}