5#ifndef FLUTTER_FML_RASTER_THREAD_MERGER_H_
6#define FLUTTER_FML_RASTER_THREAD_MERGER_H_
8#include <condition_variable>
11#include "flutter/fml/macros.h"
12#include "flutter/fml/memory/ref_counted.h"
13#include "flutter/fml/message_loop_task_queues.h"
14#include "flutter/fml/shared_thread_merger.h"
127 std::condition_variable merged_condition_;
131 bool IsMergedUnSafe()
const;
133 bool IsEnabledUnSafe()
const;
137 bool TaskQueuesAreSame()
const;
bool IsOnPlatformThread() const
static fml::RefPtr< fml::RasterThreadMerger > CreateOrShareThreadMerger(const fml::RefPtr< fml::RasterThreadMerger > &parent_merger, TaskQueueId platform_id, TaskQueueId raster_id)
void SetMergeUnmergeCallback(const fml::closure &callback)
void UnMergeNowIfLastOne()
void ExtendLeaseTo(size_t lease_term)
void MergeWithLease(size_t lease_term)
const fml::RefPtr< SharedThreadMerger > & GetSharedRasterThreadMerger() const
bool IsOnRasterizingThread()
RasterThreadStatus DecrementLease()
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
std::function< void()> closure