copy alpha presence flag when copying bitmaps using DIBs (#9883)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
fac938f8fd
commit
c7639882c1
@ -264,23 +264,25 @@ wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const
|
||||
// course (except in !wxUSE_WXDIB), but is completely illogical
|
||||
wxBitmap *self = wx_const_cast(wxBitmap *, this);
|
||||
|
||||
wxBitmapRefData *selfdata;
|
||||
#if wxUSE_WXDIB
|
||||
// copy the other bitmap
|
||||
if ( data->m_hBitmap )
|
||||
{
|
||||
wxDIB dib((HBITMAP)(data->m_hBitmap));
|
||||
self->CopyFromDIB(dib);
|
||||
|
||||
selfdata = wx_static_cast(wxBitmapRefData *, m_refData);
|
||||
selfdata->m_hasAlpha = data->m_hasAlpha;
|
||||
}
|
||||
else
|
||||
#endif // wxUSE_WXDIB
|
||||
{
|
||||
// copy the bitmap data
|
||||
self->m_refData = new wxBitmapRefData(*data);
|
||||
selfdata = new wxBitmapRefData(*data);
|
||||
self->m_refData = selfdata;
|
||||
}
|
||||
|
||||
wxBitmapRefData * const
|
||||
selfdata = wx_static_cast(wxBitmapRefData *, m_refData);
|
||||
|
||||
// copy also the mask
|
||||
wxMask * const maskSrc = data->GetMask();
|
||||
if ( maskSrc )
|
||||
|
Loading…
Reference in New Issue
Block a user