1 ///////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/generic/mask.h
3 // Purpose:     generic implementation of wxMask
4 // Author:      Vadim Zeitlin
5 // Created:     2006-09-28
6 // RCS-ID:      $Id: mask.h 41495 2006-09-28 23:02:39Z VZ $
7 // Copyright:   (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
8 // Licence:     wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
10 
11 #ifndef _WX_GENERIC_MASKG_H_
12 #define _WX_GENERIC_MASKG_H_
13 
14 // ----------------------------------------------------------------------------
15 // generic wxMask implementation
16 // ----------------------------------------------------------------------------
17 
18 class WXDLLEXPORT wxMask : public wxMaskBase
19 {
20 public:
wxMask()21     wxMask() { }
wxMask(const wxBitmap & bitmap,const wxColour & colour)22     wxMask(const wxBitmap& bitmap, const wxColour& colour)
23     {
24         InitFromColour(bitmap, colour);
25     }
26 
27 #if wxUSE_PALETTE
wxMask(const wxBitmap & bitmap,int paletteIndex)28     wxMask(const wxBitmap& bitmap, int paletteIndex)
29     {
30         Create(bitmap, paletteIndex);
31     }
32 #endif // wxUSE_PALETTE
33 
wxMask(const wxBitmap & bitmap)34     wxMask(const wxBitmap& bitmap)
35     {
36         InitFromMonoBitmap(bitmap);
37     }
38 
39     // implementation-only from now on
GetBitmap()40     wxBitmap GetBitmap() const { return m_bitmap; }
41 
42 private:
43     // implement wxMaskBase pure virtuals
44     virtual void FreeData();
45     virtual bool InitFromColour(const wxBitmap& bitmap, const wxColour& colour);
46     virtual bool InitFromMonoBitmap(const wxBitmap& bitmap);
47 
48     wxBitmap m_bitmap;
49 
50     DECLARE_DYNAMIC_CLASS(wxMask)
51 };
52 
53 #endif // _WX_GENERIC_MASKG_H_
54 
55