]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/mask.h
The Lesser wxMask Refactoring: merged wxMGL and wxDFB version, added wxMaskBase which...
[wxWidgets.git] / include / wx / generic / mask.h
diff --git a/include/wx/generic/mask.h b/include/wx/generic/mask.h
new file mode 100644 (file)
index 0000000..b6c7b95
--- /dev/null
@@ -0,0 +1,54 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/generic/mask.h
+// Purpose:     generic implementation of wxMask
+// Author:      Vadim Zeitlin
+// Created:     2006-09-28
+// RCS-ID:      $Id$
+// Copyright:   (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GENERIC_MASKG_H_
+#define _WX_GENERIC_MASKG_H_
+
+// ----------------------------------------------------------------------------
+// generic wxMask implementation
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxMask : public wxMaskBase
+{
+public:
+    wxMask() { }
+    wxMask(const wxBitmap& bitmap, const wxColour& colour)
+    {
+        InitFromColour(bitmap, colour);
+    }
+
+#if wxUSE_PALETTE
+    wxMask(const wxBitmap& bitmap, int paletteIndex)
+    {
+        Create(bitmap, paletteIndex);
+    }
+#endif // wxUSE_PALETTE
+
+    wxMask(const wxBitmap& bitmap)
+    {
+        InitFromMonoBitmap(bitmap);
+    }
+
+    // implementation-only from now on
+    wxBitmap GetBitmap() const { return m_bitmap; }
+
+private:
+    // implement wxMaskBase pure virtuals
+    virtual void FreeData();
+    virtual bool InitFromColour(const wxBitmap& bitmap, const wxColour& colour);
+    virtual bool InitFromMonoBitmap(const wxBitmap& bitmap);
+
+    wxBitmap m_bitmap;
+
+    DECLARE_DYNAMIC_CLASS(wxMask)
+};
+
+#endif // _WX_GENERIC_MASKG_H_
+