7 #include "gtest/gtest.h"
9 #include "flutter/display_list/dl_color.h"
10 #include "flutter/display_list/dl_tile_mode.h"
11 #include "flutter/display_list/effects/dl_color_source.h"
17 TEST(PaintTest, GradientStopConversion) {
19 std::vector<flutter::DlColor> colors = {flutter::DlColor::kBlue(),
20 flutter::DlColor::kRed(),
21 flutter::DlColor::kGreen()};
22 std::vector<float> stops = {0.0, 0.5, 1.0};
29 flutter::DlTileMode::kClamp,
33 std::vector<Color> converted_colors;
34 std::vector<Scalar> converted_stops;
43 TEST(PaintTest, GradientMissing0) {
44 std::vector<flutter::DlColor> colors = {flutter::DlColor::kBlue(),
45 flutter::DlColor::kRed()};
46 std::vector<float> stops = {0.5, 1.0};
53 flutter::DlTileMode::kClamp,
57 std::vector<Color> converted_colors;
58 std::vector<Scalar> converted_stops;
69 TEST(PaintTest, GradientMissingLastValue) {
70 std::vector<flutter::DlColor> colors = {flutter::DlColor::kBlue(),
71 flutter::DlColor::kRed()};
72 std::vector<float> stops = {0.0, .5};
79 flutter::DlTileMode::kClamp,
83 std::vector<Color> converted_colors;
84 std::vector<Scalar> converted_stops;
95 TEST(PaintTest, GradientStopGreaterThan1) {
96 std::vector<flutter::DlColor> colors = {flutter::DlColor::kBlue(),
97 flutter::DlColor::kGreen(),
98 flutter::DlColor::kRed()};
99 std::vector<float> stops = {0.0, 100, 1.0};
100 const auto gradient =
106 flutter::DlTileMode::kClamp,
110 std::vector<Color> converted_colors;
111 std::vector<Scalar> converted_stops;
121 TEST(PaintTest, GradientConversionNonMonotonic) {
122 std::vector<flutter::DlColor> colors = {
123 flutter::DlColor::kBlue(), flutter::DlColor::kGreen(),
124 flutter::DlColor::kGreen(), flutter::DlColor::kRed()};
125 std::vector<float> stops = {0.0, 0.5, 0.4, 1.0};
126 const auto gradient =
132 flutter::DlTileMode::kClamp,
136 std::vector<Color> converted_colors;
137 std::vector<Scalar> converted_stops;
TEST(AllocationSizeTest, CanCreateTypedAllocations)
constexpr bool ScalarNearlyEqual(Scalar x, Scalar y, Scalar tolerance=kEhCloseEnough)
static void ConvertStops(const flutter::DlGradientColorSourceBase *gradient, std::vector< Color > &colors, std::vector< float > &stops)
Convert display list colors + stops into impeller colors and stops, taking care to ensure that the st...