1 Index: vcl/source/gdi/image.cxx
2 ===================================================================
3 RCS file: /cvs/gsl/vcl/source/gdi/image.cxx,v
4 retrieving revision 1.8
5 diff -u -p -u -r1.8 image.cxx
6 --- vcl/source/gdi/image.cxx 27 Mar 2003 17:57:57 -0000 1.8
7 +++ vcl/source/gdi/image.cxx 16 Sep 2003 10:55:26 -0000
8 @@ -103,6 +103,16 @@ DBG_NAME( ImageList );
10 // =======================================================================
12 +static void SplitAlpha( Bitmap &rImage, Bitmap &rMask )
14 + if( rImage.GetBitCount() < 32 )
17 + rMask = rImage.GetAlphaMask();
20 +// =======================================================================
22 ImplImageList::~ImplImageList()
25 @@ -151,8 +161,14 @@ ImplImageData::ImplImageData( const Bitm
30 - mpImageBitmap = NULL;
31 + if( rBmp.GetBitCount() > 24 )
33 + maMaskBmp = rBmp.GetAlphaMask();
38 + mpImageBitmap = NULL;
41 // -----------------------------------------------------------------------
42 @@ -240,6 +256,8 @@ Image::Image( const ResId& rResId )
43 pResMgr->Increment( pResMgr->GetObjSize( (RSHEADER_TYPE*)pResMgr->GetClass() ) );
46 + SplitAlpha( aImageBitmap, aMaskBitmap );
51 @@ -786,6 +804,12 @@ static void ImplBmpImageCreate( ImageLis
55 + if( !rMaskBmp && rBitmap.GetBitCount() == 32 )
57 + rMaskBmp = rBitmap.GetAlphaMask();
61 DBG_ASSERT( !nInit || rBitmap.GetSizePixel().Width(),
62 "ImageList::ImageList(): nInitSize != 0 and BmpSize.Width() == 0" );
63 DBG_ASSERT( (rBitmap.GetSizePixel().Width() % nInit) == 0,
64 @@ -893,6 +917,7 @@ ImageList::ImageList( const ResId& rResI
65 pResMgr->Increment( pResMgr->GetObjSize( (RSHEADER_TYPE*)pResMgr->GetClass() ) );
68 + SplitAlpha( aImageBitmap, aMaskBitmap );
69 if ( nObjMask & RSC_IMAGELIST_IDLIST )