From 3bd7109d8bd1c408891f7d1cfa4925983547e0cd Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 6 Oct 2015 17:21:04 +0200 Subject: [PATCH] Reviewed GetCurrentTime() -IN PROGRESS- Time measure on Windows platform done with: QueryPerformanceCounter() Testing required! --- src/gestures.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/gestures.c b/src/gestures.c index 27e3830a2..61660571a 100644 --- a/src/gestures.c +++ b/src/gestures.c @@ -35,7 +35,10 @@ #include // Defines int32_t, int64_t #if defined(_WIN32) - //#include + //#define WIN32_LEAN_AND_MEAN + //#include // ISSUE: Rectangle redeclared, CloseWindow/ShowCursor conflicting types +int __stdcall QueryPerformanceCounter(unsigned long long int *lpPerformanceCount); +int __stdcall QueryPerformanceFrequency(unsigned long long int *lpFrequency); #elif defined(__linux) #include // Used for clock functions #endif @@ -546,6 +549,29 @@ static double GetCurrentTime() time = ((double)nowTime/10000000.0); // time in seconds */ +/* + double pcFreq = 0.0; + __int64 counterStart = 0; // In C99 defined a standard 64-bit integer type named int64_t and unsigned version uint64_t in stdint.h. + + //int64_t or uint64_t is type defined as long long or unsigned long long in C99's stdint.h. + + //LARGE_INTEGER li; // Represents a 64-bit signed integer value + //li.QuadPart // A signed 64-bit integer + + unsigned long long int li; // __int64, same as long long + if(!QueryPerformanceFrequency(&li)) return 0; + + pcFreq = (double)(li)/1000.0; + + QueryPerformanceCounter(&li); + counterStart = li; + + unsigned long long int tm; + QueryPerformanceCounter(&tm); + time = (double)(tm - counterStart)/pcFreq; +*/ + unsigned long long int tm, tf; + time = (double)(QueryPerformanceCounter(&tm)/QueryPerformanceFrequency(&tf)); // time in seconds #endif #if defined(__linux)