X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c7639882c1a0314b595a060d57073d0bf87cd358..b5a5362e55572bcc057d014c5bdde81d75804653:/src/msw/bitmap.cpp diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index 38a27a4092..ca1456ec66 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -56,7 +56,7 @@ #endif // no CLR_INVALID // ---------------------------------------------------------------------------- -// Bitmap data +// wxBitmapRefData // ---------------------------------------------------------------------------- class WXDLLEXPORT wxBitmapRefData : public wxGDIImageRefData @@ -92,12 +92,12 @@ public: // MSW-specific // ------------ -#ifdef __WXDEBUG__ +#if wxDEBUG_LEVEL // this field is solely for error checking: we detect selecting a bitmap // into more than one DC at once or deleting a bitmap still selected into a // DC (both are serious programming errors under Windows) wxDC *m_selectedInto; -#endif // __WXDEBUG__ +#endif // wxDEBUG_LEVEL #if wxUSE_WXDIB // when GetRawData() is called for a DDB we need to convert it to a DIB @@ -185,7 +185,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapHandler, wxObject) wxBitmapRefData::wxBitmapRefData() { -#ifdef __WXDEBUG__ +#if wxDEBUG_LEVEL m_selectedInto = NULL; #endif m_bitmapMask = NULL; @@ -202,7 +202,7 @@ wxBitmapRefData::wxBitmapRefData() wxBitmapRefData::wxBitmapRefData(const wxBitmapRefData& data) : wxGDIImageRefData(data) { -#ifdef __WXDEBUG__ +#if wxDEBUG_LEVEL m_selectedInto = NULL; #endif @@ -254,7 +254,7 @@ wxGDIImageRefData *wxBitmap::CreateData() const wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const { const wxBitmapRefData * - data = wx_static_cast(const wxBitmapRefData *, dataOrig); + data = static_cast(dataOrig); if ( !data ) return NULL; @@ -262,7 +262,7 @@ wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const // 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(this); wxBitmapRefData *selfdata; #if wxUSE_WXDIB @@ -272,7 +272,7 @@ wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const wxDIB dib((HBITMAP)(data->m_hBitmap)); self->CopyFromDIB(dib); - selfdata = wx_static_cast(wxBitmapRefData *, m_refData); + selfdata = static_cast(m_refData); selfdata->m_hasAlpha = data->m_hasAlpha; } else @@ -512,11 +512,6 @@ wxBitmap::wxBitmap(const char bits[], int width, int height, int depth) #endif } -wxBitmap::wxBitmap(int w, int h, int d) -{ - (void)Create(w, h, d); -} - wxBitmap::wxBitmap(int w, int h, const wxDC& dc) { (void)Create(w, h, dc); @@ -842,14 +837,16 @@ bool wxBitmap::CreateFromImage(const wxImage& image, int depth, WXHDC hdc) 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; @@ -1173,13 +1170,13 @@ wxBitmap wxBitmap::GetSubBitmapOfHDC( const wxRect& rect, WXHDC hdc ) const wxPalette* wxBitmap::GetPalette() const { return GetBitmapData() ? &GetBitmapData()->m_bitmapPalette - : (wxPalette *) NULL; + : NULL; } #endif wxMask *wxBitmap::GetMask() const { - return GetBitmapData() ? GetBitmapData()->GetMask() : (wxMask *) NULL; + return GetBitmapData() ? GetBitmapData()->GetMask() : NULL; } wxBitmap wxBitmap::GetMaskBitmap() const @@ -1191,14 +1188,14 @@ wxBitmap wxBitmap::GetMaskBitmap() const return bmp; } -#ifdef __WXDEBUG__ - wxDC *wxBitmap::GetSelectedInto() const { - return GetBitmapData() ? GetBitmapData()->m_selectedInto : (wxDC *) NULL; -} - +#if wxDEBUG_LEVEL + return GetBitmapData() ? GetBitmapData()->m_selectedInto : NULL; +#else + return NULL; #endif +} void wxBitmap::UseAlpha() { @@ -1215,15 +1212,15 @@ bool wxBitmap::HasAlpha() const // wxBitmap setters // ---------------------------------------------------------------------------- -#ifdef __WXDEBUG__ - void wxBitmap::SetSelectedInto(wxDC *dc) { +#if wxDEBUG_LEVEL if ( GetBitmapData() ) GetBitmapData()->m_selectedInto = dc; -} - +#else + wxUnusedVar(dc); #endif +} #if wxUSE_PALETTE