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