class WXDLLEXPORT wxMask;
class WXDLLEXPORT wxCursor;
class WXDLLEXPORT wxControl;
+class WXDLLEXPORT wxImage;
// ----------------------------------------------------------------------------
// Bitmap data
// Copy constructors
inline wxBitmap(const wxBitmap& rBitmap)
- { Init(); Ref(rBitmap); }
+ { Init(); Ref(rBitmap); SetHandle(rBitmap.GetHandle()); }
// Initialize with raw data
wxBitmap( const char bits[]
);
// 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
,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)
virtual ~wxBitmap();
+ wxImage ConvertToImage() const;
+
// get the given part of bitmap
wxBitmap GetSubBitmap(const wxRect& rRect) const;
,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
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
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();
{ 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
,int nDepth = 1
);
virtual bool LoadFile( wxBitmap* pBitmap
- ,const wxString& rName
- ,HPS hPs
+ ,int nId
,long lFlags
,int nDesiredWidth
,int nDesiredHeight
,int nDepth = 1
);
virtual bool Load( wxGDIImage* pImage
- ,const wxString& rName
- ,HPS hPs
+ ,int nId
,long lFlags
,int nDesiredWidth
,int nDesiredHeight
,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