rename engine to src
This commit is contained in:
58
src/action.cpp
Normal file
58
src/action.cpp
Normal file
@@ -0,0 +1,58 @@
|
||||
#include "pch.h"
|
||||
#include "log.h"
|
||||
#include "action.h"
|
||||
#include "app.h"
|
||||
|
||||
ActionManager ActionManager::I;
|
||||
|
||||
void ActionManager::add(Action *action)
|
||||
{
|
||||
I.m_redos = std::stack<std::unique_ptr<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()
|
||||
{
|
||||
if (I.m_actions.empty())
|
||||
return;
|
||||
|
||||
I.m_redos.emplace(I.m_actions.top()->get_redo());
|
||||
I.m_redos.top()->was_saved = !ui::Canvas::I->m_unsaved;
|
||||
|
||||
I.m_actions.top()->undo();
|
||||
I.m_memory -= I.m_actions.top()->memory();
|
||||
ui::Canvas::I->m_unsaved = !I.m_actions.top()->was_saved;
|
||||
I.m_actions.pop();
|
||||
//LOG("History: %.2f KB", I.m_memory / 1024.f);
|
||||
App::I.update_memory_usage(I.m_memory);
|
||||
App::I.title_update();
|
||||
}
|
||||
|
||||
void ActionManager::redo()
|
||||
{
|
||||
if (I.m_redos.empty())
|
||||
return;
|
||||
|
||||
I.m_actions.emplace(I.m_redos.top()->get_redo());
|
||||
I.m_actions.top()->was_saved = !ui::Canvas::I->m_unsaved;
|
||||
I.m_memory += I.m_actions.top()->memory();
|
||||
|
||||
I.m_redos.top()->undo();
|
||||
ui::Canvas::I->m_unsaved = !I.m_redos.top()->was_saved;
|
||||
I.m_redos.pop();
|
||||
//LOG("History: %.2f KB", I.m_memory / 1024.f);
|
||||
App::I.update_memory_usage(I.m_memory);
|
||||
App::I.title_update();
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user