/********************************************************************
*
* File: fsCNativeMovieSprite.h
*
* Purpose: Sprite that is added to and retained by a scene. All
* positioning / parenting is handled in the scene
*
*********************************************************************/
#ifndef fsCNativeMovieSpritehdr
#define fsCNativeMovieSpritehdr
#include "fsINative.h"
#ifdef AXMOL_V3
#include <ui/VideoPlayer.h>
#else
#include <ui/UIMediaPlayer.h>
#endif
class fsSColour;
class fsAffineMtx2d;
class fsCResourceName;
class fsCNativeMovieSprite : public fsINative
{
friend class fsCNativeMovieSpriteRenderData;
public:
void filenameSet(const fsCResourceName& pFilename);
void play();
virtual ~fsCNativeMovieSprite();<--- Destructor in derived class
protected:
void renderDo() override;
void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
fsCNativeMovieSprite();
private:
ax::Node* implGet() const override;
std::unique_ptr<ax::ui::VideoPlayer> mImpl;
ax::Mat4 mRenderMatrix;
};
#endif