wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const
{
const wxBitmapRefData *
- data = wx_static_cast(const wxBitmapRefData *, dataOrig);
+ data = static_cast<const wxBitmapRefData *>(dataOrig);
if ( !data )
return NULL;
// wxBitmapRefData using its copy ctor but instead it modifies this
// bitmap itself and then returns its m_refData -- which works, of
// course (except in !wxUSE_WXDIB), but is completely illogical
- wxBitmap *self = wx_const_cast(wxBitmap *, this);
+ wxBitmap *self = const_cast<wxBitmap *>(this);
wxBitmapRefData *selfdata;
#if wxUSE_WXDIB
wxDIB dib((HBITMAP)(data->m_hBitmap));
self->CopyFromDIB(dib);
- selfdata = wx_static_cast(wxBitmapRefData *, m_refData);
+ selfdata = static_cast<wxBitmapRefData *>(m_refData);
selfdata->m_hasAlpha = data->m_hasAlpha;
}
else
return false;
const bool hasAlpha = image.HasAlpha();
+
+ if (depth == -1)
+ depth = dib.GetDepth();
// store the bitmap parameters
wxBitmapRefData * const refData = new wxBitmapRefData;
refData->m_width = w;
refData->m_height = h;
refData->m_hasAlpha = hasAlpha;
- refData->m_depth = depth == -1 ? (hasAlpha ? 32 : 24)
- : depth;
+ refData->m_depth = depth;
m_refData = refData;