// these functions provide fastest access to wxImage data but should be
// used carefully as no checks are done
unsigned char *GetData() const;
- void SetData( unsigned char *data );
- void SetData( unsigned char *data, int new_width, int new_height );
+ void SetData( unsigned char *data, bool static_data=false );
+ void SetData( unsigned char *data, int new_width, int new_height, bool static_data=false );
unsigned char *GetAlpha() const; // may return NULL!
bool HasAlpha() const { return GetAlpha() != NULL; }
- void SetAlpha(unsigned char *alpha = NULL);
+ void SetAlpha(unsigned char *alpha = NULL, bool static_data=false);
void InitAlpha();
// Mask functions
return M_IMGDATA->m_data;
}
-void wxImage::SetData( unsigned char *data )
+void wxImage::SetData( unsigned char *data, bool static_data )
{
wxCHECK_RET( Ok(), wxT("invalid image") );
newRefData->m_maskGreen = M_IMGDATA->m_maskGreen;
newRefData->m_maskBlue = M_IMGDATA->m_maskBlue;
newRefData->m_hasMask = M_IMGDATA->m_hasMask;
+ newRefData->m_static = static_data;
UnRef();
m_refData = newRefData;
}
-void wxImage::SetData( unsigned char *data, int new_width, int new_height )
+void wxImage::SetData( unsigned char *data, int new_width, int new_height, bool static_data )
{
wxImageRefData *newRefData = new wxImageRefData();
newRefData->m_data = data;
newRefData->m_ok = true;
}
+ newRefData->m_static = static_data;
UnRef();
return true;
}
-void wxImage::SetAlpha( unsigned char *alpha )
+void wxImage::SetAlpha( unsigned char *alpha, bool static_data )
{
wxCHECK_RET( Ok(), wxT("invalid image") );
free(M_IMGDATA->m_alpha);
M_IMGDATA->m_alpha = alpha;
+ M_IMGDATA->m_static = static_data;
+
}
unsigned char *wxImage::GetAlpha() const