Files
NXKit/Submodules/UIKit/include/UIScrollViewExtensions/DecelerationTimingParameters.h
T
Daniil Vinogradov c011de5ceb WIP: ScrollView
2025-01-24 22:02:46 +01:00

32 lines
864 B
C++

//
// Created by Даниил Виноградов on 24.01.2025.
//
#pragma once
#include <Geometry.h>
#include <Timer.h>
namespace NXKit {
struct DecelerationTimingParameters {
public:
NXPoint initialValue;
NXPoint initialVelocity;
NXFloat decelerationRate;
NXFloat threshold;
DecelerationTimingParameters(NXPoint initialValue, NXPoint initialVelocity, NXFloat decelerationRate, NXFloat threshold):
initialValue(initialValue),
initialVelocity(initialVelocity),
decelerationRate(decelerationRate),
threshold(threshold) { }
[[nodiscard]] NXPoint destination() const;
[[nodiscard]] NXFloat duration() const;
[[nodiscard]] NXPoint valueAt(float time) const;
[[nodiscard]] NXFloat durationTo(NXPoint value) const;
[[nodiscard]] NXPoint velocityAt(NXFloat time) const;
};
}