wxConfig now tries to convert all unknown types to wxString automatically.
The simplest solution is to cast the enum value to int.
+- Several wxImage methods which previously had "long bitmaptype" parameters
+ have been changed to accept "wxBitmapType bitmaptype", please use enum
+ wxBitmapType in your code.
+
Deprecated methods and their replacements
-----------------------------------------
wxIconBundle();
// initializes the bundle with the icon(s) found in the file
- wxIconBundle(const wxString& file, long type);
+ wxIconBundle(const wxString& file, wxBitmapType type);
// initializes the bundle with a single icon
wxIconBundle(const wxIcon& icon);
// adds all the icons contained in the file to the collection,
// if the collection already contains icons with the same
// width and height, they are replaced
- void AddIcon(const wxString& file, long type);
+ void AddIcon(const wxString& file, wxBitmapType type);
// adds the icon to the collection, if the collection already
// contains an icon with the same width and height, it is
{
public:
wxImageHandler()
- : m_name(wxEmptyString), m_extension(wxEmptyString), m_mime(), m_type(0)
+ : m_name(wxEmptyString), m_extension(wxEmptyString), m_mime(), m_type(wxBITMAP_TYPE_INVALID)
{ }
#if wxUSE_STREAMS
void SetName(const wxString& name) { m_name = name; }
void SetExtension(const wxString& ext) { m_extension = ext; }
- void SetType(long type) { m_type = type; }
+ void SetType(wxBitmapType type) { m_type = type; }
void SetMimeType(const wxString& type) { m_mime = type; }
const wxString& GetName() const { return m_name; }
const wxString& GetExtension() const { return m_extension; }
- long GetType() const { return m_type; }
+ wxBitmapType GetType() const { return m_type; }
const wxString& GetMimeType() const { return m_mime; }
protected:
wxString m_name;
wxString m_extension;
wxString m_mime;
- long m_type;
+ wxBitmapType m_type;
private:
DECLARE_CLASS(wxImageHandler)
double value;
};
- wxImage(){}
+ 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, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1 );
wxImage( const wxString& name, const wxString& mimetype, int index = -1 );
wxImage( const char* const* xpmData );
#if wxUSE_STREAMS
- wxImage( wxInputStream& stream, long 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 );
#endif // wxUSE_STREAMS
bool ConvertColourToAlpha( unsigned char r, unsigned char g, unsigned char b );
static bool CanRead( const wxString& name );
- static int GetImageCount( const wxString& name, long type = wxBITMAP_TYPE_ANY );
- virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
+ static int GetImageCount( const wxString& name, wxBitmapType type = wxBITMAP_TYPE_ANY );
+ virtual bool LoadFile( const wxString& name, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1 );
virtual bool LoadFile( const wxString& name, const wxString& mimetype, int index = -1 );
#if wxUSE_STREAMS
static bool CanRead( wxInputStream& stream );
- static int GetImageCount( wxInputStream& stream, long type = wxBITMAP_TYPE_ANY );
- virtual bool LoadFile( wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1 );
+ static int GetImageCount( wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY );
+ virtual bool LoadFile( wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1 );
virtual bool LoadFile( wxInputStream& stream, const wxString& mimetype, int index = -1 );
#endif
virtual bool SaveFile( const wxString& name ) const;
- virtual bool SaveFile( const wxString& name, int type ) const;
+ virtual bool SaveFile( const wxString& name, wxBitmapType type ) const;
virtual bool SaveFile( const wxString& name, const wxString& mimetype ) const;
#if wxUSE_STREAMS
- virtual bool SaveFile( wxOutputStream& stream, int type ) const;
+ virtual bool SaveFile( wxOutputStream& stream, wxBitmapType type ) const;
virtual bool SaveFile( wxOutputStream& stream, const wxString& mimetype ) const;
#endif
static void InsertHandler( wxImageHandler *handler );
static bool RemoveHandler( const wxString& name );
static wxImageHandler *FindHandler( const wxString& name );
- static wxImageHandler *FindHandler( const wxString& extension, long imageType );
- static wxImageHandler *FindHandler( long imageType );
+ static wxImageHandler *FindHandler( const wxString& extension, wxBitmapType imageType );
+ static wxImageHandler *FindHandler( wxBitmapType imageType );
static wxImageHandler *FindHandlerMime( const wxString& mimetype );
static wxString GetImageExtWildcard();
Copy constructor.
*/
wxIconBundle();
- wxIconBundle(const wxString& file, long type);
+ wxIconBundle(const wxString& file, wxBitmapType type);
wxIconBundle(const wxIcon& icon);
wxIconBundle(const wxIconBundle& ic);
//@}
contains an icon with the same width and height, it is
replaced by the new one.
*/
- void AddIcon(const wxString& file, long type);
+ void AddIcon(const wxString& file, wxBitmapType type);
void AddIcon(const wxIcon& icon);
//@}
/**
Gets the image type associated with this handler.
*/
- long GetType() const;
+ wxBitmapType GetType() const;
/**
Loads a image from a stream, putting the resulting data into @e image. If the
class wxImage : public wxObject
{
public:
-
+
/**
Creates an empty wxImage object without an alpha channel.
*/
wxImage();
-
+
/**
Creates an image with the given size and clears it if requested.
Does not create an alpha channel.
-
+
@param width
Specifies the width of the image.
@param height
Clear the image with zeros.
*/
wxImage(int width, int height, bool clear = true);
-
+
/**
Creates an image from data in memory. If static_data is false
then the wxImage will take ownership of the data and free it
afterwards. For this, it has to be allocated with @e malloc.
-
+
@param width
Specifies the width of the image.
@param height
A pointer to RGB data
@param static_data
Indicates if the data should be free'd after use
-
+
*/
wxImage(int width, int height, unsigned char* data, bool static_data = false);
-
+
/**
Creates an image from data in memory. If static_data is false
then the wxImage will take ownership of the data and free it
afterwards. For this, it has to be allocated with @e malloc.
-
+
@param width
Specifies the width of the image.
@param height
A pointer to alpha-channel data
@param static_data
Indicates if the data should be free'd after use
-
+
*/
wxImage(int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false );
-
+
/**
Creates an image from XPM data.
-
+
@param xpmData
A pointer to XPM image data.
*/
wxImage(const char* const* xpmData);
-
+
/**
Creates an image from a file.
-
+
@param name
Name of the file from which to load the image.
@param type
@see LoadFile()
*/
- wxImage(const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1);
-
+ wxImage(const wxString& name, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1);
+
/**
Creates an image from a file using MIME-types to specify the type.
-
+
@param name
Name of the file from which to load the image.
@param type
See above
*/
wxImage(const wxString& name, const wxString& mimetype, int index = -1);
-
+
/**
Creates an image from a stream.
-
+
@param stream
Opened input stream from which to load the image. Currently,
the stream must support seeking.
@param index
See above.
*/
- wxImage(wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1);
-
+ wxImage(wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY, int index = -1);
+
/**
Creates an image from a stream using MIME-types to specify the type.
-
+
@param stream
Opened input stream from which to load the image. Currently,
the stream must support seeking.
See above.
*/
wxImage(wxInputStream& stream, const wxString& mimetype, int index = -1);
-
+
/**
Destructor.
@see Blur(), BlurHorizontal()
*/
wxImage BlurVertical(int blurRadius);
-
+
/**
Returns @true if the current image handlers can read this file
*/
*/
static wxImageHandler* FindHandler(const wxString& name);
static wxImageHandler* FindHandler(const wxString& extension,
- long imageType);
- static wxImageHandler* FindHandler(long imageType);
+ wxBitmapType imageType);
+ static wxImageHandler* FindHandler(wxBitmapType imageType);
static wxImageHandler* FindHandlerMime(const wxString& mimetype);
//@}
Return alpha value at given pixel location.
*/
unsigned char GetAlpha(int x, int y) const;
-
+
/**
Returns pointer to the array storing the alpha values for this image. This
pointer is @NULL for the images without the alpha channel. If the image
(exceptions are TIFF and ICO formats).
*/
static int GetImageCount(const wxString& filename,
- long type = wxBITMAP_TYPE_ANY);
+ wxBitmapType type = wxBITMAP_TYPE_ANY);
static int GetImageCount(wxInputStream& stream,
- long type = wxBITMAP_TYPE_ANY);
+ wxBitmapType type = wxBITMAP_TYPE_ANY);
//@}
/**
/**
Gets a user-defined option as an integer. The function is case-insensitive
- to @e name. If the given option is not present, the function returns 0.
+ to @e name. If the given option is not present, the function returns 0.
Use HasOption() is 0 is a possibly valid value for the option.
Options for wxPNGHandler
@li wxIMAGE_OPTION_PNG_FORMAT: Format for saving a PNG file.
@li wxIMAGE_OPTION_PNG_BITDEPTH: Bit depth for every channel (R/G/B/A).
-
+
Supported values for wxIMAGE_OPTION_PNG_FORMAT:
@li wxPNG_TYPE_COLOUR: Stores RGB image.
@li wxPNG_TYPE_GREY: Stores grey image, converts from RGB.
@see SaveFile()
*/
bool LoadFile(const wxString& name,
- long type = wxBITMAP_TYPE_ANY,
+ wxBitmapType type = wxBITMAP_TYPE_ANY,
int index = -1);
bool LoadFile(const wxString& name, const wxString& mimetype,
int index = -1);
- bool LoadFile(wxInputStream& stream, long type,
+ bool LoadFile(wxInputStream& stream, wxBitmapType type,
int index = -1);
bool LoadFile(wxInputStream& stream,
const wxString& mimetype,
Example:
@param quality
- Determines what method to use for resampling the image.
-
+ Determines what method to use for resampling the image.
+
Can be one of the following:
@li wxIMAGE_QUALITY_NORMAL: Uses the normal default scaling method of
pixel replication
wxImage Scale(int width, int height,
int quality = wxIMAGE_QUALITY_NORMAL) const;
- /**
+ /**
Assigns new data as alpha channel to the image.
If @e static_data is false the data will be
free()'d after use.
*/
void SetAlpha(unsigned char* alpha = NULL,
bool static_data = false);
-
+
/**
Sets the alpha value for the given pixel. This function should only be
called if the image has alpha channel data, use HasAlpha() to
{
}
-wxIconBundle::wxIconBundle(const wxString& file, long type)
+wxIconBundle::wxIconBundle(const wxString& file, wxBitmapType type)
: wxGDIObject()
{
AddIcon(file, type);
UnRef();
}
-void wxIconBundle::AddIcon(const wxString& file, long type)
+void wxIconBundle::AddIcon(const wxString& file, wxBitmapType type)
{
#ifdef __WXMAC__
// Deal with standard icons
return M_ICONBUNDLEDATA->m_icons[n];
}
+
Create( width, height, data, alpha, static_data );
}
-wxImage::wxImage( const wxString& name, long type, int index )
+wxImage::wxImage( const wxString& name, wxBitmapType type, int index )
{
LoadFile( name, type, index );
}
}
#if wxUSE_STREAMS
-wxImage::wxImage( wxInputStream& stream, long type, int index )
+wxImage::wxImage( wxInputStream& stream, wxBitmapType type, int index )
{
LoadFile( stream, type, index );
}
// ----------------------------------------------------------------------------
bool wxImage::LoadFile( const wxString& WXUNUSED_UNLESS_STREAMS(filename),
- long WXUNUSED_UNLESS_STREAMS(type),
+ wxBitmapType WXUNUSED_UNLESS_STREAMS(type),
int WXUNUSED_UNLESS_STREAMS(index) )
{
#if HAS_FILE_STREAMS
}
-
bool wxImage::SaveFile( const wxString& filename ) const
{
wxString ext = filename.AfterLast('.').Lower();
- wxImageHandler * pHandler = FindHandler(ext, -1);
- if (pHandler)
+ wxImageHandler *handler = FindHandler(ext, wxBITMAP_TYPE_ANY);
+ if ( !handler)
{
- return SaveFile(filename, pHandler->GetType());
+ wxLogError(_("Can't save image to file '%s': unknown extension."),
+ filename);
+ return false;
}
- wxLogError(_("Can't save image to file '%s': unknown extension."), filename.c_str());
-
- return false;
+ return SaveFile(filename, handler->GetType());
}
bool wxImage::SaveFile( const wxString& WXUNUSED_UNLESS_STREAMS(filename),
- int WXUNUSED_UNLESS_STREAMS(type) ) const
+ wxBitmapType WXUNUSED_UNLESS_STREAMS(type) ) const
{
#if HAS_FILE_STREAMS
wxCHECK_MSG( Ok(), false, wxT("invalid image") );
}
int wxImage::GetImageCount( const wxString& WXUNUSED_UNLESS_STREAMS(name),
- long WXUNUSED_UNLESS_STREAMS(type) )
+ wxBitmapType WXUNUSED_UNLESS_STREAMS(type) )
{
#if HAS_FILE_STREAMS
wxImageFileInputStream stream(name);
return false;
}
-int wxImage::GetImageCount( wxInputStream &stream, long type )
+int wxImage::GetImageCount( wxInputStream &stream, wxBitmapType type )
{
wxImageHandler *handler;
}
}
-bool wxImage::LoadFile( wxInputStream& stream, long type, int index )
+bool wxImage::LoadFile( wxInputStream& stream, wxBitmapType type, int index )
{
UnRef();
return false;
}
+ //else: have specific type
handler = FindHandler(type);
-
- if (handler == 0)
+ if ( !handler )
{
wxLogWarning( _("No image handler for type %ld defined."), type );
-
return false;
}
- if (stream.IsSeekable() && !handler->CanRead(stream))
+ if ( stream.IsSeekable() && !handler->CanRead(stream) )
{
wxLogError(_("Image file is not of type %ld."), type);
return false;
}
- else
- return handler->LoadFile(this, stream, true/*verbose*/, index);
+
+ return handler->LoadFile(this, stream, true/*verbose*/, index);
}
bool wxImage::LoadFile( wxInputStream& stream, const wxString& mimetype, int index )
wxImageHandler *handler = FindHandlerMime(mimetype);
- if (handler == 0)
+ if ( !handler )
{
wxLogWarning( _("No image handler for type %s defined."), mimetype.GetData() );
-
return false;
}
- if (stream.IsSeekable() && !handler->CanRead(stream))
+ if ( stream.IsSeekable() && !handler->CanRead(stream) )
{
wxLogError(_("Image file is not of type %s."), mimetype);
return false;
}
- else
- return handler->LoadFile( this, stream, true/*verbose*/, index );
+
+ return handler->LoadFile( this, stream, true/*verbose*/, index );
}
-bool wxImage::SaveFile( wxOutputStream& stream, int type ) const
+bool wxImage::SaveFile( wxOutputStream& stream, wxBitmapType type ) const
{
wxCHECK_MSG( Ok(), false, wxT("invalid image") );
if ( !handler )
{
wxLogWarning( _("No image handler for type %d defined."), type );
-
return false;
}
if ( !handler )
{
wxLogWarning( _("No image handler for type %s defined."), mimetype.GetData() );
-
- return false;
}
return handler->SaveFile( (wxImage*)this, stream );
}
+
#endif // wxUSE_STREAMS
// ----------------------------------------------------------------------------
return NULL;
}
-wxImageHandler *wxImage::FindHandler( const wxString& extension, long bitmapType )
+wxImageHandler *wxImage::FindHandler( const wxString& extension, wxBitmapType bitmapType )
{
wxList::compatibility_iterator node = sm_handlers.GetFirst();
while (node)
{
wxImageHandler *handler = (wxImageHandler*)node->GetData();
if ( (handler->GetExtension().Cmp(extension) == 0) &&
- (bitmapType == -1 || handler->GetType() == bitmapType) )
+ ( (bitmapType == wxBITMAP_TYPE_ANY) || (handler->GetType() == bitmapType)) )
+ {
return handler;
+ }
node = node->GetNext();
}
return NULL;
}
-wxImageHandler *wxImage::FindHandler( long bitmapType )
+wxImageHandler *wxImage::FindHandler(wxBitmapType bitmapType )
{
wxList::compatibility_iterator node = sm_handlers.GetFirst();
while (node)