Krita Source Code Documentation
Loading...
Searching...
No Matches
KisAnimCurvesValuesHeader.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2016 Jouni Pentikäinen <joupent@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#ifndef _KIS_ANIMATION_CURVES_VALUE_RULER_H
8
#define _KIS_ANIMATION_CURVES_VALUE_RULER_H
9
10
#include <QHeaderView>
11
#include "
kis_debug.h
"
12
#include <QtMath>
13
14
const
int
UNIT_SIZE_PIXELS
= 32;
15
16
class
KisAnimCurvesValuesHeader
:
public
QHeaderView
17
{
18
Q_OBJECT
19
20
public
:
21
KisAnimCurvesValuesHeader
(QWidget *parent);
22
~KisAnimCurvesValuesHeader
()
override
;
23
24
void
setScale
(qreal
scale
);
25
qreal
scale
()
const
;
26
27
void
setValueOffset
(qreal
valueOffset
);
28
qreal
valueOffset
()
const
;
29
30
qreal
step
()
const
;
31
37
qreal
valueToWidget
(qreal
value
)
const
;
38
qreal
widgetToValue
(qreal position)
const
;
39
40
inline
qreal
visibleValueMax
()
const
{
41
return
widgetToValue
(
rect
().top());
42
}
43
44
inline
qreal
visibleValueMin
()
const
{
45
return
widgetToValue
(
rect
().bottom());
46
}
47
48
qreal
visibleValueDifference
()
const
;
49
50
void
zoomToFitRange
(qreal min, qreal max);
51
52
inline
qreal
firstVisibleStep
()
const
{
53
const
qreal valueStep =
step
();
54
return
qCeil(
valueOffset
() / valueStep) * valueStep;
55
}
56
57
inline
qreal
pixelsToValueOffset
(
const
int
pixels)
const
{
58
return
(qreal(pixels) * -1 /
scaledUnit
());
59
}
60
61
inline
int
valueToPixelOffset
(
const
qreal
value
)
const
{
62
return
(
value
*
scaledUnit
()) / -1;
63
}
64
65
QSize
sizeHint
()
const override
{
return
QSize(64, 0);}
66
void
paintEvent
(QPaintEvent *e)
override
;
67
68
Q_SIGNALS:
69
void
scaleChanged
(qreal
scale
);
70
void
valueOffsetChanged
(qreal offset);
71
72
protected
:
73
virtual
void
mouseMoveEvent
(QMouseEvent* mouseEvent)
override
;
74
virtual
void
mousePressEvent
(QMouseEvent* mouseEvent)
override
;
75
76
private
:
77
inline
qreal
scaledUnit
()
const
{
78
return
UNIT_SIZE_PIXELS
*
scale
();
79
}
80
81
inline
qreal
pixelsPerStep
(
const
qreal
step
)
const
{
82
return
step
*
scaledUnit
();
83
}
84
85
inline
qreal
roundUpPower10
(qreal
value
)
const
{
86
return
qPow(10.0, (qreal)qCeil(log10(
value
))) / 10.0;
87
}
88
89
inline
qreal
roundDownPower10
(qreal
value
)
const
{
90
return
qPow(10.0, (qreal)qFloor(log10(
value
))) / 10.0;
91
}
92
93
struct
Private
;
94
const
QScopedPointer<Private>
m_d
;
95
};
96
97
#endif
value
float value(const T *src, size_t ch)
Definition
JPEGXLImport.cpp:93
UNIT_SIZE_PIXELS
const int UNIT_SIZE_PIXELS
Definition
KisAnimCurvesValuesHeader.h:14
KisAnimCurvesValuesHeader
Definition
KisAnimCurvesValuesHeader.h:17
KisAnimCurvesValuesHeader::mouseMoveEvent
virtual void mouseMoveEvent(QMouseEvent *mouseEvent) override
Definition
KisAnimCurvesValuesHeader.cpp:164
KisAnimCurvesValuesHeader::valueOffset
qreal valueOffset() const
Definition
KisAnimCurvesValuesHeader.cpp:68
KisAnimCurvesValuesHeader::step
qreal step() const
Definition
KisAnimCurvesValuesHeader.cpp:73
KisAnimCurvesValuesHeader::visibleValueMin
qreal visibleValueMin() const
Definition
KisAnimCurvesValuesHeader.h:44
KisAnimCurvesValuesHeader::visibleValueDifference
qreal visibleValueDifference() const
Definition
KisAnimCurvesValuesHeader.cpp:100
KisAnimCurvesValuesHeader::roundUpPower10
qreal roundUpPower10(qreal value) const
Definition
KisAnimCurvesValuesHeader.h:85
KisAnimCurvesValuesHeader::roundDownPower10
qreal roundDownPower10(qreal value) const
Definition
KisAnimCurvesValuesHeader.h:89
KisAnimCurvesValuesHeader::widgetToValue
qreal widgetToValue(qreal position) const
Definition
KisAnimCurvesValuesHeader.cpp:95
KisAnimCurvesValuesHeader::mousePressEvent
virtual void mousePressEvent(QMouseEvent *mouseEvent) override
Definition
KisAnimCurvesValuesHeader.cpp:187
KisAnimCurvesValuesHeader::valueToWidget
qreal valueToWidget(qreal value) const
valueToWidgetOffset
Definition
KisAnimCurvesValuesHeader.cpp:90
KisAnimCurvesValuesHeader::pixelsPerStep
qreal pixelsPerStep(const qreal step) const
Definition
KisAnimCurvesValuesHeader.h:81
KisAnimCurvesValuesHeader::scaledUnit
qreal scaledUnit() const
Definition
KisAnimCurvesValuesHeader.h:77
KisAnimCurvesValuesHeader::scale
qreal scale() const
Definition
KisAnimCurvesValuesHeader.cpp:56
KisAnimCurvesValuesHeader::paintEvent
void paintEvent(QPaintEvent *e) override
Definition
KisAnimCurvesValuesHeader.cpp:113
KisAnimCurvesValuesHeader::pixelsToValueOffset
qreal pixelsToValueOffset(const int pixels) const
Definition
KisAnimCurvesValuesHeader.h:57
KisAnimCurvesValuesHeader::sizeHint
QSize sizeHint() const override
Definition
KisAnimCurvesValuesHeader.h:65
KisAnimCurvesValuesHeader::~KisAnimCurvesValuesHeader
~KisAnimCurvesValuesHeader() override
Definition
KisAnimCurvesValuesHeader.cpp:45
KisAnimCurvesValuesHeader::valueToPixelOffset
int valueToPixelOffset(const qreal value) const
Definition
KisAnimCurvesValuesHeader.h:61
KisAnimCurvesValuesHeader::valueOffsetChanged
void valueOffsetChanged(qreal offset)
KisAnimCurvesValuesHeader::scaleChanged
void scaleChanged(qreal scale)
KisAnimCurvesValuesHeader::m_d
const QScopedPointer< Private > m_d
Definition
KisAnimCurvesValuesHeader.h:94
KisAnimCurvesValuesHeader::setValueOffset
void setValueOffset(qreal valueOffset)
Definition
KisAnimCurvesValuesHeader.cpp:61
KisAnimCurvesValuesHeader::visibleValueMax
qreal visibleValueMax() const
Definition
KisAnimCurvesValuesHeader.h:40
KisAnimCurvesValuesHeader::zoomToFitRange
void zoomToFitRange(qreal min, qreal max)
Definition
KisAnimCurvesValuesHeader.cpp:105
KisAnimCurvesValuesHeader::firstVisibleStep
qreal firstVisibleStep() const
Definition
KisAnimCurvesValuesHeader.h:52
KisAnimCurvesValuesHeader::setScale
void setScale(qreal scale)
Definition
KisAnimCurvesValuesHeader.cpp:48
KisAnimCurvesValuesHeader::KisAnimCurvesValuesHeader
KisAnimCurvesValuesHeader(QWidget *parent)
Definition
KisAnimCurvesValuesHeader.cpp:37
kis_debug.h
Private
Definition
SvgTransformParser.cpp:20
rect
Definition
xcftools.h:129
plugins
dockers
animation
KisAnimCurvesValuesHeader.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52