16 auto message_latch = std::make_shared<fml::AutoResetWaitableEvent>();
19 auto nativeToDlPaint = [message_latch, &dl_paint](Dart_NativeArguments
args) {
20 Dart_Handle dart_paint = Dart_GetNativeArgument(
args, 0);
21 Dart_Handle paint_objects =
23 Dart_Handle paint_data = Dart_GetField(dart_paint,
tonic::ToDart(
"_data"));
24 Paint ui_paint(paint_objects, paint_data);
28 message_latch->Signal();
31 Settings settings = CreateSettingsForFixture();
33 GetCurrentTaskRunner(),
39 AddNativeCallback(
"ConvertPaintToDlPaint",
42 std::unique_ptr<Shell> shell = CreateShell(settings, task_runners);
44 ASSERT_TRUE(shell->IsSetup());
46 configuration.SetEntrypoint(
"convertPaintToDlPaint");
48 shell->RunEngine(std::move(configuration), [](
auto result) {
52 message_latch->Wait();
53 DestroyShell(std::move(shell), task_runners);
55 EXPECT_EQ(dl_paint.
getBlendMode(), DlBlendMode::kModulate);
56 EXPECT_EQ(
static_cast<uint32_t
>(dl_paint.
getColor().
argb()), 0x11223344u);
58 std::shared_ptr<const DlColorFilter> expected_filter =
62 FAIL() <<
"color filter was nullptr";
68 FAIL() <<
"mask filter was nullptr";
static RunConfiguration InferFromSettings(const Settings &settings, const fml::RefPtr< fml::TaskRunner > &io_worker=nullptr, IsolateLaunchType launch_type=IsolateLaunchType::kNewGroup)
Attempts to infer a run configuration from the settings object. This tries to create a run configurat...