Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_stroke_strategy.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
11
12
13KisStrokeStrategy::KisStrokeStrategy(const QLatin1String &id, const KUndo2MagicString &name)
14 : m_exclusive(false),
15 m_supportsWrapAroundMode(false),
16 m_clearsRedoOnStart(true),
17 m_requestsOtherStrokesToEnd(true),
18 m_canForgetAboutMe(false),
19 m_asynchronouslyCancellable(true),
20 m_needsExplicitCancel(false),
21 m_forceLodModeIfPossible(false),
22 m_balancingRatioOverride(-1.0),
23 m_id(id),
24 m_name(name),
25 m_mutatedJobsInterface(0)
26{
27}
28
30 : m_exclusive(rhs.m_exclusive),
31 m_supportsWrapAroundMode(rhs.m_supportsWrapAroundMode),
32 m_clearsRedoOnStart(rhs.m_clearsRedoOnStart),
33 m_requestsOtherStrokesToEnd(rhs.m_requestsOtherStrokesToEnd),
34 m_canForgetAboutMe(rhs.m_canForgetAboutMe),
35 m_asynchronouslyCancellable(rhs.m_asynchronouslyCancellable),
36 m_needsExplicitCancel(rhs.m_needsExplicitCancel),
37 m_forceLodModeIfPossible(rhs.m_forceLodModeIfPossible),
38 m_balancingRatioOverride(rhs.m_balancingRatioOverride),
39 m_id(rhs.m_id),
40 m_name(rhs.m_name),
41 m_mutatedJobsInterface(0)
42{
44 "After the stroke has been started, no copying must happen");
45}
46
51
56
60
64
68
73
78
83
88
93
98
103
108
113
118
123
125{
126 Q_UNUSED(levelOfDetail);
127 return 0;
128}
129
134
136{
137 return m_exclusive;
138}
139
144
146{
147 return m_id;
148}
149
154
160
162{
163 m_mutatedJobsInterface = mutatedJobsInterface;
164 m_strokeId = strokeId;
165}
166
191
196
201
206
211
216
221
226
231
236
241
246
float value(const T *src, size_t ch)
KisLodPreferences currentLodPreferences() const
void setAsynchronouslyCancellable(bool value)
qreal balancingRatioOverride() const
void setBalancingRatioOverride(qreal value)
void addMutatedJobs(const QVector< KisStrokeJobData * > list)
bool supportsWrapAroundMode() const
bool forceLodModeIfPossible() const
bool requestsOtherStrokesToEnd() const
virtual void tryCancelCurrentStrokeJobAsync()
tryCancelCurrentStrokeJobAsync is called by the strokes queue when the stroke is being cancelled....
void setMutatedJobsInterface(KisStrokesQueueMutatedJobInterface *mutatedJobsInterface, KisStrokeId strokeId)
virtual KisStrokeJobStrategy * createFinishStrategy()
bool isAsynchronouslyCancellable() const
virtual KisStrokeJobStrategy * createDabStrategy()
virtual KisStrokeJobData * createSuspendData()
void setForceLodModeIfPossible(bool forceLodModeIfPossible)
virtual KisStrokeJobData * createResumeData()
virtual KisStrokeJobStrategy * createInitStrategy()
void setExclusive(bool value)
void setClearsRedoOnStart(bool value)
void addMutatedJob(KisStrokeJobData *data)
virtual KisStrokeJobStrategy * createResumeStrategy()
void setRequestsOtherStrokesToEnd(bool value)
virtual void notifyUserEndedStroke()
KUndo2MagicString m_name
KisStrokesQueueMutatedJobInterface * m_mutatedJobsInterface
virtual KisStrokeJobData * createInitData()
void setCanForgetAboutMe(bool value)
virtual KisStrokeJobData * createCancelData()
virtual KisStrokeJobStrategy * createSuspendStrategy()
virtual KisStrokeJobData * createFinishData()
virtual void notifyUserStartedStroke()
virtual KisStrokeJobStrategy * createCancelStrategy()
void setSupportsWrapAroundMode(bool value)
void setNeedsExplicitCancel(bool value)
KisStrokeStrategy(const QLatin1String &id, const KUndo2MagicString &name=KUndo2MagicString())
KUndo2MagicString name() const
virtual KisStrokeStrategy * createLodClone(int levelOfDetail)
virtual KisLodPreferences lodPreferences() const =0
virtual void addMutatedJobs(KisStrokeId strokeId, const QVector< KisStrokeJobData * > list)=0
#define KIS_SAFE_ASSERT_RECOVER(cond)
Definition kis_assert.h:126
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:129
#define KIS_ASSERT_RECOVER_NOOP(cond)
Definition kis_assert.h:97