wxBitmap::wxBitmap()
{
m_refData = NULL;
-
- if ( wxTheBitmapList )
- wxTheBitmapList->AddBitmap(this);
}
wxBitmap::~wxBitmap()
{
- if (wxTheBitmapList)
- wxTheBitmapList->DeleteObject(this);
}
wxBitmap::wxBitmap(const char bits[], int width, int height, int depth)
m_refData = new wxBitmapRefData;
(void) Create((void*) bits, wxBITMAP_TYPE_XBM_DATA, width, height, depth);
-
- if ( wxTheBitmapList )
- wxTheBitmapList->AddBitmap(this);
}
wxBitmap::wxBitmap(int w, int h, int d)
{
(void)Create(w, h, d);
-
- if ( wxTheBitmapList )
- wxTheBitmapList->AddBitmap(this);
}
wxBitmap::wxBitmap(void *data, long type, int width, int height, int depth)
{
(void) Create(data, type, width, height, depth);
-
- if ( wxTheBitmapList )
- wxTheBitmapList->AddBitmap(this);
}
-wxBitmap::wxBitmap(const wxString& filename, long type)
+wxBitmap::wxBitmap(const wxString& filename, int type)
{
LoadFile(filename, (int)type);
-
- if ( wxTheBitmapList )
- wxTheBitmapList->AddBitmap(this);
}
// Create from XPM data
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();
if (!image.LoadFile( filename, type )) return FALSE;
if (image.Ok())
{
- *this = image.ConvertToBitmap();
+ *this = wxBitmap(image);
return TRUE;
}
else return FALSE;
wxBitmapHandler *handler = FindHandler(type);
if ( handler == NULL ) {
- wxLogWarning("no data bitmap handler for type %d defined.", type);
+ wxLogWarning("no data bitmap handler for type %ld defined.", type);
return FALSE;
}
wxBitmapHandler *handler = FindHandler(type);
if ( handler == NULL ) { // try wxImage
- wxImage image( *this );
+ wxImage image = this->ConvertToImage();
if (image.Ok()) return image.SaveFile( filename, type );
else return FALSE;
}
WXPixmap wxBitmap::GetLabelPixmap (WXWidget w)
{
+ if (!M_BITMAPDATA)
+ return (WXPixmap)NULL;
if (M_BITMAPDATA->m_image == (WXPixmap) 0)
return M_BITMAPDATA->m_pixmap;
WXPixmap wxBitmap::GetInsensPixmap (WXWidget w)
{
Display *dpy = (Display*) M_BITMAPDATA->m_display;
-
+
+ if (!M_BITMAPDATA)
+ return (WXPixmap)NULL;
if (M_BITMAPDATA->m_insensPixmap)
return M_BITMAPDATA->m_insensPixmap;
wxCHECK_MSG( depth == -1, FALSE, wxT("invalid bitmap depth") )
m_refData = new wxBitmapRefData();
-
- if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this);
int width = image.GetWidth();
int height = image.GetHeight();