Skip to content

Commit 241380f

Browse files
[Impeller] Golden test for text with a shader and a transform (flutter#42291)
See flutter/engine#42142
1 parent 64bed95 commit 241380f

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

impeller/aiks/aiks_unittests.cc

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2526,5 +2526,37 @@ TEST_P(AiksTest, CanDrawPointsWithTextureMap) {
25262526
ASSERT_TRUE(OpenPlaygroundHere(canvas.EndRecordingAsPicture()));
25272527
}
25282528

2529+
TEST_P(AiksTest, TextForegroundShaderWithTransform) {
2530+
auto mapping = OpenFixtureAsSkData("Roboto-Regular.ttf");
2531+
ASSERT_NE(mapping, nullptr);
2532+
2533+
Scalar font_size = 100;
2534+
SkFont sk_font(SkTypeface::MakeFromData(mapping), font_size);
2535+
2536+
Paint text_paint;
2537+
text_paint.color = Color::Blue();
2538+
2539+
std::vector<Color> colors = {Color{0.9568, 0.2627, 0.2118, 1.0},
2540+
Color{0.1294, 0.5882, 0.9529, 1.0}};
2541+
std::vector<Scalar> stops = {
2542+
0.0,
2543+
1.0,
2544+
};
2545+
text_paint.color_source = ColorSource::MakeLinearGradient(
2546+
{0, 0}, {100, 100}, std::move(colors), std::move(stops),
2547+
Entity::TileMode::kRepeat, {});
2548+
2549+
Canvas canvas;
2550+
canvas.Translate({100, 100});
2551+
canvas.Rotate(Radians(kPi / 4));
2552+
2553+
auto blob = SkTextBlob::MakeFromString("Hello", sk_font);
2554+
ASSERT_NE(blob, nullptr);
2555+
auto frame = TextFrameFromTextBlob(blob);
2556+
canvas.DrawTextFrame(frame, Point(), text_paint);
2557+
2558+
ASSERT_TRUE(OpenPlaygroundHere(canvas.EndRecordingAsPicture()));
2559+
}
2560+
25292561
} // namespace testing
25302562
} // namespace impeller

0 commit comments

Comments
 (0)