digiKam
Loading...
Searching...
No Matches
dimgthreadedanalyser.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2012-11-13
7 * Description : threaded image analys class.
8 * this class is dedicated to run algorithm in a separated thread
9 * over an image to process analys. No image data are changed.
10 *
11 * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Local includes
20
21#include "digikam_export.h"
22#include "dimgthreadedfilter.h"
23
24namespace Digikam
25{
26
27class DIGIKAM_EXPORT DImgThreadedAnalyser : public DImgThreadedFilter
28{
29 Q_OBJECT
30
31public:
32
40 explicit DImgThreadedAnalyser(QObject* const parent = nullptr, const QString& name = QString());
41
48 explicit DImgThreadedAnalyser(DImg* const orgImage, QObject* const parent = nullptr,
49 const QString& name = QString());
50
51 ~DImgThreadedAnalyser() override;
52
53private:
54
55 FilterAction filterAction() override
56 {
57 // return null object
58 return FilterAction();
59 };
60
61 void readParameters(const FilterAction&) override
62 {
63 // Do nothing.
64 };
65
66 QString filterIdentifier() const override
67 {
68 // return null object
69 return QString();
70 };
71
72 QList<int> supportedVersions() const override
73 {
74 // return null object
75 return QList<int>();
76 };
77
78 void prepareDestImage() override
79 {
80 // No destination image is required here.
81 };
82
83 void filterImage() override
84 {
85 startAnalyse();
86 };
87
88protected:
89
93 virtual void startAnalyse() = 0;
94};
95
96} // namespace Digikam
Definition dimgthreadedanalyser.h:28
virtual void startAnalyse()=0
Definition dimgthreadedfilter.h:31
Definition dimg.h:52
Definition filteraction.h:33
Definition datefolderview.cpp:34