#ifndef _WX_IMAGE_H_
#define _WX_IMAGE_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "image.h"
#endif
#if wxUSE_IMAGE
+#define wxIMAGE_OPTION_FILENAME wxString(_T("FileName"))
+
//-----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
class WXDLLEXPORT wxImageHandler: public wxObject
{
public:
- wxImageHandler() { m_name = ""; m_extension = ""; m_type = 0; }
+ wxImageHandler()
+ : m_name(wxT("")), m_extension(wxT("")), m_mime(), m_type(0)
+ { }
#if wxUSE_STREAMS
virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=-1 );
virtual int GetImageCount( wxInputStream& stream );
- bool CanRead( wxInputStream& stream ) { return DoCanRead(stream); }
+ bool CanRead( wxInputStream& stream ) { return CallDoCanRead(stream); }
bool CanRead( const wxString& name );
#endif // wxUSE_STREAMS
protected:
#if wxUSE_STREAMS
virtual bool DoCanRead( wxInputStream& stream ) = 0;
+
+ // save the stream position, call DoCanRead() and restore the position
+ bool CallDoCanRead(wxInputStream& stream);
#endif // wxUSE_STREAMS
wxString m_name;
wxImage( const wxImage& image );
wxImage( const wxImage* image );
-#if wxUSE_GUI
- // convertion to/from wxBitmap (deprecated, use wxBitmap's methods instead):
+#if WXWIN_COMPATIBILITY_2_2 && wxUSE_GUI
+ // conversion to/from wxBitmap (deprecated, use wxBitmap's methods instead):
wxImage( const wxBitmap &bitmap );
wxBitmap ConvertToBitmap() const;
#ifdef __WXGTK__
// RGB values than <startR,startG,startB>
bool FindFirstUnusedColour( unsigned char *r, unsigned char *g, unsigned char *b,
unsigned char startR = 1, unsigned char startG = 0,
- unsigned char startB = 0 );
+ unsigned char startB = 0 ) const;
// Set image's mask to the area of 'mask' that has <r,g,b> colour
bool SetMaskFromImage(const wxImage & mask,
unsigned char mr, unsigned char mg, unsigned char mb);
virtual bool LoadFile( wxInputStream& stream, const wxString& mimetype, int index = -1 );
#endif
- virtual bool SaveFile( const wxString& name, int type );
- virtual bool SaveFile( const wxString& name, const wxString& mimetype );
+ virtual bool SaveFile( const wxString& name ) const;
+ virtual bool SaveFile( const wxString& name, int type ) const;
+ virtual bool SaveFile( const wxString& name, const wxString& mimetype ) const;
#if wxUSE_STREAMS
- virtual bool SaveFile( wxOutputStream& stream, int type );
- virtual bool SaveFile( wxOutputStream& stream, const wxString& mimetype );
+ virtual bool SaveFile( wxOutputStream& stream, int type ) const;
+ virtual bool SaveFile( wxOutputStream& stream, const wxString& mimetype ) const;
#endif
bool Ok() const;
int GetOptionInt(const wxString& name) const;
bool HasOption(const wxString& name) const;
- unsigned long CountColours( unsigned long stopafter = (unsigned long) -1 );
+ unsigned long CountColours( unsigned long stopafter = (unsigned long) -1 ) const;
// Computes the histogram of the image and fills a hash table, indexed
// with integer keys built as 0xRRGGBB, containing wxImageHistogramEntry
// with the image colours) and a 'value', which is the number of pixels
// in the image with that colour.
// Returned value: # of entries in the histogram
- unsigned long ComputeHistogram( wxImageHistogram &h );
+ unsigned long ComputeHistogram( wxImageHistogram &h ) const;
wxImage& operator = (const wxImage& image)
{
return *this;
}
- bool operator == (const wxImage& image)
+ bool operator == (const wxImage& image) const
{ return m_refData == image.m_refData; }
- bool operator != (const wxImage& image)
+ bool operator != (const wxImage& image) const
{ return m_refData != image.m_refData; }
static wxList& GetHandlers() { return sm_handlers; }