BsUndoRedo.h 594 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "CmModule.h"
  4. namespace BansheeEditor
  5. {
  6. class UndoRedo : public CM::Module<UndoRedo>
  7. {
  8. public:
  9. UndoRedo();
  10. ~UndoRedo();
  11. void undo();
  12. void redo();
  13. void registerCommand(EditorCommand* command);
  14. private:
  15. static const CM::UINT32 MAX_STACK_ELEMENTS;
  16. EditorCommand** mUndoStack;
  17. EditorCommand** mRedoStack;
  18. CM::UINT32 mUndoStackPtr;
  19. CM::UINT32 mUndoNumElements;
  20. CM::UINT32 mRedoStackPtr;
  21. CM::UINT32 mRedoNumElements;
  22. void clearUndoStack();
  23. void clearRedoStack();
  24. };
  25. }