12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
- #include "UiAnimUndo.h"
- #include "UiAnimUndoManager.h"
- UiAnimUndo::UiAnimUndo(const char* description)
- : m_bCancelled(false)
- {
- if (!IsRecording())
- {
- UiAnimUndoManager::Get()->Begin();
- m_description = description;
- m_bStartedRecord = true;
- }
- else
- {
- m_bStartedRecord = false;
- }
- };
- UiAnimUndo::~UiAnimUndo()
- {
- if (m_bStartedRecord)
- {
- if (m_bCancelled)
- {
- UiAnimUndoManager::Get()->Cancel();
- }
- else
- {
- UiAnimUndoManager::Get()->Accept(m_description);
- }
- }
- };
- bool UiAnimUndo::IsRecording()
- {
- return UiAnimUndoManager::Get()->IsUndoRecording();
- }
- bool UiAnimUndo::IsSuspended()
- {
- return UiAnimUndoManager::Get()->IsUndoSuspended();
- }
- void UiAnimUndo::Record(UiAnimUndoObject* undo)
- {
- return UiAnimUndoManager::Get()->RecordUndo(undo);
- }
|