#include "wx/dfb/dfbptr.h"
+class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
+
wxDFB_DECLARE_INTERFACE(IDirectFBSurface);
//-----------------------------------------------------------------------------
// wxBitmap
//-----------------------------------------------------------------------------
-class WXDLLIMPEXP_CORE wxBitmapHandler: public wxBitmapHandlerBase
-{
- 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(int width, int height, int depth = -1) { Create(width, height, depth); }
+ wxBitmap(const wxSize& sz, int depth = -1) { Create(sz, depth); }
wxBitmap(const char bits[], int width, int height, int depth = 1);
- wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_RESOURCE);
+ wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
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);
+ bool Create(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH);
+ bool Create(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH)
+ { return Create(sz.GetWidth(), sz.GetHeight(), depth); }
virtual int GetHeight() const;
virtual int GetWidth() const;
virtual wxBitmap GetSubBitmap(const wxRect& rect) const;
- virtual bool SaveFile(const wxString &name, wxBitmapType type, const wxPalette *palette = (wxPalette *) NULL) const;
- virtual bool LoadFile(const wxString &name, wxBitmapType type = wxBITMAP_TYPE_RESOURCE);
+ virtual bool SaveFile(const wxString &name, wxBitmapType type,
+ const wxPalette *palette = NULL) const;
+ virtual bool LoadFile(const wxString &name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
#if wxUSE_PALETTE
virtual wxPalette *GetPalette() 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:
- // ref counting code
- virtual wxObjectRefData *CreateRefData() const;
- virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
+ virtual wxGDIRefData *CreateGDIRefData() const;
+ virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
+
+ bool CreateWithFormat(int width, int height, int dfbFormat);
DECLARE_DYNAMIC_CLASS(wxBitmap)
};