#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