File indexing completed on 2025-01-26 04:08:07
0001 /* 0002 * SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KISASYNCANIMATIONCACHERENDERDIALOG_H 0008 #define KISASYNCANIMATIONCACHERENDERDIALOG_H 0009 0010 #include "KisAsyncAnimationRenderDialogBase.h" 0011 #include "kis_types.h" 0012 0013 0014 class KisAsyncAnimationCacheRenderDialog : public KisAsyncAnimationRenderDialogBase 0015 { 0016 public: 0017 KisAsyncAnimationCacheRenderDialog(KisAnimationFrameCacheSP cache, const KisTimeSpan &range, int busyWait = 200); 0018 virtual ~KisAsyncAnimationCacheRenderDialog(); 0019 0020 static int calcFirstDirtyFrame(KisAnimationFrameCacheSP cache, const KisTimeSpan &playbackRange, const KisTimeSpan &skipRange); 0021 0022 protected: 0023 QList<int> calcDirtyFrames() const override; 0024 KisAsyncAnimationRendererBase* createRenderer(KisImageSP image) override; 0025 void initializeRendererForFrame(KisAsyncAnimationRendererBase *renderer, 0026 KisImageSP image, int frame) override; 0027 0028 private: 0029 struct Private; 0030 const QScopedPointer<Private> m_d; 0031 }; 0032 0033 #endif // KISASYNCANIMATIONCACHERENDERDIALOG_H