Always use 32bpp image lists.
Using 32bpp image lists (ILC_COLOR32) is required as we need to be able to put 32bpp bitmaps in them and results in better (albeit still broken, see #9050) display when the display depth is < 32. This change was tested under Windows 2000, 2003 and Vista in 8 (Win2k-only), 16 and 32bpp display depth modes. Closes #11031. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
7c9cc312e7
commit
a6712ab992
@ -76,17 +76,15 @@ bool wxImageList::Create(int width, int height, bool mask, int initial)
|
||||
{
|
||||
UINT flags = 0;
|
||||
|
||||
// set appropriate color depth
|
||||
// as we want to be able to use 32bpp bitmaps in the image lists, we always
|
||||
// use ILC_COLOR32, even if the display resolution is less -- the system
|
||||
// will make the best effort to show the bitmap if we do this resulting in
|
||||
// quite acceptable display while using a lower depth ILC_COLOR constant
|
||||
// (e.g. ILC_COLOR16) shows completely broken bitmaps
|
||||
#ifdef __WXWINCE__
|
||||
flags |= ILC_COLOR;
|
||||
#else
|
||||
int dd = wxDisplayDepth();
|
||||
|
||||
if (dd <= 4) flags |= ILC_COLOR; // 16 color
|
||||
else if (dd <= 8) flags |= ILC_COLOR8; // 256 color
|
||||
else if (dd <= 16) flags |= ILC_COLOR16; // 64k hi-color
|
||||
else if (dd <= 24) flags |= ILC_COLOR24; // 16m truecolor
|
||||
else if (dd <= 32) flags |= ILC_COLOR32; // 16m truecolor
|
||||
flags |= ILC_COLOR32;
|
||||
#endif
|
||||
|
||||
if ( mask )
|
||||
|
Loading…
Reference in New Issue
Block a user