dvi2bitmap  dvi2bitmap1.0
PNGBitmap.h
Go to the documentation of this file.
1 /* This file is part of dvi2bitmap; see README for copyrights and licence */
2 
3 #ifndef PNGBITMAP_HEADER_READ
4 #define PNGBITMAP_HEADER_READ 1
5 
6 #include "BitmapImage.h"
7 #ifdef HAVE_CSTD_INCLUDE
8 #include <cstdio>
9 #else
10 #include <stdio.h>
11 #endif
12 
13 #include <png.h>
14 
15 class PNGBitmap : public BitmapImage {
16  public:
17  PNGBitmap (const int w, const int h, const int bpp=1);
18  ~PNGBitmap ();
19  void write (const string filename);
20  string fileExtension () const { return "png"; }
21  static const char *version_string (void) { return PNG_LIBPNG_VER_STRING; };
22 
23  private:
24  static png_structp png_ptr_;
25  static png_infop info_ptr_;
26  static png_color* palettes_[];
27  static png_byte* trans_[];
28  static void png_error_fn (png_structp png_ptr,
29  png_const_charp error_msg);
30  static void png_warning_fn (png_structp png_ptr,
31  png_const_charp warning_msg);
32 };
33 
34 
35 #endif /* #ifndef PNGBITMAP_HEADER_READ */