5#include "flutter/display_list/dl_paint.h"
7#include "flutter/display_list/utils/dl_comparable.h"
8#include "gtest/gtest.h"
13TEST(DisplayListPaint, ConstructorDefaults) {
15 EXPECT_FALSE(
paint.isAntiAlias());
16 EXPECT_FALSE(
paint.isInvertColors());
18 EXPECT_EQ(
paint.getAlpha(), 0xFF);
25 EXPECT_EQ(
paint.getColorSource(),
nullptr);
26 EXPECT_EQ(
paint.getColorFilter(),
nullptr);
27 EXPECT_EQ(
paint.getImageFilter(),
nullptr);
28 EXPECT_EQ(
paint.getMaskFilter(),
nullptr);
29 EXPECT_EQ(
paint.getPathEffect(),
nullptr);
73 EXPECT_NE(
paint,
DlPaint().setPathEffect(path_effect.get()));
76TEST(DisplayListPaint, NullPointerSetGet) {
83 EXPECT_EQ(
paint.setColorSource(null_color_source).getColorSource(),
nullptr);
84 EXPECT_EQ(
paint.setColorFilter(null_color_filter).getColorFilter(),
nullptr);
85 EXPECT_EQ(
paint.setImageFilter(null_image_filter).getImageFilter(),
nullptr);
86 EXPECT_EQ(
paint.setMaskFilter(null_mask_filter).getMaskFilter(),
nullptr);
87 EXPECT_EQ(
paint.setPathEffect(null_path_effect).getPathEffect(),
nullptr);
90TEST(DisplayListPaint, NullSharedPointerSetGet) {
91 std::shared_ptr<DlColorSource> null_color_source;
92 std::shared_ptr<DlColorFilter> null_color_filter;
93 std::shared_ptr<DlImageFilter> null_image_filter;
94 std::shared_ptr<DlMaskFilter> null_mask_filter;
95 std::shared_ptr<DlPathEffect> null_path_effect;
97 EXPECT_EQ(
paint.setColorSource(null_color_source).getColorSource(),
nullptr);
98 EXPECT_EQ(
paint.setColorFilter(null_color_filter).getColorFilter(),
nullptr);
99 EXPECT_EQ(
paint.setImageFilter(null_image_filter).getImageFilter(),
nullptr);
100 EXPECT_EQ(
paint.setMaskFilter(null_mask_filter).getMaskFilter(),
nullptr);
101 EXPECT_EQ(
paint.setPathEffect(null_path_effect).getPathEffect(),
nullptr);
104TEST(DisplayListPaint, ChainingConstructor) {
105 SkScalar intervals[] = {1.0f, 2.0f};
131 EXPECT_EQ(
paint.getAlpha(), 0x7F);
136 EXPECT_EQ(
paint.getStrokeWidth(), 42);
137 EXPECT_EQ(
paint.getStrokeMiter(), 1.5);
139 EXPECT_EQ(*
paint.getColorFilter(),
141 EXPECT_EQ(*
paint.getImageFilter(),
143 EXPECT_EQ(*
paint.getMaskFilter(),
145 EXPECT_EQ(*
paint.getPathEffect(), *path_effect);
#define TEST(S, s, D, expected)
static sk_sp< SkImage > color_filter(const SkImage *image, SkColorFilter *colorFilter)
std::shared_ptr< DlImageFilter > shared() const override
std::shared_ptr< DlMaskFilter > shared() const override
std::shared_ptr< DlColorSource > shared() const override
static std::shared_ptr< DlPathEffect > Make(const SkScalar intervals[], int count, SkScalar phase)
DlPaint & setPathEffect(const std::shared_ptr< DlPathEffect > &pathEffect)
DlPaint & setColor(DlColor color)
DlPaint & setAntiAlias(bool isAntiAlias)
static const DlPaint kDefault
DlPaint & setInvertColors(bool isInvertColors)
DlPaint & setColorFilter(const std::shared_ptr< const DlColorFilter > &filter)
static constexpr float kDefaultWidth
DlPaint & setMaskFilter(const std::shared_ptr< DlMaskFilter > &filter)
DlPaint & setStrokeCap(DlStrokeCap cap)
DlPaint & setStrokeWidth(float width)
DlPaint & setAlpha(uint8_t alpha)
DlPaint & setStrokeMiter(float miter)
DlPaint & setBlendMode(DlBlendMode mode)
static constexpr float kDefaultMiter
DlPaint & setImageFilter(const std::shared_ptr< const DlImageFilter > &filter)
DlPaint & setDrawStyle(DlDrawStyle style)
static constexpr DlColor kDefaultColor
DlPaint & setStrokeJoin(DlStrokeJoin join)
DlPaint & setColorSource(std::shared_ptr< const DlColorSource > source)
@ kMiter
extends to miter limit
@ kBevel
connects outside edges
@ kButt
no stroke extension
@ kStrokeAndFill
both strokes and fills shapes
@ kFill
fills interior of shapes
@ kInner
fuzzy inside, nothing outside
@ kSrcOver
r = s + (1-sa)*d
@ kLuminosity
luminosity of source with hue and saturation of destination
static constexpr DlColor kMagenta()
static constexpr DlColor kBlack()
static constexpr DlColor kYellow()
constexpr DlColor withAlpha(uint8_t alpha) const
static constexpr DlColor kGreen()
#define EXPECT_TRUE(handle)