mask.h 1.4 KB

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