- wxBitmap(void); // Platform-specific
-
- // Copy constructors
- inline wxBitmap(const wxBitmap& bitmap)
- { Ref(bitmap); if ( wxTheBitmapList ) wxTheBitmapList->AddBitmap(this); }
-
- // Initialize with raw data
- wxBitmap(const char bits[], int width, int height, int depth = 1);
-
- // Initialize with XPM data
- wxBitmap(char **data, wxControl *anItem = NULL);
-
- // Load a file or resource
- wxBitmap(const wxString& name, long type = wxBITMAP_TYPE_BMP_RESOURCE);
-
- // New constructor for generalised creation from data
- wxBitmap(void *data, long 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);
- ~wxBitmap(void);
-
- virtual bool Create(int width, int height, int depth = -1);
- virtual bool Create(void *data, long type, int width, int height, int depth = 1);
- virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_BMP_RESOURCE);
- virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
-
- inline bool Ok(void) const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
- inline int GetWidth(void) const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
- inline int GetHeight(void) const { return (M_BITMAPDATA ? M_BITMAPDATA->m_height : 0); }
- inline int GetDepth(void) const { return (M_BITMAPDATA ? M_BITMAPDATA->m_depth : 0); }
- inline int GetQuality(void) const { return (M_BITMAPDATA ? M_BITMAPDATA->m_quality : 0); }
- void SetWidth(int w);
- void SetHeight(int h);
- void SetDepth(int d);
- void SetQuality(int q);
- void SetOk(bool isOk);
+ // default ctor creates an invalid bitmap, you must Create() it later
+ wxBitmap() { Init(); }
+
+ // Copy constructors
+ wxBitmap(const wxBitmap& bitmap) { Init(); Ref(bitmap); }
+
+ // Initialize with raw data
+ wxBitmap(const char bits[], int width, int height, int depth = 1);
+
+ // Initialize with XPM data
+ wxBitmap(char **data, wxControl *anItem = NULL);
+
+ // Load a file or resource
+ wxBitmap(const wxString& name, long type = wxBITMAP_TYPE_BMP_RESOURCE);
+
+ // New constructor for generalised creation from data
+ wxBitmap(void *data, long 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);
+
+ // 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) { Init(); CopyFromIcon(icon); }
+
+ wxBitmap& operator=(const wxBitmap& bitmap)
+ {
+ if ( m_refData != bitmap.m_refData )
+ Ref(bitmap);
+ return *this;
+ }
+
+ wxBitmap& operator=(const wxIcon& icon)
+ {
+ (void)CopyFromIcon(icon);
+
+ return *this;
+ }
+
+ virtual ~wxBitmap();
+
+ // copies the contents and mask of the given (colour) icon to the bitmap
+ bool CopyFromIcon(const wxIcon& icon);
+
+ virtual bool Create(int width, int height, int depth = -1);
+ virtual bool Create(void *data, long type, int width, int height, int depth = 1);
+ virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_BMP_RESOURCE);
+ virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
+
+ bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
+ int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }
+ int GetHeight() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_height : 0); }
+ int GetDepth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_depth : 0); }
+ int GetQuality() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_quality : 0); }
+ void SetWidth(int w);
+ void SetHeight(int h);
+ void SetDepth(int d);
+ void SetQuality(int q);
+ void SetOk(bool isOk);