Private
Public Access
1
0

Fix animation clamping issues

This commit is contained in:
2025-06-17 00:53:37 -07:00
parent 54ca001892
commit 16102f9f94

View File

@@ -273,6 +273,9 @@ private class ChatItemAnimation
private double duration = 0.0;
private Gdk.FrameClock frame_clock = null;
delegate double EaseFunction(double t);
private EaseFunction ease_function = ease_out_quart;
public ChatItemAnimation(Gdk.FrameClock frame_clock) {
this.frame_clock = frame_clock;
progress = 0.0f;
@@ -285,7 +288,9 @@ private class ChatItemAnimation
}
public void tick_animation() {
progress = ease_out_quart((frame_clock.get_frame_time() - start_time) / (duration * 1000000.0));
double t = (frame_clock.get_frame_time() - start_time) / (duration * 1000000.0);
t = double.min(1.0, double.max(0.0, t));
progress = ease_function(t);
}
private static double ease_out_quart(double t) {