]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dfb/bitmap.h
check that the version of __sync_sub_and_fetch that returns a value is supported...
[wxWidgets.git] / include / wx / dfb / bitmap.h
index 8500bf435fe352043e74dc0ffc18467d5a0fe34b..28bd0b0f280f918897cd61ac98b3ce2ceaee3d31 100644 (file)
 
 #include "wx/dfb/dfbptr.h"
 
 
 #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
 //-----------------------------------------------------------------------------
 
 
 //-----------------------------------------------------------------------------
 // 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
 };
 
 class WXDLLIMPEXP_CORE wxBitmap: public wxBitmapBase
@@ -67,15 +34,13 @@ public:
     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(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
 
 #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);
 
     bool Create(const wxIDirectFBSurfacePtr& surface);
     bool Create(int width, int height, int depth = -1);
@@ -106,6 +71,12 @@ public:
 
     static void InitStandardHandlers();
 
 
     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);
     // implementation:
     virtual void SetHeight(int height);
     virtual void SetWidth(int width);
@@ -115,12 +86,12 @@ public:
     wxIDirectFBSurfacePtr GetDirectFBSurface() const;
 
 protected:
     wxIDirectFBSurfacePtr GetDirectFBSurface() const;
 
 protected:
-    bool CreateFromXpm(const char **bits);
-
     // ref counting code
     virtual wxObjectRefData *CreateRefData() const;
     virtual wxObjectRefData *CloneRefData(const wxObjectRefData *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)
 };
 
     DECLARE_DYNAMIC_CLASS(wxBitmap)
 };