7 #include "flutter/display_list/dl_blend_mode.h"
8 #include "flutter/display_list/dl_builder.h"
9 #include "flutter/display_list/dl_color.h"
10 #include "flutter/display_list/dl_paint.h"
11 #include "flutter/display_list/effects/dl_color_filter.h"
12 #include "flutter/display_list/geometry/dl_path_builder.h"
13 #include "flutter/testing/testing.h"
21 DisplayListBuilder builder;
23 paint.setColor(DlColor::kFuchsia());
26 builder.ClipPath(DlPath::MakeCircle(
DlPoint(200, 400), 300));
28 builder.ClipPath(DlPath::MakeCircle(
DlPoint(600, 400), 300));
29 builder.ClipPath(DlPath::MakeCircle(
DlPoint(400, 600), 300));
30 builder.DrawRect(DlRect::MakeXYWH(200, 200, 400, 400), paint);
32 ASSERT_TRUE(OpenPlaygroundHere(builder.Build()));
36 DisplayListBuilder builder;
37 builder.Translate(400, 400);
40 builder.ClipPath(DlPath::MakeCircle(
DlPoint(0, 0), 200));
44 builder.ClipPath(DlPath::MakeCircle(
DlPoint(-100, -50), 30),
45 DlClipOp::kDifference);
46 builder.ClipPath(DlPath::MakeCircle(
DlPoint(100, -50), 30),
47 DlClipOp::kDifference);
49 DlPathBuilder path_builder;
50 path_builder.MoveTo(
DlPoint(-100, 50));
52 builder.ClipPath(path_builder.TakePath(), DlClipOp::kDifference);
56 paint.setColor(DlColor::kYellow());
57 builder.DrawRect(DlRect::MakeXYWH(-1000, -1000, 2000, 2000), paint);
61 paint.setColor(DlColor::kMaroon());
62 DlPathBuilder path_builder_2;
63 path_builder_2.MoveTo(
DlPoint(200, -200));
64 path_builder_2.LineTo(
DlPoint(-200, -200));
65 path_builder_2.LineTo(
DlPoint(-200, -40));
69 builder.DrawPath(path_builder_2.TakePath(), paint);
71 ASSERT_TRUE(OpenPlaygroundHere(builder.Build()));
75 DisplayListBuilder builder;
79 paint.setColor(DlColor::kRed());
80 builder.DrawPaint(paint);
85 builder.ClipRect(DlRect::MakeXYWH(100, 100, 100, 100));
86 builder.ClipRect(DlRect::MakeXYWH(300, 300, 100, 100));
92 paint.setColor(DlColor::kGreen());
93 builder.DrawPaint(paint);
95 ASSERT_TRUE(OpenPlaygroundHere(builder.Build()));
99 std::array<DlColor, 5> colors = {DlColor::kWhite(), DlColor::kBlack(),
100 DlColor::kSkyBlue(), DlColor::kRed(),
102 DisplayListBuilder builder;
105 builder.Translate(300, 300);
106 for (
int i = 0; i < 15; i++) {
107 builder.Scale(0.8, 0.8);
109 paint.setColor(colors[i % colors.size()]);
110 builder.ClipPath(DlPath::MakeCircle(
DlPoint(0, 0), 300));
111 builder.DrawRect(DlRect::MakeXYWH(-300, -300, 600, 600), paint);
113 ASSERT_TRUE(OpenPlaygroundHere(builder.Build()));
119 DisplayListBuilder builder;
123 paint.setColor(DlColor::kWhite());
124 builder.DrawPaint(paint);
126 builder.ClipPath(DlPath::MakeCircle(
DlPoint(150, 150), 50),
127 DlClipOp::kIntersect);
130 paint.setColor(DlColor::kRed());
131 paint.setBlendMode(DlBlendMode::kMultiply);
132 builder.DrawRect(DlRect::MakeXYWH(100, 100, 100, 100), paint);
135 paint.setColor(DlColor::kGreen());
136 paint.setBlendMode(DlBlendMode::kSrcOver);
137 builder.DrawCircle(
DlPoint(150, 150), 50, paint);
139 ASSERT_TRUE(OpenPlaygroundHere(builder.Build()));
TEST_P(AiksTest, DrawAtlasNoColor)