view src/timer.c @ 9:07f0e2f43204

*: add the restrict keyword when necessary also fixed some typos in the README
author Paper
date Fri, 16 Dec 2022 21:55:37 -0500
parents be4835547dd0
children 42ac054c0231
line wrap: on
line source

#include <assert.h>
#ifndef WIN32_LEAN_AND_MEAN
#  define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#include "timer.h"

void timer_init(struct timer* restrict timer, HWND winampClientWindow, TIMERPROC timer_proc) {
	timer->winampClientWindow = winampClientWindow;
	timer->timer_proc = timer_proc;
	timer->initialized = 1;
}

void timer_set(struct timer* restrict timer, HWND winampClientWindow) {
	assert(timer->initialized);

	if (timer->is_timer_alive)
		return;

	timer->is_timer_alive = 1;
	SetTimer(winampClientWindow, 1, timer->interval, timer->timer_proc);
}

void timer_stop(struct timer* restrict timer, HWND winampClientWindow) {
	assert(timer->initialized);

	if (!timer->is_timer_alive)
		return;

	timer->is_timer_alive = 0;
	KillTimer(winampClientWindow, 1);
}