#pragma once
#ifndef T_THUMBNAIL_INCLUDED
#define T_THUMBNAIL_INCLUDED
#include "tfilepath.h"
#include "traster.h"
class TXshLevel;
class TXsheet;
class TPalette;
//-------------------------------------------------------------------
class Thumbnail {
public:
class Frame {
public:
Frame(const TFrameId &fid) : m_fid(fid) {}
const TFrameId m_fid;
TRaster32P m_raster;
};
enum Type { LEVEL, SCENE };
protected:
vector m_frames;
int m_currentFrameIndex;
bool m_iconLoaded;
bool m_playing;
TDimension m_size;
TRaster32P m_raster;
public:
Thumbnail(const TDimension &size);
virtual ~Thumbnail();
void addFrame(const TFrameId &fid);
bool isIconLoaded() const { return m_iconLoaded; }
bool isPlaying() const { return m_playing; }
// post: assert(m_iconLoaded); assert(m_raster);
virtual void loadIcon() = 0;
// pre: 0<=index && index