1999-12-15 17:38:02 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
2011-03-19 20:14:35 -04:00
|
|
|
// Name: wx/imagpng.h
|
1999-12-15 17:38:02 -05:00
|
|
|
// Purpose: wxImage PNG handler
|
|
|
|
// Author: Robert Roebling
|
|
|
|
// Copyright: (c) Robert Roebling
|
2004-05-23 16:53:33 -04:00
|
|
|
// Licence: wxWindows licence
|
1999-12-15 17:38:02 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_IMAGPNG_H_
|
|
|
|
#define _WX_IMAGPNG_H_
|
|
|
|
|
2005-03-16 11:18:31 -05:00
|
|
|
#include "wx/defs.h"
|
1999-12-15 17:38:02 -05:00
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// wxPNGHandler
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#if wxUSE_LIBPNG
|
2005-02-27 10:24:50 -05:00
|
|
|
|
2005-03-16 11:18:31 -05:00
|
|
|
#include "wx/image.h"
|
2010-11-24 19:53:44 -05:00
|
|
|
#include "wx/versioninfo.h"
|
2005-03-16 11:18:31 -05:00
|
|
|
|
2005-02-27 10:24:50 -05:00
|
|
|
#define wxIMAGE_OPTION_PNG_FORMAT wxT("PngFormat")
|
|
|
|
#define wxIMAGE_OPTION_PNG_BITDEPTH wxT("PngBitDepth")
|
2009-01-14 12:54:38 -05:00
|
|
|
#define wxIMAGE_OPTION_PNG_FILTER wxT("PngF")
|
|
|
|
#define wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL wxT("PngZL")
|
|
|
|
#define wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL wxT("PngZM")
|
|
|
|
#define wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY wxT("PngZS")
|
|
|
|
#define wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE wxT("PngZB")
|
2005-02-27 10:24:50 -05:00
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
wxPNG_TYPE_COLOUR = 0,
|
|
|
|
wxPNG_TYPE_GREY = 2,
|
2011-01-03 17:22:16 -05:00
|
|
|
wxPNG_TYPE_GREY_RED = 3,
|
|
|
|
wxPNG_TYPE_PALETTE = 4
|
2005-02-27 10:24:50 -05:00
|
|
|
};
|
|
|
|
|
2008-03-26 11:06:00 -04:00
|
|
|
class WXDLLIMPEXP_CORE wxPNGHandler: public wxImageHandler
|
1999-12-15 17:38:02 -05:00
|
|
|
{
|
|
|
|
public:
|
2002-12-04 09:11:26 -05:00
|
|
|
inline wxPNGHandler()
|
|
|
|
{
|
|
|
|
m_name = wxT("PNG file");
|
|
|
|
m_extension = wxT("png");
|
|
|
|
m_type = wxBITMAP_TYPE_PNG;
|
|
|
|
m_mime = wxT("image/png");
|
|
|
|
}
|
1999-12-15 17:38:02 -05:00
|
|
|
|
2010-11-24 19:53:44 -05:00
|
|
|
static wxVersionInfo GetLibraryVersionInfo();
|
|
|
|
|
1999-12-15 17:38:02 -05:00
|
|
|
#if wxUSE_STREAMS
|
2014-03-29 20:02:23 -04:00
|
|
|
virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 ) wxOVERRIDE;
|
|
|
|
virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true ) wxOVERRIDE;
|
2006-02-08 16:47:09 -05:00
|
|
|
protected:
|
2014-03-29 20:02:23 -04:00
|
|
|
virtual bool DoCanRead( wxInputStream& stream ) wxOVERRIDE;
|
1999-12-15 17:38:02 -05:00
|
|
|
#endif
|
2002-12-04 09:11:26 -05:00
|
|
|
|
|
|
|
private:
|
2015-04-23 07:49:01 -04:00
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxPNGHandler);
|
1999-12-15 17:38:02 -05:00
|
|
|
};
|
|
|
|
|
2005-03-16 11:18:31 -05:00
|
|
|
#endif
|
|
|
|
// wxUSE_LIBPNG
|
1999-12-15 17:38:02 -05:00
|
|
|
|
|
|
|
#endif
|
|
|
|
// _WX_IMAGPNG_H_
|
|
|
|
|