File indexing completed on 2024-05-12 15:58:52

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KISRUNNABLEBASEDSTROKESTRATEGY_H
0008 #define KISRUNNABLEBASEDSTROKESTRATEGY_H
0009 
0010 #include "kis_simple_stroke_strategy.h"
0011 
0012 class KisRunnableStrokeJobsInterface;
0013 
0014 class KRITAIMAGE_EXPORT KisRunnableBasedStrokeStrategy : public KisSimpleStrokeStrategy
0015 {
0016 private:
0017     struct JobsInterface;
0018 
0019 public:
0020     KisRunnableBasedStrokeStrategy(const QLatin1String &id, const KUndo2MagicString &name = KUndo2MagicString());
0021     KisRunnableBasedStrokeStrategy(const KisRunnableBasedStrokeStrategy &rhs);
0022     ~KisRunnableBasedStrokeStrategy();
0023 
0024     void doStrokeCallback(KisStrokeJobData *data) override;
0025 
0026     KisRunnableStrokeJobsInterface *runnableJobsInterface() const;
0027 
0028 private:
0029     const QScopedPointer<KisRunnableStrokeJobsInterface> m_jobsInterface;
0030 };
0031 
0032 #endif // KISRUNNABLEBASEDSTROKESTRATEGY_H