X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e838cc14684f8dfd4ede39e4649e04a5bd79d149..cf1a9b45c7b70f217d3cc282ab77df8feaadcdeb:/include/wx/motif/bitmap.h diff --git a/include/wx/motif/bitmap.h b/include/wx/motif/bitmap.h index 49495e6563..785509cb69 100644 --- a/include/wx/motif/bitmap.h +++ b/include/wx/motif/bitmap.h @@ -27,6 +27,7 @@ class WXDLLEXPORT wxBitmap; class WXDLLEXPORT wxBitmapHandler; class WXDLLEXPORT wxIcon; class WXDLLEXPORT wxCursor; +class WXDLLEXPORT wxImage; // A mask is a mono bitmap used for drawing bitmaps // transparently. @@ -155,12 +156,21 @@ public: // If depth is omitted, will create a bitmap compatible with the display wxBitmap(int width, int height, int depth = -1); + + // Convert from wxImage: + wxBitmap(const wxImage& image, int depth = -1) { (void)CreateFromImage(image, depth); } + ~wxBitmap(); virtual bool Create(int width, int height, int depth = -1); virtual bool Create(void *data, long type, int width, int height, int depth = 1); + + wxBitmap GetSubBitmap( const wxRect& rect ) const; + virtual bool LoadFile(const wxString& name, long type = wxBITMAP_TYPE_XPM); virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL); + + wxImage ConvertToImage() const; bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); } int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); } @@ -180,8 +190,8 @@ public: void SetMask(wxMask *mask) ; wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; } - bool operator == (const wxBitmap& bitmap) { return m_refData == bitmap.m_refData; } - bool operator != (const wxBitmap& bitmap) { return m_refData != bitmap.m_refData; } + bool operator == (const wxBitmap& bitmap) const { return m_refData == bitmap.m_refData; } + bool operator != (const wxBitmap& bitmap) const { return m_refData != bitmap.m_refData; } // Format handling static wxList& GetHandlers() { return sm_handlers; } @@ -198,16 +208,18 @@ public: // Motif implementation public: WXDisplay* GetDisplay() const { return M_BITMAPDATA->m_display; } - WXDisplay* GetPixmap() const { return M_BITMAPDATA->m_pixmap; } + WXPixmap GetPixmap() const { return (WXPixmap) M_BITMAPDATA->m_pixmap; } virtual WXPixmap GetLabelPixmap(WXWidget w) ; virtual WXPixmap GetArmPixmap(WXWidget w) ; virtual WXPixmap GetInsensPixmap(WXWidget w = (WXWidget) 0) ; + void SetPixmapNull() { M_BITMAPDATA->m_pixmap = 0; } protected: static wxList sm_handlers; protected: bool CreateFromXpm(const char **bits); + bool CreateFromImage(const wxImage& image, int depth); }; // Creates a bitmap with transparent areas drawn in