Flutter Engine
flutter::testing::EmbedderConfigBuilder Class Reference

#include <embedder_config_builder.h>

Public Types

enum  InitializationPreference {
  InitializationPreference::kSnapshotsInitialize,
  InitializationPreference::kAOTDataInitialize,
  InitializationPreference::kMultiAOTInitialize,
  InitializationPreference::kNoInitialize
}
 

Public Member Functions

 EmbedderConfigBuilder (EmbedderTestContext &context, InitializationPreference preference=InitializationPreference::kSnapshotsInitialize)
 
 ~EmbedderConfigBuilder ()
 
FlutterProjectArgsGetProjectArgs ()
 
void SetSoftwareRendererConfig (SkISize surface_size=SkISize::Make(1, 1))
 
void SetOpenGLRendererConfig (SkISize surface_size)
 
void SetMetalRendererConfig (SkISize surface_size)
 
void SetOpenGLFBOCallBack ()
 
void SetOpenGLPresentCallBack ()
 
void SetAssetsPath ()
 
void SetSnapshots ()
 
void SetAOTDataElf ()
 
void SetIsolateCreateCallbackHook ()
 
void SetSemanticsCallbackHooks ()
 
void SetLogMessageCallbackHook ()
 
void SetLogTag (std::string tag)
 
void SetLocalizationCallbackHooks ()
 
void SetDartEntrypoint (std::string entrypoint)
 
void AddCommandLineArgument (std::string arg)
 
void AddDartEntrypointArgument (std::string arg)
 
void SetPlatformTaskRunner (const FlutterTaskRunnerDescription *runner)
 
void SetRenderTaskRunner (const FlutterTaskRunnerDescription *runner)
 
void SetPlatformMessageCallback (const std::function< void(const FlutterPlatformMessage *)> &callback)
 
void SetCompositor (bool avoid_backing_store_cache=false)
 
FlutterCompositorGetCompositor ()
 
void SetRenderTargetType (EmbedderTestBackingStoreProducer::RenderTargetType type)
 
UniqueEngine LaunchEngine () const
 
UniqueEngine InitializeEngine () const
 

Detailed Description

Definition at line 30 of file embedder_config_builder.h.

Member Enumeration Documentation

◆ InitializationPreference

Enumerator
kSnapshotsInitialize 
kAOTDataInitialize 
kMultiAOTInitialize 
kNoInitialize 

Definition at line 32 of file embedder_config_builder.h.

32  {
33  kSnapshotsInitialize,
34  kAOTDataInitialize,
35  kMultiAOTInitialize,
36  kNoInitialize,
37  };

Constructor & Destructor Documentation

◆ EmbedderConfigBuilder()

flutter::testing::EmbedderConfigBuilder::EmbedderConfigBuilder ( EmbedderTestContext context,
InitializationPreference  preference = InitializationPreference::kSnapshotsInitialize 
)

Definition at line 23 of file embedder_config_builder.cc.

References AddCommandLineArgument(), FML_LOG, height, kAOTDataInitialize, kMultiAOTInitialize, kNoInitialize, kSnapshotsInitialize, name, FlutterProjectArgs::platform_message_callback, SetAOTDataElf(), SetAssetsPath(), SetIsolateCreateCallbackHook(), SetLocalizationCallbackHooks(), SetLogMessageCallbackHook(), SetSemanticsCallbackHooks(), SetSnapshots(), FlutterProjectArgs::shutdown_dart_vm_when_done, FlutterSoftwareRendererConfig::struct_size, FlutterCustomTaskRunners::struct_size, FlutterProjectArgs::struct_size, FlutterSoftwareRendererConfig::surface_present_callback, and ~EmbedderConfigBuilder().

26  : context_(context) {
27  project_args_.struct_size = sizeof(project_args_);
28  project_args_.shutdown_dart_vm_when_done = true;
29  project_args_.platform_message_callback =
30  [](const FlutterPlatformMessage* message, void* context) {
31  reinterpret_cast<EmbedderTestContext*>(context)
32  ->PlatformMessageCallback(message);
33  };
34 
35  custom_task_runners_.struct_size = sizeof(FlutterCustomTaskRunners);
36 
37 #ifdef SHELL_ENABLE_GL
38  opengl_renderer_config_.struct_size = sizeof(FlutterOpenGLRendererConfig);
39  opengl_renderer_config_.make_current = [](void* context) -> bool {
40  return reinterpret_cast<EmbedderTestContextGL*>(context)->GLMakeCurrent();
41  };
42  opengl_renderer_config_.clear_current = [](void* context) -> bool {
43  return reinterpret_cast<EmbedderTestContextGL*>(context)->GLClearCurrent();
44  };
45  opengl_renderer_config_.present_with_info =
46  [](void* context, const FlutterPresentInfo* present_info) -> bool {
47  return reinterpret_cast<EmbedderTestContextGL*>(context)->GLPresent(
48  present_info->fbo_id);
49  };
50  opengl_renderer_config_.fbo_with_frame_info_callback =
51  [](void* context, const FlutterFrameInfo* frame_info) -> uint32_t {
52  return reinterpret_cast<EmbedderTestContextGL*>(context)->GLGetFramebuffer(
53  *frame_info);
54  };
55  opengl_renderer_config_.make_resource_current = [](void* context) -> bool {
56  return reinterpret_cast<EmbedderTestContextGL*>(context)
57  ->GLMakeResourceCurrent();
58  };
59  opengl_renderer_config_.gl_proc_resolver = [](void* context,
60  const char* name) -> void* {
61  return reinterpret_cast<EmbedderTestContextGL*>(context)->GLGetProcAddress(
62  name);
63  };
64  opengl_renderer_config_.fbo_reset_after_present = true;
65  opengl_renderer_config_.surface_transformation =
66  [](void* context) -> FlutterTransformation {
67  return reinterpret_cast<EmbedderTestContext*>(context)
68  ->GetRootSurfaceTransformation();
69  };
70 #endif
71 
72 #ifdef SHELL_ENABLE_METAL
73  InitializeMetalRendererConfig();
74 #endif
75 
76  software_renderer_config_.struct_size = sizeof(FlutterSoftwareRendererConfig);
77  software_renderer_config_.surface_present_callback =
78  [](void* context, const void* allocation, size_t row_bytes,
79  size_t height) {
80  auto image_info =
81  SkImageInfo::MakeN32Premul(SkISize::Make(row_bytes / 4, height));
82  SkBitmap bitmap;
83  if (!bitmap.installPixels(image_info, const_cast<void*>(allocation),
84  row_bytes)) {
85  FML_LOG(ERROR) << "Could not copy pixels for the software "
86  "composition from the engine.";
87  return false;
88  }
89  bitmap.setImmutable();
90  return reinterpret_cast<EmbedderTestContextSoftware*>(context)->Present(
91  SkImage::MakeFromBitmap(bitmap));
92  };
93 
94  // The first argument is treated as the executable name. Don't make tests have
95  // to do this manually.
96  AddCommandLineArgument("embedder_unittest");
97 
98  if (preference != InitializationPreference::kNoInitialize) {
99  SetAssetsPath();
104  AddCommandLineArgument("--disable-observatory");
105 
108  SetSnapshots();
109  }
112  SetAOTDataElf();
113  }
114  }
115 }
#define FML_LOG(severity)
Definition: logging.h:65
FlutterPlatformMessageCallback platform_message_callback
Definition: embedder.h:1402
bool shutdown_dart_vm_when_done
Definition: embedder.h:1512
int32_t height
size_t struct_size
The size of this struct. Must be sizeof(FlutterProjectArgs).
Definition: embedder.h:1350
const char * name
Definition: fuchsia.cc:50
size_t struct_size
The size of this struct. Must be sizeof(FlutterCustomTaskRunners).
Definition: embedder.h:938
size_t struct_size
The size of this struct. Must be sizeof(FlutterSoftwareRendererConfig).
Definition: embedder.h:546
SoftwareSurfacePresentCallback surface_present_callback
Definition: embedder.h:551

◆ ~EmbedderConfigBuilder()

flutter::testing::EmbedderConfigBuilder::~EmbedderConfigBuilder ( )
default

Referenced by EmbedderConfigBuilder().

Member Function Documentation

◆ AddCommandLineArgument()

void flutter::testing::EmbedderConfigBuilder::AddCommandLineArgument ( std::string  arg)

Definition at line 239 of file embedder_config_builder.cc.

Referenced by EmbedderConfigBuilder().

239  {
240  if (arg.size() == 0) {
241  return;
242  }
243 
244  command_line_arguments_.emplace_back(std::move(arg));
245 }

◆ AddDartEntrypointArgument()

void flutter::testing::EmbedderConfigBuilder::AddDartEntrypointArgument ( std::string  arg)

Definition at line 247 of file embedder_config_builder.cc.

Referenced by flutter::testing::TEST_F().

247  {
248  if (arg.size() == 0) {
249  return;
250  }
251 
252  dart_entrypoint_arguments_.emplace_back(std::move(arg));
253 }

◆ GetCompositor()

FlutterCompositor & flutter::testing::EmbedderConfigBuilder::GetCompositor ( )

Definition at line 313 of file embedder_config_builder.cc.

Referenced by flutter::testing::TEST_F().

313  {
314  return compositor_;
315 }

◆ GetProjectArgs()

FlutterProjectArgs & flutter::testing::EmbedderConfigBuilder::GetProjectArgs ( )

Definition at line 119 of file embedder_config_builder.cc.

Referenced by flutter::testing::TEST_F().

119  {
120  return project_args_;
121 }

◆ InitializeEngine()

◆ LaunchEngine()

UniqueEngine flutter::testing::EmbedderConfigBuilder::LaunchEngine ( ) const

Definition at line 327 of file embedder_config_builder.cc.

Referenced by flutter::testing::TEST(), and flutter::testing::TEST_F().

327  {
328  return SetupEngine(true);
329 }

◆ SetAOTDataElf()

void flutter::testing::EmbedderConfigBuilder::SetAOTDataElf ( )

Definition at line 199 of file embedder_config_builder.cc.

References FlutterProjectArgs::aot_data, and flutter::testing::EmbedderTestContext::GetAOTData().

Referenced by EmbedderConfigBuilder().

199  {
200  project_args_.aot_data = context_.GetAOTData();
201 }
FlutterEngineAOTData GetAOTData() const
FlutterEngineAOTData aot_data
Definition: embedder.h:1543

◆ SetAssetsPath()

void flutter::testing::EmbedderConfigBuilder::SetAssetsPath ( )

Definition at line 173 of file embedder_config_builder.cc.

References FlutterProjectArgs::assets_path, and flutter::testing::EmbedderTestContext::GetAssetsPath().

Referenced by EmbedderConfigBuilder().

173  {
174  project_args_.assets_path = context_.GetAssetsPath().c_str();
175 }
const char * assets_path
Definition: embedder.h:1354
const std::string & GetAssetsPath() const

◆ SetCompositor()

void flutter::testing::EmbedderConfigBuilder::SetCompositor ( bool  avoid_backing_store_cache = false)

Definition at line 279 of file embedder_config_builder.cc.

References FlutterProjectArgs::compositor, flutter::testing::EmbedderTestContext::GetCompositor(), flutter::testing::EmbedderTestContext::SetupCompositor(), and user_data.

Referenced by flutter::testing::TEST_F().

279  {
280  context_.SetupCompositor();
281  auto& compositor = context_.GetCompositor();
282  compositor_.struct_size = sizeof(compositor_);
283  compositor_.user_data = &compositor;
284  compositor_.create_backing_store_callback =
285  [](const FlutterBackingStoreConfig* config, //
286  FlutterBackingStore* backing_store_out, //
287  void* user_data //
288  ) {
289  return reinterpret_cast<EmbedderTestCompositor*>(user_data)
290  ->CreateBackingStore(config, backing_store_out);
291  };
292  compositor_.collect_backing_store_callback =
293  [](const FlutterBackingStore* backing_store, //
294  void* user_data //
295  ) {
296  return reinterpret_cast<EmbedderTestCompositor*>(user_data)
297  ->CollectBackingStore(backing_store);
298  };
299  compositor_.present_layers_callback = [](const FlutterLayer** layers, //
300  size_t layers_count, //
301  void* user_data //
302  ) {
303  return reinterpret_cast<EmbedderTestCompositor*>(user_data)->Present(
304  layers, //
305  layers_count //
306 
307  );
308  };
309  compositor_.avoid_backing_store_cache = avoid_backing_store_cache;
310  project_args_.compositor = &compositor_;
311 }
const FlutterCompositor * compositor
Definition: embedder.h:1528
void * user_data

◆ SetDartEntrypoint()

void flutter::testing::EmbedderConfigBuilder::SetDartEntrypoint ( std::string  entrypoint)

Definition at line 230 of file embedder_config_builder.cc.

References FlutterProjectArgs::custom_dart_entrypoint.

Referenced by flutter::testing::TEST_F().

230  {
231  if (entrypoint.size() == 0) {
232  return;
233  }
234 
235  dart_entrypoint_ = std::move(entrypoint);
236  project_args_.custom_dart_entrypoint = dart_entrypoint_.c_str();
237 }
const char * custom_dart_entrypoint
Definition: embedder.h:1488

◆ SetIsolateCreateCallbackHook()

void flutter::testing::EmbedderConfigBuilder::SetIsolateCreateCallbackHook ( )

◆ SetLocalizationCallbackHooks()

void flutter::testing::EmbedderConfigBuilder::SetLocalizationCallbackHooks ( )

◆ SetLogMessageCallbackHook()

void flutter::testing::EmbedderConfigBuilder::SetLogMessageCallbackHook ( )

◆ SetLogTag()

void flutter::testing::EmbedderConfigBuilder::SetLogTag ( std::string  tag)

Definition at line 220 of file embedder_config_builder.cc.

References FlutterProjectArgs::log_tag.

Referenced by flutter::testing::TEST_F().

220  {
221  log_tag_ = std::move(tag);
222  project_args_.log_tag = log_tag_.c_str();
223 }
const char * log_tag
Definition: embedder.h:1581

◆ SetMetalRendererConfig()

void flutter::testing::EmbedderConfigBuilder::SetMetalRendererConfig ( SkISize  surface_size)

Definition at line 165 of file embedder_config_builder.cc.

References flutter::kMetal, FlutterRendererConfig::metal, flutter::testing::EmbedderTestContext::SetupSurface(), and FlutterRendererConfig::type.

Referenced by flutter::testing::TEST_F().

165  {
166 #ifdef SHELL_ENABLE_METAL
167  renderer_config_.type = FlutterRendererType::kMetal;
168  renderer_config_.metal = metal_renderer_config_;
169  context_.SetupSurface(surface_size);
170 #endif
171 }
virtual void SetupSurface(SkISize surface_size)=0
FlutterRendererType type
Definition: embedder.h:555
FlutterMetalRendererConfig metal
Definition: embedder.h:559

◆ SetOpenGLFBOCallBack()

void flutter::testing::EmbedderConfigBuilder::SetOpenGLFBOCallBack ( )

Definition at line 129 of file embedder_config_builder.cc.

References FlutterOpenGLRendererConfig::fbo_callback, FML_CHECK, FlutterUIntSize::height, kOpenGL, FlutterRendererConfig::open_gl, FlutterFrameInfo::size, FlutterFrameInfo::struct_size, FlutterRendererConfig::type, and FlutterUIntSize::width.

Referenced by flutter::testing::TEST_F().

129  {
130 #ifdef SHELL_ENABLE_GL
131  // SetOpenGLRendererConfig must be called before this.
132  FML_CHECK(renderer_config_.type == FlutterRendererType::kOpenGL);
133  renderer_config_.open_gl.fbo_callback = [](void* context) -> uint32_t {
134  FlutterFrameInfo frame_info = {};
135  // fbo_callback doesn't use the frame size information, only
136  // fbo_callback_with_frame_info does.
137  frame_info.struct_size = sizeof(FlutterFrameInfo);
138  frame_info.size.width = 0;
139  frame_info.size.height = 0;
140  return reinterpret_cast<EmbedderTestContextGL*>(context)->GLGetFramebuffer(
141  frame_info);
142  };
143 #endif
144 }
uint32_t width
Definition: embedder.h:328
uint32_t height
Definition: embedder.h:329
FlutterUIntSize size
The size of the surface that will be backed by the fbo.
Definition: embedder.h:363
size_t struct_size
The size of this struct. Must be sizeof(FlutterFrameInfo).
Definition: embedder.h:361
FlutterRendererType type
Definition: embedder.h:555
FlutterOpenGLRendererConfig open_gl
Definition: embedder.h:557
#define FML_CHECK(condition)
Definition: logging.h:68
UIntCallback fbo_callback
Definition: embedder.h:400

◆ SetOpenGLPresentCallBack()

void flutter::testing::EmbedderConfigBuilder::SetOpenGLPresentCallBack ( )

Definition at line 146 of file embedder_config_builder.cc.

References FML_CHECK, kOpenGL, FlutterRendererConfig::open_gl, FlutterOpenGLRendererConfig::present, and FlutterRendererConfig::type.

Referenced by flutter::testing::TEST_F().

146  {
147 #ifdef SHELL_ENABLE_GL
148  // SetOpenGLRendererConfig must be called before this.
149  FML_CHECK(renderer_config_.type == FlutterRendererType::kOpenGL);
150  renderer_config_.open_gl.present = [](void* context) -> bool {
151  // passing a placeholder fbo_id.
152  return reinterpret_cast<EmbedderTestContextGL*>(context)->GLPresent(0);
153  };
154 #endif
155 }
FlutterRendererType type
Definition: embedder.h:555
FlutterOpenGLRendererConfig open_gl
Definition: embedder.h:557
#define FML_CHECK(condition)
Definition: logging.h:68

◆ SetOpenGLRendererConfig()

void flutter::testing::EmbedderConfigBuilder::SetOpenGLRendererConfig ( SkISize  surface_size)

Definition at line 157 of file embedder_config_builder.cc.

References kOpenGL, FlutterRendererConfig::open_gl, flutter::testing::EmbedderTestContext::SetupSurface(), and FlutterRendererConfig::type.

Referenced by flutter::testing::TEST_F().

157  {
158 #ifdef SHELL_ENABLE_GL
159  renderer_config_.type = FlutterRendererType::kOpenGL;
160  renderer_config_.open_gl = opengl_renderer_config_;
161  context_.SetupSurface(surface_size);
162 #endif
163 }
virtual void SetupSurface(SkISize surface_size)=0
FlutterRendererType type
Definition: embedder.h:555
FlutterOpenGLRendererConfig open_gl
Definition: embedder.h:557

◆ SetPlatformMessageCallback()

void flutter::testing::EmbedderConfigBuilder::SetPlatformMessageCallback ( const std::function< void(const FlutterPlatformMessage *)> &  callback)

Definition at line 274 of file embedder_config_builder.cc.

References callback, and flutter::testing::EmbedderTestContext::SetPlatformMessageCallback().

Referenced by flutter::testing::TEST_F().

275  {
277 }
FlKeyEvent FlKeyResponderAsyncCallback callback
void SetPlatformMessageCallback(const std::function< void(const FlutterPlatformMessage *)> &callback)

◆ SetPlatformTaskRunner()

void flutter::testing::EmbedderConfigBuilder::SetPlatformTaskRunner ( const FlutterTaskRunnerDescription runner)

Definition at line 255 of file embedder_config_builder.cc.

References FlutterProjectArgs::custom_task_runners, and FlutterCustomTaskRunners::platform_task_runner.

Referenced by flutter::testing::TEST_F().

256  {
257  if (runner == nullptr) {
258  return;
259  }
260  custom_task_runners_.platform_task_runner = runner;
261  project_args_.custom_task_runners = &custom_task_runners_;
262 }
const FlutterCustomTaskRunners * custom_task_runners
Definition: embedder.h:1493
const FlutterTaskRunnerDescription * platform_task_runner
Definition: embedder.h:943

◆ SetRenderTargetType()

void flutter::testing::EmbedderConfigBuilder::SetRenderTargetType ( EmbedderTestBackingStoreProducer::RenderTargetType  type)

Definition at line 317 of file embedder_config_builder.cc.

References flutter::testing::EmbedderTestContext::GetCompositor(), flutter::testing::EmbedderTestCompositor::SetBackingStoreProducer(), and type.

Referenced by flutter::testing::TEST_F().

318  {
319  auto& compositor = context_.GetCompositor();
320  // TODO(wrightgeorge): figure out a better way of plumbing through the
321  // GrDirectContext
322  compositor.SetBackingStoreProducer(
323  std::make_unique<EmbedderTestBackingStoreProducer>(
324  compositor.GetGrContext(), type));
325 }
KeyCallType type
void SetBackingStoreProducer(std::unique_ptr< EmbedderTestBackingStoreProducer > backingstore_producer)

◆ SetRenderTaskRunner()

void flutter::testing::EmbedderConfigBuilder::SetRenderTaskRunner ( const FlutterTaskRunnerDescription runner)

Definition at line 264 of file embedder_config_builder.cc.

References FlutterProjectArgs::custom_task_runners, and FlutterCustomTaskRunners::render_task_runner.

Referenced by flutter::testing::TEST_F().

265  {
266  if (runner == nullptr) {
267  return;
268  }
269 
270  custom_task_runners_.render_task_runner = runner;
271  project_args_.custom_task_runners = &custom_task_runners_;
272 }
const FlutterTaskRunnerDescription * render_task_runner
Definition: embedder.h:948
const FlutterCustomTaskRunners * custom_task_runners
Definition: embedder.h:1493

◆ SetSemanticsCallbackHooks()

void flutter::testing::EmbedderConfigBuilder::SetSemanticsCallbackHooks ( )

◆ SetSnapshots()

void flutter::testing::EmbedderConfigBuilder::SetSnapshots ( )

Definition at line 177 of file embedder_config_builder.cc.

References flutter::testing::EmbedderTestContext::GetIsolateSnapshotData(), flutter::testing::EmbedderTestContext::GetIsolateSnapshotInstructions(), flutter::testing::EmbedderTestContext::GetVMSnapshotData(), flutter::testing::EmbedderTestContext::GetVMSnapshotInstructions(), FlutterProjectArgs::isolate_snapshot_data, FlutterProjectArgs::isolate_snapshot_data_size, FlutterProjectArgs::isolate_snapshot_instructions, FlutterProjectArgs::isolate_snapshot_instructions_size, FlutterProjectArgs::vm_snapshot_data, FlutterProjectArgs::vm_snapshot_data_size, FlutterProjectArgs::vm_snapshot_instructions, and FlutterProjectArgs::vm_snapshot_instructions_size.

Referenced by EmbedderConfigBuilder().

177  {
178  if (auto mapping = context_.GetVMSnapshotData()) {
179  project_args_.vm_snapshot_data = mapping->GetMapping();
180  project_args_.vm_snapshot_data_size = mapping->GetSize();
181  }
182 
183  if (auto mapping = context_.GetVMSnapshotInstructions()) {
184  project_args_.vm_snapshot_instructions = mapping->GetMapping();
185  project_args_.vm_snapshot_instructions_size = mapping->GetSize();
186  }
187 
188  if (auto mapping = context_.GetIsolateSnapshotData()) {
189  project_args_.isolate_snapshot_data = mapping->GetMapping();
190  project_args_.isolate_snapshot_data_size = mapping->GetSize();
191  }
192 
193  if (auto mapping = context_.GetIsolateSnapshotInstructions()) {
194  project_args_.isolate_snapshot_instructions = mapping->GetMapping();
195  project_args_.isolate_snapshot_instructions_size = mapping->GetSize();
196  }
197 }
const uint8_t * isolate_snapshot_data
Definition: embedder.h:1423
size_t vm_snapshot_instructions_size
Definition: embedder.h:1418
const fml::Mapping * GetVMSnapshotInstructions() const
const fml::Mapping * GetVMSnapshotData() const
const uint8_t * vm_snapshot_data
Definition: embedder.h:1407
const uint8_t * vm_snapshot_instructions
Definition: embedder.h:1415
size_t isolate_snapshot_instructions_size
Definition: embedder.h:1434
size_t isolate_snapshot_data_size
Definition: embedder.h:1426
const fml::Mapping * GetIsolateSnapshotInstructions() const
const uint8_t * isolate_snapshot_instructions
Definition: embedder.h:1431
size_t vm_snapshot_data_size
Definition: embedder.h:1410
const fml::Mapping * GetIsolateSnapshotData() const

◆ SetSoftwareRendererConfig()

void flutter::testing::EmbedderConfigBuilder::SetSoftwareRendererConfig ( SkISize  surface_size = SkISize::Make(1, 1))

Definition at line 123 of file embedder_config_builder.cc.

References flutter::kSoftware, flutter::testing::EmbedderTestContext::SetupSurface(), FlutterRendererConfig::software, and FlutterRendererConfig::type.

Referenced by flutter::testing::TEST_F().

123  {
124  renderer_config_.type = FlutterRendererType::kSoftware;
125  renderer_config_.software = software_renderer_config_;
126  context_.SetupSurface(surface_size);
127 }
FlutterSoftwareRendererConfig software
Definition: embedder.h:558
virtual void SetupSurface(SkISize surface_size)=0
FlutterRendererType type
Definition: embedder.h:555

The documentation for this class was generated from the following files: