digiKam
Loading...
Searching...
No Matches
metaengine_rotation.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 : 2006-09-15
7 * Description : Exiv2 library interface.
8 * Tools for combining rotation operations.
9 *
10 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 * SPDX-FileCopyrightText: 2006-2013 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Qt includes
20
21#include <QTransform>
22
23// Local includes
24
25#include "digikam_export.h"
26#include "metaengine.h"
27
28namespace Digikam
29{
30
31class DIGIKAM_EXPORT MetaEngineRotation
32{
33
34public:
35
44 {
45 NoTransformation = 0,
46 FlipHorizontal = 1,
47 FlipVertical = 2,
48 Rotate90 = 5,
49 Rotate180 = 6,
50 Rotate270 = 7
51 };
52
53public:
54
59
63 explicit MetaEngineRotation(TransformationAction action);
64
68 explicit MetaEngineRotation(MetaEngine::ImageOrientation exifOrientation);
69
70 bool operator==(const MetaEngineRotation& ma) const;
71 bool operator!=(const MetaEngineRotation& ma) const;
72
76 bool isNoTransform() const;
77
78 MetaEngineRotation& operator*=(const MetaEngineRotation& ma);
79
83 MetaEngineRotation& operator*=(TransformationAction action);
84
88 MetaEngineRotation& operator*=(const QList<TransformationAction>& actions);
89
93 MetaEngineRotation& operator*=(MetaEngine::ImageOrientation exifOrientation);
94
95 MetaEngineRotation(int m11, int m12, int m21, int m22);
96
103 QList<TransformationAction> transformations() const;
104
109 MetaEngine::ImageOrientation exifOrientation() const;
110
114 QTransform toTransform() const;
115
119 static QTransform toTransform(MetaEngine::ImageOrientation orientation);
120
121protected:
122
123 void set(int m11, int m12, int m21, int m22);
124
125protected:
126
127 int m[2][2];
128};
129
130} // namespace Digikam
Definition metaengine_rotation.h:32
TransformationAction
Definition metaengine_rotation.h:44
ImageOrientation
Definition metaengine.h:86
Definition datefolderview.cpp:34
bool operator==(const SearchTextSettings &a, const SearchTextSettings &b)
Definition searchtextbar.cpp:40