Krita Source Code Documentation
Loading...
Searching...
No Matches
KisRunnableStrokeJobUtils.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KISRUNNABLESTROKEJOBUTILS_H
8#define KISRUNNABLESTROKEJOBUTILS_H
9
10#include <QVector>
11
14
15namespace KritaUtils
16{
17
18template <typename Func, typename Job>
19void addJobSequential(QVector<Job*> &jobs, Func func) {
21}
22
23template <typename Func, typename Job>
27
28
29template <typename Func, typename Job>
30void addJobConcurrent(QVector<Job*> &jobs, Func func) {
32}
33
34template <typename Func, typename Job>
35void addJobBarrier(QVector<Job*> &jobs, Func func) {
37}
38
39template <typename Func, typename Job>
43
44template <typename Func, typename Job>
48
49template <typename Func, typename Job>
50void addJobSequential(QVector<Job*> &jobs, int lod, Func func) {
52 data->setLevelOfDetailOverride(lod);
53 jobs.append(data);
54}
55
56template <typename Func, typename Job>
57void addJobSequentialExclusive(QVector<Job*> &jobs, int lod, Func func) {
59 data->setLevelOfDetailOverride(lod);
60 jobs.append(data);
61}
62
63template <typename Func, typename Job>
64void addJobConcurrent(QVector<Job*> &jobs, int lod, Func func) {
66 data->setLevelOfDetailOverride(lod);
67 jobs.append(data);
68}
69
70template <typename Func, typename Job>
71void addJobBarrier(QVector<Job*> &jobs, int lod, Func func) {
73 data->setLevelOfDetailOverride(lod);
74 jobs.append(data);
75}
76
77template <typename Func, typename Job>
78void addJobUniquelyConcurrent(QVector<Job*> &jobs, int lod, Func func) {
80 data->setLevelOfDetailOverride(lod);
81 jobs.append(data);
82}
83
84
85template <typename Func, typename Job>
88 data->setCancellable(false);
89 jobs.append(data);
90}
91
92template <typename Func, typename Job>
95 data->setCancellable(false);
96 jobs.append(data);
97}
98
99
100template <typename Func, typename Job>
103 data->setCancellable(false);
104 jobs.append(data);
105}
106
107template <typename Func, typename Job>
108void addJobBarrierNoCancel(QVector<Job*> &jobs, Func func) {
110 data->setCancellable(false);
111 jobs.append(data);
112}
113
114template <typename Func, typename Job>
117 data->setCancellable(false);
118 jobs.append(data);
119}
120
121template <typename Func, typename Job>
124 data->setCancellable(false);
125 jobs.append(data);
126}
127
128}
129
130#endif // KISRUNNABLESTROKEJOBUTILS_H
void addJobSequentialNoCancel(QVector< Job * > &jobs, Func func)
void addJobUniquelyConcurrent(QVector< Job * > &jobs, Func func)
void addJobConcurrent(QVector< Job * > &jobs, Func func)
void addJobBarrierExclusiveNoCancel(QVector< Job * > &jobs, Func func)
void addJobUniquelyConcurrentNoCancel(QVector< Job * > &jobs, Func func)
void addJobSequentialExclusive(QVector< Job * > &jobs, Func func)
void addJobConcurrentNoCancel(QVector< Job * > &jobs, Func func)
void addJobSequential(QVector< Job * > &jobs, Func func)
void addJobBarrier(QVector< Job * > &jobs, Func func)
void addJobBarrierExclusive(QVector< Job * > &jobs, Func func)
void addJobSequentialExclusiveNoCancel(QVector< Job * > &jobs, Func func)
void addJobBarrierNoCancel(QVector< Job * > &jobs, Func func)