25 lines
508 B
C++
25 lines
508 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <optional>
|
|
|
|
#include <vamp_protocol/page_control.hpp>
|
|
|
|
|
|
namespace vamp_protocol {
|
|
|
|
class gesture_state {
|
|
public:
|
|
auto update(std::bool_t touching, std::uint64_t now_ms) -> std::optional<vamp_protocol::page_command>;
|
|
auto reset() -> void;
|
|
auto pending_deadline() const -> std::optional<std::uint64_t>;
|
|
private:
|
|
std::bool_t touching_{};
|
|
std::bool_t hold_sent_{};
|
|
std::bool_t pending_tap_{};
|
|
std::uint64_t down_ms_{};
|
|
std::uint64_t last_up_ms_{};
|
|
};
|
|
|
|
}
|