X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/be52b34172dede7460990c54b9f7e2dad3a6f876..b92203a8be20debe7615492c26969d17bcd7fa8d:/include/wx/mac/bitmap.h diff --git a/include/wx/mac/bitmap.h b/include/wx/mac/bitmap.h index 1b0873f0af..27a729ccc9 100644 --- a/include/wx/mac/bitmap.h +++ b/include/wx/mac/bitmap.h @@ -1,33 +1,35 @@ ///////////////////////////////////////////////////////////////////////////// // Name: bitmap.h // Purpose: wxBitmap class -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: -// Created: ??/??/98 +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_BITMAP_H_ #define _WX_BITMAP_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #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,16 +199,21 @@ public: inline bool operator != (const wxBitmap& bitmap) const { return m_refData != bitmap.m_refData; } static void InitStandardHandlers(); -protected: - // TODO: Implementation + // raw bitmap access support functions, for internal use only + void *GetRawData(wxPixelDataBase& data, int bpp); + void UngetRawData(wxPixelDataBase& data); + + void UseAlpha(); + public: - void SetHBITMAP(WXHBITMAP bmp); WXHBITMAP GetHBITMAP() const; - void SetHICON(WXHICON ico); inline WXHICON GetHICON() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_hIcon : 0); } - - WXHMETAFILE GetPict() const; + WXHMETAFILE GetPict(bool *created = NULL ) const; + + void SetHBITMAP(WXHBITMAP bmp); + void SetHICON(WXHICON ico); + void SetPict( WXHMETAFILE pict ) ; bool FreeResource(bool force = FALSE); };