Unravel Engine C++ Reference
Loading...
Searching...
No Matches
mouse_action_map.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
action_id.hpp
"
4
#include "
mouse.hpp
"
5
#include "
mouse_button.hpp
"
6
#include "
axis_range.hpp
"
7
#include "
input_type.hpp
"
8
#include <map>
9
#include <vector>
10
11
namespace
input
12
{
13
14
enum class
mouse_axis
15
{
16
x
,
17
y
,
18
scroll
,
19
};
20
21
class
mouse_action_map
22
{
23
public
:
24
25
struct
mouse_entry
26
{
27
input_type
type
{};
28
axis_range
range
{};
29
uint32_t
value
{};
30
31
friend
auto
operator==
(
const
mouse_entry
& lhs,
const
mouse_entry
& rhs) ->
bool
=
default
;
32
};
33
34
std::map<action_id_t, std::vector<mouse_entry>>
entries_by_action_id_
;
35
36
auto
get_analog_value
(
const
action_id_t
& action,
const
mouse
& device)
const
-> float;
37
auto
get_digital_value
(
const
action_id_t
& action,
const
mouse
& device)
const
-> bool;
38
auto
is_pressed
(
const
action_id_t
& action,
const
mouse
& device)
const
-> bool;
39
auto
is_released
(
const
action_id_t
& action,
const
mouse
& device)
const
-> bool;
40
auto
is_down
(
const
action_id_t
& action,
const
mouse
& device)
const
-> bool;
41
42
void
map
(
const
action_id_t
& action,
43
mouse_axis
axis
,
44
axis_range
range
=
axis_range::full
);
45
void
map
(
const
action_id_t
& action,
mouse_button
button
);
46
47
friend
auto
operator==
(
const
mouse_action_map
& lhs,
const
mouse_action_map
& rhs) ->
bool
=
default
;
48
};
49
}
// namespace input
action_id.hpp
axis_range.hpp
input::mouse_action_map
Definition
mouse_action_map.hpp:22
input::mouse_action_map::is_pressed
auto is_pressed(const action_id_t &action, const mouse &device) const -> bool
Definition
mouse_action_map.cpp:124
input::mouse_action_map::get_digital_value
auto get_digital_value(const action_id_t &action, const mouse &device) const -> bool
Definition
mouse_action_map.cpp:79
input::mouse_action_map::map
void map(const action_id_t &action, mouse_axis axis, axis_range range=axis_range::full)
Definition
mouse_action_map.cpp:245
input::mouse_action_map::operator==
friend auto operator==(const mouse_action_map &lhs, const mouse_action_map &rhs) -> bool=default
input::mouse_action_map::is_down
auto is_down(const action_id_t &action, const mouse &device) const -> bool
Definition
mouse_action_map.cpp:198
input::mouse_action_map::entries_by_action_id_
std::map< action_id_t, std::vector< mouse_entry > > entries_by_action_id_
Definition
mouse_action_map.hpp:34
input::mouse_action_map::get_analog_value
auto get_analog_value(const action_id_t &action, const mouse &device) const -> float
Definition
mouse_action_map.cpp:32
input::mouse_action_map::is_released
auto is_released(const action_id_t &action, const mouse &device) const -> bool
Definition
mouse_action_map.cpp:161
input::mouse
Definition
mouse.hpp:10
input_type.hpp
mouse.hpp
mouse_button.hpp
input
Definition
action_id.hpp:5
input::mouse_button
mouse_button
Definition
mouse_button.hpp:6
input::axis_range
axis_range
Definition
axis_range.hpp:6
input::axis_range::full
@ full
input::input_type
input_type
Definition
input_type.hpp:7
input::input_type::axis
@ axis
input::input_type::button
@ button
input::key_code::y
@ y
input::key_code::x
@ x
input::action_id_t
std::string action_id_t
Definition
action_id.hpp:6
input::mouse_axis
mouse_axis
Definition
mouse_action_map.hpp:15
input::mouse_axis::scroll
@ scroll
input::mouse_action_map::mouse_entry
Definition
mouse_action_map.hpp:26
input::mouse_action_map::mouse_entry::operator==
friend auto operator==(const mouse_entry &lhs, const mouse_entry &rhs) -> bool=default
input::mouse_action_map::mouse_entry::value
uint32_t value
Definition
mouse_action_map.hpp:29
input::mouse_action_map::mouse_entry::type
input_type type
Definition
mouse_action_map.hpp:27
range
Definition
basetypes.hpp:10
UnravelEngine
UnravelEngine
engine
engine
input
action_map
mouse_action_map.hpp
Generated by
1.12.0