33 lines
746 B
C++
33 lines
746 B
C++
#include "pch.h"
|
|
#include "log.h"
|
|
#include "action.h"
|
|
#include "app.h"
|
|
|
|
ActionManager ActionManager::I;
|
|
|
|
void ActionManager::add(Action *action)
|
|
{
|
|
I.m_actions.emplace(action);
|
|
I.m_memory += action->memory();
|
|
LOG("History: %.2f KB", I.m_memory / 1024.f);
|
|
App::I.update_memory_usage(I.m_memory);
|
|
}
|
|
|
|
void ActionManager::undo()
|
|
{
|
|
I.m_actions.top()->undo();
|
|
I.m_memory -= I.m_actions.top()->memory();
|
|
I.m_actions.pop();
|
|
LOG("History: %.2f KB", I.m_memory / 1024.f);
|
|
App::I.update_memory_usage(I.m_memory);
|
|
}
|
|
|
|
void ActionManager::clear()
|
|
{
|
|
while (!I.m_actions.empty())
|
|
I.m_actions.pop();
|
|
I.m_memory = 0;
|
|
LOG("History: %.2f KB", I.m_memory / 1024.f);
|
|
App::I.update_memory_usage(I.m_memory);
|
|
}
|