axmol/cocos/2d/renderer/RenderCommand.h

53 lines
848 B
C++

//
// Created by NiTe Luo on 10/31/13.
//
#ifndef __CCRENDERCOMMAND_H_
#define __CCRENDERCOMMAND_H_
#include "CCPlatformMacros.h"
#include <stdint.h>
#include "ccTypes.h"
#include "kazmath/GL/matrix.h"
NS_CC_BEGIN
enum RenderCommandType
{
QUAD_COMMAND,
CUSTOM_COMMAND,
GROUP_COMMAND,
UNKNOWN_COMMAND,
};
//TODO make RenderCommand inherent from Object
class RenderCommand
{
public:
RenderCommand();
virtual ~RenderCommand();
virtual int64_t generateID() = 0;
virtual /**
* Get Render Command Id
*/
inline int64_t getID() { return _id; }
virtual inline RenderCommandType getType() { return _type; }
protected:
void printID();
protected:
//Generated IDs
int64_t _id; /// used for sorting render commands
RenderCommandType _type;
};
NS_CC_END
#endif //__CCRENDERCOMMAND_H_