CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Input.hpp File Reference
#include "CeresEngine/DataTypes.hpp"
#include "CeresEngine/Macros.hpp"
#include "CeresEngine/Foundation/Flags.hpp"
#include "CeresEngine/Foundation/String.hpp"
#include "CeresEngine/Foundation/Container/Vector.hpp"
#include <algorithm>
#include <cstdint>
#include <limits>

Go to the source code of this file.

Namespaces

namespace  CeresEngine
 

Typedefs

using CeresEngine::ButtonSet = Vector< Button >
 A type that represents a set of buttons.
 

Enumerations

enum class  CeresEngine::Button : UInt32 {
  CeresEngine::None = 0 , CeresEngine::Space , CeresEngine::Apostrophe , CeresEngine::Comma ,
  CeresEngine::Minus , CeresEngine::Period , CeresEngine::Slash , CeresEngine::Semicolon ,
  CeresEngine::Equal , CeresEngine::Number0 , CeresEngine::Number1 , CeresEngine::Number2 ,
  CeresEngine::Number3 , CeresEngine::Number4 , CeresEngine::Number5 , CeresEngine::Number6 ,
  CeresEngine::Number7 , CeresEngine::Number8 , CeresEngine::Number9 , CeresEngine::A ,
  CeresEngine::B , CeresEngine::C , CeresEngine::D , CeresEngine::E ,
  CeresEngine::F , CeresEngine::G , CeresEngine::H , CeresEngine::I ,
  CeresEngine::J , CeresEngine::K , CeresEngine::L , CeresEngine::M ,
  CeresEngine::N , CeresEngine::O , CeresEngine::P , CeresEngine::Q ,
  CeresEngine::R , CeresEngine::S , CeresEngine::T , CeresEngine::U ,
  CeresEngine::V , CeresEngine::W , CeresEngine::X , CeresEngine::Y ,
  CeresEngine::Z , CeresEngine::LeftBracket , CeresEngine::RightBracket , CeresEngine::Backslash ,
  CeresEngine::GraveAccent , CeresEngine::World1 , CeresEngine::World2 , CeresEngine::Escape ,
  CeresEngine::Enter , CeresEngine::Tab , CeresEngine::Backspace , CeresEngine::Insert ,
  CeresEngine::Delete , CeresEngine::Right , CeresEngine::Left , CeresEngine::Down ,
  CeresEngine::Up , CeresEngine::PageUp , CeresEngine::PageDown , CeresEngine::Home ,
  CeresEngine::End , CeresEngine::CapsLock , CeresEngine::ScrollLock , CeresEngine::NumLock ,
  CeresEngine::PrintScreen , CeresEngine::Pause , CeresEngine::F1 , CeresEngine::F2 ,
  CeresEngine::F3 , CeresEngine::F4 , CeresEngine::F5 , CeresEngine::F6 ,
  CeresEngine::F7 , CeresEngine::F8 , CeresEngine::F9 , CeresEngine::F10 ,
  CeresEngine::F11 , CeresEngine::F12 , CeresEngine::F13 , CeresEngine::F14 ,
  CeresEngine::F15 , CeresEngine::F16 , CeresEngine::F17 , CeresEngine::F18 ,
  CeresEngine::F19 , CeresEngine::F20 , CeresEngine::F21 , CeresEngine::F22 ,
  CeresEngine::F23 , CeresEngine::F24 , CeresEngine::F25 , CeresEngine::Keypad0 ,
  CeresEngine::Keypad1 , CeresEngine::Keypad2 , CeresEngine::Keypad3 , CeresEngine::Keypad4 ,
  CeresEngine::Keypad5 , CeresEngine::Keypad6 , CeresEngine::Keypad7 , CeresEngine::Keypad8 ,
  CeresEngine::Keypad9 , CeresEngine::KeypadDecimal , CeresEngine::KeypadDivide , CeresEngine::KeypadMultiply ,
  CeresEngine::KeypadSubtract , CeresEngine::KeypadAdd , CeresEngine::KeypadEnter , CeresEngine::KeypadEqual ,
  CeresEngine::LeftShift , CeresEngine::LeftControl , CeresEngine::LeftAlt , CeresEngine::LeftSuper ,
  CeresEngine::RightShift , CeresEngine::RightControl , CeresEngine::RightAlt , CeresEngine::RightSuper ,
  CeresEngine::Menu , CeresEngine::MouseLeft , CeresEngine::MouseMiddle , CeresEngine::MouseRight ,
  CeresEngine::Mouse0 , CeresEngine::Mouse1 , CeresEngine::Mouse2 , CeresEngine::Mouse3 ,
  CeresEngine::Mouse4 , CeresEngine::Mouse5 , CeresEngine::Mouse6 , CeresEngine::Mouse7 ,
  CeresEngine::Unknown = std::numeric_limits<UInt32>::max()
}
 A enumeration of known buttons. More...
 
enum class  CeresEngine::ModifierButton : UInt16 {
  CeresEngine::Shift = 1u << 0u , CeresEngine::Control = 1u << 1u , CeresEngine::Alt = 1u << 2u , CeresEngine::Super = 1u << 3u ,
  CeresEngine::CapsLock = 1u << 4u , CeresEngine::NumLock = 1u << 5u , CeresEngine::ScrollLock = 1u << 6u , CeresEngine::None = 0
}
 A enumeration of possible modifier buttons. More...
 
enum class  CeresEngine::Axis : UInt8 {
  CeresEngine::MouseVertical , CeresEngine::MouseHorizontal , CeresEngine::MouseScrollVertical , CeresEngine::MouseScrollHorizontal ,
  CeresEngine::Unknown = std::numeric_limits<UInt8>::max()
}
 A enumeration of known axes. More...
 
enum class  CeresEngine::CursorMode { CeresEngine::Normal , CeresEngine::Hidden , CeresEngine::Captured }
 A enumeration of supported cursor modes. More...
 

Functions

bool CeresEngine::operator& (const ButtonSet &set, const Button button) noexcept
 Checks if the button is present in the button set
 
bool CeresEngine::operator& (const ButtonSet &a, const ButtonSet &b) noexcept
 Checks if all buttons in the set b are present in set a.
 
ButtonSet CeresEngine::operator+ (const Button a, const Button b)
 Creates a new button set from a and b.
 
ButtonSetCeresEngine::operator+= (ButtonSet &set, const Button button)
 Adds a button to a set.
 
ButtonSet CeresEngine::operator+ (const ButtonSet &set, const Button button)
 Adds a button to a set.
 
ButtonSetCeresEngine::operator+= (ButtonSet &set, const ButtonSet &buttons)
 Adds a set of buttons to a set.
 
ButtonSet CeresEngine::operator+ (const ButtonSet &set, const ButtonSet &buttons)
 Adds a set of buttons to a set.
 
ButtonSet CeresEngine::operator| (const ButtonSet &set, const Button button)
 Adds a button to a set.
 
ButtonSetCeresEngine::operator-= (ButtonSet &set, const Button button)
 Removes a button from a set.
 
ButtonSet CeresEngine::operator- (const ButtonSet &set, const Button button)
 Removes a button from a set.
 
ButtonSetCeresEngine::operator-= (ButtonSet &set, const ButtonSet &buttons)
 Removes a set of buttons from a set.
 
ButtonSet CeresEngine::operator- (const ButtonSet &set, const ButtonSet &buttons)
 Removes a set of buttons from a set.
 
constexpr bool CeresEngine::operator& (ModifierButton a, ModifierButton b) noexcept
 Checks if the a contains the modifier b.
 
constexpr ModifierButton CeresEngine::operator| (ModifierButton a, ModifierButton b) noexcept
 Merge two modifiers.
 
constexpr ModifierButton CeresEngine::operator+ (ModifierButton a, ModifierButton b) noexcept
 Add two modifiers into a modifier mask.
 
constexpr ModifierButton CeresEngine::operator+= (ModifierButton &a, const ModifierButton b) noexcept
 Appends a modifier b to the modifier mask a.
 
constexpr ModifierButton CeresEngine::operator- (ModifierButton a, ModifierButton b) noexcept
 Removes a modifier from a modifier mask.
 
constexpr ModifierButton CeresEngine::operator-= (ModifierButton &a, const ModifierButton b) noexcept
 Removes a modifier b from the modifier mask a.
 
StringView CeresEngine::toString (Button button) noexcept
 Returns a string representation for the given button
 
Button CeresEngine::button (const StringView &str) noexcept
 Returns the Button constant that is represented by str.
 
String CeresEngine::toString (ModifierButton modifier) noexcept
 Returns a string representation for the given modifier
 
StringView CeresEngine::toString (Axis axis) noexcept
 Returns a string representation for the given axis
 
Axis CeresEngine::axis (const StringView &str) noexcept
 Returns the Axis constant that is represented by str.