93 Dart_Handle completion_callback) {
94 if (Dart_IsNull(completion_callback)) {
95 bool success = wrapper->
Submit();
102 if (!Dart_IsClosure(completion_callback)) {
103 return tonic::ToDart(
"Completion callback must be a function");
107 auto& task_runners = dart_state->GetTaskRunners();
109 auto persistent_completion_callback =
110 std::make_unique<tonic::DartPersistentValue>(dart_state,
111 completion_callback);
114 [
callback = std::move(persistent_completion_callback),
120 auto dart_state =
callback->dart_state().lock();
133 task_runners.GetUITaskRunner()->PostTask(ui_completion_task);
135 bool success = wrapper->
Submit(ui_task_completion_callback);
std::shared_ptr< impeller::Context > & GetContextShared()
impeller::Context & GetContext()
virtual std::shared_ptr< CommandBuffer > CreateCommandBuffer() const =0
Create a new command buffer. Command buffers can be used to encode graphics, blit,...