package com.indindi.Raster
{
    import flash.utils.getTimer;
	import flash.utils.Timer;	
	import flash.events.TimerEvent;
	import flash.display.MovieClip;	

	public class FrameRate extends MovieClip
	{
		private var NumOfFrames:int = 0;
		private var MyInternalCounter:int = 0;
		private var FrameRateTimer:Timer;
		// On balance le framerate théorique sur lequel a été créé l'animation
		public function FrameRate(InitFrameRate:int):void
		{
			NumOfFrames = 0;			
		}
		
		// Démarre le chrono
		public function Start()
		{
			MyInternalCounter = 0;
			// Timer d'une seconde... Compte le nombre d'images rendues....
			FrameRateTimer=new Timer(1000,1);
			FrameRateTimer.addEventListener(TimerEvent.TIMER_COMPLETE, Reinit);
			FrameRateTimer.start();						
		}
			
		private function Reinit(e:TimerEvent):void
		{
			// Fini de compter... on recommence
			NumOfFrames = MyInternalCounter;
			Start();		
		}
		
		public function AddAFrame():void
		{
			MyInternalCounter++;
		}
		
		// Retourne le nombre d'images par secondes 
		// Extrapolé - clacul par période
		public function GetFrameRate():int
		{
			return NumOfFrames;
		}
	}
	
}