File indexing completed on 2025-02-02 04:22:16
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KISTEXTBRUSHMODEL_H 0008 #define KISTEXTBRUSHMODEL_H 0009 0010 #include <QObject> 0011 #include <QString> 0012 #include <QGuiApplication> 0013 #include <lager/cursor.hpp> 0014 #include <KisBrushModel.h> 0015 0016 using namespace KisBrushModel; 0017 0018 class KisTextBrushModel : public QObject 0019 { 0020 Q_OBJECT 0021 public: 0022 KisTextBrushModel(lager::cursor<CommonData> commonData, 0023 lager::cursor<TextBrushData> textBrushData) 0024 : m_commonData(commonData), 0025 m_textBrushData(textBrushData), 0026 LAGER_QT(spacing) {m_commonData[&CommonData::spacing]}, 0027 LAGER_QT(text) {m_textBrushData[&TextBrushData::text]}, 0028 LAGER_QT(font) {m_textBrushData[&TextBrushData::font]}, 0029 LAGER_QT(usePipeMode) {m_textBrushData[&TextBrushData::usePipeMode]} 0030 { 0031 } 0032 0033 ~KisTextBrushModel(); 0034 0035 // the state must be declared **before** any cursors or readers 0036 lager::cursor<CommonData> m_commonData; 0037 lager::cursor<TextBrushData> m_textBrushData; 0038 0039 LAGER_QT_CURSOR(qreal, spacing); 0040 LAGER_QT_CURSOR(QString, text); 0041 LAGER_QT_CURSOR(QString, font); 0042 LAGER_QT_CURSOR(bool, usePipeMode); 0043 }; 0044 0045 #endif // KISTEXTBRUSHMODEL_H