/********************************************************************
*
* File: fsCNativeMovieSpriteRenderData.h
*
* Purpose: cocos2d-x implementation of sprite render data.
*
*********************************************************************/
#ifndef fsCNativeMovieSpriteRenderDatahdr
#define fsCNativeMovieSpriteRenderDatahdr
#include "../../../fsINativeRenderData.h"
#include "../../../fsISpriteRenderData.h"
#if defined fsFRAMEWORK_CX
#include "../../../impl/cocos2d-x/native/fsCNativeSprite.h"
#elif defined fsFRAMEWORK_AX
#include "../../../impl/axmol/native/fsCNativeMovieSprite.h"
#elif defined fsFRAMEWORK_MG
#include "../../../impl/magnum/native/fsCNativeSprite.h"
#elif defined fsFRAMEWORK_RL
#include "../../../impl/raylib/native/fsCNativeSprite.h"
#elif defined fsFRAMEWORK_BF
#include "../../../impl/bgfx/native/fsCNativeSprite.h"
#else
#error Unhandled platform.
#endif
struct fsSColour4B;
class fsRect;
class fsCNativeMovieSpriteRenderData : public fsISpriteRenderData, public fsINativeRenderData
{
friend class fsCRenderDataFactoryNative;
public:
void filenameSet(const fsCResourceName& pFilename);
void play();
virtual ~fsCNativeMovieSpriteRenderData() = default;<--- Destructor in derived class
protected:
static fsIRenderData* create();
fsCNativeMovieSpriteRenderData();
void passToEngineRendererDo(fsIRenderer* pRenderer, fsS32 pFirstMaterialIndex, fsS32 pLastMaterialInJob) override;
void renderDo() override;
fsBool batchableDo() const override { return false; }
void widthSetDo(fsS32 pWidth) override;
void heightSetDo(fsS32 pHeight) override;
void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
fsCNativeMovieSprite* nativeImplGet() const override;
private:
};
#endif