#if !defined(UNDOQUEUE_H)
#define UNDOQUEUE_H

#define MAX_UNDO 128

#include"stdafx.h"
#include"TCTTerrainData.h"

class UndoQueue
{
protected:
	TCTTerrainData *Data[MAX_UNDO];
	int Initalized;
	int Current,Size,Filled,RedoTot;
public:
	UndoQueue();
	~UndoQueue();
	void Initalize(int sze); 
	void UnInitalize(); 
	void SetSize(int sze);
	TCTTerrainData &Undo(TCTTerrainData &);
	TCTTerrainData &Redo();
	int Undoable() {return Filled;}
	int Redoable() {return RedoTot;}
	void SaveState(TCTTerrainData &);
};

#endif