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),
25 m_mutatedJobsInterface(0)
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),
41 m_mutatedJobsInterface(0)
44 "After the stroke has been started, no copying must happen");
126 Q_UNUSED(levelOfDetail);
float value(const T *src, size_t ch)
KisLodPreferences currentLodPreferences() const
void setAsynchronouslyCancellable(bool value)
qreal balancingRatioOverride() const
void setBalancingRatioOverride(qreal value)
bool m_requestsOtherStrokesToEnd
void addMutatedJobs(const QVector< KisStrokeJobData * > list)
bool supportsWrapAroundMode() const
bool forceLodModeIfPossible() const
bool m_forceLodModeIfPossible
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()
bool canForgetAboutMe() const
void setForceLodModeIfPossible(bool forceLodModeIfPossible)
bool m_supportsWrapAroundMode
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()
bool needsExplicitCancel() const
KisStrokesQueueMutatedJobInterface * m_mutatedJobsInterface
virtual KisStrokeJobData * createInitData()
bool m_needsExplicitCancel
void setCanForgetAboutMe(bool value)
virtual KisStrokeJobData * createCancelData()
virtual KisStrokeJobStrategy * createSuspendStrategy()
virtual ~KisStrokeStrategy()
bool m_asynchronouslyCancellable
virtual KisStrokeJobData * createFinishData()
virtual void notifyUserStartedStroke()
virtual KisStrokeJobStrategy * createCancelStrategy()
void setSupportsWrapAroundMode(bool value)
bool clearsRedoOnStart() const
void setNeedsExplicitCancel(bool value)
KisStrokeStrategy(const QLatin1String &id, const KUndo2MagicString &name=KUndo2MagicString())
KUndo2MagicString name() const
qreal m_balancingRatioOverride
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)
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
#define KIS_ASSERT_RECOVER_NOOP(cond)