added wxBitmap::CopyFromIcon and wxIcon::CopyFromBitmap to wxMotif

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2002-03-22 19:14:33 +00:00
parent 9ecce6913c
commit 329e276aa0
4 changed files with 20 additions and 0 deletions

View File

@ -171,6 +171,9 @@ public:
virtual bool SaveFile(const wxString& name, int type, const wxPalette *cmap = NULL);
wxImage ConvertToImage() const;
// copies the contents and mask of the given (colour) icon to the bitmap
virtual bool CopyFromIcon(const wxIcon& icon);
bool Ok() const { return (M_BITMAPDATA && M_BITMAPDATA->m_ok); }
int GetWidth() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_width : 0); }

View File

@ -45,6 +45,11 @@ public:
bool LoadFile(const wxString& name, long flags = wxBITMAP_TYPE_XPM,
int desiredWidth = -1, int desiredHeight = -1);
// create from bitmap (which should have a mask unless it's monochrome):
// there shouldn't be any implicit bitmap -> icon conversion (i.e. no
// ctors, assignment operators...), but it's ok to have such function
void CopyFromBitmap(const wxBitmap& bmp);
inline wxIcon& operator = (const wxIcon& icon) { if (*this == icon) return (*this); Ref(icon); return *this; }
inline bool operator == (const wxIcon& icon) const { return m_refData == icon.m_refData; }

View File

@ -167,6 +167,12 @@ bool wxBitmap::CreateFromXpm(const char **bits)
return Create(bits, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0);
}
bool wxBitmap::CopyFromIcon(const wxIcon& icon)
{
*this = icon;
return TRUE;
}
bool wxBitmap::Create(int w, int h, int d)
{
UnRef();

View File

@ -61,6 +61,12 @@ wxIcon::wxIcon(const wxString& icon_file, long flags,
LoadFile(icon_file, flags, desiredWidth, desiredHeight);
}
void wxIcon::CopyFromBitmap(const wxBitmap& bmp)
{
wxIcon *icon = (wxIcon*)(&bmp);
*this = *icon;
}
wxIcon::~wxIcon()
{
}