Files
oak-editor/app/widget/timelinewidget/timelinescaledobject.cpp
T

38 lines
794 B
C++

#include "timelinescaledobject.h"
TimelineScaledObject::TimelineScaledObject() :
scale_(1.0)
{
}
const rational &TimelineScaledObject::timebase()
{
return timebase_;
}
const double &TimelineScaledObject::timebase_dbl()
{
return timebase_dbl_;
}
double TimelineScaledObject::TimeToScene(const rational &time)
{
return time.toDouble() * scale_;
}
rational TimelineScaledObject::SceneToTime(const double &x)
{
// Adjust screen point by scale and timebase
qint64 scaled_x_mvmt = qRound64(x / scale_ / timebase_dbl_);
// Return a time in the timebase
return rational(scaled_x_mvmt * timebase_.numerator(), timebase_.denominator());
}
void TimelineScaledObject::SetTimebaseInternal(const rational &timebase)
{
timebase_ = timebase;
timebase_dbl_ = timebase_.toDouble();
}