/********************************************************************
*
* File: fsCRenderer.h
*
* Purpose: cocos2d-x implementation for fsIRenderer
*
*********************************************************************/
#ifndef fsCRendererhdr
#define fsCRendererhdr
#include "../../../fsIRenderer.h"
#if defined fsNativeRenderer
class fsCRenderer : public fsIRenderer
{
friend class fsIRenderer;
friend class fsCVertexStreamSpriteRenderData;
friend class fsCVertexStreamLineRenderData;
public:
virtual ~fsCRenderer();<--- Destructor in derived class
protected:
virtual void frameStartDo() override;
virtual void begin2dDo() override;
virtual void end2dDo() override;
virtual void begin3dDo() override;
virtual void end3dDo() override;
virtual void frameEndDo() override;
virtual void initialiseDo() override;
virtual void uninitialiseDo() override;
virtual void spriteBatchRender(fsS32 pFirstMaterialIndex, fsS32 pLastMaterialIndex) override;
virtual void textBatchRender(fsS32 pFirstFontIndex, fsS32 pLastFontIndex) override;
virtual void lineBatchRender(fsS32 pBatchIndex) override;
virtual void textEntryBatchRender(fsITextEntryRenderData* const pTextEntry) override;
#if defined fs3d
virtual void sprite3dBatchRender(fsC3dSceneSprite* const pScene) override;
#endif
fsCRenderer(fsS32 pMaxSprites, fsS32 pMaxMaterialChanges);
private:
#if defined fs3d
fsS32 unusedLightIndexGet();
#endif
};
#endif
#endif