46 double _dElapse, _dHold;
51 M_BOOL _bEnabled, _bEvent, _bFired;
56 void (*_pEventHandler)(
void*);
67 inline void enable(M_BOOL bEnable=M_TRUE) { _bEnabled = bEnable; }
70 _bFired = _bEvent = M_TRUE;
74 _nTimeLeft = _dElapse;
81 void parameters(
double dElapse,
double dHold=1, M_BOOL bCyclic=M_FALSE){
88 void setElapseTime(
double sec) { _dElapse = sec; reset();}
89 void setHoldTime(
double sec) { _dHold = sec; reset();}
90 void setCyclic(M_BOOL bCylcic=M_TRUE) { _bCyclic = bCylcic; reset();}
92 double getElapseTime()
const{
return _dElapse; }
93 double getHoldTime()
const{
return _dHold; }
97 inline M_BOOL isEnabled()
const{
return _bEnabled; }
98 inline M_BOOL isElapsed()
const{
return _bEvent; }
100 inline double timeRemaining()
const{
return _bEvent ? 0 : _nTimeLeft; }
101 inline double timeElapsed()
const{
return _bEvent ? _dElapse : _dElapse-_nTimeLeft; }
103 inline double progress()
const{
return timeElapsed()/_dElapse; }
104 inline double reminder()
const{
return timeRemaining()/_dElapse; }
108 void setEventHandler(
void (*pEventHandler)(
void*),
void* pObject ){
109 _pEventHandler = pEventHandler;
110 _pEventObject = pObject;
116 void animate(
class laTimer &t);
120 #endif //#ifndef M_TIME_TRIG_H