5#ifndef FLUTTER_SHELL_PLATFORM_GLFW_EVENT_LOOP_H_
6#define FLUTTER_SHELL_PLATFORM_GLFW_EVENT_LOOP_H_
15#include "flutter/shell/platform/embedder/embedder.h"
54 uint64_t flutter_target_time_nanos);
73 if (
a.fire_time ==
b.fire_time) {
74 return a.order >
b.order;
76 return a.fire_time >
b.fire_time;
std::mutex & GetTaskQueueMutex()
void PostTask(FlutterTask flutter_task, uint64_t flutter_target_time_nanos)
static TaskTimePoint TimePointFromFlutterTime(uint64_t flutter_target_time_nanos)
EventLoop(std::thread::id main_thread_id, const TaskExpiredCallback &on_task_expired)
std::priority_queue< Task, std::deque< Task >, Task::Comparer > task_queue_
bool RunsTasksOnCurrentThread() const
std::mutex task_queue_mutex_
EventLoop & operator=(const EventLoop &)=delete
EventLoop(const EventLoop &)=delete
virtual void WaitUntil(const TaskTimePoint &time)=0
TaskExpiredCallback on_task_expired_
std::function< void(const FlutterTask *)> TaskExpiredCallback
std::thread::id main_thread_id_
std::chrono::steady_clock::time_point TaskTimePoint
void WaitForEvents(std::chrono::nanoseconds max_wait=std::chrono::nanoseconds::max())
Dart_NativeFunction function
static float max(float r, float g, float b)
static double time(int loops, Benchmark *bench, Target *target)
bool operator()(const Task &a, const Task &b)