93 return frame_driver_running_;
110 return coalescer_.has_pending();
118 std::size_t deliver_all_(std::vector<PointerSample>& samples,
const Deliver& deliver);
123 void apply_accumulated_movement_(std::vector<PointerSample>& samples);
128 bool frame_driver_running_ =
false;
129 float pending_movement_x_ = 0.0f;
130 float pending_movement_y_ = 0.0f;
131 bool pending_has_movement_ =
false;
Owns a PointerCoalescer plus the host-side policy around it: the frame-driver opt-in,...
Definition host_drag_coalescer.hpp:48
const Stats & stats() const
Definition host_drag_coalescer.hpp:113
void discard()
Drop held motion WITHOUT delivering it, for a host tearing down mid-gesture where the target may alre...
void set_frame_driver_running(bool running, const Deliver &deliver)
Opt in only from a host that has committed to calling flush_frame once per presented frame.
bool frame_driver_running() const
Definition host_drag_coalescer.hpp:92
std::size_t flush_frame(const Deliver &deliver)
Release motion held since the last presented frame.
bool has_pending() const
Definition host_drag_coalescer.hpp:109
std::function< void(const PointerSample &)> Deliver
Delivers one sample to the view tree.
Definition host_drag_coalescer.hpp:53
SubmitResult submit(const PointerSample &sample, const Deliver &deliver)
Feed one raw pointer sample.
Collapses runs of motion into one sample per presented frame while leaving button transitions untouch...
Definition pointer_coalescer.hpp:71
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
Definition host_drag_coalescer.hpp:69
std::uint64_t merged_samples
Samples merged away and never dispatched.
Definition host_drag_coalescer.hpp:79
std::uint64_t delivered_samples
Samples that actually reached the view tree.
Definition host_drag_coalescer.hpp:74
std::uint64_t raw_samples
Samples the host submitted — what an uncoalesced host would have dispatched.
Definition host_drag_coalescer.hpp:72
std::uint64_t flushes
flush_frame calls, i.e. presented frames seen.
Definition host_drag_coalescer.hpp:76
What a host must do in response to a submitted sample.
Definition host_drag_coalescer.hpp:56
std::size_t delivered
Samples handed to deliver during this call.
Definition host_drag_coalescer.hpp:66
bool arm_repaint
The sample was held and this is the idle->pending edge.
Definition host_drag_coalescer.hpp:62
One pointer sample as the host received it, before any coalescing.
Definition pointer_coalescer.hpp:46