File indexing completed on 2025-02-02 04:21:19
0001 /* 0002 * This file is part of the KDE project 0003 * 0004 * SPDX-FileCopyrightText: 2016 Spencer Brown <sbrown655@gmail.com> 0005 * SPDX-FileCopyrightText: 2020 Deif Lou <ginoba@gmail.com> 0006 * 0007 * SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef KIS_GRADIENT_MAP_FILTER_DITHER_CACHED_GRADIENT_H 0011 #define KIS_GRADIENT_MAP_FILTER_DITHER_CACHED_GRADIENT_H 0012 0013 #include <QVector> 0014 0015 #include <KoColor.h> 0016 0017 class KoColorSpace; 0018 0019 class KisGradientMapFilterDitherCachedGradient 0020 { 0021 public: 0022 struct CachedEntry 0023 { 0024 KoColor leftStop; 0025 KoColor rightStop; 0026 qreal localT; 0027 }; 0028 0029 KisGradientMapFilterDitherCachedGradient(const KoAbstractGradientSP gradient, qint32 steps, const KoColorSpace *cs); 0030 0031 /// gets the color data at position 0 <= t <= 1 0032 const CachedEntry& cachedAt(qreal t) const; 0033 0034 private: 0035 const qint32 m_max; 0036 QVector<CachedEntry> m_cachedEntries; 0037 const CachedEntry m_nullEntry; 0038 }; 0039 0040 #endif