This field can't be set reliably as we don't know if LoadImage() Windows
function loaded an 0RGB or an RGB bitmap so remove it completely to avoid the
risk of using it wrongly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65899
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// the case
bool m_ownsHandle;
// the case
bool m_ownsHandle;
- // if true, we have alpha, if false we don't (note that we can still have
- // m_depth == 32 but the last component is then simply padding and not
- // alpha)
- bool m_hasAlpha;
-
// DIBs can't be copied
wxDIB(const wxDIB&);
// DIBs can't be copied
wxDIB(const wxDIB&);
{
m_handle = 0;
m_ownsHandle = true;
{
m_handle = 0;
m_ownsHandle = true;
if ( !Create(GetHbitmapOf(bmp)) )
return false;
if ( !Create(GetHbitmapOf(bmp)) )
return false;
- m_hasAlpha = bmp.HasAlpha();
-
// if we have alpha channel, we need to create a 32bpp RGBA DIB, otherwise
// a 24bpp RGB is sufficient
// if we have alpha channel, we need to create a 32bpp RGBA DIB, otherwise
// a 24bpp RGB is sufficient
- m_hasAlpha = image.HasAlpha();
- const int bpp = m_hasAlpha ? 32 : 24;
+ const bool hasAlpha = image.HasAlpha();
+ const int bpp = hasAlpha ? 32 : 24;
if ( !Create(w, h, bpp) )
return false;
if ( !Create(w, h, bpp) )
return false;
const int srcBytesPerLine = w * 3;
const int dstBytesPerLine = GetLineSize(w, bpp);
const unsigned char *src = image.GetData() + ((h - 1) * srcBytesPerLine);
const int srcBytesPerLine = w * 3;
const int dstBytesPerLine = GetLineSize(w, bpp);
const unsigned char *src = image.GetData() + ((h - 1) * srcBytesPerLine);
- const unsigned char *alpha = m_hasAlpha ? image.GetAlpha() + (h - 1)*w
- : NULL;
+ const unsigned char *alpha = hasAlpha ? image.GetAlpha() + (h - 1)*w
+ : NULL;
unsigned char *dstLineStart = (unsigned char *)m_data;
for ( int y = 0; y < h; y++ )
{
unsigned char *dstLineStart = (unsigned char *)m_data;
for ( int y = 0; y < h; y++ )
{
{
// 32 bit bitmaps may be either 0RGB or ARGB and we don't know in
// advance which one do we have so suppose we have alpha of them and
{
// 32 bit bitmaps may be either 0RGB or ARGB and we don't know in
// advance which one do we have so suppose we have alpha of them and
- // get rid of it later if it turns out we didn't (in particular, don't
- // trust m_hasAlpha which is not set correctly when the image was
- // loaded from file).
+ // get rid of it later if it turns out we didn't.