5#ifndef FLUTTER_SHELL_COMMON_POINTER_DATA_DISPATCHER_H_
6#define FLUTTER_SHELL_COMMON_POINTER_DATA_DISPATCHER_H_
8#include "flutter/runtime/runtime_controller.h"
9#include "flutter/shell/common/animator.h"
13class PointerDataDispatcher;
48 uint64_t trace_flow_id) = 0;
75 uint64_t trace_flow_id) = 0;
92 uint64_t trace_flow_id)
override;
146 uint64_t trace_flow_id)
override;
151 void DispatchPendingPacket();
152 void ScheduleSecondaryVsyncCallback();
157 std::unique_ptr<PointerDataPacket> pending_packet_;
158 int pending_trace_flow_id_ = -1;
159 bool is_pointer_data_in_progress_ =
false;
172 std::function<std::unique_ptr<PointerDataDispatcher>(
FML_DISALLOW_COPY_AND_ASSIGN(DefaultPointerDataDispatcher)
void DispatchPacket(std::unique_ptr< PointerDataPacket > packet, uint64_t trace_flow_id) override
Signal that PlatformView has a packet to be dispatched.
virtual ~DefaultPointerDataDispatcher()
DefaultPointerDataDispatcher(Delegate &delegate)
The interface for Engine to implement.
virtual void DoDispatchPacket(std::unique_ptr< PointerDataPacket > packet, uint64_t trace_flow_id)=0
virtual void ScheduleSecondaryVsyncCallback(uintptr_t id, const fml::closure &callback)=0
Schedule a secondary callback to be executed right after the main VsyncWaiter::AsyncWaitForVsync call...
virtual void DispatchPacket(std::unique_ptr< PointerDataPacket > packet, uint64_t trace_flow_id)=0
Signal that PlatformView has a packet to be dispatched.
virtual ~PointerDataDispatcher()
Default destructor.
virtual ~SmoothPointerDataDispatcher()
SmoothPointerDataDispatcher(Delegate &delegate)
void DispatchPacket(std::unique_ptr< PointerDataPacket > packet, uint64_t trace_flow_id) override
Signal that PlatformView has a packet to be dispatched.
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
std::function< std::unique_ptr< PointerDataDispatcher >(PointerDataDispatcher::Delegate &)> PointerDataDispatcherMaker
Signature for constructing PointerDataDispatcher.
std::function< void()> closure