Krita Source Code Documentation
Loading...
Searching...
No Matches
KisAsyncAnimationRendererBase.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#ifndef KISASYNCANIMATIONRENDERERBASE_H
8
#define KISASYNCANIMATIONRENDERERBASE_H
9
10
#include <QObject>
11
#include "
kis_types.h
"
12
13
#include "kritaui_export.h"
14
15
class
KisRegion
;
16
class
KisLockFrameGenerationLock;
17
28
class
KRITAUI_EXPORT
KisAsyncAnimationRendererBase
:
public
QObject
29
{
30
Q_OBJECT
31
32
public
:
33
enum
Flag
34
{
35
None
= 0x0,
36
Cancellable = 0x1
37
};
38
Q_DECLARE_FLAGS
(Flags, Flag)
39
40
enum
CancelReason
{
41
UserCancelled = 0,
42
RenderingFailed
,
43
RenderingTimedOut
44
};
45
Q_ENUM(CancelReason)
46
47
public
:
48
explicit
KisAsyncAnimationRendererBase
(QObject *parent = 0);
49
virtual
~KisAsyncAnimationRendererBase
();
50
56
void
startFrameRegeneration(
KisImageSP
image,
int
frame,
const
KisRegion
®ionOfInterest, Flags flags, KisLockFrameGenerationLock &&frameGenerationLock);
57
61
void
startFrameRegeneration(
KisImageSP
image,
int
frame, Flags flags, KisLockFrameGenerationLock &&frameGenerationLock);
62
66
bool
isActive()
const
;
67
68
public
Q_SLOTS:
75
void
cancelCurrentFrameRendering(CancelReason cancelReason);
76
77
Q_SIGNALS:
78
void
sigFrameCompleted
(
int
frame);
79
void
sigFrameCancelled
(
int
frame,
KisAsyncAnimationRendererBase::CancelReason
cancelReason);
80
81
private
Q_SLOTS:
82
void
slotFrameRegenerationCancelled();
83
void
slotFrameRegenerationTimedOut();
84
void
slotFrameRegenerationFinished(
int
frame);
85
86
protected
Q_SLOTS:
90
void
notifyFrameCompleted(
int
frame);
91
96
void
notifyFrameCancelled(
int
frame,
KisAsyncAnimationRendererBase::CancelReason
cancelReason);
97
98
protected
:
113
virtual
void
frameCompletedCallback
(
int
frame,
const
KisRegion
&requestedRegion) = 0;
114
125
virtual
void
frameCancelledCallback
(
int
frame,
CancelReason
cancelReason) = 0;
126
127
134
virtual
void
clearFrameRegenerationState(
bool
isCancelled);
135
136
protected
:
146
KisImageSP
requestedImage
()
const
;
147
148
private
:
149
struct
Private
;
150
const
QScopedPointer<Private>
m_d
;
151
};
152
153
Q_DECLARE_OPERATORS_FOR_FLAGS
(KisAsyncAnimationRendererBase::Flags)
154
155
#endif
// KISASYNCANIMATIONRENDERERBASE_H
Q_DECLARE_FLAGS
Q_DECLARE_FLAGS(KisUpdaterContextSnapshotEx, KisUpdaterContextSnapshotExTag)
None
@ None
Definition
KoColorConversionSystem_p.h:21
KisRegion
Definition
KisRegion.h:28
KisSharedPtr< KisImage >
Q_DECLARE_OPERATORS_FOR_FLAGS
Q_DECLARE_OPERATORS_FOR_FLAGS(KisBaseRectsWalker::SubtreeVisitFlags)
kis_types.h
Private
Definition
SvgTransformParser.cpp:20
KisAsyncAnimationRendererBase
Definition
KisAsyncAnimationRendererBase.cpp:24
KisAsyncAnimationRendererBase::sigFrameCancelled
void sigFrameCancelled(int frame, KisAsyncAnimationRendererBase::CancelReason cancelReason)
KisAsyncAnimationRendererBase::frameCancelledCallback
virtual void frameCancelledCallback(int frame, CancelReason cancelReason)=0
frameCancelledCallback is called when the rendering of the frame was cancelled.
KisAsyncAnimationRendererBase::CancelReason
CancelReason
Definition
KisAsyncAnimationRendererBase.h:40
KisAsyncAnimationRendererBase::RenderingFailed
@ RenderingFailed
Definition
KisAsyncAnimationRendererBase.h:42
KisAsyncAnimationRendererBase::requestedImage
KisImageSP requestedImage() const
KisAsyncAnimationRendererBase::frameCompletedCallback
virtual void frameCompletedCallback(int frame, const KisRegion &requestedRegion)=0
frameCompletedCallback is called by the renderer when a new frame becomes ready
KisAsyncAnimationRendererBase::Flag
Flag
Definition
KisAsyncAnimationRendererBase.h:34
KisAsyncAnimationRendererBase::m_d
const QScopedPointer< Private > m_d
Definition
KisAsyncAnimationRendererBase.h:150
KisAsyncAnimationRendererBase::sigFrameCompleted
void sigFrameCompleted(int frame)
libs
ui
KisAsyncAnimationRendererBase.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52