Brenta Engine 1.2
Loading...
Searching...
No Matches
brenta::Input Class Reference
Inheritance diagram for brenta::Input:
brenta::Subsystem

Data Structures

class  Builder
 

Public Types

using MouseCallbackId = std::string
 
using MouseCallback = std::function< void(double, double)>
 
using KeyboardCallback = std::function< void()>
 
- Public Types inherited from brenta::Subsystem
using Error = std::string
 

Public Member Functions

std::expected< void, Subsystem::Error > initialize () override
 
std::expected< void, Subsystem::Error > terminate () override
 
std::string name () override
 
bool is_initialized () override
 

Static Public Member Functions

static Inputinstance ()
 
static void add_keyboard_callback (Key key, KeyboardCallback callback)
 
static void remove_keyboard_callback (Key key)
 
static void add_mouse_callback (MouseCallbackId name, MouseCallback callback)
 
static void remove_mouse_callback (MouseCallbackId name)
 
static void key_callback (Key key, KeyAction action, KeyMods mods)
 
static void mouse_callback (double xpos, double ypos)
 

Static Public Attributes

static const std::string subsystem_name = "input"
 

Static Protected Attributes

static bool initialized = false
 
static std::unordered_map< brenta::Key, KeyboardCallback > keyboard_callbacks
 
static std::unordered_map< MouseCallbackId, MouseCallback > mouse_callbacks
 

Detailed Description

Definition at line 27 of file input.hpp.

Member Typedef Documentation

◆ KeyboardCallback

using brenta::Input::KeyboardCallback = std::function<void()>

Definition at line 33 of file input.hpp.

◆ MouseCallback

using brenta::Input::MouseCallback = std::function<void(double, double)>

Definition at line 32 of file input.hpp.

◆ MouseCallbackId

using brenta::Input::MouseCallbackId = std::string

Definition at line 31 of file input.hpp.

Member Function Documentation

◆ add_keyboard_callback()

void Input::add_keyboard_callback ( Key  key,
KeyboardCallback  callback 
)
static

Definition at line 63 of file input.cpp.

◆ add_mouse_callback()

void Input::add_mouse_callback ( MouseCallbackId  name,
MouseCallback  callback 
)
static

Definition at line 100 of file input.cpp.

◆ initialize()

std::expected< void, Subsystem::Error > Input::initialize ( )
overridevirtual

Implements brenta::Subsystem.

Definition at line 25 of file input.cpp.

◆ instance()

Input & Input::instance ( )
static

Definition at line 57 of file input.cpp.

◆ is_initialized()

bool Input::is_initialized ( )
overridevirtual

Implements brenta::Subsystem.

Definition at line 48 of file input.cpp.

◆ key_callback()

void Input::key_callback ( Key  key,
KeyAction  action,
KeyMods  mods 
)
static

Definition at line 84 of file input.cpp.

◆ mouse_callback()

void Input::mouse_callback ( double  xpos,
double  ypos 
)
static

Definition at line 125 of file input.cpp.

◆ name()

std::string Input::name ( )
overridevirtual

Implements brenta::Subsystem.

Definition at line 43 of file input.cpp.

◆ remove_keyboard_callback()

void Input::remove_keyboard_callback ( Key  key)
static

Definition at line 71 of file input.cpp.

◆ remove_mouse_callback()

void Input::remove_mouse_callback ( MouseCallbackId  name)
static

Definition at line 109 of file input.cpp.

◆ terminate()

std::expected< void, Subsystem::Error > Input::terminate ( )
overridevirtual

Implements brenta::Subsystem.

Definition at line 34 of file input.cpp.

Field Documentation

◆ initialized

bool Input::initialized = false
staticprotected

Definition at line 61 of file input.hpp.

◆ keyboard_callbacks

std::unordered_map< brenta::Key, Input::KeyboardCallback > Input::keyboard_callbacks
staticprotected

Definition at line 62 of file input.hpp.

◆ mouse_callbacks

std::unordered_map< Input::MouseCallbackId, Input::MouseCallback > Input::mouse_callbacks
staticprotected

Definition at line 63 of file input.hpp.

◆ subsystem_name

const std::string Input::subsystem_name = "input"
static

Definition at line 38 of file input.hpp.


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