Bläddra i källkod

Reviewed GetCurrentTime() -IN PROGRESS-

Time measure on Windows platform done with:
QueryPerformanceCounter()
Testing required!
raysan5 10 år sedan
förälder
incheckning
3bd7109d8b
1 ändrade filer med 27 tillägg och 1 borttagningar
  1. 27 1
      src/gestures.c

+ 27 - 1
src/gestures.c

@@ -35,7 +35,10 @@
 #include <stdint.h>             // Defines int32_t, int64_t
 
 #if defined(_WIN32)
-    //#include <Windows.h>
+    //#define WIN32_LEAN_AND_MEAN
+    //#include <Windows.h>        // 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 <time.h>           // 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)