]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/imagpng.h
Further performance optimizations
[wxWidgets.git] / include / wx / imagpng.h
index caa8f2313383daa4cdc0719fdc58deeced743b69..67aae57b63697111e9ccdd9003742b1211c8b3d9 100644 (file)
 #ifndef _WX_IMAGPNG_H_
 #define _WX_IMAGPNG_H_
 
-#ifdef __GNUG__
-#pragma interface "imagpng.h"
-#endif
-
-#include "wx/image.h"
+#include "wx/defs.h"
 
 //-----------------------------------------------------------------------------
 // wxPNGHandler
 //-----------------------------------------------------------------------------
 
 #if wxUSE_LIBPNG
-class WXDLLEXPORT wxPNGHandler: public wxImageHandler
+
+#include "wx/image.h"
+
+#define wxIMAGE_OPTION_PNG_FORMAT    wxT("PngFormat")
+#define wxIMAGE_OPTION_PNG_BITDEPTH  wxT("PngBitDepth")
+
+enum
 {
-  DECLARE_DYNAMIC_CLASS(wxPNGHandler)
+    wxPNG_TYPE_COLOUR = 0,
+    wxPNG_TYPE_GREY = 2,
+    wxPNG_TYPE_GREY_RED = 3
+};
 
+class WXDLLIMPEXP_CORE wxPNGHandler: public wxImageHandler
+{
 public:
-
-  inline wxPNGHandler()
-  {
-      m_name = "PNG file";
-      m_extension = "png";
-      m_type = wxBITMAP_TYPE_PNG;
-      m_mime = "image/png";
-  };
+    inline wxPNGHandler()
+    {
+        m_name = wxT("PNG file");
+        m_extension = wxT("png");
+        m_type = wxBITMAP_TYPE_PNG;
+        m_mime = wxT("image/png");
+    }
 
 #if wxUSE_STREAMS
-  virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=0 );
-  virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE );
-  virtual bool DoCanRead( wxInputStream& stream );
+    virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
+    virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
+protected:
+    virtual bool DoCanRead( wxInputStream& stream );
 #endif
+
+private:
+    DECLARE_DYNAMIC_CLASS(wxPNGHandler)
 };
-#endif
 
+#endif
+  // wxUSE_LIBPNG
 
 #endif
   // _WX_IMAGPNG_H_