wxImage(){}
wxImage( int width, int height, bool clear = true );
wxImage( int width, int height, unsigned char* data, bool static_data = false );
+ wxImage( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false );
wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
wxImage( const wxString& name, const wxString& mimetype, int index = -1 );
bool Create( int width, int height, bool clear = true );
bool Create( int width, int height, unsigned char* data, bool static_data = false );
+ bool Create( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false );
void Destroy();
// creates an identical copy of the image (the = operator
wxImageRefData::~wxImageRefData()
{
- if ( !m_static )
+ if (!m_static)
+ {
free( m_data );
-
- free(m_alpha);
+ free( m_alpha );
+ }
}
wxList wxImage::sm_handlers;
Create( width, height, data, static_data );
}
+wxImage::wxImage( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data )
+{
+ Create( width, height, data, alpha, static_data );
+}
+
wxImage::wxImage( const wxString& name, long type, int index )
{
LoadFile( name, type, index );
return true;
}
+bool wxImage::Create( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data )
+{
+ UnRef();
+
+ wxCHECK_MSG( data, false, _T("NULL data in wxImage::Create") );
+
+ m_refData = new wxImageRefData();
+
+ M_IMGDATA->m_data = data;
+ M_IMGDATA->m_alpha = alpha;
+ M_IMGDATA->m_width = width;
+ M_IMGDATA->m_height = height;
+ M_IMGDATA->m_ok = true;
+ M_IMGDATA->m_static = static_data;
+
+ return true;
+}
+
void wxImage::Destroy()
{
UnRef();