14#include "third_party/skia/include/effects/SkRuntimeEffect.h"
18 std::shared_ptr<std::vector<uint8_t>>
data;
33 std::vector<flutter::DlColor> dl_colors;
34 dl_colors.resize(count);
35 for (
int i = 0;
i < count;
i++) {
42 dl_colors.data(), stops, tile_mode,
47 dl_colors.data(), stops, tile_mode));
61 std::vector<flutter::DlColor> dl_colors;
62 dl_colors.resize(count);
63 for (
int i = 0;
i < count;
i++) {
70 radius, count, dl_colors.data(),
71 stops, tile_mode, &local_matrix));
75 radius, count, dl_colors.data(),
90 std::vector<flutter::DlColor> dl_colors;
91 dl_colors.resize(count);
92 for (
int i = 0;
i < count;
i++) {
99 end_points[0], start_radius, end_points[1], end_radius, count,
100 dl_colors.data(), stops, tile_mode, &local_matrix));
104 end_points[0], start_radius, end_points[1], end_radius, count,
105 dl_colors.data(), stops, tile_mode));
120 std::vector<flutter::DlColor> dl_colors;
121 dl_colors.resize(count);
122 for (
int i = 0;
i < count;
i++) {
130 dl_colors.data(), stops, tile_mode, &local_matrix));
134 start_angle, end_angle, count,
135 dl_colors.data(), stops, tile_mode));
165 size_t child_count) {
167 std::vector<std::shared_ptr<flutter::DlColorSource>> child_pointers;
168 child_pointers.resize(child_count);
169 for (
size_t i = 0;
i < child_count;
i++) {
170 child_pointers[
i] = children[
i]->
Shared();
175 std::move(child_pointers),
190 sk_ref_sp(
image), tile_mode_x, tile_mode_y,
195 sk_ref_sp(
image), tile_mode_x, tile_mode_y,
const std::shared_ptr< T > & Shared()
static std::shared_ptr< DlColorSource > MakeSweep(DlPoint center, DlScalar start, DlScalar end, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
static std::shared_ptr< DlColorSource > MakeImage(const sk_sp< const DlImage > &image, DlTileMode horizontal_tile_mode, DlTileMode vertical_tile_mode, DlImageSampling sampling=DlImageSampling::kLinear, const DlMatrix *matrix=nullptr)
static std::shared_ptr< DlColorSource > MakeLinear(const DlPoint start_point, const DlPoint end_point, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
static std::shared_ptr< DlColorSource > MakeRuntimeEffect(sk_sp< DlRuntimeEffect > runtime_effect, std::vector< std::shared_ptr< DlColorSource > > samplers, std::shared_ptr< std::vector< uint8_t > > uniform_data)
static std::shared_ptr< DlColorSource > MakeConical(DlPoint start_center, DlScalar start_radius, DlPoint end_center, DlScalar end_radius, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
static std::shared_ptr< DlColorSource > MakeRadial(DlPoint center, DlScalar radius, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
Represents an image whose allocation is (usually) resident on device memory.
virtual size_t uniform_size() const =0
Returns the total combined size of all uniforms in bytes.
FlutterVulkanImage * image
flutter::DlMatrix CreateDlMatrixFrom3x3(const flutter::DlScalar *f)
uint32_t live_shader_count
flutter::DlImageSampling SamplingOptionsForQuality(FilterQuality quality)
sk_sp< flutter::DlRuntimeEffect > CreateRuntimeEffect(SkString *string)
uint32_t live_runtime_effect_count
impeller::Scalar DlScalar
SKWASM_EXPORT void shader_dispose(Skwasm::sp_wrapper< flutter::DlColorSource > *shader)
SKWASM_EXPORT void * uniformData_getPointer(Skwasm::UniformData *data)
SKWASM_EXPORT void uniformData_dispose(Skwasm::UniformData *data)
SKWASM_EXPORT Skwasm::sp_wrapper< flutter::DlColorSource > * shader_createRadialGradient(flutter::DlScalar center_x, flutter::DlScalar center_y, flutter::DlScalar radius, uint32_t *colors, flutter::DlScalar *stops, int count, flutter::DlTileMode tile_mode, flutter::DlScalar *matrix_33)
SKWASM_EXPORT Skwasm::sp_wrapper< flutter::DlColorSource > * shader_createFromImage(flutter::DlImage *image, flutter::DlTileMode tile_mode_x, flutter::DlTileMode tile_mode_y, Skwasm::FilterQuality quality, flutter::DlScalar *matrix_33)
SKWASM_EXPORT Skwasm::UniformData * uniformData_create(int size)
SKWASM_EXPORT Skwasm::sp_wrapper< flutter::DlColorSource > * shader_createLinearGradient(flutter::DlPoint *end_points, uint32_t *colors, flutter::DlScalar *stops, int count, flutter::DlTileMode tile_mode, flutter::DlScalar *matrix_33)
SKWASM_EXPORT Skwasm::sp_wrapper< flutter::DlColorSource > * shader_createRuntimeEffectShader(flutter::DlRuntimeEffect *runtime_effect, Skwasm::UniformData *uniforms, Skwasm::sp_wrapper< flutter::DlColorSource > **children, size_t child_count)
SKWASM_EXPORT flutter::DlRuntimeEffect * runtimeEffect_create(SkString *source)
SKWASM_EXPORT void runtimeEffect_dispose(flutter::DlRuntimeEffect *effect)
SKWASM_EXPORT Skwasm::sp_wrapper< flutter::DlColorSource > * shader_createConicalGradient(flutter::DlPoint *end_points, flutter::DlScalar start_radius, flutter::DlScalar end_radius, uint32_t *colors, flutter::DlScalar *stops, int count, flutter::DlTileMode tile_mode, flutter::DlScalar *matrix_33)
SKWASM_EXPORT Skwasm::sp_wrapper< flutter::DlColorSource > * shader_createSweepGradient(flutter::DlScalar center_x, flutter::DlScalar center_y, uint32_t *colors, flutter::DlScalar *stops, int count, flutter::DlTileMode tile_mode, flutter::DlScalar start_angle, flutter::DlScalar end_angle, flutter::DlScalar *matrix_33)
SKWASM_EXPORT size_t runtimeEffect_getUniformSize(flutter::DlRuntimeEffect *effect)
std::shared_ptr< const fml::Mapping > data