X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5a4a47df5ad0d52cac80946bdd0685d34749fc4..9739d9ee8090965862ba623b09a8fba731dc3d5c:/include/wx/image.h diff --git a/include/wx/image.h b/include/wx/image.h index e4d78863ab..f72667091b 100644 --- a/include/wx/image.h +++ b/include/wx/image.h @@ -53,7 +53,7 @@ class WXDLLEXPORT wxImage; class WXDLLEXPORT wxImageHandler: public wxObject { - DECLARE_DYNAMIC_CLASS(wxImageHandler) + DECLARE_CLASS(wxImageHandler) public: wxImageHandler() { m_name = ""; m_extension = ""; m_type = 0; } @@ -62,20 +62,22 @@ public: 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 ); + bool CanRead( wxInputStream& stream ) { return DoCanRead(stream); } + bool CanRead( const wxString& name ); #endif - inline void SetName(const wxString& name) { m_name = name; } - inline void SetExtension(const wxString& ext) { m_extension = ext; } - inline void SetType(long type) { m_type = type; } - inline void SetMimeType(const wxString& type) { m_mime = type; } - inline wxString GetName() const { return m_name; } - inline wxString GetExtension() const { return m_extension; } - inline long GetType() const { return m_type; } - inline wxString GetMimeType() const { return m_mime; } + void SetName(const wxString& name) { m_name = name; } + void SetExtension(const wxString& ext) { m_extension = ext; } + void SetType(long type) { m_type = type; } + void SetMimeType(const wxString& type) { m_mime = type; } + wxString GetName() const { return m_name; } + wxString GetExtension() const { return m_extension; } + long GetType() const { return m_type; } + wxString GetMimeType() const { return m_mime; } protected: + virtual bool DoCanRead( wxInputStream& stream ) = 0; + wxString m_name; wxString m_extension; wxString m_mime; @@ -105,10 +107,7 @@ 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)); }; + virtual bool DoCanRead( wxInputStream& stream ); #endif }; #endif @@ -135,10 +134,7 @@ 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)); }; + virtual bool DoCanRead( wxInputStream& stream ); #endif }; #endif @@ -163,10 +159,7 @@ 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)); }; + virtual bool DoCanRead( wxInputStream& stream ); #endif }; @@ -193,10 +186,7 @@ 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)); }; + virtual bool DoCanRead( wxInputStream& stream ); #endif }; #endif @@ -223,10 +213,7 @@ 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)); }; + virtual bool DoCanRead( wxInputStream& stream ); #endif }; #endif @@ -253,10 +240,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 ); -#endif + virtual bool DoCanRead( wxInputStream& stream ); +#endif // wxUSE_STREAMS }; -#endif +#endif // wxUSE_PCX //----------------------------------------------------------------------------- // wxImage @@ -303,10 +290,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 @@ -356,14 +345,14 @@ public: static void CleanUpHandlers(); static void InitStandardHandlers(); - + protected: static wxList sm_handlers; }; -extern void wxInitAllImageHandlers(); +extern void WXDLLEXPORT wxInitAllImageHandlers(); #endif // _WX_IMAGE_H_