X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d921af5140af576cf7651d4f47d5dc00a83e37f5..b92203a8be20debe7615492c26969d17bcd7fa8d:/include/wx/mac/bitmap.h diff --git a/include/wx/mac/bitmap.h b/include/wx/mac/bitmap.h index 804b9be1d9..27a729ccc9 100644 --- a/include/wx/mac/bitmap.h +++ b/include/wx/mac/bitmap.h @@ -19,15 +19,17 @@ #include "wx/palette.h" // Bitmap -class WXDLLEXPORT wxDC; -class WXDLLEXPORT wxControl; class WXDLLEXPORT wxBitmap; class WXDLLEXPORT wxBitmapHandler; -class WXDLLEXPORT wxIcon; +class WXDLLEXPORT wxControl; class WXDLLEXPORT wxCursor; +class WXDLLEXPORT wxDC; +class WXDLLEXPORT wxIcon; class WXDLLEXPORT wxImage; +class WXDLLEXPORT wxPixelDataBase; -// A mask is a mono bitmap used for drawing bitmaps +// A mask is a bitmap used for drawing bitmaps +// it can be a monochrome bitmap or a multi-bit bitmap which transfers to alpha channels // transparently. class WXDLLEXPORT wxMask: public wxObject { @@ -58,8 +60,11 @@ public: bool PointMasked(int x, int y); inline WXHBITMAP GetMaskBitmap() const { return m_maskBitmap; } inline void SetMaskBitmap(WXHBITMAP bmp) { m_maskBitmap = bmp; } + int GetDepth() const { return m_depth ; } + void SetDepth( int depth ) { m_depth = depth ; } protected: WXHBITMAP m_maskBitmap; + int m_depth ; }; enum { kMacBitmapTypeUnknownType , kMacBitmapTypeGrafWorld, kMacBitmapTypePict , kMacBitmapTypeIcon } ; @@ -89,6 +94,7 @@ public: WXHBITMAP m_hBitmap; WXHICON m_hIcon ; wxMask * m_bitmapMask; // Optional mask + bool m_hasAlpha; }; #define M_BITMAPDATA ((wxBitmapRefData *)m_refData) @@ -193,6 +199,13 @@ public: inline bool operator != (const wxBitmap& bitmap) const { return m_refData != bitmap.m_refData; } static void InitStandardHandlers(); + + // raw bitmap access support functions, for internal use only + void *GetRawData(wxPixelDataBase& data, int bpp); + void UngetRawData(wxPixelDataBase& data); + + void UseAlpha(); + public: WXHBITMAP GetHBITMAP() const; inline WXHICON GetHICON() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_hIcon : 0); }