double ScrollAnimatorNone::PerAxisData::coastCurve(Curve curve, double factor) { return 1 - curveAt(curve, 1 - factor); }
double ScrollAnimatorNone::PerAxisData::releaseCurve(Curve curve, double deltaTime, double curveT, double releasePosition, double desiredPosition) { double t = deltaTime / curveT; double positionFactor = 1 - curveAt(curve, 1 - t); return releasePosition + (positionFactor * (desiredPosition - releasePosition)); }
double ScrollAnimatorNone::PerAxisData::attackCurve(Curve curve, double deltaTime, double curveT, double startPosition, double attackPosition) { double t = deltaTime / curveT; double positionFactor = curveAt(curve, t); return startPosition + positionFactor * (attackPosition - startPosition); }
static inline double coastCurve(ScrollAnimationSmooth::Curve curve, double factor) { return 1 - curveAt(curve, 1 - factor); }
static inline double releaseCurve(ScrollAnimationSmooth::Curve curve, double deltaTime, double curveT, double releasePosition, double desiredPosition) { double t = deltaTime / curveT; double positionFactor = 1 - curveAt(curve, 1 - t); return releasePosition + (positionFactor * (desiredPosition - releasePosition)); }
static inline double attackCurve(ScrollAnimationSmooth::Curve curve, double deltaTime, double curveT, double startPosition, double attackPosition) { double t = deltaTime / curveT; double positionFactor = curveAt(curve, t); return startPosition + positionFactor * (attackPosition - startPosition); }