Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDabRenderingJob.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 KISDABRENDERINGJOB_H
8#define KISDABRENDERINGJOB_H
9
10#include <QRunnable>
11#include <KisDabCacheUtils.h>
13#include <kis_types.h>
14#include "kritadefaultpaintops_export.h"
15
18
19class KRITADEFAULTPAINTOPS_EXPORT KisDabRenderingJob
20{
21public:
22 enum JobType {
25 Copy
26 };
27
28 enum Status {
31 Completed
32 };
33
34public:
35 KisDabRenderingJob(int _seqNo,
36 JobType _type, qreal opacity = OPACITY_OPAQUE_F, qreal flow = OPACITY_OPAQUE_F);
38 KisDabRenderingJob& operator=(const KisDabRenderingJob &rhs);
39
40 QPoint dstDabOffset() const;
41
42 int seqNo = -1;
44 JobType type = Dab;
47
48 // high-level members, not directly related to job execution itself
49 Status status = New;
50
51 qreal opacity = OPACITY_OPAQUE_F;
52 qreal flow = OPACITY_OPAQUE_F;
53};
54
55#include <QSharedPointer>
57
58class KRITADEFAULTPAINTOPS_EXPORT KisDabRenderingJobRunner : public QRunnable
59{
60public:
62 KisDabRenderingQueue *parentQueue,
63 KisRunnableStrokeJobsInterface *runnableJobsInterface);
65
66 void run() override;
67
68 static int executeOneJob(KisDabRenderingJob *job, KisDabCacheUtils::DabRenderingResources *resources, KisDabRenderingQueue *parentQueue);
69
70private:
72 KisDabRenderingQueue *m_parentQueue = 0;
73 KisRunnableStrokeJobsInterface *m_runnableJobsInterface = 0;
74};
75
76
77#endif // KISDABRENDERINGJOB_H
QSharedPointer< KisDabRenderingJob > KisDabRenderingJobSP
const qreal OPACITY_OPAQUE_F
KisDabRenderingJobSP m_job
KisFixedPaintDeviceSP postprocessedDevice
KisFixedPaintDeviceSP originalDevice
KisDabCacheUtils::DabGenerationInfo generationInfo