]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/timer.h
a728aede1781dfc49b0a886ae9a1268c09826b5c
[wxWidgets.git] / include / wx / msw / timer.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: timer.h
3 // Purpose: wxTimer class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_TIMER_H_
13 #define _WX_TIMER_H_
14
15 #ifdef __GNUG__
16 #pragma interface "timer.h"
17 #endif
18
19 #include "wx/object.h"
20 #include <windows.h>
21
22
23 class WXDLLEXPORT wxTimer : public wxObject
24 {
25 public:
26 wxTimer();
27 ~wxTimer();
28
29 virtual bool Start(int milliseconds = -1,
30 bool one_shot = FALSE); // Start timer
31 virtual void Stop(); // Stop timer
32
33 virtual void Notify() = 0; // Override this member
34
35 // Returns the current interval time (0 if stop)
36 int Interval() const { return milli; };
37 bool OneShot() const { return oneShot; }
38
39 public:
40 bool oneShot ;
41 int milli ;
42 int lastMilli ;
43
44 long id;
45
46 private:
47 DECLARE_ABSTRACT_CLASS(wxTimer)
48
49 friend UINT WINAPI wxTimerProc(HWND WXUNUSED(hwnd), WORD, int idTimer, DWORD);
50 };
51
52 // Timer functions (milliseconds)
53 void WXDLLEXPORT wxStartTimer();
54 // Gets time since last wxStartTimer or wxGetElapsedTime
55 long WXDLLEXPORT wxGetElapsedTime(bool resetTimer = TRUE);
56
57 // EXPERIMENTAL: comment this out if it doesn't compile.
58 bool WXDLLEXPORT wxGetLocalTime(long *timeZone, int *dstObserved);
59
60 // Get number of seconds since 00:00:00 GMT, Jan 1st 1970.
61 long WXDLLEXPORT wxGetCurrentTime();
62
63 #endif
64 // _WX_TIMERH_