]> git.saurik.com Git - wxWidgets.git/blob - include/wx/imagpng.h
applied part of patch 1169925: fix errors with multibyte <-> wx conversions
[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 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
14 #pragma interface "imagpng.h"
15 #endif
16
17 #include "wx/defs.h"
18
19 //-----------------------------------------------------------------------------
20 // wxPNGHandler
21 //-----------------------------------------------------------------------------
22
23 #if wxUSE_LIBPNG
24
25 #include "wx/image.h"
26
27 #define wxIMAGE_OPTION_PNG_FORMAT wxT("PngFormat")
28 #define wxIMAGE_OPTION_PNG_BITDEPTH wxT("PngBitDepth")
29
30 enum
31 {
32 wxPNG_TYPE_COLOUR = 0,
33 wxPNG_TYPE_GREY = 2,
34 wxPNG_TYPE_GREY_RED = 3
35 };
36
37 class WXDLLEXPORT wxPNGHandler: public wxImageHandler
38 {
39 public:
40 inline wxPNGHandler()
41 {
42 m_name = wxT("PNG file");
43 m_extension = wxT("png");
44 m_type = wxBITMAP_TYPE_PNG;
45 m_mime = wxT("image/png");
46 }
47
48 #if wxUSE_STREAMS
49 virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
50 virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
51 virtual bool DoCanRead( wxInputStream& stream );
52 #endif
53
54 private:
55 DECLARE_DYNAMIC_CLASS(wxPNGHandler)
56 };
57
58 #endif
59 // wxUSE_LIBPNG
60
61 #endif
62 // _WX_IMAGPNG_H_
63