X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8f49300284e2c91095ae3ebe62cb3a6d424eac21..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/imagpng.h?ds=sidebyside diff --git a/include/wx/imagpng.h b/include/wx/imagpng.h index caa8f23133..55adcd5f97 100644 --- a/include/wx/imagpng.h +++ b/include/wx/imagpng.h @@ -1,8 +1,7 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: imagpng.h +// Name: wx/imagpng.h // Purpose: wxImage PNG handler // Author: Robert Roebling -// RCS-ID: $Id$ // Copyright: (c) Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -10,39 +9,59 @@ #ifndef _WX_IMAGPNG_H_ #define _WX_IMAGPNG_H_ -#ifdef __GNUG__ -#pragma interface "imagpng.h" -#endif - -#include "wx/image.h" +#include "wx/defs.h" //----------------------------------------------------------------------------- // wxPNGHandler //----------------------------------------------------------------------------- #if wxUSE_LIBPNG -class WXDLLEXPORT wxPNGHandler: public wxImageHandler + +#include "wx/image.h" +#include "wx/versioninfo.h" + +#define wxIMAGE_OPTION_PNG_FORMAT wxT("PngFormat") +#define wxIMAGE_OPTION_PNG_BITDEPTH wxT("PngBitDepth") +#define wxIMAGE_OPTION_PNG_FILTER wxT("PngF") +#define wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL wxT("PngZL") +#define wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL wxT("PngZM") +#define wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY wxT("PngZS") +#define wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE wxT("PngZB") + +enum { - DECLARE_DYNAMIC_CLASS(wxPNGHandler) + wxPNG_TYPE_COLOUR = 0, + wxPNG_TYPE_GREY = 2, + wxPNG_TYPE_GREY_RED = 3, + wxPNG_TYPE_PALETTE = 4 +}; +class WXDLLIMPEXP_CORE wxPNGHandler: public wxImageHandler +{ public: + inline wxPNGHandler() + { + m_name = wxT("PNG file"); + m_extension = wxT("png"); + m_type = wxBITMAP_TYPE_PNG; + m_mime = wxT("image/png"); + } - inline wxPNGHandler() - { - m_name = "PNG file"; - m_extension = "png"; - m_type = wxBITMAP_TYPE_PNG; - m_mime = "image/png"; - }; + static wxVersionInfo GetLibraryVersionInfo(); #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 bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 ); + virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true ); +protected: + virtual bool DoCanRead( wxInputStream& stream ); #endif + +private: + DECLARE_DYNAMIC_CLASS(wxPNGHandler) }; -#endif +#endif + // wxUSE_LIBPNG #endif // _WX_IMAGPNG_H_