digiKam
Loading...
Searching...
No Matches
rawprocessingfilter.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 : 2010-12-14
7 * Description : Filter to manage and help with raw loading
8 *
9 * SPDX-FileCopyrightText: 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Local includes
18
19#include "digikam_export.h"
20#include "dimgthreadedfilter.h"
21#include "drawdecoding.h"
22#include "iccprofile.h"
23
24namespace Digikam
25{
26
27class DImgLoaderObserver;
28class FilterAction;
29
37class DIGIKAM_EXPORT RawProcessingFilter : public DImgThreadedFilter
38{
39 Q_OBJECT
40
41public:
42
47 explicit RawProcessingFilter(QObject* const parent = nullptr);
48
52 RawProcessingFilter(DImg* const orgImage,
53 QObject* const parent,
54 const DRawDecoding& settings,
55 const QString& name = QString());
56
60 RawProcessingFilter(const DRawDecoding& settings,
61 DImgThreadedFilter* const master,
62 const DImg& orgImage,
63 const DImg& destImage,
64 int progressBegin = 0,
65 int progressEnd = 100,
66 const QString& name = QString());
67
68 ~RawProcessingFilter() override;
69
74 void setSettings(const DRawDecoding& settings);
75 DRawDecoding settings() const;
76
81 void setOutputProfile(const IccProfile& profile);
82
88 void setObserver(DImgLoaderObserver* const observer, int progressBegin, int progressEnd);
89
90 static QString FilterIdentifier()
91 {
92 return QLatin1String("digikam:RawConverter");
93 }
94
95 static QString DisplayableName();
96
97 static QList<int> SupportedVersions()
98 {
99 return QList<int>() << 1;
100 }
101
102 static int CurrentVersion()
103 {
104 return 1;
105 }
106
107 void readParameters(const FilterAction& action) override;
108
109 QString filterIdentifier() const override
110 {
111 return FilterIdentifier();
112 }
113
114 FilterAction filterAction() override;
115
116protected:
117
118 void postProgress(int); // not virtual
119 bool continueQuery() const; // not virtual
120
121 void filterImage() override;
122
123protected:
124
127 DImgLoaderObserver* m_observer = nullptr;
128};
129
130} // namespace Digikam
Definition dimgloaderobserver.h:31
Definition dimgthreadedfilter.h:31
Definition dimg.h:52
Definition drawdecoding.h:38
Definition filteraction.h:33
Definition iccprofile.h:33
Definition rawprocessingfilter.h:38
IccProfile m_customOutputProfile
Definition rawprocessingfilter.h:126
DRawDecoding m_settings
Definition rawprocessingfilter.h:125
QString filterIdentifier() const override
Definition rawprocessingfilter.h:109
static QList< int > SupportedVersions()
Definition rawprocessingfilter.h:97
static int CurrentVersion()
Definition rawprocessingfilter.h:102
static QString FilterIdentifier()
Definition rawprocessingfilter.h:90
Definition datefolderview.cpp:34