timelinescaledobject: implemented minimum scale

Used by Viewer to keep TimeRuler and WaveformView within restrictions.
This commit is contained in:
itsmattkc
2020-03-14 22:34:23 +11:00
parent 7f2dcc8200
commit a56484d3e6
4 changed files with 31 additions and 1 deletions
@@ -3,8 +3,11 @@
#include <cfloat>
#include <QtMath>
#include "common/clamp.h"
TimelineScaledObject::TimelineScaledObject() :
scale_(1.0),
min_scale_(0),
max_scale_(DBL_MAX)
{
@@ -64,6 +67,15 @@ void TimelineScaledObject::SetMaximumScale(const double &max)
}
}
void TimelineScaledObject::SetMinimumScale(const double &min)
{
min_scale_ = min;
if (GetScale() < min_scale_) {
SetScale(min_scale_);
}
}
const double& TimelineScaledObject::GetScale() const
{
return scale_;
@@ -73,7 +85,7 @@ void TimelineScaledObject::SetScale(const double& scale)
{
Q_ASSERT(scale > 0);
scale_ = qMin(scale, max_scale_);
scale_ = clamp(scale, min_scale_, max_scale_);
ScaleChangedEvent(scale_);
}