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 KISRUNNABLESTROKEJOBDATA_H
0008 #define KISRUNNABLESTROKEJOBDATA_H
0009 
0010 #include "kritaimage_export.h"
0011 #include "KisRunnableStrokeJobDataBase.h"
0012 #include <functional>
0013 
0014 class QRunnable;
0015 
0016 class KRITAIMAGE_EXPORT KisRunnableStrokeJobData : public KisRunnableStrokeJobDataBase {
0017 public:
0018     KisRunnableStrokeJobData(QRunnable *runnable, KisStrokeJobData::Sequentiality sequentiality = KisStrokeJobData::SEQUENTIAL,
0019                              KisStrokeJobData::Exclusivity exclusivity = KisStrokeJobData::NORMAL);
0020 
0021     KisRunnableStrokeJobData(std::function<void()> func, KisStrokeJobData::Sequentiality sequentiality = KisStrokeJobData::SEQUENTIAL,
0022                              KisStrokeJobData::Exclusivity exclusivity = KisStrokeJobData::NORMAL);
0023 
0024     ~KisRunnableStrokeJobData();
0025 
0026     void run() override;
0027 
0028 private:
0029     QRunnable *m_runnable = 0;
0030     std::function<void()> m_func;
0031 };
0032 
0033 #endif // KISRUNNABLESTROKEJOBDATA_H