Krita Source Code Documentation
Loading...
Searching...
No Matches
KisRunnableBasedStrokeStrategy.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8
9#include <QRunnable>
10#include <functional>
11
14
16{
21
23 const QVector<KisRunnableStrokeJobDataBase *> &list) override
24 {
26
27 Q_FOREACH (KisRunnableStrokeJobDataBase *item, list) {
28 newList.append(item);
29 }
30
31 m_q->addMutatedJobs(newList);
32 }
33
34private:
36};
37
38
40 : KisSimpleStrokeStrategy(id, name),
41 m_jobsInterface(new JobsInterface(this))
42{
43}
44
50
54
56{
57 if (!data) return;
58
59 KisRunnableStrokeJobDataBase *runnable = dynamic_cast<KisRunnableStrokeJobDataBase*>(data);
60 if (!runnable) return;
61
62 runnable->run();
63}
64
KisRunnableBasedStrokeStrategy(const QLatin1String &id, const KUndo2MagicString &name=KUndo2MagicString())
KisRunnableStrokeJobsInterface * runnableJobsInterface() const
const QScopedPointer< KisRunnableStrokeJobsInterface > m_jobsInterface
void doStrokeCallback(KisStrokeJobData *data) override
virtual void run()=0
void addMutatedJobs(const QVector< KisStrokeJobData * > list)
void addRunnableJobs(const QVector< KisRunnableStrokeJobDataBase * > &list) override