Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_progress_update_helper.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2013 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#ifndef __KIS_PROGRESS_UPDATE_HELPER_H
8
#define __KIS_PROGRESS_UPDATE_HELPER_H
9
10
#include <
KoUpdater.h
>
11
#include <
kis_types.h
>
12
13
class
KisProgressUpdateHelper
{
14
public
:
15
KisProgressUpdateHelper
(
KoUpdaterPtr
progressUpdater,
int
portion,
int
numSteps)
16
:
m_progressUpdater
(progressUpdater),
17
m_baseProgress
(0),
18
m_portion
(portion),
19
m_currentStep
(0),
20
m_numSteps
(numSteps),
21
m_lastReportedLocalProgress
(-1)
22
{
23
if
(
m_progressUpdater
) {
24
m_baseProgress
=
m_progressUpdater
->progress();
25
}
26
}
27
28
~KisProgressUpdateHelper
() {
29
if
(
m_progressUpdater
) {
30
m_progressUpdater
->setProgress(
m_baseProgress
+
m_portion
);
31
}
32
}
33
34
void
step
() {
35
int
localProgress =
m_numSteps
?
36
m_portion
* (++
m_currentStep
) /
m_numSteps
:
m_portion
;
37
38
if
(
m_progressUpdater
&&
m_lastReportedLocalProgress
!= localProgress) {
39
m_lastReportedLocalProgress
= localProgress;
40
m_progressUpdater
->setProgress(
m_baseProgress
+ localProgress);
41
}
42
// TODO: handle interrupted processing (connect to other layers, i.e. undo)
43
}
44
45
private
:
46
KoUpdaterPtr
m_progressUpdater
;
47
int
m_baseProgress
;
48
int
m_portion
;
49
int
m_currentStep
;
50
int
m_numSteps
;
51
int
m_lastReportedLocalProgress
;
52
};
53
54
#endif
/* __KIS_PROGRESS_UPDATE_HELPER_H */
KoUpdater.h
KisProgressUpdateHelper
Definition
kis_progress_update_helper.h:13
KisProgressUpdateHelper::m_baseProgress
int m_baseProgress
Definition
kis_progress_update_helper.h:47
KisProgressUpdateHelper::KisProgressUpdateHelper
KisProgressUpdateHelper(KoUpdaterPtr progressUpdater, int portion, int numSteps)
Definition
kis_progress_update_helper.h:15
KisProgressUpdateHelper::step
void step()
Definition
kis_progress_update_helper.h:34
KisProgressUpdateHelper::m_numSteps
int m_numSteps
Definition
kis_progress_update_helper.h:50
KisProgressUpdateHelper::m_currentStep
int m_currentStep
Definition
kis_progress_update_helper.h:49
KisProgressUpdateHelper::m_progressUpdater
KoUpdaterPtr m_progressUpdater
Definition
kis_progress_update_helper.h:46
KisProgressUpdateHelper::m_portion
int m_portion
Definition
kis_progress_update_helper.h:48
KisProgressUpdateHelper::m_lastReportedLocalProgress
int m_lastReportedLocalProgress
Definition
kis_progress_update_helper.h:51
KisProgressUpdateHelper::~KisProgressUpdateHelper
~KisProgressUpdateHelper()
Definition
kis_progress_update_helper.h:28
QPointer< KoUpdater >
kis_types.h
libs
image
kis_progress_update_helper.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52