X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a31a5f85341a2ef131d86a1dee12f3d6c8156118..ba1e9d6cede4073faf42e3e290a030965a2205c3:/include/wx/mac/bitmap.h diff --git a/include/wx/mac/bitmap.h b/include/wx/mac/bitmap.h index 0f0543202c..759cccfe1b 100644 --- a/include/wx/mac/bitmap.h +++ b/include/wx/mac/bitmap.h @@ -6,28 +6,30 @@ // Created: 1998-01-01 // RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_BITMAP_H_ #define _WX_BITMAP_H_ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "bitmap.h" #endif #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 } ; @@ -84,11 +89,12 @@ public: wxPalette m_bitmapPalette; int m_quality; - int m_bitmapType ; - WXHMETAFILE m_hPict ; + int m_bitmapType ; + WXHMETAFILE m_hPict ; 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); }