Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_stroke_job_strategy.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_STROKE_JOB_STRATEGY_H
8#define __KIS_STROKE_JOB_STRATEGY_H
9
10#include "kritaimage_export.h"
11#include <QLatin1String>
12
13
14class KRITAIMAGE_EXPORT KisStrokeJobData
15{
16public:
21 UNIQUELY_CONCURRENT
22 };
23
26 EXCLUSIVE
27 };
28
29public:
30 KisStrokeJobData(Sequentiality sequentiality = SEQUENTIAL,
31 Exclusivity exclusivity = NORMAL);
32 virtual ~KisStrokeJobData();
33
34 bool isBarrier() const;
35 bool isSequential() const;
36 bool isExclusive() const;
37
38 Sequentiality sequentiality() { return m_sequentiality; }
39 Exclusivity exclusivity() { return m_exclusivity; }
40
41 virtual KisStrokeJobData* createLodClone(int levelOfDetail);
42
43 bool isCancellable() const;
44 void setCancellable(bool value);
45
46 int levelOfDetailOverride() const;
47 void setLevelOfDetailOverride(int value);
48
49protected:
51
52private:
57};
58
59
60class KRITAIMAGE_EXPORT KisStrokeJobStrategy
61{
62public:
64 virtual ~KisStrokeJobStrategy();
65
66 virtual void run(KisStrokeJobData *data) = 0;
67 virtual QString debugId() const = 0;
68
69
70private:
71};
72
73#endif /* __KIS_STROKE_JOB_STRATEGY_H */
float value(const T *src, size_t ch)
Sequentiality sequentiality()
virtual QString debugId() const =0
virtual void run(KisStrokeJobData *data)=0