File indexing completed on 2024-06-16 04:17:29
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KISEMBEDDEDTEXTUREDATA_H 0007 #define KISEMBEDDEDTEXTUREDATA_H 0008 0009 #include "kis_types.h" 0010 #include <boost/operators.hpp> 0011 #include <kritapaintop_export.h> 0012 #include <KoPattern.h> 0013 0014 class KisPropertiesConfiguration; 0015 0016 0017 class PAINTOP_EXPORT KisEmbeddedTextureData : boost::equality_comparable<KisEmbeddedTextureData> 0018 { 0019 public: 0020 inline friend bool operator==(const KisEmbeddedTextureData &lhs, const KisEmbeddedTextureData &rhs) { 0021 return lhs.md5Base64 == rhs.md5Base64 && 0022 lhs.md5sum == rhs.md5sum && 0023 lhs.fileName == rhs.fileName && 0024 lhs.name == rhs.name && 0025 lhs.patternBase64 == rhs.patternBase64; 0026 } 0027 0028 QString md5Base64; 0029 QString md5sum; 0030 QString fileName; 0031 QString name; 0032 QString patternBase64; 0033 0034 bool isNull() const; 0035 0036 static KisEmbeddedTextureData fromPattern(KoPatternSP pattern); 0037 KoResourceLoadResult loadLinkedPattern(KisResourcesInterfaceSP resourcesInterface) const; 0038 0039 bool read(const KisPropertiesConfiguration *setting); 0040 void write(KisPropertiesConfiguration *setting) const; 0041 0042 private: 0043 KoResourceLoadResult tryFetchPattern(KisResourcesInterfaceSP resourcesInterface) const; 0044 KoResourceLoadResult tryLoadEmbeddedPattern() const; 0045 }; 0046 0047 #endif // KISEMBEDDEDTEXTUREDATA_H