Code refactor

More flexible tool API
Minor code format fixes
Clipboard freeze fixed(?)
Arrow correcly growing close to the start point
Improve maintainability
Add undo/redo stack
This commit is contained in:
lupoDharkael
2018-04-10 15:33:08 +02:00
parent f9fb7694e5
commit 5746a58582
137 changed files with 2339 additions and 1904 deletions

View File

@@ -0,0 +1,38 @@
// Copyright(c) 2017-2018 Alejandro Sirgo Rica & Contributors
//
// This file is part of Flameshot.
//
// Flameshot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Flameshot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
#include "modificationcommand.h"
#include <QPainter>
ModificationCommand::ModificationCommand(QPixmap *p, CaptureTool *t) :
m_pixmap(p), m_tool(t)
{
}
void ModificationCommand::undo() {
m_tool->undo(*m_pixmap);
}
QString ModificationCommand::text() const {
return m_tool->name();
}
void ModificationCommand::redo() {
QPainter p(m_pixmap);
p.setRenderHint(QPainter::Antialiasing);
m_tool->process(p, *m_pixmap, true);
}