44ceea7 ยท 1 month ago 7 commits
 1#include "fade.h"
 2#include "swaylock.h"
 3#include <stdlib.h>
 4
 5void fade_update(struct swaylock_fade *fade, uint32_t time) {
 6	if (fade->current_time >= fade->target_time) {
 7		return;
 8	}
 9
10	double delta = 0;
11	if (fade->old_time != 0) {
12		delta = time - fade->old_time;
13	}
14	fade->old_time = time;
15
16	fade->current_time += delta;
17	if (fade->current_time > fade->target_time) {
18		fade->current_time = fade->target_time;
19	}
20
21	fade->alpha = (double)fade->current_time / (double)fade->target_time;
22}
23
24bool fade_is_complete(struct swaylock_fade *fade) {
25	return fade->target_time == 0 || fade->current_time >= fade->target_time;
26}