Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_update_command.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#include "
kis_update_command.h
"
8
9
#include "
kis_image_interfaces.h
"
10
#include "
kis_node.h
"
11
12
13
KisUpdateCommand::KisUpdateCommand
(
KisNodeSP
node, QRect dirtyRect,
14
KisUpdatesFacade
*updatesFacade,
15
bool
needsFullRefresh)
16
:
KUndo2Command
(
kundo2_noi18n
(
"UPDATE_COMMAND"
)),
17
m_node(node),
18
m_dirtyRect(dirtyRect),
19
m_sharedDirtyRect(nullptr),
20
m_updatesFacade(updatesFacade),
21
m_needsFullRefresh(needsFullRefresh)
22
{
23
}
24
25
KisUpdateCommand::KisUpdateCommand
(
KisNodeSP
node,
QSharedPointer<QRect>
dirtyRect,
26
KisUpdatesFacade
*updatesFacade,
27
bool
needsFullRefresh)
28
:
KUndo2Command
(
kundo2_noi18n
(
"UPDATE_COMMAND"
)),
29
m_node(node),
30
m_sharedDirtyRect(dirtyRect),
31
m_updatesFacade(updatesFacade),
32
m_needsFullRefresh(needsFullRefresh)
33
{
34
}
35
36
KisUpdateCommand::~KisUpdateCommand
()
37
{
38
}
39
40
void
KisUpdateCommand::undo
()
41
{
42
KUndo2Command::undo
();
43
update
();
44
}
45
46
void
KisUpdateCommand::redo
()
47
{
48
KUndo2Command::redo
();
49
update
();
50
}
51
52
void
KisUpdateCommand::update
()
53
{
54
if
(
m_needsFullRefresh
) {
55
m_updatesFacade
->
refreshGraphAsync
(
m_node
,
m_dirtyRect
);
56
}
57
else
{
58
if
(
m_sharedDirtyRect
) {
59
m_node
->
setDirty
(*
m_sharedDirtyRect
);
60
}
else
{
61
m_node
->
setDirty
(
m_dirtyRect
);
62
}
63
}
64
}
KUndo2Command
Definition
kundo2stack.h:87
KUndo2Command::undo
virtual void undo()
Definition
kundo2stack.cpp:240
KUndo2Command::redo
virtual void redo()
Definition
kundo2stack.cpp:222
KisSharedPtr< KisNode >
KisUpdateCommand::m_needsFullRefresh
bool m_needsFullRefresh
Definition
kis_update_command.h:40
KisUpdateCommand::~KisUpdateCommand
~KisUpdateCommand() override
Definition
kis_update_command.cpp:36
KisUpdateCommand::KisUpdateCommand
KisUpdateCommand(KisNodeSP node, QRect dirtyRect, KisUpdatesFacade *updatesFacade, bool needsFullRefresh=false)
Definition
kis_update_command.cpp:13
KisUpdateCommand::m_updatesFacade
KisUpdatesFacade * m_updatesFacade
Definition
kis_update_command.h:39
KisUpdateCommand::m_dirtyRect
QRect m_dirtyRect
Definition
kis_update_command.h:37
KisUpdateCommand::m_sharedDirtyRect
QSharedPointer< QRect > m_sharedDirtyRect
Definition
kis_update_command.h:38
KisUpdateCommand::m_node
KisNodeSP m_node
Definition
kis_update_command.h:36
KisUpdateCommand::redo
void redo() override
Definition
kis_update_command.cpp:46
KisUpdateCommand::update
void update()
Definition
kis_update_command.cpp:52
KisUpdateCommand::undo
void undo() override
Definition
kis_update_command.cpp:40
KisUpdatesFacade
Definition
kis_image_interfaces.h:31
KisUpdatesFacade::refreshGraphAsync
void refreshGraphAsync(KisNodeSP root=nullptr, KisProjectionUpdateFlags flags=KisProjectionUpdateFlag::None)
Definition
kis_image_interfaces.cpp:20
QSharedPointer
Definition
KoCanvasResourceProvider.h:20
kis_image_interfaces.h
kis_node.h
kis_update_command.h
kundo2_noi18n
KUndo2MagicString kundo2_noi18n(const QString &text)
Definition
kundo2magicstring.h:146
KisNode::setDirty
virtual void setDirty()
Definition
kis_node.cpp:577
libs
image
commands_new
kis_update_command.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52