Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_do_something_command.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#ifndef __KIS_DO_SOMETHING_COMMAND_H
8
#define __KIS_DO_SOMETHING_COMMAND_H
9
10
#include <
kundo2command.h
>
11
12
template
<
template
<
class
T>
class
DoSomethingOp,
class
LayerType>
13
class
KisDoSomethingCommand
:
public
KUndo2Command
14
{
15
public
:
16
KisDoSomethingCommand
(LayerType layer,
bool
finalUpdate,
KUndo2Command
*parentCommand = 0)
17
:
KUndo2Command
(parentCommand),
18
m_layer
(layer),
19
m_finalUpdate
(finalUpdate) {}
20
21
void
undo
()
override
{
22
DoSomethingOp<LayerType> op;
23
if
(!
m_finalUpdate
) {
24
op(
m_layer
);
25
}
26
}
27
28
void
redo
()
override
{
29
DoSomethingOp<LayerType> op;
30
if
(
m_finalUpdate
) {
31
op(
m_layer
);
32
}
33
}
34
35
private
:
36
LayerType
m_layer
;
37
bool
m_finalUpdate
;
38
};
39
40
namespace
KisDoSomethingCommandOps
{
41
42
template
<
class
LayerType>
43
struct
ResetOp
44
{
45
void
operator()
(LayerType layer) {
46
layer->resetCache(layer->colorSpace());
47
}
48
};
49
50
template
<
class
LayerType>
51
struct
UpdateOp
52
{
53
void
operator()
(LayerType layer) {
54
layer->update();
55
}
56
};
57
58
template
<
class
LayerType>
59
struct
NotifyColorSpaceChangedOp
60
{
61
void
operator()
(LayerType layer) {
62
layer->notifyColorSpaceChanged();
63
}
64
};
65
66
67
}
68
#endif
/* __KIS_DO_SOMETHING_COMMAND_H */
KUndo2Command
Definition
kundo2stack.h:87
KisDoSomethingCommand
Definition
kis_do_something_command.h:14
KisDoSomethingCommand::redo
void redo() override
Definition
kis_do_something_command.h:28
KisDoSomethingCommand::m_finalUpdate
bool m_finalUpdate
Definition
kis_do_something_command.h:37
KisDoSomethingCommand::m_layer
LayerType m_layer
Definition
kis_do_something_command.h:36
KisDoSomethingCommand::undo
void undo() override
Definition
kis_do_something_command.h:21
KisDoSomethingCommand::KisDoSomethingCommand
KisDoSomethingCommand(LayerType layer, bool finalUpdate, KUndo2Command *parentCommand=0)
Definition
kis_do_something_command.h:16
kundo2command.h
KisDoSomethingCommandOps
Definition
kis_do_something_command.h:40
KisDoSomethingCommandOps::NotifyColorSpaceChangedOp
Definition
kis_do_something_command.h:60
KisDoSomethingCommandOps::NotifyColorSpaceChangedOp::operator()
void operator()(LayerType layer)
Definition
kis_do_something_command.h:61
KisDoSomethingCommandOps::ResetOp
Definition
kis_do_something_command.h:44
KisDoSomethingCommandOps::ResetOp::operator()
void operator()(LayerType layer)
Definition
kis_do_something_command.h:45
KisDoSomethingCommandOps::UpdateOp
Definition
kis_do_something_command.h:52
KisDoSomethingCommandOps::UpdateOp::operator()
void operator()(LayerType layer)
Definition
kis_do_something_command.h:53
libs
image
kis_do_something_command.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52