CG_Labs  2020.0
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
InputHandler Class Reference

#include <InputHandler.h>

Classes

struct  IState
 

Public Member Functions

 InputHandler ()
 
void FeedKeyboard (int key, int scancode, int action, int mods)
 
void FeedMouseButtons (int button, int action, int mods)
 
void FeedMouseMotion (glm::vec2 const &position)
 
void Advance ()
 
std::uint32_t GetScancodeState (int scancode)
 
std::uint32_t GetKeycodeState (int key)
 
std::uint32_t GetMouseState (std::uint32_t button)
 
glm::vec2 GetMousePositionAtStateShift (std::uint32_t button)
 
glm::vec2 GetMousePosition ()
 
bool IsMouseCapturedByUI () const
 
bool IsKeyboardCapturedByUI () const
 
void SetUICapture (bool mouseCapture, bool keyboardCapture)
 

Private Member Functions

void DownEvent (std::unordered_map< size_t, IState > &map, size_t loc)
 
void DownModEvent (std::unordered_map< size_t, IState > &map, std::uint32_t mods)
 
void UpEvent (std::unordered_map< size_t, IState > &map, size_t loc)
 
void UpModEvent (std::unordered_map< size_t, IState > &map, std::uint32_t mods)
 
std::uint32_t GetState (std::unordered_map< size_t, IState > &map, size_t loc)
 

Private Attributes

std::unordered_map< size_t, IStatemScancodeMap
 
std::unordered_map< size_t, IStatemKeycodeMap
 
std::unordered_map< size_t, IStatemMouseMap
 
glm::vec2 mMousePosition
 
glm::vec2 mMousePositionSwitched [MAX_MOUSE_BUTTONS]
 
bool mMouseCapturedByUI
 
bool mKeyboardCapturedByUI
 
std::uint64_t mTick
 

Constructor & Destructor Documentation

◆ InputHandler()

InputHandler::InputHandler ( )

Member Function Documentation

◆ Advance()

void InputHandler::Advance ( )

◆ DownEvent()

void InputHandler::DownEvent ( std::unordered_map< size_t, IState > &  map,
size_t  loc 
)
private

◆ DownModEvent()

void InputHandler::DownModEvent ( std::unordered_map< size_t, IState > &  map,
std::uint32_t  mods 
)
private

◆ FeedKeyboard()

void InputHandler::FeedKeyboard ( int  key,
int  scancode,
int  action,
int  mods 
)

◆ FeedMouseButtons()

void InputHandler::FeedMouseButtons ( int  button,
int  action,
int  mods 
)

◆ FeedMouseMotion()

void InputHandler::FeedMouseMotion ( glm::vec2 const &  position)

◆ GetKeycodeState()

std::uint32_t InputHandler::GetKeycodeState ( int  key)

◆ GetMousePosition()

glm::vec2 InputHandler::GetMousePosition ( )

◆ GetMousePositionAtStateShift()

glm::vec2 InputHandler::GetMousePositionAtStateShift ( std::uint32_t  button)

◆ GetMouseState()

std::uint32_t InputHandler::GetMouseState ( std::uint32_t  button)

◆ GetScancodeState()

std::uint32_t InputHandler::GetScancodeState ( int  scancode)

◆ GetState()

std::uint32_t InputHandler::GetState ( std::unordered_map< size_t, IState > &  map,
size_t  loc 
)
private

◆ IsKeyboardCapturedByUI()

bool InputHandler::IsKeyboardCapturedByUI ( ) const

◆ IsMouseCapturedByUI()

bool InputHandler::IsMouseCapturedByUI ( ) const

◆ SetUICapture()

void InputHandler::SetUICapture ( bool  mouseCapture,
bool  keyboardCapture 
)

◆ UpEvent()

void InputHandler::UpEvent ( std::unordered_map< size_t, IState > &  map,
size_t  loc 
)
private

◆ UpModEvent()

void InputHandler::UpModEvent ( std::unordered_map< size_t, IState > &  map,
std::uint32_t  mods 
)
private

Member Data Documentation

◆ mKeyboardCapturedByUI

bool InputHandler::mKeyboardCapturedByUI
private

◆ mKeycodeMap

std::unordered_map<size_t, IState> InputHandler::mKeycodeMap
private

◆ mMouseCapturedByUI

bool InputHandler::mMouseCapturedByUI
private

◆ mMouseMap

std::unordered_map<size_t, IState> InputHandler::mMouseMap
private

◆ mMousePosition

glm::vec2 InputHandler::mMousePosition
private

◆ mMousePositionSwitched

glm::vec2 InputHandler::mMousePositionSwitched[MAX_MOUSE_BUTTONS]
private

◆ mScancodeMap

std::unordered_map<size_t, IState> InputHandler::mScancodeMap
private

◆ mTick

std::uint64_t InputHandler::mTick
private

The documentation for this class was generated from the following files: