File indexing completed on 2024-06-09 04:21:53
0001 /* 0002 * SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "kis_update_command.h" 0008 0009 #include "kis_image_interfaces.h" 0010 #include "kis_node.h" 0011 0012 0013 KisUpdateCommand::KisUpdateCommand(KisNodeSP node, QRect dirtyRect, 0014 KisUpdatesFacade *updatesFacade, 0015 bool needsFullRefresh) 0016 : KUndo2Command(kundo2_noi18n("UPDATE_COMMAND")), 0017 m_node(node), 0018 m_dirtyRect(dirtyRect), 0019 m_updatesFacade(updatesFacade), 0020 m_needsFullRefresh(needsFullRefresh) 0021 { 0022 } 0023 0024 KisUpdateCommand::~KisUpdateCommand() 0025 { 0026 } 0027 0028 void KisUpdateCommand::undo() 0029 { 0030 KUndo2Command::undo(); 0031 update(); 0032 } 0033 0034 void KisUpdateCommand::redo() 0035 { 0036 KUndo2Command::redo(); 0037 update(); 0038 } 0039 0040 void KisUpdateCommand::update() 0041 { 0042 if(m_needsFullRefresh) { 0043 m_updatesFacade->refreshGraphAsync(m_node, m_dirtyRect); 0044 } 0045 else { 0046 m_node->setDirty(m_dirtyRect); 0047 } 0048 }