X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a1b806b98241ab649c169aaa1f134df85e80fb8b..8a1554ed3c90e6d816c740639ecd946020f09bd5:/src/common/bmpbase.cpp?ds=sidebyside diff --git a/src/common/bmpbase.cpp b/src/common/bmpbase.cpp index 34bf85608e..763b9597f9 100644 --- a/src/common/bmpbase.cpp +++ b/src/common/bmpbase.cpp @@ -3,7 +3,6 @@ // Purpose: wxBitmapBase // Author: VaclavSlavik // Created: 2001/04/11 -// RCS-ID: $Id$ // Copyright: (c) 2001, Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -23,6 +22,12 @@ #include "wx/image.h" #endif // WX_PRECOMP +#if wxUSE_IMAGE && wxUSE_LIBPNG && wxUSE_STREAMS + #define wxHAS_PNG_LOAD + + #include "wx/mstream.h" +#endif + // ---------------------------------------------------------------------------- // wxVariant support // ---------------------------------------------------------------------------- @@ -37,6 +42,31 @@ IMPLEMENT_VARIANT_OBJECT_EXPORTED_SHALLOWCMP(wxIcon,WXDLLEXPORT) //WX_IMPLEMENT_ANY_VALUE_TYPE(wxAnyValueTypeImpl) #endif +// ---------------------------------------------------------------------------- +// wxBitmapHelpers +// ---------------------------------------------------------------------------- + +// wxOSX has a native version and doesn't use this one. + +#ifndef __WXOSX__ + +/* static */ +wxBitmap wxBitmapHelpers::NewFromPNGData(const void* data, size_t size) +{ + wxBitmap bitmap; + +#ifdef wxHAS_PNG_LOAD + wxMemoryInputStream is(data, size); + wxImage image(is, wxBITMAP_TYPE_PNG); + if ( image.IsOk() ) + bitmap = wxBitmap(image); +#endif // wxHAS_PNG_LOAD + + return bitmap; +} + +#endif // !__WXOSX__ + // ---------------------------------------------------------------------------- // wxBitmapBase // ----------------------------------------------------------------------------