@@ -1120,5 +1120,43 @@ TEST_P(DisplayListTest, DrawVerticesSolidColorTrianglesWithIndices) {
1120
1120
ASSERT_TRUE (OpenPlaygroundHere (builder.Build ()));
1121
1121
}
1122
1122
1123
+ TEST_P (DisplayListTest, DrawShapes) {
1124
+ flutter::DisplayListBuilder builder;
1125
+ std::vector<flutter::DlStrokeJoin> joins = {
1126
+ flutter::DlStrokeJoin::kBevel ,
1127
+ flutter::DlStrokeJoin::kRound ,
1128
+ flutter::DlStrokeJoin::kMiter ,
1129
+ };
1130
+ flutter::DlPaint paint = //
1131
+ flutter::DlPaint () //
1132
+ .setColor (flutter::DlColor::kWhite ()) //
1133
+ .setDrawStyle (flutter::DlDrawStyle::kFill ) //
1134
+ .setStrokeWidth (10 );
1135
+ flutter::DlPaint stroke_paint = //
1136
+ flutter::DlPaint () //
1137
+ .setColor (flutter::DlColor::kWhite ()) //
1138
+ .setDrawStyle (flutter::DlDrawStyle::kStroke ) //
1139
+ .setStrokeWidth (10 );
1140
+ SkPath path = SkPath ().addPoly ({{150 , 50 }, {160 , 50 }}, false );
1141
+
1142
+ builder.translate (300 , 50 );
1143
+ builder.scale (0.8 , 0.8 );
1144
+ for (auto join : joins) {
1145
+ paint.setStrokeJoin (join);
1146
+ stroke_paint.setStrokeJoin (join);
1147
+ builder.drawRect (SkRect::MakeXYWH (0 , 0 , 100 , 100 ), paint);
1148
+ builder.drawRect (SkRect::MakeXYWH (0 , 150 , 100 , 100 ), stroke_paint);
1149
+ builder.drawRRect (
1150
+ SkRRect::MakeRectXY (SkRect::MakeXYWH (150 , 0 , 100 , 100 ), 30 , 30 ), paint);
1151
+ builder.drawRRect (
1152
+ SkRRect::MakeRectXY (SkRect::MakeXYWH (150 , 150 , 100 , 100 ), 30 , 30 ),
1153
+ stroke_paint);
1154
+ builder.drawCircle ({350 , 50 }, 50 , paint);
1155
+ builder.drawCircle ({350 , 200 }, 50 , stroke_paint);
1156
+ builder.translate (0 , 300 );
1157
+ }
1158
+ ASSERT_TRUE (OpenPlaygroundHere (builder.Build ()));
1159
+ }
1160
+
1123
1161
} // namespace testing
1124
1162
} // namespace impeller
0 commit comments