summaryrefslogtreecommitdiffstats
path: root/src/curveeditor/animationcurve.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/curveeditor/animationcurve.cpp')
-rw-r--r--src/curveeditor/animationcurve.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/curveeditor/animationcurve.cpp b/src/curveeditor/animationcurve.cpp
index acb64ce..8e2d522 100644
--- a/src/curveeditor/animationcurve.cpp
+++ b/src/curveeditor/animationcurve.cpp
@@ -39,7 +39,8 @@ AnimationCurve::AnimationCurve(const std::vector<Keyframe> &frames)
, m_minY(std::numeric_limits<double>::max())
, m_maxY(std::numeric_limits<double>::lowest())
{
- if (m_frames.size() >= 2) {
+ if (isValid()) {
+
for (auto e : extrema()) {
if (m_minY > e.y())
@@ -48,12 +49,20 @@ AnimationCurve::AnimationCurve(const std::vector<Keyframe> &frames)
if (m_maxY < e.y())
m_maxY = e.y();
}
+
+ for (auto &frame : qAsConst(m_frames)) {
+ if (frame.position().y() < m_minY)
+ m_minY = frame.position().y();
+
+ if (frame.position().y() > m_maxY)
+ m_maxY = frame.position().y();
+ }
}
}
bool AnimationCurve::isValid() const
{
- return !m_frames.empty();
+ return m_frames.size() >= 2;
}
double AnimationCurve::minimumTime() const