CmInputHandlerOIS.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "CmOISPrerequisites.h"
  3. #include "CmRawInputHandler.h"
  4. #include <OIS/OISEvents.h>
  5. #include <OIS/OISInputManager.h>
  6. #include <OIS/OISKeyboard.h>
  7. #include <OIS/OISMouse.h>
  8. namespace CamelotFramework
  9. {
  10. class CM_OIS_EXPORT InputHandlerOIS : public RawInputHandler, public OIS::KeyListener, public OIS::MouseListener
  11. {
  12. public:
  13. InputHandlerOIS(unsigned int hWnd);
  14. virtual ~InputHandlerOIS();
  15. private:
  16. OIS::InputManager* mInputManager;
  17. OIS::Mouse* mMouse;
  18. OIS::Keyboard* mKeyboard;
  19. virtual bool keyPressed(const OIS::KeyEvent& arg);
  20. virtual bool keyReleased(const OIS::KeyEvent& arg);
  21. virtual bool mouseMoved(const OIS::MouseEvent& arg);
  22. virtual bool mousePressed(const OIS::MouseEvent& arg, OIS::MouseButtonID id);
  23. virtual bool mouseReleased(const OIS::MouseEvent& arg, OIS::MouseButtonID id);
  24. virtual void update();
  25. virtual void inputWindowChanged(const RenderWindow& win);
  26. ButtonCode keyCodeToButtonCode(OIS::KeyCode keyCode) const;
  27. ButtonCode mouseButtonToButtonCode(OIS::MouseButtonID mouseBtn) const;
  28. };
  29. }