/////////////////////////////////////////////////////////////////////////////
// Name: timer.h
// Purpose: wxTimer class
-// Author: AUTHOR
+// Author: David Webster
// Modified by:
-// Created: ??/??/98
+// Created: 10/17/99
// RCS-ID: $Id$
-// Copyright: (c) AUTHOR
-// Licence: wxWindows licence
+// Copyright: (c) David Webster
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_TIMER_H_
#define _WX_TIMER_H_
-#ifdef __GNUG__
-#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* pOwner
+ ,int nId = -1
+ )
+ : wxTimerBase( pOwner
+ ,nId
+ )
+ { Init(); }
~wxTimer();
- virtual bool Start(int milliseconds = -1,
- bool one_shot = FALSE); // Start timer
- virtual void Stop(); // Stop timer
-
- virtual void Notify() = 0; // Override this member
+ virtual void Notify(void);
+ virtual bool Start( int nMilliseconds = -1
+ ,bool bOneShot = FALSE
+ );
+ virtual void Stop(void);
- // Returns the current interval time (0 if stop)
- int Interval() const { return m_milli; };
- bool OneShot() const { return m_oneShot; }
+ inline virtual bool IsRunning(void) const { return m_ulId != 0L; }
+ inline int GetTimerId(void) const { return m_idTimer; }
protected:
- bool m_oneShot ;
- int m_milli ;
- int m_lastMilli ;
+ void Init(void);
- long m_id;
+ ULONG m_ulId;
+ HAB m_Hab;
private:
DECLARE_ABSTRACT_CLASS(wxTimer)
};
-/* 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();
-
+extern ULONG wxTimerProc( HWND WXUNUSED(hwnd)
+ ,ULONG
+ ,int nIdTimer
+ ,ULONG
+ );
#endif
// _WX_TIMER_H_