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 };