]> git.pld-linux.org Git - packages/libreoffice.git/blob - openoffice-gui-image-load.patch
- DON'T hardcode java paths!
[packages/libreoffice.git] / openoffice-gui-image-load.patch
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 );
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.061515 seconds and 3 git commands to generate.