00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
#ifndef __INCLUDE_TIMER_H__
00028
#define __INCLUDE_TIMER_H__
00029
00030
#ifdef _WIN32
00031
#define WIN32_LEAN_AND_MEAN
00032
#include <windows.h>
00033
#else
00034
#include <sys/time.h>
00035
#endif
00036
00037
#ifdef __cplusplus
00038
extern "C" {
00039
#endif
00040
00044 typedef enum TimerMode
00045 {
00046
TIMER_TICKS,
00047
TIMER_SECS,
00048
TIMER_FPS
00049 }
TimerMode;
00050
00054 typedef struct Timer
00055 {
00056
#ifdef _WIN32
00057
LARGE_INTEGER
tm;
00058 LARGE_INTEGER
freq;
00059 LARGE_INTEGER
elapsed;
00060
#else
00061 struct timeval tm;
00062 unsigned long freq;
00063 unsigned long elapsed;
00064
#endif
00065 char stopped;
00066 }
Timer;
00067
00068
00069
00070
void TimerStart(
Timer* t);
00071
double TimerElapsed(
Timer* t, TimerMode mode);
00072
double TimerEnd(
Timer* t, TimerMode mode);
00073
00074
#ifdef __cplusplus
00075
}
00076
#endif
00077
00078
#endif
00079