File indexing completed on 2024-05-19 04:26:24
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Jouni Pentikäinen <joupent@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KIS_ONION_SKIN_COMPOSITOR_H 0008 #define KIS_ONION_SKIN_COMPOSITOR_H 0009 0010 #include "kis_types.h" 0011 #include "kritaimage_export.h" 0012 0013 class KRITAIMAGE_EXPORT KisOnionSkinCompositor : public QObject 0014 { 0015 Q_OBJECT 0016 0017 public: 0018 KisOnionSkinCompositor(); 0019 ~KisOnionSkinCompositor() override; 0020 static KisOnionSkinCompositor *instance(); 0021 0022 void composite(const KisPaintDeviceSP sourceDevice, KisPaintDeviceSP targetDevice, const QRect &rect); 0023 0024 QRect calculateFullExtent(const KisPaintDeviceSP device); 0025 QRect calculateExtent(const KisPaintDeviceSP device, int time); 0026 QRect calculateExtent(const KisPaintDeviceSP device); 0027 0028 QRect updateExtentOnAddition(const KisPaintDeviceSP device, int addedTime); 0029 0030 int configSeqNo() const; 0031 0032 void setColorLabelFilter(QSet<int> colors); 0033 QSet<int> colorLabelFilter(); 0034 0035 public Q_SLOTS: 0036 void configChanged(); 0037 0038 Q_SIGNALS: 0039 void sigOnionSkinChanged(); 0040 0041 private: 0042 struct Private; 0043 QScopedPointer<Private> m_d; 0044 0045 }; 0046 0047 #endif