 	import flash.display3D.Context3DRenderMode;
 	import flash.events.Event;
 	import flash.events.MouseEvent;
+	import flash.events.TouchEvent;
 	import flash.geom.Point;
 	import flash.utils.Dictionary;
 	import flash.utils.getTimer;

			updateRectangle();
		}
		
		private function stageMouseHandler(event : MouseEvent) : void
		{
			if (!_alwaysOnTop || event.target == this)
				return ;

				stage.addEventListener(Event.RESIZE, stageResizeHandler);
				stage.addEventListener(Event.ADDED_TO_STAGE, displayObjectAddedToStageHandler);
				stage.addEventListener(Event.REMOVED_FROM_STAGE, displayObjectRemovedFromStageHandler);
				stage.addEventListener(MouseEvent.CLICK, stageEventHandler);
				stage.addEventListener(MouseEvent.DOUBLE_CLICK, stageEventHandler);
				stage.addEventListener(MouseEvent.MOUSE_DOWN, stageEventHandler);
				stage.addEventListener(MouseEvent.MOUSE_MOVE, stageEventHandler);
				stage.addEventListener(MouseEvent.MOUSE_OUT, stageEventHandler);
				stage.addEventListener(MouseEvent.MOUSE_OVER, stageEventHandler);
				stage.addEventListener(MouseEvent.MOUSE_WHEEL, stageEventHandler);
				stage.addEventListener(MouseEvent.ROLL_OUT, stageEventHandler);
				stage.addEventListener(MouseEvent.ROLL_OVER, stageEventHandler);
				stage.addEventListener(TouchEvent.TOUCH_BEGIN, stageEventHandler);
				stage.addEventListener(TouchEvent.TOUCH_END, stageEventHandler);
				stage.addEventListener(TouchEvent.TOUCH_MOVE, stageEventHandler);
				
			}
			else
			{
				stage.removeEventListener(Event.RESIZE, stageResizeHandler);
				stage.removeEventListener(Event.ADDED_TO_STAGE, displayObjectAddedToStageHandler);
				stage.removeEventListener(Event.REMOVED_FROM_STAGE, displayObjectRemovedFromStageHandler);
				stage.removeEventListener(MouseEvent.CLICK, stageEventHandler);
				stage.removeEventListener(MouseEvent.DOUBLE_CLICK, stageEventHandler);
				stage.removeEventListener(MouseEvent.MOUSE_DOWN, stageEventHandler);
				stage.removeEventListener(MouseEvent.MOUSE_MOVE, stageEventHandler);
				stage.removeEventListener(MouseEvent.MOUSE_OUT, stageEventHandler);
				stage.removeEventListener(MouseEvent.MOUSE_OVER, stageEventHandler);
				stage.removeEventListener(MouseEvent.MOUSE_WHEEL, stageEventHandler);
				stage.removeEventListener(MouseEvent.ROLL_OUT, stageEventHandler);
				stage.removeEventListener(MouseEvent.ROLL_OVER, stageEventHandler);
				stage.removeEventListener(TouchEvent.TOUCH_BEGIN, stageEventHandler);
				stage.removeEventListener(TouchEvent.TOUCH_END, stageEventHandler);
				stage.removeEventListener(TouchEvent.TOUCH_MOVE, stageEventHandler);
			}
		}
		
