#ifndef _WX_BITMAP_H_
#define _WX_BITMAP_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "bitmap.h"
-#endif
-
#include "wx/palette.h"
// Bitmap
// Construct a mask from a mono bitmap (black meaning show pixels, white meaning transparent)
wxMask(const wxBitmap& bitmap);
- // implementation helper only : construct a mask from a 8 bit memory buffer
+ // implementation helper only : construct a mask from a 32 bit memory buffer
wxMask(const wxMemoryBuffer& buf, int width , int height , int bytesPerRow ) ;
- ~wxMask();
+ virtual ~wxMask();
bool Create(const wxBitmap& bitmap, const wxColour& colour);
bool Create(const wxBitmap& bitmap);
};
-class WXDLLEXPORT wxBitmapHandler: public wxBitmapHandlerBase
+class WXDLLIMPEXP_CORE wxBitmapHandler: public wxBitmapHandlerBase
{
-public:
- wxBitmapHandler() { }
- virtual ~wxBitmapHandler();
-
- virtual bool Create(wxBitmap *bitmap, void *data, long flags, int width, int height, int depth = 1);
- virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
- int desiredWidth, int desiredHeight);
- virtual bool SaveFile(const wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette = NULL);
-
-private:
- DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
+ DECLARE_ABSTRACT_CLASS(wxBitmapHandler)
};
-#define M_BITMAPHANDLERDATA ((wxBitmapRefData *)bitmap->GetRefData())
-
class WXDLLEXPORT wxBitmap: public wxBitmapBase
{
DECLARE_DYNAMIC_CLASS(wxBitmap)
public:
wxBitmap(); // Platform-specific
- // Copy constructors
- wxBitmap(const wxBitmap& bitmap)
- { Ref(bitmap); }
-
// Initialize with raw data.
wxBitmap(const char bits[], int width, int height, int depth = 1);
// Initialize with XPM data
- bool CreateFromXpm(const char **bits);
- wxBitmap(const char **bits);
- wxBitmap(char **bits);
+ wxBitmap(const char* const* bits);
// Load a file or resource
wxBitmap(const wxString& name, wxBitmapType type = wxBITMAP_TYPE_PICT_RESOURCE);
// Constructor for generalised creation from data
- wxBitmap(void *data, wxBitmapType type, int width, int height, int depth = 1);
+ wxBitmap(const void* data, wxBitmapType type, int width, int height, int depth = 1);
// If depth is omitted, will create a bitmap compatible with the display
wxBitmap(int width, int height, int depth = -1);
// Convert from wxIcon
wxBitmap(const wxIcon& icon) { CopyFromIcon(icon); }
- ~wxBitmap();
+ virtual ~wxBitmap();
wxImage ConvertToImage() const;
wxBitmap GetSubBitmap( const wxRect& rect ) const;
virtual bool Create(int width, int height, int depth = -1);
- virtual bool Create(void *data, wxBitmapType type, int width, int height, int depth = 1);
+ virtual bool Create(const void* data, wxBitmapType type, int width, int height, int depth = 1);
// virtual bool Create( WXHICON icon) ;
virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_TYPE_BMP_RESOURCE);
virtual bool SaveFile(const wxString& name, wxBitmapType type, const wxPalette *cmap = NULL) const;
// copies the contents and mask of the given (colour) icon to the bitmap
virtual bool CopyFromIcon(const wxIcon& icon);
- bool Ok() const;
+ bool Ok() const { return IsOk(); }
+ bool IsOk() const;
int GetWidth() const;
int GetHeight() const;
int GetDepth() const;
wxMask *GetMask() const;
void SetMask(wxMask *mask) ;
- inline wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
inline bool operator == (const wxBitmap& bitmap) const { return m_refData == bitmap.m_refData; }
inline bool operator != (const wxBitmap& bitmap) const { return m_refData != bitmap.m_refData; }
// returns the 'native' implementation, a GWorldPtr for the content and one for the mask
WXHBITMAP GetHBITMAP( WXHBITMAP * mask = NULL ) const;
-#if wxMAC_USE_CORE_GRAPHICS
+#ifdef __WXMAC_OSX__
// returns a CGImageRef which must released after usage with CGImageRelease
WXCGIMAGEREF CGImageCreate() const ;
#endif