1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxImage PNG handler
4 // Author: Robert Roebling
6 // Copyright: (c) Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
10 #ifndef _WX_IMAGPNG_H_
11 #define _WX_IMAGPNG_H_
15 //-----------------------------------------------------------------------------
17 //-----------------------------------------------------------------------------
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
38 class WXDLLIMPEXP_CORE wxPNGHandler
: public wxImageHandler
43 m_name
= wxT("PNG file");
44 m_extension
= wxT("png");
45 m_type
= wxBITMAP_TYPE_PNG
;
46 m_mime
= wxT("image/png");
50 virtual bool LoadFile( wxImage
*image
, wxInputStream
& stream
, bool verbose
=true, int index
=-1 );
51 virtual bool SaveFile( wxImage
*image
, wxOutputStream
& stream
, bool verbose
=true );
53 virtual bool DoCanRead( wxInputStream
& stream
);
57 DECLARE_DYNAMIC_CLASS(wxPNGHandler
)