// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_TIMER_H_
#define _WX_TIMER_H_
-#ifdef __GNUG__
-#pragma interface "timer.h"
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
+ #pragma interface "timer.h"
#endif
-#include "wx/object.h"
-
-class WXDLLEXPORT wxTimer : public wxObject
+class WXDLLEXPORT wxTimer : public wxTimerBase
{
+friend void wxProcessTimer(wxTimer& timer);
+
public:
- wxTimer();
+ wxTimer() { Init(); }
+ wxTimer(wxEvtHandler *owner, int id = wxID_ANY) : wxTimerBase(owner, id)
+ { Init(); }
~wxTimer();
- virtual bool Start(int milliseconds = -1,
- bool one_shot = FALSE); // Start timer
- virtual void Stop(); // Stop timer
+ virtual bool Start(int milliseconds = -1, bool oneShot = false);
+ virtual void Stop();
- virtual void Notify() = 0; // Override this member
+ virtual bool IsRunning() const { return m_id != 0; }
- // Returns the current interval time (0 if stop)
- int Interval() const { return milli; };
- bool OneShot() const { return oneShot; }
-
-public:
- bool oneShot ;
- int milli ;
- int lastMilli ;
+protected:
+ void Init();
- long id;
+ unsigned long m_id;
private:
- DECLARE_ABSTRACT_CLASS(wxTimer)
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxTimer)
};
-// 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_TIMERH_