1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxImage PNG handler
4 // Author: Robert Roebling
5 // Copyright: (c) Robert Roebling
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
10 #define _WX_IMAGPNG_H_
14 //-----------------------------------------------------------------------------
16 //-----------------------------------------------------------------------------
21 #include "wx/versioninfo.h"
23 #define wxIMAGE_OPTION_PNG_FORMAT wxT("PngFormat")
24 #define wxIMAGE_OPTION_PNG_BITDEPTH wxT("PngBitDepth")
25 #define wxIMAGE_OPTION_PNG_FILTER wxT("PngF")
26 #define wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL wxT("PngZL")
27 #define wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL wxT("PngZM")
28 #define wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY wxT("PngZS")
29 #define wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE wxT("PngZB")
33 wxPNG_TYPE_COLOUR
= 0,
35 wxPNG_TYPE_GREY_RED
= 3,
36 wxPNG_TYPE_PALETTE
= 4
39 class WXDLLIMPEXP_CORE wxPNGHandler
: public wxImageHandler
44 m_name
= wxT("PNG file");
45 m_extension
= wxT("png");
46 m_type
= wxBITMAP_TYPE_PNG
;
47 m_mime
= wxT("image/png");
50 static wxVersionInfo
GetLibraryVersionInfo();
53 virtual bool LoadFile( wxImage
*image
, wxInputStream
& stream
, bool verbose
=true, int index
=-1 );
54 virtual bool SaveFile( wxImage
*image
, wxOutputStream
& stream
, bool verbose
=true );
56 virtual bool DoCanRead( wxInputStream
& stream
);
60 DECLARE_DYNAMIC_CLASS(wxPNGHandler
)