11#include "third_party/skia/include/core/SkImage.h"
24 ->PlatformMessageCallback(
message);
122 log_tag_ = std::move(tag);
123 project_args_.
log_tag = log_tag_.c_str();
132 if (executable_name.empty()) {
135 command_line_arguments_[0] = std::move(executable_name);
139 if (entrypoint.empty()) {
143 dart_entrypoint_ = std::move(entrypoint);
152 command_line_arguments_.emplace_back(std::move(arg));
160 dart_entrypoint_arguments_.emplace_back(std::move(arg));
165 if (runner ==
nullptr) {
174 if (runner ==
nullptr) {
190 if (runner ==
nullptr) {
209 bool use_present_layers_callback) {
212 compositor_.struct_size =
sizeof(compositor_);
213 compositor_.user_data = &compositor;
214 compositor_.create_backing_store_callback =
220 ->CreateBackingStore(config, backing_store_out);
222 compositor_.collect_backing_store_callback =
227 ->CollectBackingStore(backing_store);
229 if (use_present_layers_callback) {
244 return compositor->
Present(info->view_id, info->layers,
248 compositor_.avoid_backing_store_cache = avoid_backing_store_cache;
263 return SetupEngine(
true);
267 return SetupEngine(
false);
270UniqueEngine EmbedderConfigBuilder::SetupEngine(
bool run)
const {
274 std::vector<const char*>
args;
275 args.reserve(command_line_arguments_.size());
277 for (
const auto& arg : command_line_arguments_) {
278 args.push_back(arg.c_str());
291 std::vector<const char*> dart_args;
292 dart_args.reserve(dart_entrypoint_arguments_.size());
294 for (
const auto& arg : dart_entrypoint_arguments_) {
295 dart_args.push_back(arg.c_str());
298 if (!dart_args.empty()) {
310 &project_args, &context_, &
engine)
313 &project_args, &context_, &
engine);
void SetViewFocusChangeRequestHook()
void SetPlatformTaskRunner(const FlutterTaskRunnerDescription *runner)
void SetupVsyncCallback()
void SetLogTag(std::string tag)
void SetIsolateCreateCallbackHook()
void SetExecutableName(std::string executable_name)
void SetRenderTargetType(EmbedderTestBackingStoreProducer::RenderTargetType type, FlutterSoftwarePixelFormat software_pixfmt=kFlutterSoftwarePixelFormatNative32)
void SetDartEntrypoint(std::string entrypoint)
void AddCommandLineArgument(std::string arg)
void SetViewFocusChangeRequestCallback(const std::function< void(const FlutterViewFocusChangeRequest *)> &callback)
void SetLogMessageCallbackHook()
void SetChannelUpdateCallbackHook()
FlutterProjectArgs & GetProjectArgs()
void SetRenderTaskRunner(const FlutterTaskRunnerDescription *runner)
void AddDartEntrypointArgument(std::string arg)
EmbedderConfigBuilder(EmbedderTestContext &context, InitializationPreference preference=InitializationPreference::kSnapshotsInitialize)
void SetUITaskRunner(const FlutterTaskRunnerDescription *runner)
FlutterCompositor & GetCompositor()
UniqueEngine LaunchEngine() const
void SetCompositor(bool avoid_backing_store_cache=false, bool use_present_layers_callback=false)
void SetSemanticsCallbackHooks()
UniqueEngine InitializeEngine() const
void SetLocalizationCallbackHooks()
void SetPlatformMessageCallback(const std::function< void(const FlutterPlatformMessage *)> &callback)
virtual void SetRenderTargetType(EmbedderTestBackingStoreProducer::RenderTargetType type, FlutterSoftwarePixelFormat software_pixfmt)=0
bool Present(FlutterViewId view_id, const FlutterLayer **layers, size_t layers_count)
void RunVsyncCallback(intptr_t baton)
const fml::Mapping * GetIsolateSnapshotData() const
const fml::Mapping * GetVMSnapshotInstructions() const
EmbedderTestCompositor & GetCompositor()
FlutterUpdateSemanticsNodeCallback GetUpdateSemanticsNodeCallbackHook()
void SetViewFocusChangeRequestCallback(const ViewFocusChangeRequestCallback &callback)
const fml::Mapping * GetIsolateSnapshotInstructions() const
static FlutterLogMessageCallback GetLogMessageCallbackHook()
const std::string & GetAssetsPath() const
static VoidCallback GetIsolateCreateCallbackHook()
void SetPlatformMessageCallback(const std::function< void(const FlutterPlatformMessage *)> &callback)
static FlutterComputePlatformResolvedLocaleCallback GetComputePlatformResolvedLocaleCallbackHook()
FlutterViewFocusChangeRequestCallback GetViewFocusChangeRequestCallbackHook()
FlutterRendererConfig & GetRendererConfig()
FlutterEngineAOTData GetAOTData() const
virtual void SetupCompositor()=0
FlutterUpdateSemanticsCustomActionCallback GetUpdateSemanticsCustomActionCallbackHook()
FlutterUpdateSemanticsCallback2 GetUpdateSemanticsCallback2Hook()
FlutterUpdateSemanticsCallback GetUpdateSemanticsCallbackHook()
FlutterChannelUpdateCallback GetChannelUpdateCallbackHook()
const fml::Mapping * GetVMSnapshotData() const
FlutterEngineResult FlutterEngineRun(size_t version, const FlutterRendererConfig *config, const FlutterProjectArgs *args, void *user_data, FLUTTER_API_SYMBOL(FlutterEngine) *engine_out)
Initialize and run a Flutter engine instance and return a handle to it. This is a convenience method ...
FlutterEngineResult FlutterEngineInitialize(size_t version, const FlutterRendererConfig *config, const FlutterProjectArgs *args, void *user_data, FLUTTER_API_SYMBOL(FlutterEngine) *engine_out)
Initialize a Flutter engine instance. This does not run the Flutter application code till the Flutter...
FlutterSoftwarePixelFormat
#define FLUTTER_ENGINE_VERSION
const FlutterLayer size_t layers_count
const FlutterLayer ** layers
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
G_BEGIN_DECLS GBytes * message
FlutterDesktopBinaryReply callback
fml::UniqueObject< FlutterEngine, UniqueEngineTraits > UniqueEngine
constexpr int64_t kFlutterImplicitViewId
const FlutterTaskRunnerDescription * ui_task_runner
const FlutterTaskRunnerDescription * render_task_runner
const FlutterTaskRunnerDescription * platform_task_runner
size_t struct_size
The size of this struct. Must be sizeof(FlutterCustomTaskRunners).
FlutterPlatformMessageCallback platform_message_callback
FlutterComputePlatformResolvedLocaleCallback compute_platform_resolved_locale_callback
FlutterLogMessageCallback log_message_callback
FlutterViewFocusChangeRequestCallback view_focus_change_request_callback
VsyncCallback vsync_callback
const uint8_t * isolate_snapshot_data
FlutterEngineAOTData aot_data
FlutterUpdateSemanticsCallback update_semantics_callback
const uint8_t * vm_snapshot_data
size_t isolate_snapshot_instructions_size
const char *const * dart_entrypoint_argv
size_t struct_size
The size of this struct. Must be sizeof(FlutterProjectArgs).
FlutterUpdateSemanticsCallback2 update_semantics_callback2
const uint8_t * vm_snapshot_instructions
size_t isolate_snapshot_data_size
const char *const * command_line_argv
FlutterChannelUpdateCallback channel_update_callback
size_t vm_snapshot_instructions_size
bool shutdown_dart_vm_when_done
const char * custom_dart_entrypoint
FlutterUpdateSemanticsCustomActionCallback update_semantics_custom_action_callback
FlutterUpdateSemanticsNodeCallback update_semantics_node_callback
const FlutterCustomTaskRunners * custom_task_runners
size_t vm_snapshot_data_size
int command_line_argc
The command line argument count used to initialize the project.
VoidCallback root_isolate_create_callback
const uint8_t * isolate_snapshot_instructions
const FlutterCompositor * compositor