From 316d054935620744bae9554498b20f3c244d6b68 Mon Sep 17 00:00:00 2001 From: Gabriel Ozouf Date: Wed, 2 Dec 2020 12:32:29 +0100 Subject: [PATCH] [sequence] Restore margins on the sequence graph --- apps/sequence/graph/curve_view_range.h | 1 + apps/shared/interactive_curve_view_range.cpp | 2 +- apps/shared/interactive_curve_view_range.h | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/sequence/graph/curve_view_range.h b/apps/sequence/graph/curve_view_range.h index 93561f3a9..42cef213c 100644 --- a/apps/sequence/graph/curve_view_range.h +++ b/apps/sequence/graph/curve_view_range.h @@ -10,6 +10,7 @@ public: CurveViewRange(Shared::InteractiveCurveViewRangeDelegate * delegate = nullptr); void normalize(bool forceChangeY = false) override; private: + virtual bool defaultRangeCriteria() const override { return false; } constexpr static float k_displayLeftMarginRatio = 0.1f; }; diff --git a/apps/shared/interactive_curve_view_range.cpp b/apps/shared/interactive_curve_view_range.cpp index 17fd8ede7..8e2739a42 100644 --- a/apps/shared/interactive_curve_view_range.cpp +++ b/apps/shared/interactive_curve_view_range.cpp @@ -183,7 +183,7 @@ void InteractiveCurveViewRange::setDefault() { m_delegate->interestingRanges(this); /* If the horizontal bounds are integers, they are preset values and should * not be changed. */ - bool isDefaultRange = (xMin() == std::round(xMin())) && (xMax() == std::round(xMax())); + bool isDefaultRange = defaultRangeCriteria(); // Add margins, then round limits. float newXMin = xMin(), newXMax = xMax(); diff --git a/apps/shared/interactive_curve_view_range.h b/apps/shared/interactive_curve_view_range.h index 1c89c9e2c..52718eaac 100644 --- a/apps/shared/interactive_curve_view_range.h +++ b/apps/shared/interactive_curve_view_range.h @@ -78,6 +78,8 @@ protected: * 2 * 1 unit -> 10.0mm * So normalizedYHalfRange = 43.2mm * 170/240 * 1 unit / 10.0mm */ constexpr static float NormalizedYHalfRange(float unit) { return 3.06f * unit; } + virtual bool defaultRangeCriteria() const { return (xMin() == std::round(xMin())) && (xMax() == std::round(xMax())); } + InteractiveCurveViewRangeDelegate * m_delegate; private: float offscreenYAxis() const override { return m_offscreenYAxis; }