X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/651548666aa3bb4129c3297c71db1051ed76a6bb..8626e0b73de21463908bf855700c31e41c661b30:/src/generic/timer.cpp?ds=sidebyside diff --git a/src/generic/timer.cpp b/src/generic/timer.cpp index cd39aaac34..35dae55a81 100644 --- a/src/generic/timer.cpp +++ b/src/generic/timer.cpp @@ -34,58 +34,22 @@ // Time input function // ---------------------------------------------------------------------------- -#ifdef __WXMGL__ - // We take advantage of wxMGL's _EVT_getTicks because it is faster - // (especially under MS-DOS!) and more precise than wxGetLocalTimeMillis - // if we are unlucky and the latter combines information from two sources. - #include "wx/mgl/private.h" - extern "C" ulong _EVT_getTicks(); - #define GetMillisecondsTime _EVT_getTicks - - typedef ulong wxTimerTick_t; - - #define wxTimerTickFmtSpec wxT("lu") - #define wxTimerTickPrintfArg(tt) (tt) - - #ifdef __DOS__ - // Under DOS the MGL timer has a 24hr period, so consider the 12 hours - // before y to be 'less' and the the 12 hours after 'greater' modulo - // 24 hours. - inline bool wxTickGreaterEqual(wxTimerTick_t x, wxTimerTick_t y) - { - // _EVT_getTicks wraps at 1573040 * 55 - const wxTimerTick_t modulus = 1573040 * 55; - return (2 * modulus + x - y) % modulus < modulus / 2; - } - #else - // If wxTimerTick_t is 32-bits then it'll wrap in around 50 days. So - // let the 25 days before y be 'less' and 25 days after be 'greater'. - inline bool wxTickGreaterEqual(wxTimerTick_t x, wxTimerTick_t y) - { - // This code assumes wxTimerTick_t is an unsigned type. - // Set half_modulus with top bit set and the rest zeros. - const wxTimerTick_t half_modulus = ~((~(wxTimerTick_t)0) >> 1); - return x - y < half_modulus; - } - #endif -#else // !__WXMGL__ - #define GetMillisecondsTime wxGetLocalTimeMillis +#define GetMillisecondsTime wxGetLocalTimeMillis - typedef wxLongLong wxTimerTick_t; +typedef wxLongLong wxTimerTick_t; - #if wxUSE_LONGLONG_WX - #define wxTimerTickFmtSpec wxLongLongFmtSpec "d" - #define wxTimerTickPrintfArg(tt) (tt.GetValue()) - #else // using native wxLongLong - #define wxTimerTickFmtSpec wxT("s") - #define wxTimerTickPrintfArg(tt) (tt.ToString().c_str()) - #endif // wx/native long long +#if wxUSE_LONGLONG_WX + #define wxTimerTickFmtSpec wxLongLongFmtSpec "d" + #define wxTimerTickPrintfArg(tt) (tt.GetValue()) +#else // using native wxLongLong + #define wxTimerTickFmtSpec wxT("s") + #define wxTimerTickPrintfArg(tt) (tt.ToString().c_str()) +#endif // wx/native long long - inline bool wxTickGreaterEqual(wxTimerTick_t x, wxTimerTick_t y) - { - return x >= y; - } -#endif // __WXMGL__/!__WXMGL__ +inline bool wxTickGreaterEqual(wxTimerTick_t x, wxTimerTick_t y) +{ + return x >= y; +} // ---------------------------------------------------------------------------- // helper structures and wxTimerScheduler @@ -273,7 +237,7 @@ DECLARE_DYNAMIC_CLASS(wxTimerModule) public: wxTimerModule() {} bool OnInit() { return true; } - void OnExit() { delete gs_scheduler; gs_scheduler = NULL; } + void OnExit() { wxDELETE(gs_scheduler); } }; IMPLEMENT_DYNAMIC_CLASS(wxTimerModule, wxModule)