X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/87f83ac8676d83b1bc75cbb0a6b4cf612f86bc2b..333e57d578e9e0fb6555452b5a53698ffd85ee69:/include/wx/dfb/bitmap.h?ds=sidebyside diff --git a/include/wx/dfb/bitmap.h b/include/wx/dfb/bitmap.h index 05f1fe5013..28bd0b0f28 100644 --- a/include/wx/dfb/bitmap.h +++ b/include/wx/dfb/bitmap.h @@ -13,18 +13,17 @@ #include "wx/dfb/dfbptr.h" +class WXDLLIMPEXP_FWD_CORE wxPixelDataBase; + wxDFB_DECLARE_INTERFACE(IDirectFBSurface); //----------------------------------------------------------------------------- // wxBitmap //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxBitmapHandler : public wxBitmapHandlerBase +class WXDLLIMPEXP_CORE wxBitmapHandler: public wxBitmapHandlerBase { -public: - wxBitmapHandler() : wxBitmapHandlerBase() {} -private: - DECLARE_DYNAMIC_CLASS(wxBitmapHandler) + DECLARE_ABSTRACT_CLASS(wxBitmapHandler) }; class WXDLLIMPEXP_CORE wxBitmap: public wxBitmapBase @@ -35,15 +34,13 @@ public: wxBitmap(int width, int height, int depth = -1); wxBitmap(const char bits[], int width, int height, int depth = 1); wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_RESOURCE); - wxBitmap(const char **bits) { CreateFromXpm(bits); } - wxBitmap(char **bits) { CreateFromXpm((const char **)bits); } + wxBitmap(const char* const* bits); #if wxUSE_IMAGE wxBitmap(const wxImage& image, int depth = -1); #endif - bool Ok() const; - bool operator==(const wxBitmap& bmp) const; - bool operator!=(const wxBitmap& bmp) const { return !(*this == bmp); } + bool Ok() const { return IsOk(); } + bool IsOk() const; bool Create(const wxIDirectFBSurfacePtr& surface); bool Create(int width, int height, int depth = -1); @@ -74,6 +71,12 @@ public: static void InitStandardHandlers(); + // raw bitmap access support functions + void *GetRawData(wxPixelDataBase& data, int bpp); + void UngetRawData(wxPixelDataBase& data); + + bool HasAlpha() const; + // implementation: virtual void SetHeight(int height); virtual void SetWidth(int width); @@ -83,12 +86,12 @@ public: wxIDirectFBSurfacePtr GetDirectFBSurface() const; protected: - bool CreateFromXpm(const char **bits); - // ref counting code virtual wxObjectRefData *CreateRefData() const; virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const; + bool CreateWithFormat(int width, int height, int dfbFormat); + DECLARE_DYNAMIC_CLASS(wxBitmap) };