X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7b2471a060f4f79481a2de8e6341571ad1674ff1..27476f7368c891de149723b7d4cf9fb922ce8433:/include/wx/image.h diff --git a/include/wx/image.h b/include/wx/image.h index 4a42b42635..e4d78863ab 100644 --- a/include/wx/image.h +++ b/include/wx/image.h @@ -21,7 +21,7 @@ #include "wx/bitmap.h" #if wxUSE_STREAMS - #include "wx/stream.h" +# include "wx/stream.h" #endif //----------------------------------------------------------------------------- @@ -36,6 +36,15 @@ class WXDLLEXPORT wxPNGHandler; class WXDLLEXPORT wxJPEGHandler; #endif class WXDLLEXPORT wxBMPHandler; +#if wxUSE_GIF +class WXDLLEXPORT wxGIFHandler; +#endif +#if wxUSE_PNM +class WXDLLEXPORT wxPNMHandler; +#endif +#if wxUSE_PCX +class WXDLLEXPORT wxPCXHandler; +#endif class WXDLLEXPORT wxImage; //----------------------------------------------------------------------------- @@ -52,6 +61,9 @@ public: #if wxUSE_STREAMS virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); + + virtual bool CanRead( wxInputStream& stream ); + virtual bool CanRead( const wxString& name ); #endif inline void SetName(const wxString& name) { m_name = name; } @@ -93,6 +105,10 @@ public: #if wxUSE_STREAMS virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); + virtual bool CanRead( wxInputStream& stream ); +private: + // hiding base class virtuals again! + inline bool CanRead( const wxString& name ) { return(wxImageHandler::CanRead(name)); }; #endif }; #endif @@ -119,6 +135,10 @@ public: #if wxUSE_STREAMS virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); + virtual bool CanRead( wxInputStream& stream ); +private: + // hiding base class virtuals again! + inline bool CanRead( const wxString& name ) { return(wxImageHandler::CanRead(name)); }; #endif }; #endif @@ -143,6 +163,10 @@ public: #if wxUSE_STREAMS virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool CanRead( wxInputStream& stream ); +private: + // hiding base class virtuals again! + inline bool CanRead( const wxString& name ) { return(wxImageHandler::CanRead(name)); }; #endif }; @@ -150,6 +174,8 @@ public: // wxGIFHandler //----------------------------------------------------------------------------- +#if wxUSE_GIF + class WXDLLEXPORT wxGIFHandler : public wxImageHandler { DECLARE_DYNAMIC_CLASS(wxGIFHandler) @@ -167,13 +193,19 @@ public: #if wxUSE_STREAMS virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); + virtual bool CanRead( wxInputStream& stream ); +private: + // hiding base class virtuals again! + inline bool CanRead( const wxString& name ) { return(wxImageHandler::CanRead(name)); }; #endif }; +#endif //----------------------------------------------------------------------------- // wxPNMHandler //----------------------------------------------------------------------------- +#if wxUSE_PNM class WXDLLEXPORT wxPNMHandler : public wxImageHandler { DECLARE_DYNAMIC_CLASS(wxPNMHandler) @@ -191,8 +223,40 @@ public: #if wxUSE_STREAMS virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); + virtual bool CanRead( wxInputStream& stream ); +private: + // hiding base class virtuals again! + inline bool CanRead( const wxString& name ) { return(wxImageHandler::CanRead(name)); }; +#endif +}; +#endif + +//----------------------------------------------------------------------------- +// wxPCXHandler +//----------------------------------------------------------------------------- + +#if wxUSE_PCX +class WXDLLEXPORT wxPCXHandler : public wxImageHandler +{ + DECLARE_DYNAMIC_CLASS(wxPCXHandler) + +public: + + inline wxPCXHandler() + { + m_name = "PCX file"; + m_extension = "pcx"; + m_type = wxBITMAP_TYPE_PCX; + m_mime = "image/pcx"; + }; + +#if wxUSE_STREAMS + virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE ); + virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE ); + virtual bool CanRead( wxInputStream& stream ); #endif }; +#endif //----------------------------------------------------------------------------- // wxImage @@ -292,13 +356,15 @@ public: static void CleanUpHandlers(); static void InitStandardHandlers(); - + protected: static wxList sm_handlers; }; +extern void wxInitAllImageHandlers(); + #endif // _WX_IMAGE_H_