Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_annotation.h
Go to the documentation of this file.
1/*
2 * This file is part of the KDE project
3 *
4 * SPDX-FileCopyrightText: 2005 Boudewijn Rempt <boud@valdyas.org>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
17#ifndef _KIS_ANNOTATION_H_
18#define _KIS_ANNOTATION_H_
19
20#include <kis_shared.h>
21
22#include <QByteArray>
23#include <QString>
24
25#include "kritaimage_export.h"
26
41class KRITAIMAGE_EXPORT KisAnnotation : public KisShared
42{
43
44public:
45
56 KisAnnotation(const QString & type, const QString & description, const QByteArray & data)
57 : m_type(type)
58 , m_description(description)
59 , m_annotation(data) {}
60
61 virtual ~KisAnnotation() {}
62
63 virtual KisAnnotation* clone() const {
64 return new KisAnnotation(*this);
65 }
66
73 const QString & type() const {
74 return m_type;
75 }
76
83 const QString & description() const {
84 return m_description;
85 }
86
91 const QByteArray & annotation() const {
92 return m_annotation;
93 }
94
95 void setAnnotation(const QByteArray ba) {
96 m_annotation = ba;
97 }
98
102 virtual QString displayText() const {
103 return QString::fromUtf8(m_annotation);
104 }
105
106protected:
108 : KisShared(),
109 m_type(rhs.m_type),
110 m_description(rhs.m_description),
111 m_annotation(rhs.m_annotation)
112 {
113 }
114
115protected:
116
117 QString m_type;
119 QByteArray m_annotation;
120
121};
122
123#endif // _KIS_ANNOTATION_H_
A data extension mechanism for Krita.
QString m_description
KisAnnotation(const QString &type, const QString &description, const QByteArray &data)
KisAnnotation(const KisAnnotation &rhs)
virtual KisAnnotation * clone() const
QByteArray m_annotation
virtual ~KisAnnotation()
void setAnnotation(const QByteArray ba)
const QString & type() const
const QByteArray & annotation() const
const QString & description() const
virtual QString displayText() const
displayText: override this to return an interpreted version of the annotation