5 #ifndef FLUTTER_IMPELLER_TOOLKIT_INTEROP_COLOR_SOURCE_H_
6 #define FLUTTER_IMPELLER_TOOLKIT_INTEROP_COLOR_SOURCE_H_
10 #include "flutter/display_list/effects/dl_color_source.h"
23 :
public Object<ColorSource,
24 IMPELLER_INTERNAL_HANDLE_NAME(ImpellerColorSource)> {
27 const Point& start_point,
28 const Point& end_point,
29 const std::vector<flutter::DlColor>& colors,
30 const std::vector<Scalar>& stops,
31 flutter::DlTileMode tile_mode,
32 const Matrix& transformation);
37 const std::vector<flutter::DlColor>& colors,
38 const std::vector<Scalar>& stops,
39 flutter::DlTileMode tile_mode,
40 const Matrix& transformation);
43 const Point& start_center,
45 const Point& end_center,
47 const std::vector<flutter::DlColor>& colors,
48 const std::vector<Scalar>& stops,
49 flutter::DlTileMode tile_mode,
50 const Matrix& transformation);
56 const std::vector<flutter::DlColor>& colors,
57 const std::vector<Scalar>& stops,
58 flutter::DlTileMode tile_mode,
59 const Matrix& transformation);
63 flutter::DlTileMode horizontal_tile_mode,
64 flutter::DlTileMode vertical_tile_mode,
65 flutter::DlImageSampling sampling,
66 const Matrix& transformation);
71 std::vector<std::shared_ptr<flutter::DlColorSource>> samplers,
72 std::shared_ptr<std::vector<uint8_t>> uniform_data);
74 explicit ColorSource(std::shared_ptr<flutter::DlColorSource> source);
84 const std::shared_ptr<flutter::DlColorSource>&
GetColorSource()
const;
87 std::shared_ptr<flutter::DlColorSource> 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)
ColorSource & operator=(const ColorSource &)=delete
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)
ColorSource(const ColorSource &)=delete
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)
A 4x4 matrix using column-major storage.