/********************************************************************
*
* File: fsCMovieSpriteComponent.h
*
* Purpose: A component which renders a movie.
*
*********************************************************************/
#ifndef fsCMovieSpriteComponenthdr
#define fsCMovieSpriteComponenthdr
#include <fsCore/src/fsCUniqueId.h>
#include "fsISpriteComponent.h"
#include "../../fsIRenderData.h"
class fsCMovieSprite;
class fsCMovieSpriteComponent : public fsISpriteComponent
{
friend class fsCComponentFactory;
public:
static const fsCUniqueId mTypeId;
void filenameSet(const fsCResourceName& pFilename);
void play();
protected:
fsS32 widthGetDo() const override;
fsS32 heightGetDo() const override;
void widthSetDo(fsS32 pWidth, fsBool pModifyRenderData = true) override;
void heightSetDo(fsS32 pHeight, fsBool pModifyRenderData = true) override;
void initialiseFromVariableTableDo(const fsCVariableTable& pVars);
static fsIComponent* create(fsCEntity* pParent);
void renderDo() override;
void matrixApplyDo() override;
fsCMovieSpriteComponent(fsCEntity* pParent);
virtual ~fsCMovieSpriteComponent();<--- Destructor in derived class
private:
fsCMovieSprite* mMovieSprite;
};
#endif