1///////////////////////////////////////////////////////////////////////////// 2// Name: imagpng.h 3// Purpose: wxImage PNG handler 4// Author: Robert Roebling 5// RCS-ID: $Id: imagpng.h 37393 2006-02-08 21:47:09Z VZ $ 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 26enum 27{ 28 wxPNG_TYPE_COLOUR = 0, 29 wxPNG_TYPE_GREY = 2, 30 wxPNG_TYPE_GREY_RED = 3 31}; 32 33class WXDLLEXPORT wxPNGHandler: public wxImageHandler 34{ 35public: 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 ); 47protected: 48 virtual bool DoCanRead( wxInputStream& stream ); 49#endif 50 51private: 52 DECLARE_DYNAMIC_CLASS(wxPNGHandler) 53}; 54 55#endif 56 // wxUSE_LIBPNG 57 58#endif 59 // _WX_IMAGPNG_H_ 60 61