00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef KEYCOMBO_H_
00009 #define KEYCOMBO_H_
00010 
00011 #include <set>
00012 
00013 #include <OISEvents.h>
00014 
00015 
00016 namespace OgreGFX {
00017         class KeySet {
00018         public:
00019                 const std::set<OIS::KeyCode> *modifiersSet;
00020                 OIS::KeyCode key;
00021                 KeySet(const std::set<OIS::KeyCode> *oisModifiers, const OIS::KeyCode oisKey){
00022                         modifiersSet = oisModifiers;
00023                         key = oisKey;
00024                 }
00025                 std::string toString(){
00026                         std::stringstream ss;
00027                         for(std::set<OIS::KeyCode>::iterator it = modifiersSet->begin(); it != modifiersSet->end(); ++it )      {
00028                                 ss << *it;
00029                         }
00030                         ss << key;
00031                         return ss.str();
00032                 }
00033         };
00034 
00035         class MouseButtonKeySet {
00036         public:
00037                 const std::set<OIS::KeyCode> *modifiersSet;
00038                 OIS::MouseButtonID mouseButton;
00039                 MouseButtonKeySet(const std::set<OIS::KeyCode> *oisModifiers, const OIS::MouseButtonID oisMouseButton){
00040                         modifiersSet = oisModifiers;
00041                         mouseButton = oisMouseButton;
00042                 }
00043 
00044                 std::string toString(){
00045                         std::stringstream ss;
00046                         for(std::set<OIS::KeyCode>::iterator it = modifiersSet->begin(); it != modifiersSet->end(); ++it )      {
00047                                 ss << *it;
00048                         }
00049                         ss << mouseButton;
00050                         return ss.str();
00051                 }
00052 
00053         };
00054 
00055 }
00056 
00057 #endif