5#ifndef FLUTTER_IMPELLER_AIKS_PAINT_H_
6#define FLUTTER_IMPELLER_AIKS_PAINT_H_
26 const Matrix& effect_transform,
31 const Matrix& effect_transform)>;
38 paint.invert_colors ==
false &&
39 !
paint.mask_blur_descriptor.has_value() &&
40 paint.image_filter ==
nullptr &&
paint.color_filter ==
nullptr;
56 std::shared_ptr<ColorSourceContents> color_source_contents,
60 std::shared_ptr<TextureContents> texture_contents)
const;
90 std::shared_ptr<Contents>
WithFilters(std::shared_ptr<Contents> input)
const;
101 std::shared_ptr<Contents> input,
105 const std::shared_ptr<Geometry>& geometry)
const;
110 std::shared_ptr<Contents>
WithMaskBlur(std::shared_ptr<Contents> input,
116 const Matrix& effect_transform,
120 std::shared_ptr<Contents> WithColorFilter(
121 std::shared_ptr<Contents> input,
SK_API sk_sp< PrecompileColorFilter > Matrix()
static constexpr Color Black()
A 4x4 matrix using column-major storage.
std::shared_ptr< FilterContents > CreateMaskBlur(std::shared_ptr< ColorSourceContents > color_source_contents, const std::shared_ptr< ColorFilter > &color_filter) const
FilterContents::BlurStyle style
std::shared_ptr< ColorFilter > GetColorFilter() const
std::function< std::shared_ptr< FilterContents >(FilterInput::Ref, const Matrix &effect_transform, Entity::RenderingMode rendering_mode)> ImageFilterProc
bool HasColorFilter() const
Whether this paint has a color filter that can apply opacity.
std::function< std::shared_ptr< ColorSourceContents >()> ColorSourceProc
std::shared_ptr< Contents > CreateContentsForGeometry(const std::shared_ptr< Geometry > &geometry) const
std::shared_ptr< ImageFilter > image_filter
static bool CanApplyOpacityPeephole(const Paint &paint)
Whether or not a save layer with the provided paint can perform the opacity peephole optimization.
std::optional< MaskBlurDescriptor > mask_blur_descriptor
std::function< std::shared_ptr< FilterContents >(FilterInput::Ref, bool is_solid_color, const Matrix &effect_transform)> MaskFilterProc
std::shared_ptr< Contents > WithFiltersForSubpassTarget(std::shared_ptr< Contents > input, const Matrix &effect_transform=Matrix()) const
Wrap this paint's configured filters to the given contents of subpass target.
std::shared_ptr< Contents > WithFilters(std::shared_ptr< Contents > input) const
Wrap this paint's configured filters to the given contents.
std::shared_ptr< FilterContents > WithImageFilter(const FilterInput::Variant &input, const Matrix &effect_transform, Entity::RenderingMode rendering_mode) const
std::shared_ptr< ColorFilter > color_filter
std::shared_ptr< Contents > WithMaskBlur(std::shared_ptr< Contents > input, bool is_solid_color, const Matrix &ctm) const
In filters that use Gaussian distributions, "sigma" is a size of one standard deviation in terms of t...