//CFTTGraphicsBuffer - [2020-04-13 11:57:46]
#ifndef _CFTTGraphicsBuffer_H_
#define _CFTTGraphicsBuffer_H_

#include "CFTTClearSettings.h"

/*
vptr_CFTTGraphicsBufferOGLES_3281E4:
  CFTTGraphicsBuffer::~CFTTGraphicsBufferOGLES()
  CFTTGraphicsBuffer::~CFTTGraphicsBufferOGLES()
  CFTTGraphicsBuffer::Lock()
  CFTTGraphicsBuffer::Unlock(uint)
  CFTTGraphicsBuffer::SetBuffer(void const*,uint)

enum FTTPRIMTYPE
{
  FTTPRIMTYPE_0 = 0x0,
  FTTPRIMTYPE_1 = 0x1,
  FTTPRIMTYPE_2 = 0x2,
  FTTPRIMTYPE_3 = 0x3,
  FTTPRIMTYPE_4 = 0x4,
  FTTPRIMTYPE_5 = 0x5,
  FTTPRIMTYPE_6 = 0x6,
};

typedef unsigned __int8 uint8;

*/

enum FTTPRIMTYPE {
  FTTPRIMTYPE_0,
  FTTPRIMTYPE_1,
  FTTPRIMTYPE_2,
  FTTPRIMTYPE_3,
};

enum EFTTGraphicsBufferType {
  EFTTGraphicsBufferType_0,
  EFTTGraphicsBufferType_1,
  EFTTGraphicsBufferType_2,
  EFTTGraphicsBufferType_3,
  EFTTGraphicsBufferType_4,
  EFTTGraphicsBufferType_5,
};

enum EFTTGraphicsBufferVolatility : uint {
  EFTTGraphicsBufferVolatility_0,
  EFTTGraphicsBufferVolatility_1,
  EFTTGraphicsBufferVolatility_2,
  EFTTGraphicsBufferVolatility_3,
  EFTTGraphicsBufferVolatility_4,
  EFTTGraphicsBufferVolatility_5,
  EFTTGraphicsBufferVolatility_6,
  EFTTGraphicsBufferVolatility_7,
  EFTTGraphicsBufferVolatility_8,
  EFTTGraphicsBufferVolatility_9,
  EFTTGraphicsBufferVolatility_10,
  EFTTGraphicsBufferVolatility_11,
  EFTTGraphicsBufferVolatility_12,
  EFTTGraphicsBufferVolatility_13,
  EFTTGraphicsBufferVolatility_14,
  EFTTGraphicsBufferVolatility_15,
  EFTTGraphicsBufferVolatility_16,
  EFTTGraphicsBufferVolatility_17,
  EFTTGraphicsBufferVolatility_18,
  EFTTGraphicsBufferVolatility_19,
  EFTTGraphicsBufferVolatility_20,
};

class CFTTGraphicsBuffer {
public:
  CFTTGraphicsBuffer() {};
  virtual ~CFTTGraphicsBuffer(){};
  virtual void* Lock() = 0;
  virtual void Unlock(uint) = 0;
  virtual void SetBuffer(void const* pBuf, uint len) = 0;
};

extern CFTTGraphicsBuffer *FTT_pSharedQuadIndexBuffer;

#endif  //_CFTTGraphicsBuffer_H_