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 #include "KisRunnableStrokeJobData.h" 0008 0009 #include <QRunnable> 0010 #include <kis_assert.h> 0011 0012 KisRunnableStrokeJobData::KisRunnableStrokeJobData(QRunnable *runnable, KisStrokeJobData::Sequentiality sequentiality, KisStrokeJobData::Exclusivity exclusivity) 0013 : KisRunnableStrokeJobDataBase(sequentiality, exclusivity), 0014 m_runnable(runnable) 0015 { 0016 } 0017 0018 KisRunnableStrokeJobData::KisRunnableStrokeJobData(std::function<void ()> func, KisStrokeJobData::Sequentiality sequentiality, KisStrokeJobData::Exclusivity exclusivity) 0019 : KisRunnableStrokeJobDataBase(sequentiality, exclusivity), 0020 m_func(func) 0021 { 0022 } 0023 0024 KisRunnableStrokeJobData::~KisRunnableStrokeJobData() { 0025 if (m_runnable && m_runnable->autoDelete()) { 0026 delete m_runnable; 0027 } 0028 } 0029 0030 void KisRunnableStrokeJobData::run() { 0031 if (m_runnable) { 0032 m_runnable->run(); 0033 } else if (m_func) { 0034 m_func(); 0035 } 0036 }