Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_exif_info_visitor.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2005 Cyrille Berger <cberger@cberger.net>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, Inc., 51 Franklin Street, Fifth Floor,
14 * Boston, MA 02110-1301, USA.
15 */
16#ifndef KIS_EXIF_INFO_VISITOR_H
17#define KIS_EXIF_INFO_VISITOR_H
18
19#include <kis_node_visitor.h>
20#include <kis_meta_data_store.h>
22#include <kis_paint_layer.h>
23#include <kis_group_layer.h>
24
37{
38public:
39
41
42 bool visit(KisNode*) override {
43 return true;
44 }
45 bool visit(KisCloneLayer*) override {
46 return true;
47 }
48 bool visit(KisFilterMask*) override {
49 return true;
50 }
51 bool visit(KisTransformMask*) override {
52 return true;
53 }
54 bool visit(KisTransparencyMask*) override {
55 return true;
56 }
57 bool visit(KisSelectionMask*) override {
58 return true;
59 }
60 bool visit(KisColorizeMask*) override {
61 return true;
62 }
63 bool visit(KisExternalLayer*) override {
64 return true;
65 }
66 bool visit(KisGeneratorLayer*) override {
67 return true;
68 }
69 bool visit(KisAdjustmentLayer*) override {
70 return true;
71 }
72
73 bool visit(KisPaintLayer* layer) override {
74 if (!layer->metaData()->empty()) {
76 m_exifInfo = layer->metaData();
77 }
78 return true;
79 }
80
81 bool visit(KisGroupLayer* layer) override {
82 dbgMetaData << "Visiting on grouplayer" << layer->name() << "";
83 return visitAll(layer, true);
84 }
85
86public:
88 {
89 dbgImage << "number of layers with metadata" << m_metaDataObjectsEncountered;
91 }
92
94 {
95 return m_exifInfo;
96 }
97private:
100};
101
102#endif
unsigned int uint
The KisExifInfoVisitor class looks for a layer with metadata.
bool visit(KisGeneratorLayer *) override
bool visit(KisTransparencyMask *) override
bool visit(KisPaintLayer *layer) override
bool visit(KisAdjustmentLayer *) override
KisMetaData::Store * exifInfo()
bool visit(KisSelectionMask *) override
bool visit(KisGroupLayer *layer) override
bool visit(KisTransformMask *) override
bool visit(KisFilterMask *) override
bool visit(KisCloneLayer *) override
bool visit(KisColorizeMask *) override
bool visit(KisNode *) override
bool visit(KisExternalLayer *) override
KisMetaData::Store * m_exifInfo
bool visitAll(KisNode *node, bool breakOnFail=false)
#define dbgMetaData
Definition kis_debug.h:61
#define dbgImage
Definition kis_debug.h:46
QString name() const
KisMetaData::Store * metaData()