digiKam
Loading...
Searching...
No Matches
curvesfilter.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-25-02
7 * Description : Curves image filter
8 *
9 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2010 by Martin Klapetek <martin dot klapetek at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QPolygon>
21
22// Local includes
23
24#include "digikam_export.h"
25#include "dimgthreadedfilter.h"
26#include "digikam_globals.h"
27#include "imagecurves.h"
28
29namespace Digikam
30{
31
32class DImg;
33
34class DIGIKAM_EXPORT CurvesFilter : public DImgThreadedFilter
35{
36 Q_OBJECT
37
38public:
39
40 explicit CurvesFilter(QObject* const parent = nullptr);
41 explicit CurvesFilter(DImg* const orgImage,
42 QObject* const parent = nullptr,
43 const CurvesContainer& settings = CurvesContainer());
44 explicit CurvesFilter(const CurvesContainer& settings,
45 DImgThreadedFilter* const master,
46 const DImg& orgImage,
47 DImg& destImage,
48 int progressBegin = 0,
49 int progressEnd = 100);
50 ~CurvesFilter() override;
51
52 static QString FilterIdentifier()
53 {
54 return QLatin1String("digikam:CurvesFilter");
55 }
56
57 static QString DisplayableName();
58
59 static QList<int> SupportedVersions()
60 {
61 return QList<int>() << 1;
62 }
63
64 static int CurrentVersion()
65 {
66 return 1;
67 }
68
69 QString filterIdentifier() const override
70 {
71 return FilterIdentifier();
72 }
73
74 FilterAction filterAction() override;
75 void readParameters(const FilterAction& action) override;
76
77private:
78
79 void filterImage() override;
80
81private:
82
83 CurvesContainer m_settings;
84};
85
86} // namespace Digikam
Definition curvescontainer.h:35
Definition curvesfilter.h:35
static QString FilterIdentifier()
Definition curvesfilter.h:52
static QList< int > SupportedVersions()
Definition curvesfilter.h:59
QString filterIdentifier() const override
Definition curvesfilter.h:69
static int CurrentVersion()
Definition curvesfilter.h:64
Definition dimgthreadedfilter.h:31
Definition dimg.h:52
Definition filteraction.h:33
Definition datefolderview.cpp:34