1 /**
  2  * potree.js 
  3  * http://potree.org
  4  *
  5  * Copyright 2012, Markus Sch�tz
  6  * Licensed under the GPL Version 2 or later.
  7  * - http://potree.org/wp/?page_id=7
  8  * - http://www.gnu.org/licenses/gpl-3.0.html
  9  *
 10  */
 11 
 12 /**
 13  * @class 
 14  */
 15 function KeyListener(){
 16 
 17 }
 18 
 19 KeyListener.pressedKeys = new Array();
 20 
 21 KeyListener.listener = new Array();
 22 
 23 KeyListener.addListener = function(listener){
 24 	KeyListener.listener.push(listener);
 25 };
 26 
 27 KeyListener.removeListener = function(listener){
 28 	KeyListener.listener.remove(listener);
 29 };
 30 
 31 KeyListener.keyDown = function(event){
 32 	if(!KeyListener.pressedKeys.contains(event.which)){
 33 		KeyListener.pressedKeys.push(event.which);
 34 	}
 35 	
 36 	for(var i = 0; i < KeyListener.listener.length; i++){
 37 		KeyListener.listener[i].invokeKeyDown(event);
 38 	}
 39 	
 40 	event.stopPropagation();
 41 };
 42 
 43 KeyListener.keyUp = function(event){
 44 	KeyListener.pressedKeys.remove(event.which);
 45 	for(var i = 0; i < KeyListener.listener.length; i++){
 46 		KeyListener.listener[i].invokeKeyUp(event);
 47 	}
 48 };
 49 
 50 KeyListener.keyPress = function(event){
 51 	for(var i = 0; i < KeyListener.listener.length; i++){
 52 		KeyListener.listener[i].invokeKeyPress(event);
 53 	}
 54 };