digiKam
Loading...
Searching...
No Matches
focuspoints_extractor.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 : 28/08/2021
7 * Description : Extraction of focus points by exiftool data
8 *
9 * SPDX-FileCopyrightText: 2021-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2021 by Phuoc Khanh Le <phuockhanhnk94 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 <QObject>
21#include <QVariant>
22#include <QStringList>
23
24// Local includes
25
26#include "digikam_export.h"
27#include "focuspoint.h"
28#include "metaengine.h"
29
30namespace Digikam
31{
32
33class DIGIKAM_EXPORT FocusPointsExtractor : public QObject
34{
35 Q_OBJECT
36
37public:
38
47 using ListAFPoints = QList<FocusPoint>;
48
49public:
50
51 explicit FocusPointsExtractor(QObject* const parent, const QString& path);
53
54public:
55
56 ListAFPoints get_af_points();
57 ListAFPoints get_af_points(FocusPoint::TypePoint type);
58
59 bool isAFPointsReadOnly() const;
60 QString make() const;
61 QString model() const;
62 QSize originalSize() const;
63 MetaEngine::ImageOrientation orientation() const;
64
65private:
66
67 QVariant findValue(const QString& tagName, bool isList = false) const;
68 QVariant findValue(const QString& tagNameRoot, const QString& key, bool isList = false) const;
69 QVariant findValueFirstMatch(const QStringList& listTagNames, bool isList = false) const;
70 QVariant findValueFirstMatch(const QString& tagNameRoot, const QStringList& keys, bool isList = false) const;
71 QVariant findNumValue(const QString& tagName) const;
72
73 void setAFPointsReadOnly(bool readOnly) const;
74 void setOriginalSize(const QSize& size) const;
75
76 ListAFPoints findAFPoints() const;
77
78 ListAFPoints getAFPoints_canon() const;
79 ListAFPoints getAFPoints_exif() const;
80 ListAFPoints getAFPoints_nikon() const;
81 ListAFPoints getAFPoints_panasonic() const;
82 ListAFPoints getAFPoints_sony() const;
83 ListAFPoints getAFPoints_xmp() const;
84
85private:
86
87 class Private;
88 Private* const d = nullptr;
89};
90
91} // namespace Digikam
TypePoint
Definition focuspoint.h:39
Definition focuspoints_extractor.h:34
QList< FocusPoint > ListAFPoints
Definition focuspoints_extractor.h:47
ImageOrientation
Definition metaengine.h:86
Definition datefolderview.cpp:34