X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/155ecd4c4221d3bbc7aa93d472d11948f21d21ab..493e7eb40cc0ef1ad1bacb1c209ec4020fd9efe9:/src/common/bmpbase.cpp?ds=sidebyside diff --git a/src/common/bmpbase.cpp b/src/common/bmpbase.cpp index c0a5d14551..4a5ca4d898 100644 --- a/src/common/bmpbase.cpp +++ b/src/common/bmpbase.cpp @@ -15,23 +15,36 @@ #pragma hdrstop #endif -#if defined(__WXMGL__) || \ - defined(__WXMAC__) || \ - defined(__WXGTK__) || \ - defined(__WXMOTIF__) || \ - defined(__WXX11__) - #include "wx/bitmap.h" +#ifndef WX_PRECOMP + #include "wx/colour.h" + #include "wx/icon.h" +#endif // WX_PRECOMP + +// ---------------------------------------------------------------------------- +// wxVariant support +// ---------------------------------------------------------------------------- + +#if wxUSE_VARIANT +IMPLEMENT_VARIANT_OBJECT_EXPORTED(wxBitmap,WXDLLEXPORT) +IMPLEMENT_VARIANT_OBJECT_EXPORTED(wxIcon,WXDLLEXPORT) +#endif + +// ---------------------------------------------------------------------------- +// wxBitmapBase +// ---------------------------------------------------------------------------- + +#if wxUSE_BITMAP_BASE + #ifndef WX_PRECOMP #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 -#include "wx/module.h" IMPLEMENT_ABSTRACT_CLASS(wxBitmapBase, wxGDIObject) IMPLEMENT_ABSTRACT_CLASS(wxBitmapHandlerBase,wxObject) @@ -124,4 +137,39 @@ public: IMPLEMENT_DYNAMIC_CLASS(wxBitmapBaseModule, wxModule) -#endif // __WXMGL__ || __WXMAC__ || __WXCOCOA__ || __WXMOTIF__ || __WXX11__ +#endif // wxUSE_BITMAP_BASE + +// ---------------------------------------------------------------------------- +// wxMaskBase +// ---------------------------------------------------------------------------- + +bool wxMaskBase::Create(const wxBitmap& bitmap, const wxColour& colour) +{ + FreeData(); + + return InitFromColour(bitmap, colour); +} + +#if wxUSE_PALETTE + +bool wxMaskBase::Create(const wxBitmap& bitmap, int paletteIndex) +{ + wxPalette *pal = bitmap.GetPalette(); + + wxCHECK_MSG( pal, false, + wxT("Cannot create mask from palette index of a bitmap without palette") ); + + unsigned char r,g,b; + pal->GetRGB(paletteIndex, &r, &g, &b); + + return Create(bitmap, wxColour(r, g, b)); +} + +#endif // wxUSE_PALETTE + +bool wxMaskBase::Create(const wxBitmap& bitmap) +{ + FreeData(); + + return InitFromMonoBitmap(bitmap); +}