BsUndoRedo.h 570 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "CmModule.h"
  4. namespace BansheeEngine
  5. {
  6. class UndoRedo : public 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 UINT32 MAX_STACK_ELEMENTS;
  16. EditorCommand** mUndoStack;
  17. EditorCommand** mRedoStack;
  18. UINT32 mUndoStackPtr;
  19. UINT32 mUndoNumElements;
  20. UINT32 mRedoStackPtr;
  21. UINT32 mRedoNumElements;
  22. void clearUndoStack();
  23. void clearRedoStack();
  24. };
  25. }