12 const Point& start_point,
13 const Point& end_point,
14 const std::vector<flutter::DlColor>& colors,
15 const std::vector<Scalar>& stops,
16 flutter::DlTileMode tile_mode,
17 const Matrix& transformation) {
18 auto dl_filter = flutter::DlColorSource::MakeLinear(start_point,
29 return Create<ColorSource>(std::move(dl_filter));
35 const std::vector<flutter::DlColor>& colors,
36 const std::vector<Scalar>& stops,
37 flutter::DlTileMode tile_mode,
38 const Matrix& transformation) {
39 auto dl_filter = flutter::DlColorSource::MakeRadial(center,
50 return Create<ColorSource>(std::move(dl_filter));
54 const Point& start_center,
56 const Point& end_center,
58 const std::vector<flutter::DlColor>& colors,
59 const std::vector<Scalar>& stops,
60 flutter::DlTileMode tile_mode,
61 const Matrix& transformation) {
62 auto dl_filter = flutter::DlColorSource::MakeConical(start_center,
75 return Create<ColorSource>(std::move(dl_filter));
82 const std::vector<flutter::DlColor>& colors,
83 const std::vector<Scalar>& stops,
84 flutter::DlTileMode tile_mode,
85 const Matrix& transformation) {
86 auto dl_filter = flutter::DlColorSource::MakeSweep(center,
98 return Create<ColorSource>(std::move(dl_filter));
103 flutter::DlTileMode horizontal_tile_mode,
104 flutter::DlTileMode vertical_tile_mode,
105 flutter::DlImageSampling sampling,
106 const Matrix& transformation) {
107 auto dl_filter = flutter::DlColorSource::MakeImage(image.
MakeImage(),
108 horizontal_tile_mode,
113 return Create<ColorSource>(std::move(dl_filter));
119 std::vector<std::shared_ptr<flutter::DlColorSource>> samplers,
120 std::shared_ptr<std::vector<uint8_t>> uniform_data) {
123 if (!runtime_stage) {
127 auto runtime_effect =
129 if (!runtime_effect) {
135 flutter::DlColorSource::MakeRuntimeEffect(std::move(runtime_effect),
137 std::move(uniform_data)
140 VALIDATION_LOG <<
"Could not create runtime effect color source.";
143 return Create<ColorSource>(std::move(dl_filter));
147 : color_source_(
std::move(source)) {}
152 return !!color_source_;
157 return color_source_;
static sk_sp< DlRuntimeEffect > Make(std::shared_ptr< impeller::RuntimeStage > runtime_stage)
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.