File indexing completed on 2024-12-22 04:13:03

0001 /*
0002  *  SPDX-FileCopyrightText: 2023 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KISSTROKECOMPATIBILITYINFO_H
0007 #define KISSTROKECOMPATIBILITYINFO_H
0008 
0009 #include "kritaui_export.h"
0010 #include <boost/operators.hpp>
0011 
0012 #include <QString>
0013 #include <KoColor.h>
0014 #include <KoResourceSignature.h>
0015 #include <KoCompositeOpRegistry.h>
0016 #include <QUuid>
0017 
0018 
0019 class KisResourcesSnapshot;
0020 
0021 
0022 struct KRITAUI_EXPORT KisStrokeCompatibilityInfo : public boost::equality_comparable<KisStrokeCompatibilityInfo>
0023 {
0024     KisStrokeCompatibilityInfo();
0025     KisStrokeCompatibilityInfo(KisResourcesSnapshot &resourcesSnapshot);
0026 
0027     friend bool operator==(const KisStrokeCompatibilityInfo &lhs, const KisStrokeCompatibilityInfo &rhs);
0028 
0029     KoColor currentFgColor;
0030     KoColor currentBgColor;
0031     KoResourceSignature currentPattern;
0032     KoResourceSignature currentGradient;
0033     KoResourceSignature currentPreset;
0034     QString currentGeneratorXml;
0035     QUuid currentNode;
0036 
0037     quint8 opacity {OPACITY_OPAQUE_U8};
0038     QString compositeOpId {COMPOSITE_OVER};
0039 
0040     QBitArray channelLockFlags;
0041 };
0042 
0043 #endif // KISSTROKECOMPATIBILITYINFO_H