synfig-core  1.0.3
trgt_mng.h
Go to the documentation of this file.
1 
21 /* === S T A R T =========================================================== */
22 
23 #ifndef __SYNFIG_TRGT_MNG_H
24 #define __SYNFIG_TRGT_MNG_H
25 
26 /* === H E A D E R S ======================================================= */
27 
28 #include <synfig/target_scanline.h>
29 #include <synfig/string.h>
30 #include <synfig/targetparam.h>
31 #include <cstdio>
32 
33 // #include <png.h>
34 // #include <jpeglib.h>
35 
36 #if !defined(MNG_SUPPORT_FULL)
37 #define MNG_SUPPORT_FULL 1
38 #endif
39 
40 #if !defined(MNG_SUPPORT_READ)
41 #define MNG_SUPPORT_READ 1
42 #endif
43 
44 #if !defined(MNG_SUPPORT_WRITE)
45 #define MNG_SUPPORT_WRITE 1
46 #endif
47 
48 #if !defined(MNG_SUPPORT_DISPLAY)
49 #define MNG_SUPPORT_DISPLAY 1
50 #endif
51 
52 #if !defined(MNG_ACCESS_CHUNKS)
53 #define MNG_ACCESS_CHUNKS 1
54 #endif
55 
56 #include <libmng.h>
57 
58 /* === M A C R O S ========================================================= */
59 
60 /* === T Y P E D E F S ===================================================== */
61 
62 /* === C L A S S E S & S T R U C T S ======================================= */
63 
65 {
67 
68 private:
69 
70  FILE *file;
71  int w,h;
72  mng_handle mng;
73 
74  bool multi_image,ready;
75  int imagecount;
76  synfig::String filename;
77  unsigned char *buffer;
78  synfig::Color *color_buffer;
79 
80  z_stream zstream;
81  unsigned char* zbuffer;
82  unsigned int zbuffer_len;
83 
84 public:
85 
86  mng_trgt(const char *filename, const synfig::TargetParam& /* params */);
87  virtual ~mng_trgt();
88 
89  virtual bool set_rend_desc(synfig::RendDesc *desc);
90  virtual bool init(synfig::ProgressCallback *cb);
91  virtual bool start_frame(synfig::ProgressCallback *cb);
92  virtual void end_frame();
93 
94  virtual synfig::Color * start_scanline(int scanline);
95  virtual bool end_scanline();
96 };
97 
98 /* === E N D =============================================================== */
99 
100 #endif