Krita Source Code Documentation
Loading...
Searching...
No Matches
KisIdleTaskStrokeStrategy.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2023 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KISIDLETASKSTROKESTRATEGY_H
7#define KISIDLETASKSTROKESTRATEGY_H
8
9#include <kritaui_export.h>
10
11#include <functional>
12
13#include <boost/none.hpp>
14#include <kis_types.h>
16#include <QElapsedTimer>
17
26class KRITAUI_EXPORT KisIdleTaskStrokeStrategy: public QObject, public KisRunnableBasedStrokeStrategy {
27 Q_OBJECT
28public:
29 KisIdleTaskStrokeStrategy(const QLatin1String &id, const KUndo2MagicString &name = KUndo2MagicString());
31
32 KisStrokeStrategy* createLodClone(int levelOfDetail) override;
33 QWeakPointer<boost::none_t> idleTaskCookie();
34
35 static int preferredIdleTaskMaximumTime();
36 static int preferredIdleWatcherInterval();
37
38protected:
39 void initStrokeCallback() override;
40 void finishStrokeCallback() override;
41
42Q_SIGNALS:
44
45private:
47 QElapsedTimer m_idleStrokeTime;
48};
49
51
52#endif // KISIDLETASKSTROKESTRATEGY_H
std::function< KisIdleTaskStrokeStrategy *(KisImageSP image)> KisIdleTaskStrokeStrategyFactory
QSharedPointer< boost::none_t > m_idleTaskCookie
virtual KisStrokeStrategy * createLodClone(int levelOfDetail)