ScummVM API documentation
doodle.h
1 #ifndef IMAGE_DOODLE_DECODER_H
2 #define IMAGE_DOODLE_DECODER_H
3 
4 #include "image/image_decoder.h"
5 #include "common/stream.h"
6 #include "graphics/palette.h"
7 #include "graphics/surface.h"
8 
9 namespace Image {
10 
11 class DoodleDecoder : public ImageDecoder {
12 public:
17  DoodleDecoder(const byte *palette);
18  ~DoodleDecoder() override;
19 
20  // ImageDecoder interface
21  bool loadStream(Common::SeekableReadStream &stream) override;
22  void destroy() override;
23  const Graphics::Surface *getSurface() const override { return _surface; }
24  const Graphics::Palette &getPalette() const override { return _palette; }
25 
33  bool loadStreams(Common::SeekableReadStream &highresStream,
34  Common::SeekableReadStream &colorStream1,
35  Common::SeekableReadStream &colorStream2);
36 
37 private:
38  static const int kWidth = 320;
39  static const int kHeight = 200;
40  static const int kHeaderSize = 192;
41  static const int kColorDataSize = 1000; // 40x25 color cells
42 
43  Graphics::Surface *_surface;
44  Graphics::Palette _palette;
45 
53  void processDoodleCell(int cellIdx, const byte *highresData,
54  const byte *colorData1, const byte *colorData2);
55 };
56 
57 } // End of namespace Image
58 
59 #endif
Definition: image_decoder.h:53
Definition: surface.h:67
DoodleDecoder(const byte *palette)
const Graphics::Palette & getPalette() const override
Definition: doodle.h:24
bool loadStream(Common::SeekableReadStream &stream) override
Definition: stream.h:745
Definition: doodle.h:11
const Graphics::Surface * getSurface() const override
Definition: doodle.h:23
bool loadStreams(Common::SeekableReadStream &highresStream, Common::SeekableReadStream &colorStream1, Common::SeekableReadStream &colorStream2)
void destroy() override
Simple class for handling a palette data.
Definition: palette.h:55
Definition: movie_decoder.h:32