add overloads of ctors and Create() functions taking wxSize; document the various Create() overloads; reorganize wxImage docs categorizing the various functions

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2009-03-14 13:28:28 +00:00
parent 5a0a15cf56
commit 72a9034bd4
3 changed files with 564 additions and 460 deletions

View File

@@ -221,27 +221,54 @@ public:
}; };
wxImage() {} wxImage() {}
wxImage( int width, int height, bool clear = true ); wxImage( int width, int height, bool clear = true )
wxImage( int width, int height, unsigned char* data, bool static_data = false ); { Create( width, height, clear ); }
wxImage( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false ); wxImage( int width, int height, unsigned char* data, bool static_data = false )
wxImage( const wxString& name, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1 ); { Create( width, height, data, static_data ); }
wxImage( const wxString& name, const wxString& mimetype, int index = -1 ); wxImage( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false )
wxImage( const char* const* xpmData ); { Create( width, height, data, alpha, static_data ); }
// ctor variants using wxSize:
wxImage( const wxSize& sz, bool clear = true )
{ Create( sz, clear ); }
wxImage( const wxSize& sz, unsigned char* data, bool static_data = false )
{ Create( sz, data, static_data ); }
wxImage( const wxSize& sz, unsigned char* data, unsigned char* alpha, bool static_data = false )
{ Create( sz, data, alpha, static_data ); }
wxImage( const wxString& name, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1 )
{ LoadFile( name, type, index ); }
wxImage( const wxString& name, const wxString& mimetype, int index = -1 )
{ LoadFile( name, mimetype, index ); }
wxImage( const char* const* xpmData )
{ Create(xpmData); }
#if wxUSE_STREAMS #if wxUSE_STREAMS
wxImage( wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1 ); wxImage( wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1 )
wxImage( wxInputStream& stream, const wxString& mimetype, int index = -1 ); { LoadFile( stream, type, index ); }
wxImage( wxInputStream& stream, const wxString& mimetype, int index = -1 )
{ LoadFile( stream, mimetype, index ); }
#endif // wxUSE_STREAMS #endif // wxUSE_STREAMS
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 );
bool Create( const char* const* xpmData ); bool Create( const char* const* xpmData );
#ifdef __BORLANDC__ #ifdef __BORLANDC__
// needed for Borland 5.5 // needed for Borland 5.5
wxImage( char** xpmData ) { Create(const_cast<const char* const*>(xpmData)); } wxImage( char** xpmData ) { Create(const_cast<const char* const*>(xpmData)); }
bool Create( char** xpmData ) { return Create(const_cast<const char* const*>(xpmData)); } bool Create( char** xpmData ) { return Create(const_cast<const char* const*>(xpmData)); }
#endif #endif
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 );
// Create() variants using wxSize:
bool Create( const wxSize& sz, bool clear = true )
{ return Create(sz.GetWidth(), sz.GetHeight(), clear); }
bool Create( const wxSize& sz, unsigned char* data, bool static_data = false )
{ return Create(sz.GetWidth(), sz.GetHeight(), data, static_data); }
bool Create( const wxSize& sz, unsigned char* data, unsigned char* alpha, bool static_data = false )
{ return Create(sz.GetWidth(), sz.GetHeight(), data, alpha, static_data); }
void Destroy(); void Destroy();
// initialize the image data with zeroes // initialize the image data with zeroes

File diff suppressed because it is too large Load Diff

View File

@@ -53,7 +53,14 @@ IMPLEMENT_VARIANT_OBJECT_EXPORTED_SHALLOWCMP(wxImage,WXDLLEXPORT)
#endif #endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxImage // global data
//-----------------------------------------------------------------------------
wxList wxImage::sm_handlers;
wxImage wxNullImage;
//-----------------------------------------------------------------------------
// wxImageRefData
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
class wxImageRefData: public wxObjectRefData class wxImageRefData: public wxObjectRefData
@@ -117,58 +124,15 @@ wxImageRefData::~wxImageRefData()
free( m_alpha ); free( m_alpha );
} }
wxList wxImage::sm_handlers;
wxImage wxNullImage;
//-----------------------------------------------------------------------------
// wxImage
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#define M_IMGDATA static_cast<wxImageRefData*>(m_refData) #define M_IMGDATA static_cast<wxImageRefData*>(m_refData)
IMPLEMENT_DYNAMIC_CLASS(wxImage, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxImage, wxObject)
wxImage::wxImage( int width, int height, bool clear )
{
Create( width, height, clear );
}
wxImage::wxImage( int width, int height, unsigned char* data, bool static_data )
{
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, wxBitmapType type, int index )
{
LoadFile( name, type, index );
}
wxImage::wxImage( const wxString& name, const wxString& mimetype, int index )
{
LoadFile( name, mimetype, index );
}
#if wxUSE_STREAMS
wxImage::wxImage( wxInputStream& stream, wxBitmapType type, int index )
{
LoadFile( stream, type, index );
}
wxImage::wxImage( wxInputStream& stream, const wxString& mimetype, int index )
{
LoadFile( stream, mimetype, index );
}
#endif // wxUSE_STREAMS
wxImage::wxImage(const char* const* xpmData)
{
Create(xpmData);
}
bool wxImage::Create(const char* const* xpmData) bool wxImage::Create(const char* const* xpmData)
{ {
#if wxUSE_XPM #if wxUSE_XPM