Split timer into header and implementation file
This commit is contained in:
@@ -3,33 +3,26 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
#ifndef _TIMER_H
|
#ifndef _TIMER_H
|
||||||
#define _TIMER_H
|
#define _TIMER_H
|
||||||
/* This file defines a simple timer struct, and methods to initialize it,
|
|
||||||
and keep track of time elapsed.
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
/* This file defines a simple timer Types, and declares functions to initialize it,
|
||||||
|
and keep track of time elapsed. The actual definition of the Timer struct is in timer.c
|
||||||
It was copied from https://github.com/raysan5/raylib/wiki/Frequently-Asked-Questions#how-do-i-make-a-timer */
|
It was copied from https://github.com/raysan5/raylib/wiki/Frequently-Asked-Questions#how-do-i-make-a-timer */
|
||||||
|
|
||||||
typedef struct Timer {
|
typedef struct Timer_s {
|
||||||
double start_time; // Start time (seconds)
|
double start_time; // Start time (seconds)
|
||||||
double lifetime; // Lifetime (seconds)
|
double lifetime; // Lifetime (seconds)
|
||||||
} Timer;
|
} Timer;
|
||||||
|
|
||||||
Timer timer_init(double lifetime_secs)
|
/* Starts a timer for given number of seconds */
|
||||||
{
|
Timer timer_init(double lifetime_secs);
|
||||||
Timer timer;
|
|
||||||
timer.start_time = GetTime();
|
|
||||||
timer.lifetime = lifetime_secs;
|
|
||||||
|
|
||||||
return timer;
|
/* Returns true when timer finishes, false if not */
|
||||||
}
|
bool timer_done(Timer timer);
|
||||||
|
|
||||||
bool timer_done(Timer timer)
|
/* Returns amount of time elapsed since start of timer */
|
||||||
{
|
double timer_get_elapsed(Timer timer);
|
||||||
return GetTime() - timer.start_time >= timer.lifetime;
|
|
||||||
}
|
|
||||||
|
|
||||||
double timer_get_elapsed(Timer timer)
|
|
||||||
{
|
|
||||||
return GetTime() - timer.start_time;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
19
timer.c
Normal file
19
timer.c
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#include <stdbool.h>
|
||||||
|
#include "includes/timer.h"
|
||||||
|
#include "includes/raygui/raygui.h"
|
||||||
|
|
||||||
|
Timer timer_init(double lifetime_secs) {
|
||||||
|
Timer timer;
|
||||||
|
timer.start_time = GetTime();
|
||||||
|
timer.lifetime = lifetime_secs;
|
||||||
|
|
||||||
|
return timer;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool timer_done(Timer timer) {
|
||||||
|
return GetTime() - timer.start_time >= timer.lifetime;
|
||||||
|
}
|
||||||
|
|
||||||
|
double timer_get_elapsed(Timer timer) {
|
||||||
|
return GetTime() - timer.start_time;
|
||||||
|
}
|
Reference in New Issue
Block a user