00001 /*======================================================================= 00002 ** VSG_COPYRIGHT_TAG 00003 **=======================================================================*/ 00004 00005 #ifndef WINTIMER_H 00006 #define WINTIMER_H 00007 00008 #include <Inventor/sensors/SoSensor.h> 00009 #include <Inventor/sensors/SoSystemTimer.h> 00010 #include <Inventor/misc/SoRef.h> 00011 #include <windows.h> 00012 00018 class WINVIEWERCOMPONENTS_API WinTimer : public SoSystemTimer 00019 { 00020 00021 public: 00022 00026 WinTimer(); 00027 00031 virtual void start(); 00032 00036 virtual void stop(); 00037 00041 virtual void setDelay(int time); 00042 00046 virtual bool isPending() const; 00047 00051 virtual void setRepeat(bool flag); 00052 00056 virtual void setTask(SoSystemTimerTask* task); 00057 00061 void timeOut(); 00062 00063 private: 00064 00065 SoRef<SoSystemTimerTask> m_task; 00066 int m_delay; 00067 bool m_singleShot; 00068 bool m_started; 00069 HANDLE m_timer; 00070 }; 00071 00072 #endif //WINTIMER_H 00073