5 #include "display_list/dl_color.h"
6 #include "display_list/dl_tile_mode.h"
7 #include "flutter/testing/testing.h"
10 #include "include/core/SkRRect.h"
15 TEST(SkiaConversionsTest, SkPointToPoint) {
16 for (
int x = -100; x < 100; x += 4) {
17 for (
int y = -100; y < 100; y += 4) {
19 Point(x * 0.25f, y * 0.25f));
24 TEST(SkiaConversionsTest, SkPointToSize) {
25 for (
int x = -100; x < 100; x += 4) {
26 for (
int y = -100; y < 100; y += 4) {
28 Size(x * 0.25f, y * 0.25f));
38 const flutter::DlColor
color = flutter::DlColor(0x8040C020);
47 TEST(SkiaConversionsTest, GradientStopConversion) {
49 std::vector<flutter::DlColor> colors = {flutter::DlColor::kBlue(),
50 flutter::DlColor::kRed(),
51 flutter::DlColor::kGreen()};
52 std::vector<float> stops = {0.0, 0.5, 1.0};
54 flutter::DlColorSource::MakeLinear(SkPoint::Make(0, 0),
55 SkPoint::Make(1.0, 1.0),
59 flutter::DlTileMode::kClamp,
63 std::vector<Color> converted_colors;
64 std::vector<Scalar> converted_stops;
73 TEST(SkiaConversionsTest, GradientMissing0) {
74 std::vector<flutter::DlColor> colors = {flutter::DlColor::kBlue(),
75 flutter::DlColor::kRed()};
76 std::vector<float> stops = {0.5, 1.0};
78 flutter::DlColorSource::MakeLinear(SkPoint::Make(0, 0),
79 SkPoint::Make(1.0, 1.0),
83 flutter::DlTileMode::kClamp,
87 std::vector<Color> converted_colors;
88 std::vector<Scalar> converted_stops;
99 TEST(SkiaConversionsTest, GradientMissingLastValue) {
100 std::vector<flutter::DlColor> colors = {flutter::DlColor::kBlue(),
101 flutter::DlColor::kRed()};
102 std::vector<float> stops = {0.0, .5};
103 const auto gradient =
104 flutter::DlColorSource::MakeLinear(SkPoint::Make(0, 0),
105 SkPoint::Make(1.0, 1.0),
109 flutter::DlTileMode::kClamp,
113 std::vector<Color> converted_colors;
114 std::vector<Scalar> converted_stops;
125 TEST(SkiaConversionsTest, GradientStopGreaterThan1) {
126 std::vector<flutter::DlColor> colors = {flutter::DlColor::kBlue(),
127 flutter::DlColor::kGreen(),
128 flutter::DlColor::kRed()};
129 std::vector<float> stops = {0.0, 100, 1.0};
130 const auto gradient =
131 flutter::DlColorSource::MakeLinear(SkPoint::Make(0, 0),
132 SkPoint::Make(1.0, 1.0),
136 flutter::DlTileMode::kClamp,
140 std::vector<Color> converted_colors;
141 std::vector<Scalar> converted_stops;
151 TEST(SkiaConversionsTest, GradientConversionNonMonotonic) {
152 std::vector<flutter::DlColor> colors = {
153 flutter::DlColor::kBlue(), flutter::DlColor::kGreen(),
154 flutter::DlColor::kGreen(), flutter::DlColor::kRed()};
155 std::vector<float> stops = {0.0, 0.5, 0.4, 1.0};
156 const auto gradient =
157 flutter::DlColorSource::MakeLinear(SkPoint::Make(0, 0),
158 SkPoint::Make(1.0, 1.0),
162 flutter::DlTileMode::kClamp,
166 std::vector<Color> converted_colors;
167 std::vector<Scalar> converted_stops;
180 SkRRect::MakeRectXY(SkRect::MakeLTRB(0, 0, 10, 10), 10, 10)));
182 SkRRect::MakeRectXY(SkRect::MakeLTRB(0, 0, 10, 10), 10, 9.999)));
184 SkRRect::MakeRectXY(SkRect::MakeLTRB(0, 0, 10, 10), 10, 9)));