22#ifndef VIDEO_FLICDECODER_H
23#define VIDEO_FLICDECODER_H
25#include "video/video_decoder.h"
26#include "common/list.h"
27#include "common/rect.h"
28#include "graphics/palette.h"
31class SeekableReadStream;
58 void clearDirtyRects();
59 void copyDirtyRectsToBuffer(uint8 *dst, uint pitch);
67 virtual void readHeader();
81 virtual void handleFrame();
82 const byte *
getPalette()
const override{ _dirtyPalette =
false;
return _palette.data(); }
86 void clearDirtyRects() { _dirtyRects.
clear(); }
87 void copyDirtyRectsToBuffer(uint8 *dst, uint pitch);
99 mutable bool _dirtyPalette;
102 uint32 _frameDelay, _startFrameDelay;
103 uint32 _nextFrameStartTime;
107 void copyFrame(uint8 *data);
108 void decodeByteRun(uint8 *data);
109 void decodeDeltaFLC(uint8 *data);
110 void unpackPalette(uint8 *mem);
void clear()
Definition: list.h:245
Simple class for handling a palette data.
Definition: palette.h:61
Definition: flic_decoder.h:62
bool isRewindable() const override
Definition: flic_decoder.h:70
uint16 getWidth() const override
int getCurFrameDelay() const override
Definition: flic_decoder.h:77
int getCurFrame() const override
Definition: flic_decoder.h:76
uint16 getHeight() const override
bool hasDirtyPalette() const override
Definition: flic_decoder.h:83
bool endOfTrack() const override
const byte * getPalette() const override
Definition: flic_decoder.h:82
int getFrameCount() const override
Definition: flic_decoder.h:78
const Graphics::Surface * decodeNextFrame() override
uint32 getNextFrameStartTime() const override
Definition: flic_decoder.h:79
Graphics::PixelFormat getPixelFormat() const override
Definition: flic_decoder.h:50
bool loadStream(Common::SeekableReadStream *stream) override
Definition: video_decoder.h:616
Definition: video_decoder.h:53
Definition: algorithm.h:29
Definition: formatinfo.h:28