X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8bb6da4ae69b4b16982a1cf7a7284c44b98e4e21..687dcff3a46a55c11851b1cabdbbbef5492a2f5f:/include/wx/os2/bitmap.h diff --git a/include/wx/os2/bitmap.h b/include/wx/os2/bitmap.h index baacd60aa8..d7e9c0c376 100644 --- a/include/wx/os2/bitmap.h +++ b/include/wx/os2/bitmap.h @@ -29,6 +29,7 @@ class WXDLLEXPORT wxIcon; class WXDLLEXPORT wxMask; class WXDLLEXPORT wxCursor; class WXDLLEXPORT wxControl; +class WXDLLEXPORT wxImage; // ---------------------------------------------------------------------------- // Bitmap data @@ -73,7 +74,7 @@ public: // Copy constructors inline wxBitmap(const wxBitmap& rBitmap) - { Init(); Ref(rBitmap); } + { Init(); Ref(rBitmap); SetHandle(rBitmap.GetHandle()); } // Initialize with raw data wxBitmap( const char bits[] @@ -83,14 +84,19 @@ public: ); // Initialize with XPM data - wxBitmap(const char** ppData); - wxBitmap(char** ppData); + wxBitmap(const char** ppData) { CreateFromXpm(ppData); } + wxBitmap(char** ppData) { CreateFromXpm((const char**)ppData); } - // Load a file or resource - wxBitmap( const wxString& rName + // Load a resource + wxBitmap( int nId ,long lType = wxBITMAP_TYPE_BMP_RESOURCE ); + // For compatiability with other ports, under OS/2 does same as default ctor + inline wxBitmap( const wxString& WXUNUSED(rFilename) + ,long WXUNUSED(lType) + ) + { Init(); } // New constructor for generalised creation from data wxBitmap( void* pData ,long lType @@ -105,6 +111,9 @@ public: ,int nDepth = -1 ); + wxBitmap( const wxImage& image, int depth = -1 ) + { (void)CreateFromImage(image, depth); } + // we must have this, otherwise icons are silently copied into bitmaps using // the copy ctor but the resulting bitmap is invalid! inline wxBitmap(const wxIcon& rIcon) @@ -132,6 +141,8 @@ public: virtual ~wxBitmap(); + wxImage ConvertToImage() const; + // get the given part of bitmap wxBitmap GetSubBitmap(const wxRect& rRect) const; @@ -151,7 +162,7 @@ public: ,int nHeight ,int nDepth = 1 ); - virtual bool LoadFile( const wxString& rName + virtual bool LoadFile( int nId ,long lType = wxBITMAP_TYPE_BMP_RESOURCE ); virtual bool SaveFile( const wxString& rName @@ -177,10 +188,10 @@ public: void SetMask(wxMask* pMask) ; - inline bool operator==(const wxBitmap& rBitmap) + inline bool operator==(const wxBitmap& rBitmap) const { return m_refData == rBitmap.m_refData; } - inline bool operator!=(const wxBitmap& rBitmap) + inline bool operator!=(const wxBitmap& rBitmap) const { return m_refData != rBitmap.m_refData; } #if WXWIN_COMPATIBILITY_2 @@ -210,13 +221,11 @@ public: inline wxDC* GetSelectedInto() const { return (GetBitmapData() ? GetBitmapData()->m_pSelectedInto : (wxDC*) NULL); } + inline bool IsMono(void) const { return m_bIsMono; } + // An OS/2 version that probably doesn't do anything like the msw version wxBitmap GetBitmapForDC(wxDC& rDc) const; -// inline LONG GetId() const -// { return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); } - - protected: // common part of all ctors void Init(); @@ -225,11 +234,13 @@ protected: { return new wxBitmapRefData; } // creates the bitmap from XPM data, supposed to be called from ctor - bool CreateFromXpm(const char **bits); + bool CreateFromXpm(const char** ppData); + bool CreateFromImage(const wxImage& image, int depth); private: bool CopyFromIconOrCursor(const wxGDIImage& rIcon); + bool m_bIsMono; DECLARE_DYNAMIC_CLASS(wxBitmap) }; // end of CLASS wxBitmap @@ -312,8 +323,7 @@ public: ,int nDepth = 1 ); virtual bool LoadFile( wxBitmap* pBitmap - ,const wxString& rName - ,HPS hPs + ,int nId ,long lFlags ,int nDesiredWidth ,int nDesiredHeight @@ -332,8 +342,7 @@ public: ,int nDepth = 1 ); virtual bool Load( wxGDIImage* pImage - ,const wxString& rName - ,HPS hPs + ,int nId ,long lFlags ,int nDesiredWidth ,int nDesiredHeight @@ -343,6 +352,14 @@ public: ,int lType ); private: + inline virtual bool Load( wxGDIImage* pImage + ,const wxString& rName + ,HPS hPs + ,long lFlags + ,int nDesiredWidth + ,int nDesiredHeight + ) + { return FALSE; } DECLARE_DYNAMIC_CLASS(wxBitmapHandler) }; // end of CLASS wxBitmapHandler