]> git.pld-linux.org Git - packages/libreoffice.git/blame - openoffice-gui-image-load.patch
- DON'T hardcode java paths!
[packages/libreoffice.git] / openoffice-gui-image-load.patch
CommitLineData
efef92ce 1Index: vcl/source/gdi/image.cxx
2===================================================================
3RCS file: /cvs/gsl/vcl/source/gdi/image.cxx,v
4retrieving revision 1.8
5diff -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 );
9
10 // =======================================================================
11
12+static void SplitAlpha( Bitmap &rImage, Bitmap &rMask )
13+{
14+ if( rImage.GetBitCount() < 32 )
15+ return;
16+
17+ rMask = rImage.GetAlphaMask();
18+}
19+
20+// =======================================================================
21+
22 ImplImageList::~ImplImageList()
23 {
24 if ( mpImageBitmap )
25@@ -151,8 +161,14 @@ ImplImageData::ImplImageData( const Bitm
26 maBmp( rBmp ),
27 maColor( rColor )
28 {
29- mbColor = TRUE;
30- mpImageBitmap = NULL;
31+ if( rBmp.GetBitCount() > 24 )
32+ {
33+ maMaskBmp = rBmp.GetAlphaMask();
34+ mbColor = FALSE;
35+ }
36+ else
37+ mbColor = TRUE;
38+ mpImageBitmap = NULL;
39 }
40
41 // -----------------------------------------------------------------------
42@@ -240,6 +256,8 @@ Image::Image( const ResId& rResId )
43 pResMgr->Increment( pResMgr->GetObjSize( (RSHEADER_TYPE*)pResMgr->GetClass() ) );
44 }
45
46+ SplitAlpha( aImageBitmap, aMaskBitmap );
47+
48 if ( !aImageBitmap )
49 mpImplData = NULL;
50 else
51@@ -786,6 +804,12 @@ static void ImplBmpImageCreate( ImageLis
52 return;
53 }
54
55+ if( !rMaskBmp && rBitmap.GetBitCount() == 32 )
56+ {
57+ rMaskBmp = rBitmap.GetAlphaMask();
58+ bColor = FALSE;
59+ }
60+
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() ) );
66 bCol = TRUE;
67 }
68+ SplitAlpha( aImageBitmap, aMaskBitmap );
69 if ( nObjMask & RSC_IMAGELIST_IDLIST )
70 {
71 bIsIdList = TRUE;
This page took 0.039327 seconds and 4 git commands to generate.