From 3c721273c0fb8f38611272bf7ca541af487bca06 Mon Sep 17 00:00:00 2001 From: Adrian Scripca Date: Sat, 23 Apr 2022 18:30:16 +0300 Subject: [PATCH] Added timer --- src/CMakeLists.txt | 2 ++ src/timer.cpp | 23 +++++++++++++++++++++++ src/timer.h | 20 ++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 src/timer.cpp create mode 100644 src/timer.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d5cee80..3b1127c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,6 +9,7 @@ set(HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/shader.h ${CMAKE_CURRENT_SOURCE_DIR}/texture.h ${CMAKE_CURRENT_SOURCE_DIR}/texture_generator.h + ${CMAKE_CURRENT_SOURCE_DIR}/timer.h PARENT_SCOPE ) @@ -21,5 +22,6 @@ set(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/shader.cpp ${CMAKE_CURRENT_SOURCE_DIR}/texture.cpp ${CMAKE_CURRENT_SOURCE_DIR}/texture_generator.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/timer.cpp PARENT_SCOPE ) diff --git a/src/timer.cpp b/src/timer.cpp new file mode 100644 index 0000000..f8f4e9b --- /dev/null +++ b/src/timer.cpp @@ -0,0 +1,23 @@ +#include "timer.h" + +BEGIN_NAMESPACE + +timer::timer() { + start_time = std::chrono::system_clock::now(); + last_lap_time = start_time; +} + +double timer::seconds_since_start() { + std::chrono::time_point now = std::chrono::system_clock::now(); + std::chrono::duration elapsed_seconds = now - start_time; + return elapsed_seconds.count(); +} + +double timer::lap() { + std::chrono::time_point now = std::chrono::system_clock::now(); + std::chrono::duration elapsed_seconds = now - last_lap_time; + last_lap_time = now; + return elapsed_seconds.count(); +} + +END_NAMESPACE diff --git a/src/timer.h b/src/timer.h new file mode 100644 index 0000000..03c0b8b --- /dev/null +++ b/src/timer.h @@ -0,0 +1,20 @@ +#pragma once + +#include "defines.h" +#include + +BEGIN_NAMESPACE + +class timer { +public: + timer(); + + double seconds_since_start(); + double lap(); + +private: + std::chrono::time_point start_time; + std::chrono::time_point last_lap_time; +}; + +END_NAMESPACE \ No newline at end of file