]> git.saurik.com Git - wxWidgets.git/blame - include/wx/imagpng.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / imagpng.h
CommitLineData
8f493002 1/////////////////////////////////////////////////////////////////////////////
80fdcdb9 2// Name: wx/imagpng.h
8f493002
VS
3// Purpose: wxImage PNG handler
4// Author: Robert Roebling
8f493002 5// Copyright: (c) Robert Roebling
65571936 6// Licence: wxWindows licence
8f493002
VS
7/////////////////////////////////////////////////////////////////////////////
8
9#ifndef _WX_IMAGPNG_H_
10#define _WX_IMAGPNG_H_
11
2ecf902b 12#include "wx/defs.h"
8f493002
VS
13
14//-----------------------------------------------------------------------------
15// wxPNGHandler
16//-----------------------------------------------------------------------------
17
18#if wxUSE_LIBPNG
a4efa721 19
2ecf902b 20#include "wx/image.h"
ccec9093 21#include "wx/versioninfo.h"
2ecf902b 22
a4efa721
VZ
23#define wxIMAGE_OPTION_PNG_FORMAT wxT("PngFormat")
24#define wxIMAGE_OPTION_PNG_BITDEPTH wxT("PngBitDepth")
d19ce8c4
FM
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")
a4efa721
VZ
30
31enum
32{
33 wxPNG_TYPE_COLOUR = 0,
34 wxPNG_TYPE_GREY = 2,
8ee313d2
DS
35 wxPNG_TYPE_GREY_RED = 3,
36 wxPNG_TYPE_PALETTE = 4
a4efa721
VZ
37};
38
53a2db12 39class WXDLLIMPEXP_CORE wxPNGHandler: public wxImageHandler
8f493002 40{
8f493002 41public:
2b5f62a0
VZ
42 inline wxPNGHandler()
43 {
44 m_name = wxT("PNG file");
45 m_extension = wxT("png");
46 m_type = wxBITMAP_TYPE_PNG;
47 m_mime = wxT("image/png");
48 }
8f493002 49
ccec9093
VZ
50 static wxVersionInfo GetLibraryVersionInfo();
51
8f493002 52#if wxUSE_STREAMS
7beb59f3
WS
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 );
6f02a879 55protected:
2b5f62a0 56 virtual bool DoCanRead( wxInputStream& stream );
8f493002 57#endif
2b5f62a0
VZ
58
59private:
60 DECLARE_DYNAMIC_CLASS(wxPNGHandler)
8f493002 61};
8f493002 62
2ecf902b
WS
63#endif
64 // wxUSE_LIBPNG
8f493002
VS
65
66#endif
67 // _WX_IMAGPNG_H_
68