fix compile against newer giflib
[rofl0r-obeditor.git] / src / images__pngFile.h
blobda468e8c6039916d57b4ab61f3c9e2bf0b195dbf
1 /*
2 * pngFile.h
4 * Created on: 11 nov. 2008
5 * Author: pat
6 */
8 #ifndef PNGFILE_H_
9 #define PNGFILE_H_
11 #include <wx/image.h>
12 #include "png.h"
14 #include "images__imgFile.h"
17 class wxIndexedPNG : public imgFile
19 public:
20 wxIndexedPNG();
21 wxIndexedPNG( const wxString& str_pngFile );
22 wxIndexedPNG( wxImage& _image );
23 virtual ~wxIndexedPNG();
25 virtual bool LoadFrom( const wxString& str_pngFile );
26 virtual bool LoadFrom( wxImage& _image );
28 virtual bool IsOk();
29 virtual bool SaveAs( const wxString& str_pngFile );
31 virtual int GetIndex( const int x, const int y);
32 virtual MyPalette* GetPalette();
33 virtual bool SetPalette( wxPalette _pal );
34 virtual bool Remap( unsigned char *remap, int sz_remap );
36 virtual unsigned char * GetDatas( int& datas_size );
37 virtual void SetDatas( unsigned char *datas, int datas_size );
38 virtual bool SetPixel( int x, int y, int ind );
40 protected:
41 virtual void Init();
42 virtual void Reset();
43 virtual int WritePng( const wxString& str_fn );
44 virtual int ReadPng( const wxString& str_fn );
46 int bit_depth, color_type, interlace_type, compression_type, filter_method;
48 png_colorp palette;
49 int num_palette;
51 double gamma;
52 int srgb_intent;
53 png_color_8 sig_bit;
55 png_byte *trans;
56 int num_trans;
57 png_color_16* trans_values;
58 png_color_16* background;
60 png_bytep *row_pointers;
63 #endif /* PNGFILE_H_ */