X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1169a91932273bc84c23ed9dbd0a2da064d59d66..d2bad02dbb16e4423965a615431f4e23fa6385d5:/include/wx/msw/bitmap.h diff --git a/include/wx/msw/bitmap.h b/include/wx/msw/bitmap.h index 2842800767..c9d9e38445 100644 --- a/include/wx/msw/bitmap.h +++ b/include/wx/msw/bitmap.h @@ -12,10 +12,6 @@ #ifndef _WX_BITMAP_H_ #define _WX_BITMAP_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "bitmap.h" -#endif - #include "wx/msw/gdiimage.h" #include "wx/gdicmn.h" #include "wx/palette.h" @@ -43,17 +39,17 @@ class WXDLLEXPORT wxBitmap : public wxGDIImage { public: // default ctor creates an invalid bitmap, you must Create() it later - wxBitmap(); + wxBitmap() { Init(); } // Copy constructors - wxBitmap(const wxBitmap& bitmap); + wxBitmap(const wxBitmap& bitmap) : wxGDIImage(bitmap) { Init(); Ref(bitmap); } // Initialize with raw data wxBitmap(const char bits[], int width, int height, int depth = 1); // Initialize with XPM data - wxBitmap(const char **data); - wxBitmap(char **data); + wxBitmap(const char **data) { CreateFromXpm(data); } + wxBitmap(char **data) { CreateFromXpm((const char **)data); } // Load a file or resource wxBitmap(const wxString& name, wxBitmapType type = wxBITMAP_TYPE_BMP_RESOURCE); @@ -71,19 +67,19 @@ public: // Create a bitmap compatible with the given DC wxBitmap(int width, int height, const wxDC& dc); -#if wxUSE_IMAGE - +#if wxUSE_IMAGE && wxUSE_WXDIB // Convert from wxImage - wxBitmap(const wxImage& image, int depth = -1); + wxBitmap(const wxImage& image, int depth = -1) + { (void)CreateFromImage(image, depth); } // Create a DDB compatible with the given DC from wxImage - wxBitmap(const wxImage& image, const wxDC& dc); - + wxBitmap(const wxImage& image, const wxDC& dc) + { (void)CreateFromImage(image, dc); } #endif // wxUSE_IMAGE // we must have this, otherwise icons are silently copied into bitmaps using // the copy ctor but the resulting bitmap is invalid! - wxBitmap(const wxIcon& icon); + wxBitmap(const wxIcon& icon) { Init(); CopyFromIcon(icon); } wxBitmap& operator=(const wxBitmap& bitmap) { @@ -108,7 +104,7 @@ public: virtual ~wxBitmap(); -#if wxUSE_IMAGE +#if wxUSE_IMAGE && wxUSE_WXDIB wxImage ConvertToImage() const; #endif // wxUSE_IMAGE @@ -145,6 +141,7 @@ public: #endif // wxUSE_PALETTE wxMask *GetMask() const; + wxBitmap GetMaskBitmap() const; void SetMask(wxMask *mask); bool operator==(const wxBitmap& bitmap) const { return m_refData == bitmap.m_refData; } @@ -179,6 +176,7 @@ protected: void Init(); virtual wxGDIImageRefData *CreateData() const; + virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const; // creates the bitmap from XPM data, supposed to be called from ctor bool CreateFromXpm(const char **bits); @@ -186,7 +184,7 @@ protected: // creates an uninitialized bitmap, called from Create()s above bool DoCreate(int w, int h, int depth, WXHDC hdc); -#if wxUSE_IMAGE +#if wxUSE_IMAGE && wxUSE_WXDIB // creates the bitmap from wxImage, supposed to be called from ctor bool CreateFromImage(const wxImage& image, int depth);