diff --git a/include/nana/gui/timer.hpp b/include/nana/gui/timer.hpp index 9ae26f32..169f0f76 100644 --- a/include/nana/gui/timer.hpp +++ b/include/nana/gui/timer.hpp @@ -38,6 +38,9 @@ namespace nana timer& operator=(timer&&) = delete; public: timer(); + timer(unsigned int ms) : timer{} { interval(ms); } /// Accepts an initial interval in ms + template /// Accepts an initial interval in any chrono unit + explicit timer(std::chrono::duration const & time) : timer{} { interval(time); } ~timer(); @@ -53,7 +56,17 @@ namespace nana void stop(); void interval(unsigned milliseconds); ///< Set the duration between calls (millisec ??) + template + inline void interval(std::chrono::duration const & time_interval) ///< Set the duration between calls, accepts std::chrono + { + interval(std::chrono::duration_cast(time_interval).count()); + } unsigned interval() const; + template + inline Duration interval() const + { + return std::chrono::duration_cast(std::chrono::milliseconds(interval)); + } private: nana::basic_event elapse_; implement * const impl_;