]> git.saurik.com Git - wxWidgets.git/blob - include/wx/imagpng.h
added conversion to and from std::string and std::wstring (if wxUSE_STD_STRING)
[wxWidgets.git] / include / wx / imagpng.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: imagpng.h
3 // Purpose: wxImage PNG handler
4 // Author: Robert Roebling
5 // RCS-ID: $Id$
6 // Copyright: (c) Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #ifndef _WX_IMAGPNG_H_
11 #define _WX_IMAGPNG_H_
12
13 #include "wx/defs.h"
14
15 //-----------------------------------------------------------------------------
16 // wxPNGHandler
17 //-----------------------------------------------------------------------------
18
19 #if wxUSE_LIBPNG
20
21 #include "wx/image.h"
22
23 #define wxIMAGE_OPTION_PNG_FORMAT wxT("PngFormat")
24 #define wxIMAGE_OPTION_PNG_BITDEPTH wxT("PngBitDepth")
25
26 enum
27 {
28 wxPNG_TYPE_COLOUR = 0,
29 wxPNG_TYPE_GREY = 2,
30 wxPNG_TYPE_GREY_RED = 3
31 };
32
33 class WXDLLEXPORT wxPNGHandler: public wxImageHandler
34 {
35 public:
36 inline wxPNGHandler()
37 {
38 m_name = wxT("PNG file");
39 m_extension = wxT("png");
40 m_type = wxBITMAP_TYPE_PNG;
41 m_mime = wxT("image/png");
42 }
43
44 #if wxUSE_STREAMS
45 virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
46 virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
47 protected:
48 virtual bool DoCanRead( wxInputStream& stream );
49 #endif
50
51 private:
52 DECLARE_DYNAMIC_CLASS(wxPNGHandler)
53 };
54
55 #endif
56 // wxUSE_LIBPNG
57
58 #endif
59 // _WX_IMAGPNG_H_
60