digiKam
Loading...
Searching...
No Matches
dimgbuiltinfilter.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-11-10
7 * Description : basic filter management for DImg builtin methods
8 *
9 * SPDX-FileCopyrightText: 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
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 <QVariant>
21
22// Local includes
23
24#include "digikam_export.h"
25
26namespace Digikam
27{
28
29class DImg;
30class DImgThreadedFilter;
31class FilterAction;
32
33class DIGIKAM_EXPORT DImgBuiltinFilter
34{
35public:
36
50
51public:
52
56 DImgBuiltinFilter() = default;
57
62 explicit DImgBuiltinFilter(const FilterAction& action);
63
68 explicit DImgBuiltinFilter(Type type, const QVariant& arg = QVariant());
69
73 void setAction(const FilterAction& action);
74 void setAction(Type type, const QVariant& arg = QVariant());
75
80 DImgBuiltinFilter reverseFilter() const;
81 bool isReversible() const;
82
86 bool isValid() const;
87
91 void apply(DImg& image) const;
92
101 FilterAction filterAction() const;
102
106 QString displayableName() const;
107 QString i18nDisplayableName() const;
108 QString filterIcon() const;
109
113 DImgThreadedFilter* createThreadedFilter(QObject* const parent = nullptr) const;
114 DImgThreadedFilter* createThreadedFilter(DImg* const orgImage, QObject* const parent = nullptr) const;
115
116public:
117
118 static QString i18nDisplayableName(const QString& filterIdentifier);
119 static QString filterIcon(const QString& filterIdentifier);
120
121 static QStringList supportedFilters();
122
126 static QList<int> supportedVersions(const QString& filterIdentifier);
127
131 static bool isSupported(const QString& filterIdentifier);
132 static bool isSupported(const QString& filterIdentifier, int version);
133
134protected:
135
136 Type m_type = NoOperation;
137 QVariant m_arg;
138};
139
140} // namespace Digikam
Definition dimgbuiltinfilter.h:34
QVariant m_arg
Definition dimgbuiltinfilter.h:137
Type
Definition dimgbuiltinfilter.h:38
@ FlipVertically
Definition dimgbuiltinfilter.h:44
@ Resize
Argument: QSize.
Definition dimgbuiltinfilter.h:46
@ Rotate90
Definition dimgbuiltinfilter.h:40
@ Rotate270
Definition dimgbuiltinfilter.h:42
@ NoOperation
Definition dimgbuiltinfilter.h:39
@ FlipHorizontally
Definition dimgbuiltinfilter.h:43
@ ConvertTo8Bit
Definition dimgbuiltinfilter.h:47
@ Crop
Argument: QRect.
Definition dimgbuiltinfilter.h:45
@ Rotate180
Definition dimgbuiltinfilter.h:41
Definition dimgthreadedfilter.h:31
Definition dimg.h:52
Definition filteraction.h:33
Definition datefolderview.cpp:34