10 const Point& start_point,
11 const Point& end_point,
12 const std::vector<flutter::DlColor>& colors,
13 const std::vector<Scalar>& stops,
14 flutter::DlTileMode tile_mode,
15 const Matrix& transformation) {
16 auto dl_filter = flutter::DlColorSource::MakeLinear(start_point,
27 return Create<ColorSource>(std::move(dl_filter));
33 const std::vector<flutter::DlColor>& colors,
34 const std::vector<Scalar>& stops,
35 flutter::DlTileMode tile_mode,
36 const Matrix& transformation) {
37 auto dl_filter = flutter::DlColorSource::MakeRadial(center,
48 return Create<ColorSource>(std::move(dl_filter));
52 const Point& start_center,
54 const Point& end_center,
56 const std::vector<flutter::DlColor>& colors,
57 const std::vector<Scalar>& stops,
58 flutter::DlTileMode tile_mode,
59 const Matrix& transformation) {
60 auto dl_filter = flutter::DlColorSource::MakeConical(start_center,
73 return Create<ColorSource>(std::move(dl_filter));
80 const std::vector<flutter::DlColor>& colors,
81 const std::vector<Scalar>& stops,
82 flutter::DlTileMode tile_mode,
83 const Matrix& transformation) {
84 auto dl_filter = flutter::DlColorSource::MakeSweep(center,
96 return Create<ColorSource>(std::move(dl_filter));
101 flutter::DlTileMode horizontal_tile_mode,
102 flutter::DlTileMode vertical_tile_mode,
103 flutter::DlImageSampling sampling,
104 const Matrix& transformation) {
105 auto dl_filter = flutter::DlColorSource::MakeImage(image.
MakeImage(),
106 horizontal_tile_mode,
111 return Create<ColorSource>(std::move(dl_filter));
117 std::vector<std::shared_ptr<flutter::DlColorSource>> samplers,
118 std::shared_ptr<std::vector<uint8_t>> uniform_data) {
121 if (!runtime_stage) {
125 auto runtime_effect =
126 flutter::DlRuntimeEffect::MakeImpeller(std::move(runtime_stage));
127 if (!runtime_effect) {
133 flutter::DlColorSource::MakeRuntimeEffect(std::move(runtime_effect),
135 std::move(uniform_data)
138 VALIDATION_LOG <<
"Could not create runtime effect color source.";
141 return Create<ColorSource>(std::move(dl_filter));
145 : color_source_(
std::move(source)) {}
150 return !!color_source_;
155 return color_source_;
static ScopedObject< ColorSource > MakeSweepGradient(const Point ¢er, Scalar start, Scalar end, const std::vector< flutter::DlColor > &colors, const std::vector< Scalar > &stops, flutter::DlTileMode tile_mode, const Matrix &transformation)
const std::shared_ptr< flutter::DlColorSource > & GetColorSource() const
ColorSource(std::shared_ptr< flutter::DlColorSource > source)
static ScopedObject< ColorSource > MakeFragmentProgram(const Context &context, const FragmentProgram &program, std::vector< std::shared_ptr< flutter::DlColorSource >> samplers, std::shared_ptr< std::vector< uint8_t >> uniform_data)
static ScopedObject< ColorSource > MakeImage(const Texture &image, flutter::DlTileMode horizontal_tile_mode, flutter::DlTileMode vertical_tile_mode, flutter::DlImageSampling sampling, const Matrix &transformation)
static ScopedObject< ColorSource > MakeRadialGradient(const Point ¢er, Scalar radius, const std::vector< flutter::DlColor > &colors, const std::vector< Scalar > &stops, flutter::DlTileMode tile_mode, const Matrix &transformation)
static ScopedObject< ColorSource > MakeLinearGradient(const Point &start_point, const Point &end_point, const std::vector< flutter::DlColor > &colors, const std::vector< Scalar > &stops, flutter::DlTileMode tile_mode, const Matrix &transformation)
static ScopedObject< ColorSource > MakeConicalGradient(const Point &start_center, Scalar start_radius, const Point &end_center, Scalar end_radius, const std::vector< flutter::DlColor > &colors, const std::vector< Scalar > &stops, flutter::DlTileMode tile_mode, const Matrix &transformation)
std::shared_ptr< impeller::Context > GetContext() const
std::shared_ptr< RuntimeStage > FindRuntimeStage(RuntimeStageBackend backend) const
sk_sp< DlImageImpeller > MakeImage() const
A 4x4 matrix using column-major storage.