light/modules/input/events.cppm
light7734 451a8d5ea6
Some checks reported errors
continuous-integration/drone/push Build was killed
fix: accomodate recent math module renamings
2026-02-02 14:09:01 +03:30

41 lines
713 B
C++

export module input.events;
import input.codes;
import math.vec2;
import std;
namespace lt::input {
export class AnalogEvent
{
public:
AnalogEvent(Key key, math::vec2_u32 pointer_position)
: m_key(key)
, m_pointer_position(pointer_position)
{
}
[[nodiscard]] auto get_key() const -> Key
{
return m_key;
};
[[nodiscard]] auto get_pointer_position() const -> math::vec2_u32
{
return m_pointer_position;
}
[[nodiscard]] auto to_string() const -> std::string
{
const auto &[x, y] = m_pointer_position;
return std::format("input::AnalogEvent: {} @ {}, {}", std::to_underlying(m_key), x, y);
}
private:
Key m_key;
math::vec2_u32 m_pointer_position;
};
} // namespace lt::input