Split timer into header and implementation file
This commit is contained in:
		@@ -3,33 +3,26 @@ extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef _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 */
 | 
			
		||||
 | 
			
		||||
typedef struct Timer {
 | 
			
		||||
typedef struct Timer_s {
 | 
			
		||||
    double start_time;   // Start time (seconds)
 | 
			
		||||
    double lifetime;    // Lifetime (seconds)
 | 
			
		||||
} Timer;
 | 
			
		||||
 | 
			
		||||
Timer timer_init(double lifetime_secs)
 | 
			
		||||
{
 | 
			
		||||
    Timer timer;
 | 
			
		||||
    timer.start_time = GetTime();
 | 
			
		||||
    timer.lifetime = lifetime_secs;
 | 
			
		||||
    
 | 
			
		||||
    return timer;
 | 
			
		||||
}
 | 
			
		||||
/* Starts a timer for given number of seconds */
 | 
			
		||||
Timer timer_init(double lifetime_secs);
 | 
			
		||||
 | 
			
		||||
bool timer_done(Timer timer)
 | 
			
		||||
{
 | 
			
		||||
    return GetTime() - timer.start_time >= timer.lifetime;
 | 
			
		||||
}
 | 
			
		||||
/* Returns true when timer finishes, false if not */
 | 
			
		||||
bool timer_done(Timer timer);
 | 
			
		||||
 | 
			
		||||
double timer_get_elapsed(Timer timer)
 | 
			
		||||
{
 | 
			
		||||
    return GetTime() - timer.start_time;
 | 
			
		||||
}
 | 
			
		||||
/* Returns amount of time elapsed since start of timer */
 | 
			
		||||
double timer_get_elapsed(Timer timer);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#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