X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6f5d78250c6dd003e8d06fea9e04b710bffdb41f..82df62ef8e55adf38221afc82439edeed4fe3368:/src/common/bmpbase.cpp?ds=sidebyside diff --git a/src/common/bmpbase.cpp b/src/common/bmpbase.cpp index 17324c3760..82bb30b7ab 100644 --- a/src/common/bmpbase.cpp +++ b/src/common/bmpbase.cpp @@ -19,8 +19,19 @@ #ifndef WX_PRECOMP #include "wx/colour.h" + #include "wx/icon.h" + #include "wx/image.h" #endif // WX_PRECOMP +// ---------------------------------------------------------------------------- +// wxVariant support +// ---------------------------------------------------------------------------- + +#if wxUSE_VARIANT +IMPLEMENT_VARIANT_OBJECT_EXPORTED(wxBitmap,WXDLLEXPORT) +IMPLEMENT_VARIANT_OBJECT_EXPORTED(wxIcon,WXDLLEXPORT) +#endif + // ---------------------------------------------------------------------------- // wxBitmapBase // ---------------------------------------------------------------------------- @@ -31,18 +42,10 @@ #include "wx/log.h" #include "wx/utils.h" #include "wx/palette.h" - #include "wx/icon.h" - #include "wx/image.h" #include "wx/module.h" #endif // WX_PRECOMP -#if wxUSE_VARIANT -IMPLEMENT_VARIANT_OBJECT_EXPORTED(wxBitmap,WXDLLEXPORT) -IMPLEMENT_VARIANT_OBJECT_EXPORTED(wxIcon,WXDLLEXPORT) -#endif - - IMPLEMENT_ABSTRACT_CLASS(wxBitmapBase, wxGDIObject) IMPLEMENT_ABSTRACT_CLASS(wxBitmapHandlerBase,wxObject) @@ -123,19 +126,55 @@ void wxBitmapBase::CleanUpHandlers() } } +bool wxBitmapHandlerBase::Create(wxBitmap*, const void*, long, int, int, int) +{ + return false; +} + +bool wxBitmapHandlerBase::LoadFile(wxBitmap*, const wxString&, long, int, int) +{ + return false; +} + +bool wxBitmapHandlerBase::SaveFile(const wxBitmap*, const wxString&, int, const wxPalette*) +{ + return false; +} + class wxBitmapBaseModule: public wxModule { DECLARE_DYNAMIC_CLASS(wxBitmapBaseModule) public: wxBitmapBaseModule() {} - bool OnInit() { wxBitmap::InitStandardHandlers(); return true; }; - void OnExit() { wxBitmap::CleanUpHandlers(); }; + bool OnInit() { wxBitmap::InitStandardHandlers(); return true; } + void OnExit() { wxBitmap::CleanUpHandlers(); } }; IMPLEMENT_DYNAMIC_CLASS(wxBitmapBaseModule, wxModule) #endif // wxUSE_BITMAP_BASE +// ---------------------------------------------------------------------------- +// wxBitmap common +// ---------------------------------------------------------------------------- + +#if !(defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__)) + +wxBitmap::wxBitmap(const char* const* bits) +{ + wxCHECK2_MSG(bits != NULL, return, wxT("invalid bitmap data")); + +#if wxUSE_IMAGE && wxUSE_XPM + wxImage image(bits); + wxCHECK2_MSG(image.Ok(), return, wxT("invalid bitmap data")); + + *this = wxBitmap(image); +#else + wxFAIL_MSG(_T("creating bitmaps from XPMs not supported")); +#endif // wxUSE_IMAGE && wxUSE_XPM +} +#endif // !(defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__)) + // ---------------------------------------------------------------------------- // wxMaskBase // ----------------------------------------------------------------------------