/////////////////////////////////////////////////////////////////////////////
// Name: timer.h
-// Purpose:
-// Author: Robert Roebling
-// Created: 01/02/97
-// Id:
-// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
-// Licence: wxWindows licence
+// Purpose: wxTimer class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
-#ifndef __GTKTIMERH__
-#define __GTKTIMERH__
+#ifndef _WX_TIMER_H_
+#define _WX_TIMER_H_
#ifdef __GNUG__
-#pragma interface
+#pragma interface "timer.h"
#endif
-#include "wx/defs.h"
#include "wx/object.h"
-//-----------------------------------------------------------------------------
-// derived classes
-//-----------------------------------------------------------------------------
+class WXDLLEXPORT wxTimer: public wxObject
+{
+public:
+ wxTimer();
+ ~wxTimer();
-class wxTimer;
+ virtual bool Start(int milliseconds = -1,
+ bool one_shot = FALSE); // Start timer
+ virtual void Stop(); // Stop timer
-//-----------------------------------------------------------------------------
-// wxTimer
-//-----------------------------------------------------------------------------
+ virtual void Notify() = 0; // Override this member
-class wxTimer: public wxObject
-{
- DECLARE_DYNAMIC_CLASS(wxTimer)
-
- public:
-
- wxTimer(void);
- ~wxTimer(void);
- int Interval(void);
- bool OneShot(void);
- virtual void Notify(void);
- void Start( int millisecs = -1, bool oneShot = FALSE );
- void Stop(void);
-
- private:
-
- int m_time;
- bool m_oneShot;
+ // Returns the current interval time (0 if stop)
+ int Interval() const { return milli; };
+ bool OneShot() const { return oneShot; }
+
+protected:
+ bool oneShot ;
+ int milli ;
+ int lastMilli ;
+
+ long id;
+
+private:
+ DECLARE_ABSTRACT_CLASS(wxTimer)
};
-#endif // __GTKTIMERH__
+/* Note: these are implemented in common/timercmn.cpp, so need to implement them separately.
+ * But you may need to modify timercmn.cpp.
+ */
+
+// Timer functions (milliseconds)
+void WXDLLEXPORT wxStartTimer();
+// Gets time since last wxStartTimer or wxGetElapsedTime
+long WXDLLEXPORT wxGetElapsedTime(bool resetTimer = TRUE);
+
+// EXPERIMENTAL: comment this out if it doesn't compile.
+bool WXDLLEXPORT wxGetLocalTime(long *timeZone, int *dstObserved);
+
+// Get number of seconds since 00:00:00 GMT, Jan 1st 1970.
+long WXDLLEXPORT wxGetCurrentTime();
+
+#endif
+ // _WX_TIMER_H_