Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_node_progress_proxy.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2008 Cyrille Berger <cberger@cberger.net>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8
9#include <QApplication>
10
11#include "kis_node.h"
12
13struct Q_DECL_HIDDEN KisNodeProgressProxy::Private {
15 : minimum(0)
16 , maximum(100)
17 , value(100)
18 , percentage(-1)
19 {
20 }
21
25 int value;
27
29 int old_percentage = percentage;
30 if (value == maximum) {
31 percentage = -1;
32 } else if (minimum == maximum && minimum == 0) {
33 percentage = 0;
34 } else {
35 percentage = (100 * (value - minimum)) / (maximum - minimum);
36 percentage = qBound(0, percentage, 100);
37 }
38 return old_percentage != percentage;
39 }
40};
41
43 : d(new Private)
44{
45 d->node = _node;
46}
47
52
54{
55 d->node = 0;
56}
57
58
60{
61 return d->maximum;
62}
63
65{
66 return d->percentage;
67}
68
70{
71 d->value = _value;
72 if (d->node && d->computePercentage()) {
73 emit(percentageChanged(d->percentage, d->node));
74 }
75}
76
77void KisNodeProgressProxy::setRange(int _minimum, int _maximum)
78{
79 d->minimum = _minimum;
80 d->maximum = _maximum;
81 if (d->node && d->computePercentage()) {
82 emit(percentageChanged(d->percentage, d->node));
83 }
84}
85
86void KisNodeProgressProxy::setFormat(const QString & _format)
87{
88 Q_UNUSED(_format);
89}
float value(const T *src, size_t ch)
void percentageChanged(int _percentage, const KisNodeSP &_node)
void setFormat(const QString &format) override
void setValue(int value) override
void setRange(int minimum, int maximum) override