@@ -1111,6 +1111,38 @@ TEST_P(DisplayListTest, DrawVerticesLinearGradientWithoutIndices) {
11111111 ASSERT_TRUE (OpenPlaygroundHere (builder.Build ()));
11121112}
11131113
1114+ TEST_P (DisplayListTest, DrawVerticesLinearGradientWithTextureCoordinates) {
1115+ std::vector<SkPoint> positions = {SkPoint::Make (100 , 300 ),
1116+ SkPoint::Make (200 , 100 ),
1117+ SkPoint::Make (300 , 300 )};
1118+ std::vector<SkPoint> texture_coordinates = {SkPoint::Make (1.0 , 1.0 ),
1119+ SkPoint::Make (0.0 , 1.0 ),
1120+ SkPoint::Make (0.0 , 0.0 )};
1121+ std::vector<flutter::DlColor> colors = {flutter::DlColor::kRed (),
1122+ flutter::DlColor::kGreen (),
1123+ flutter::DlColor::kBlue ()};
1124+
1125+ auto vertices = flutter::DlVertices::Make (
1126+ flutter::DlVertexMode::kTriangles , 3 , positions.data (),
1127+ texture_coordinates.data (), colors.data ());
1128+
1129+ std::vector<flutter::DlColor> gradient_colors = {flutter::DlColor::kBlue (),
1130+ flutter::DlColor::kRed ()};
1131+ const float stops[2 ] = {0.0 , 1.0 };
1132+
1133+ auto linear = flutter::DlColorSource::MakeLinear (
1134+ {100.0 , 100.0 }, {300.0 , 300.0 }, 2 , gradient_colors.data (), stops,
1135+ flutter::DlTileMode::kRepeat );
1136+
1137+ flutter::DisplayListBuilder builder;
1138+ flutter::DlPaint paint;
1139+
1140+ paint.setColorSource (linear);
1141+ builder.drawVertices (vertices, flutter::DlBlendMode::kSrcOver , paint);
1142+
1143+ ASSERT_TRUE (OpenPlaygroundHere (builder.Build ()));
1144+ }
1145+
11141146TEST_P (DisplayListTest, DrawVerticesSolidColorTrianglesWithIndices) {
11151147 std::vector<SkPoint> positions = {
11161148 SkPoint::Make (100 , 300 ), SkPoint::Make (200 , 100 ), SkPoint::Make (300 , 300 ),
0 commit comments