X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/995612e2abc1131458863ed1d3e55206df7c33de..c61f4f6dbd971245f694eb01034c86040a44db00:/include/wx/image.h?ds=sidebyside diff --git a/include/wx/image.h b/include/wx/image.h index b5eaebc403..cbff996d75 100644 --- a/include/wx/image.h +++ b/include/wx/image.h @@ -35,6 +35,9 @@ class WXDLLEXPORT wxPNGHandler; #if wxUSE_LIBJPEG class WXDLLEXPORT wxJPEGHandler; #endif +#if wxUSE_LIBTIFF +class WXDLLEXPORT wxTIFFHandler; +#endif class WXDLLEXPORT wxBMPHandler; #if wxUSE_GIF class WXDLLEXPORT wxGIFHandler; @@ -53,14 +56,16 @@ class WXDLLEXPORT wxImage; class WXDLLEXPORT wxImageHandler: public wxObject { - DECLARE_DYNAMIC_CLASS(wxImageHandler) + DECLARE_CLASS(wxImageHandler) public: wxImageHandler() { m_name = ""; m_extension = ""; m_type = 0; } #if wxUSE_STREAMS - virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); + + virtual int GetImageCount( wxInputStream& stream ); bool CanRead( wxInputStream& stream ) { return DoCanRead(stream); } bool CanRead( const wxString& name ); @@ -105,7 +110,7 @@ public: }; #if wxUSE_STREAMS - virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); virtual bool DoCanRead( wxInputStream& stream ); #endif @@ -132,13 +137,41 @@ public: }; #if wxUSE_STREAMS - virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); virtual bool DoCanRead( wxInputStream& stream ); #endif }; #endif +//----------------------------------------------------------------------------- +// wxTIFFHandler +//----------------------------------------------------------------------------- + +#if wxUSE_LIBTIFF +class WXDLLEXPORT wxTIFFHandler: public wxImageHandler +{ + DECLARE_DYNAMIC_CLASS(wxTIFFHandler) + +public: + + inline wxTIFFHandler() + { + m_name = "TIFF file"; + m_extension = "tif"; + m_type = wxBITMAP_TYPE_TIF; + m_mime = "image/tiff"; + }; + +#if wxUSE_STREAMS + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 ); + virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); + virtual bool DoCanRead( wxInputStream& stream ); + virtual int GetImageCount( wxInputStream& stream ); +#endif +}; +#endif + //----------------------------------------------------------------------------- // wxBMPHandler //----------------------------------------------------------------------------- @@ -158,7 +191,7 @@ public: }; #if wxUSE_STREAMS - virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 ); virtual bool DoCanRead( wxInputStream& stream ); #endif }; @@ -184,7 +217,7 @@ public: }; #if wxUSE_STREAMS - virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); virtual bool DoCanRead( wxInputStream& stream ); #endif @@ -211,7 +244,7 @@ public: }; #if wxUSE_STREAMS - virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); virtual bool DoCanRead( wxInputStream& stream ); #endif @@ -238,11 +271,12 @@ public: }; #if wxUSE_STREAMS - virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); virtual bool DoCanRead( wxInputStream& stream ); +#endif // wxUSE_STREAMS }; -#endif +#endif // wxUSE_PCX //----------------------------------------------------------------------------- // wxImage @@ -289,10 +323,12 @@ public: unsigned char GetGreen( int x, int y ); unsigned char GetBlue( int x, int y ); + static bool CanRead( const wxString& name ); virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY ); virtual bool LoadFile( const wxString& name, const wxString& mimetype ); #if wxUSE_STREAMS + static bool CanRead( wxInputStream& stream ); virtual bool LoadFile( wxInputStream& stream, long type = wxBITMAP_TYPE_ANY ); virtual bool LoadFile( wxInputStream& stream, const wxString& mimetype ); #endif