X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53a2db124c633f80bdb16336084262037d879a2c..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/os2/bitmap.h diff --git a/include/wx/os2/bitmap.h b/include/wx/os2/bitmap.h index 5f0be316b6..b4c1642395 100644 --- a/include/wx/os2/bitmap.h +++ b/include/wx/os2/bitmap.h @@ -4,7 +4,6 @@ // Author: David Webster // Modified by: // Created: 11/28/99 -// RCS-ID: $Id$ // Copyright: (c) David Webster // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -25,7 +24,7 @@ class WXDLLIMPEXP_FWD_CORE wxIcon; class WXDLLIMPEXP_FWD_CORE wxMask; class WXDLLIMPEXP_FWD_CORE wxCursor; class WXDLLIMPEXP_FWD_CORE wxControl; -class WXDLLIMPEXP_FWD_CORE wxImage; +class WXDLLIMPEXP_FWD_CORE wxPixelDataBase; // ---------------------------------------------------------------------------- // Bitmap data @@ -63,7 +62,8 @@ public: // wxBitmap: a mono or colour bitmap // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxBitmap : public wxGDIImage +class WXDLLIMPEXP_CORE wxBitmap : public wxGDIImage, + public wxBitmapHelpers { public: // default ctor creates an invalid bitmap, you must Create() it later @@ -90,30 +90,39 @@ public: // needed for old GCC wxBitmap(char** data) { - *this = wxBitmap(wx_const_cast(const char* const*, data)); + *this = wxBitmap(const_cast(data)); } #endif // Load a resource wxBitmap( int nId - ,long lType = wxBITMAP_TYPE_BMP_RESOURCE + ,wxBitmapType lType = wxBITMAP_DEFAULT_TYPE ); // For compatiability with other ports, under OS/2 does same as default ctor inline wxBitmap( const wxString& WXUNUSED(rFilename) - ,long WXUNUSED(lType) + ,wxBitmapType WXUNUSED(lType) ) { Init(); } // New constructor for generalised creation from data wxBitmap( const void* pData - ,long lType + ,wxBitmapType lType ,int nWidth ,int nHeight ,int nDepth = 1 ); // If depth is omitted, will create a bitmap compatible with the display - wxBitmap( int nWidth, int nHeight, int nDepth = -1 ); + wxBitmap( int nWidth, int nHeight, int nDepth = -1 ) + { + Init(); + (void)Create(nWidth, nHeight, nDepth); + } + wxBitmap( const wxSize& sz, int nDepth = -1 ) + { + Init(); + (void)Create(sz, nDepth); + } wxBitmap( const wxImage& image, int depth = -1 ) { (void)CreateFromImage(image, depth); } @@ -139,6 +148,7 @@ public: virtual ~wxBitmap(); wxImage ConvertToImage() const; + wxBitmap ConvertToDisabled(unsigned char brightness = 255) const; // get the given part of bitmap wxBitmap GetSubBitmap(const wxRect& rRect) const; @@ -151,40 +161,49 @@ public: virtual bool Create( int nWidth ,int nHeight - ,int nDepth = -1 + ,int nDepth = wxBITMAP_SCREEN_DEPTH ); + virtual bool Create(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH) + { return Create(sz.GetWidth(), sz.GetHeight(), depth); } + virtual bool Create(int width, int height, const wxDC& WXUNUSED(dc)) + { return Create(width,height); } + virtual bool Create( const void* pData - ,long lType + ,wxBitmapType lType ,int nWidth ,int nHeight ,int nDepth = 1 ); virtual bool LoadFile( int nId - ,long lType = wxBITMAP_TYPE_BMP_RESOURCE + ,wxBitmapType lType = wxBITMAP_DEFAULT_TYPE ); virtual bool LoadFile( const wxString& rName - ,long lType = wxBITMAP_TYPE_XPM + ,wxBitmapType lType = wxBITMAP_DEFAULT_TYPE ); virtual bool SaveFile( const wxString& rName - ,int lType + ,wxBitmapType lType ,const wxPalette* pCmap = NULL ); inline wxBitmapRefData* GetBitmapData() const { return (wxBitmapRefData *)m_refData; } + // raw bitmap access support functions + void *GetRawData(wxPixelDataBase& data, int bpp); + void UngetRawData(wxPixelDataBase& data); + inline int GetQuality() const { return (GetBitmapData() ? GetBitmapData()->m_nQuality : 0); } void SetQuality(int nQ); wxPalette* GetPalette() const - { return (GetBitmapData() ? (& GetBitmapData()->m_vBitmapPalette) : (wxPalette*) NULL); } + { return (GetBitmapData() ? (& GetBitmapData()->m_vBitmapPalette) : NULL); } void SetPalette(const wxPalette& rPalette); inline wxMask* GetMask() const - { return (GetBitmapData() ? GetBitmapData()->m_pBitmapMask : (wxMask*) NULL); } + { return (GetBitmapData() ? GetBitmapData()->m_pBitmapMask : NULL); } void SetMask(wxMask* pMask) ; @@ -200,7 +219,7 @@ public: { if (GetBitmapData()) GetBitmapData()->m_pSelectedInto = pDc; } inline wxDC* GetSelectedInto() const - { return (GetBitmapData() ? GetBitmapData()->m_pSelectedInto : (wxDC*) NULL); } + { return (GetBitmapData() ? GetBitmapData()->m_pSelectedInto : NULL); } inline bool IsMono(void) const { return m_bIsMono; } @@ -324,26 +343,26 @@ public: virtual bool Create( wxGDIImage* pImage ,const void* pData - ,long lFlags + ,wxBitmapType lFlags ,int nWidth ,int nHeight ,int nDepth = 1 ); virtual bool Load( wxGDIImage* pImage ,int nId - ,long lFlags + ,wxBitmapType lFlags ,int nDesiredWidth ,int nDesiredHeight ); - virtual bool Save( wxGDIImage* pImage - ,const wxString& rName - ,int lType + virtual bool Save( const wxGDIImage* pImage + ,const wxString& rName + ,wxBitmapType lType ) const; private: inline virtual bool Load( wxGDIImage* WXUNUSED(pImage) ,const wxString& WXUNUSED(rName) ,WXHANDLE WXUNUSED(hPs) - ,long WXUNUSED(lFlags) + ,wxBitmapType WXUNUSED(lFlags) ,int WXUNUSED(nDesiredWidth) ,int WXUNUSED(nDesiredHeight) )