// TODO(time): // /// Returns the GLFW time. // /// // /// This function returns the current GLFW time, in seconds. Unless the time // /// has been set using @ref glfwSetTime it measures time elapsed since GLFW was // /// initialized. // /// // /// This function and @ref glfwSetTime are helper functions on top of @ref // /// glfwGetTimerFrequency and @ref glfwGetTimerValue. // /// // /// The resolution of the timer is system dependent, but is usually on the order // /// of a few micro- or nanoseconds. It uses the highest-resolution monotonic // /// time source on each supported platform. // /// // /// @return The current time, in seconds, or zero if an // /// error occurred. // /// // /// Possible errors include glfw.Error.NotInitialized. // /// // /// @thread_safety This function may be called from any thread. Reading and // /// writing of the internal base time is not atomic, so it needs to be // /// externally synchronized with calls to @ref glfwSetTime. // /// // /// see also: time // /// // /// // /// @ingroup input // GLFWAPI double glfwGetTime(void); // /// Sets the GLFW time. // /// // /// This function sets the current GLFW time, in seconds. The value must be // /// a positive finite number less than or equal to 18446744073.0, which is // /// approximately 584.5 years. // /// // /// This function and @ref glfwGetTime are helper functions on top of @ref // /// glfwGetTimerFrequency and @ref glfwGetTimerValue. // /// // /// @param[in] time The new value, in seconds. // /// // /// Possible errors include glfw.Error.NotInitialized and glfw.Error.InvalidValue. // /// // /// The upper limit of GLFW time is calculated as // /// floor((264 - 1) / 109) and is due to implementations // /// storing nanoseconds in 64 bits. The limit may be increased in the future. // /// // /// @thread_safety This function may be called from any thread. Reading and // /// writing of the internal base time is not atomic, so it needs to be // /// externally synchronized with calls to @ref glfwGetTime. // /// // /// see also: time // /// // /// // /// @ingroup input // GLFWAPI void glfwSetTime(double time); // /// Returns the current value of the raw timer. // /// // /// This function returns the current value of the raw timer, measured in // /// 1 / frequency seconds. To get the frequency, call @ref // /// glfwGetTimerFrequency. // /// // /// @return The value of the timer, or zero if an // /// error occurred. // /// // /// Possible errors include glfw.Error.NotInitialized. // /// // /// @thread_safety This function may be called from any thread. // /// // /// see also: time, glfwGetTimerFrequency // /// // /// // /// @ingroup input // GLFWAPI uint64_t glfwGetTimerValue(void); // /// Returns the frequency, in Hz, of the raw timer. // /// // /// This function returns the frequency, in Hz, of the raw timer. // /// // /// @return The frequency of the timer, in Hz, or zero if an // /// error occurred. // /// // /// Possible errors include glfw.Error.NotInitialized. // /// // /// @thread_safety This function may be called from any thread. // /// // /// see also: time, glfwGetTimerValue // /// // /// // /// @ingroup input // GLFWAPI uint64_t glfwGetTimerFrequency(void);