#ifndef _SH_TIMER_H
#define _SH_TIMER_H


typedef
  struct Timer
  {
    struct timerequest *TimeIO;
    ULONG EClockFreq;
    struct EClockVal LastFrameTime;
    struct EClockVal LastXTime;
		ULONG FrameTime;
		ULONG XTime;
		DOUBLE FPS;
  } TIMER;


BOOL InitTimer(VOID);
VOID RemoveTimer(VOID);
VOID FrameEvent(VOID);
VOID XEvent(VOID);
ULONG GetCurrentXTime(VOID);
VOID RenderInfoBar(struct RastPort *RP, ULONG Pen);

VOID __asm DiffEClock(REGISTER __a0 struct EClockVal *LastTime,
											REGISTER __a1 struct EClockVal *TmpEClock);

VOID __asm Sprintf(REGISTER __a3 APTR ostr,
									REGISTER __a0 APTR format, REGISTER __a1 APTR val);

GLOBAL struct Library *TimerBase;

#endif
