X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7002950658c3e0460b273af66c929c1ca125b5a3..b0fc907f70d0059216c8f447d6bb9f51a5de1571:/include/wx/rawbmp.h diff --git a/include/wx/rawbmp.h b/include/wx/rawbmp.h index d91754c879..377836fc99 100644 --- a/include/wx/rawbmp.h +++ b/include/wx/rawbmp.h @@ -9,8 +9,8 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -#ifndef _WX_RAWBMP_H_BASE_ -#define _WX_RAWBMP_H_BASE_ +#ifndef _WX_RAWBMP_H_ +#define _WX_RAWBMP_H_ #include "wx/image.h" @@ -167,6 +167,11 @@ typedef wxPixelFormat wxImagePixelFormat; // Under GTK+ 2.X we use GdkPixbuf, which is standard RGB or RGBA typedef wxPixelFormat wxNativePixelFormat; + #define wxPIXEL_FORMAT_ALPHA 3 +#elif defined(__WXDFB__) + // Under DirectFB, RGB components are reversed, they're in BGR order + typedef wxPixelFormat wxNativePixelFormat; + #define wxPIXEL_FORMAT_ALPHA 3 #endif @@ -525,7 +530,7 @@ struct wxPixelDataOut { m_ptr = NULL; } - + // return true if this iterator is valid bool IsOk() const { return m_ptr != NULL; } @@ -631,11 +636,22 @@ struct wxPixelDataOut // dtor unlocks the bitmap ~wxPixelDataIn() { - m_bmp.UngetRawData(*this); + if ( m_pixels.IsOk() ) + { +#if defined(__WXMSW__) || defined(__WXMAC__) + // this is a hack to mark wxBitmap as using alpha channel + if ( Format::HasAlpha ) + m_bmp.UseAlpha(); +#endif + m_bmp.UngetRawData(*this); + } + // else: don't call UngetRawData() if GetRawData() failed } - // call this to indicate that we should use the alpha channel - void UseAlpha() { m_bmp.UseAlpha(); } +#if WXWIN_COMPATIBILITY_2_8 + // not needed anymore, calls to it should be simply removed + wxDEPRECATED( inline void UseAlpha() ); +#endif // private: -- see comment in the beginning of the file @@ -656,6 +672,7 @@ struct wxPixelDataOut } }; }; + #endif //wxUSE_GUI template > @@ -677,6 +694,11 @@ public: } }; +#if WXWIN_COMPATIBILITY_2_8 +template +inline void wxPixelDataOut::wxPixelDataIn::UseAlpha() {} +#endif + // some "predefined" pixel data classes #if wxUSE_IMAGE @@ -709,5 +731,4 @@ struct wxPixelIterator : public wxPixelData::Iterator { }; -#endif // _WX_RAWBMP_H_BASE_ - +#endif // _WX_RAWBMP_H_