1 /* 2 * Copyright 2005, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Axel Dörfler, axeld@pinc-software.de 7 */ 8 #ifndef INPUT_MANAGER_H 9 #define INPUT_MANAGER_H 10 11 12 #include <Locker.h> 13 #include <ObjectList.h> 14 15 16 class EventStream; 17 18 class InputManager : public BLocker { 19 public: 20 InputManager(); 21 virtual ~InputManager(); 22 23 void UpdateScreenBounds(BRect bounds); 24 25 bool AddStream(EventStream* stream); 26 void RemoveStream(EventStream* stream); 27 28 EventStream* GetStream(); 29 void PutStream(EventStream* stream); 30 31 private: 32 BObjectList<EventStream> fFreeStreams; 33 BObjectList<EventStream> fUsedStreams; 34 }; 35 36 extern InputManager* gInputManager; 37 38 #endif /* INPUT_MANAGER_H */ 39