X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af49c4b8a2d3553e733e71c7dd3911881f4c1a2a..4f85606724061367d0d5ab79444990e36b0acfa6:/include/wx/mac/bitmap.h diff --git a/include/wx/mac/bitmap.h b/include/wx/mac/bitmap.h index dae1493b87..a8e2439362 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_ -#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 } ; @@ -81,14 +86,17 @@ public: int m_depth; bool m_ok; int m_numColors; +#if wxUSE_PALETTE wxPalette m_bitmapPalette; +#endif // wxUSE_PALETTE 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) @@ -180,8 +188,10 @@ public: void SetQuality(int q); void SetOk(bool isOk); - wxPalette* GetPalette() const; - void SetPalette(const wxPalette& palette); +#if wxUSE_PALETTE + wxPalette* GetPalette() const; + void SetPalette(const wxPalette& palette); +#endif // wxUSE_PALETTE wxMask *GetMask() const; void SetMask(wxMask *mask) ; @@ -193,16 +203,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); };