X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3c861501a451503b31c075ccb59d16b0ae01e99..8907a7e2c0fb61ecca0b6434dd69ee42b7ee1db6:/include/wx/dfb/bitmap.h diff --git a/include/wx/dfb/bitmap.h b/include/wx/dfb/bitmap.h index 751535c87b..7ac7cf2b2e 100644 --- a/include/wx/dfb/bitmap.h +++ b/include/wx/dfb/bitmap.h @@ -11,41 +11,11 @@ #ifndef _WX_DFB_BITMAP_H_ #define _WX_DFB_BITMAP_H_ -#include "wx/dfb/ifacehelpers.h" +#include "wx/dfb/dfbptr.h" -wxDFB_DECLARE_INTERFACE(IDirectFBSurface); - -//----------------------------------------------------------------------------- -// wxMask -//----------------------------------------------------------------------------- - -#warning "FIXME: move wxMask to common code" -class WXDLLIMPEXP_CORE wxMask: public wxObject -{ -public: - wxMask(); - wxMask(const wxBitmap& bitmap); - wxMask(const wxBitmap& bitmap, const wxColour& colour); -#if wxUSE_PALETTE - wxMask(const wxBitmap& bitmap, int paletteIndex); -#endif - wxMask(const wxMask& mask); - ~wxMask(); - - bool Create(const wxBitmap& bitmap); - bool Create(const wxBitmap& bitmap, const wxColour& colour); -#if wxUSE_PALETTE - bool Create(const wxBitmap& bitmap, int paletteIndex); -#endif - - // implementation - const wxBitmap& GetBitmap() const; +class WXDLLIMPEXP_FWD_CORE wxPixelDataBase; -private: - wxBitmap *m_bitmap; - - DECLARE_DYNAMIC_CLASS(wxMask) -}; +wxDFB_DECLARE_INTERFACE(IDirectFBSurface); //----------------------------------------------------------------------------- // wxBitmap @@ -53,29 +23,23 @@ private: class WXDLLIMPEXP_CORE wxBitmapHandler : public wxBitmapHandlerBase { -public: - wxBitmapHandler() : wxBitmapHandlerBase() {} -private: - DECLARE_DYNAMIC_CLASS(wxBitmapHandler) + DECLARE_ABSTRACT_CLASS(wxBitmapHandler) }; -class WXDLLIMPEXP_CORE wxBitmap: public wxBitmapBase +class WXDLLIMPEXP_CORE wxBitmap : public wxBitmapBase { public: wxBitmap() {} + wxBitmap(const wxIDirectFBSurfacePtr& surface) { Create(surface); } 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 Create(const wxIDirectFBSurfacePtr& surface); bool Create(int width, int height, int depth = -1); virtual int GetHeight() const; @@ -104,20 +68,25 @@ 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); virtual void SetDepth(int depth); // get underlying native representation: - IDirectFBSurfacePtr GetDirectFBSurface() const; + wxIDirectFBSurfacePtr GetDirectFBSurface() const; protected: - bool CreateFromXpm(const char **bits); + virtual wxGDIRefData *CreateGDIRefData() const; + virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const; - // 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) };