00001 /* 00002 * controlGroupHandler.h 00003 * 00004 * Created on: Jan 15, 2013 00005 * Author: sushil 00006 */ 00007 00008 #ifndef CONTROLGROUPHANDLER_H_ 00009 #define CONTROLGROUPHANDLER_H_ 00010 00011 #include<list> 00012 #include<map> 00013 00014 #include <OISEvents.h> 00015 #include <OISInputManager.h> 00016 #include <OISKeyboard.h> 00017 #include <OISMouse.h> 00018 00019 #include <gfxNode.h> 00020 00021 00022 00023 namespace OgreGFX { 00024 00025 class GraphicsInteractionManager; 00026 00027 class ControlGroupsHandler { 00028 00029 private: 00030 static const int MAX_CONTROL_GROUPS = 10; 00031 GraphicsInteractionManager *gfx; 00032 //std::list <OgreGFX::GFXNode*> group0; 00033 std::list <OgreGFX::GFXNode*> groups[MAX_CONTROL_GROUPS]; //0 - 9 00034 std::map <OIS::KeyCode, int> OISKeyToGroupIndexMap; 00035 00036 public: 00037 ControlGroupsHandler(GraphicsInteractionManager *gim); 00038 ~ControlGroupsHandler(); 00039 void checkHandleControlGroupKeys(bool ctrlDown, OIS::KeyCode k); 00040 void createControlGroup(int k); 00041 void selectControlGroup(int k); 00042 00043 }; 00044 } 00045 00046 00047 #endif /* CONTROLGROUPHANDLER_H_ */