X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b7cacb43db1e69b87b257a67912b4d52995b070a..9869c26285dc51d13607cddaa04f65ce983653a5:/include/wx/dfb/bitmap.h diff --git a/include/wx/dfb/bitmap.h b/include/wx/dfb/bitmap.h index 0bbda585bf..391a8e06fd 100644 --- a/include/wx/dfb/bitmap.h +++ b/include/wx/dfb/bitmap.h @@ -3,7 +3,6 @@ // Purpose: wxBitmap class // Author: Vaclav Slavik // Created: 2006-08-04 -// RCS-ID: $Id$ // Copyright: (c) 2006 REA Elektronik GmbH // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -13,37 +12,34 @@ #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 { return IsOk(); } - bool IsOk() 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); } + bool Create(int width, int height, const wxDC& WXUNUSED(dc)) + { return Create(width,height); } virtual int GetHeight() const; virtual int GetWidth() const; @@ -58,8 +54,9 @@ public: 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; @@ -71,6 +68,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); @@ -80,9 +83,10 @@ public: 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) };