]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dfb/bitmap.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / dfb / bitmap.h
index 19767564f94c6377dfc9d457b65a36cff2f990c0..391a8e06fd30e29741558367242d7ce5d81b03ec 100644 (file)
@@ -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
 /////////////////////////////////////////////////////////////////////////////
 
 #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); }
+    bool Create(int width, int height, const wxDC& WXUNUSED(dc))
+        { return Create(width,height); }
 
     virtual int GetHeight() const;
     virtual int GetWidth() const;
@@ -57,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;
@@ -70,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);
@@ -79,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)
 };