#include "wx/dfb/dfbptr.h"
-wxDFB_DECLARE_INTERFACE(IDirectFBSurface);
-
-//-----------------------------------------------------------------------------
-// wxMask
-//-----------------------------------------------------------------------------
+class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
-#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;
-
-private:
- wxBitmap *m_bitmap;
-
- DECLARE_DYNAMIC_CLASS(wxMask)
-};
+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
{
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 Ok() const { return IsOk(); }
+ bool IsOk() const;
+ bool Create(const wxIDirectFBSurfacePtr& surface);
bool Create(int width, int height, int depth = -1);
virtual int GetHeight() const;
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);
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)
};