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
9namespace Image {
10
12public:
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
34 Common::SeekableReadStream &colorStream1,
35 Common::SeekableReadStream &colorStream2);
36
37private:
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: stream.h:745
Simple class for handling a palette data.
Definition: palette.h:61
Definition: doodle.h:11
const Graphics::Surface * getSurface() const override
Definition: doodle.h:23
bool loadStream(Common::SeekableReadStream &stream) override
bool loadStreams(Common::SeekableReadStream &highresStream, Common::SeekableReadStream &colorStream1, Common::SeekableReadStream &colorStream2)
const Graphics::Palette & getPalette() const override
Definition: doodle.h:24
void destroy() override
DoodleDecoder(const byte *palette)
Definition: image_decoder.h:53
Definition: surface.h:67