5#ifndef FLUTTER_IMPELLER_AIKS_COLOR_FILTER_H_
6#define FLUTTER_IMPELLER_AIKS_COLOR_FILTER_H_
39 const std::shared_ptr<ColorFilter>& outer,
40 const std::shared_ptr<ColorFilter>& inner);
50 std::shared_ptr<FilterInput> input,
57 virtual std::shared_ptr<ColorFilter>
Clone()
const = 0;
72 std::shared_ptr<FilterInput> input,
79 std::shared_ptr<ColorFilter>
Clone()
const override;
98 std::shared_ptr<FilterInput> input,
105 std::shared_ptr<ColorFilter>
Clone()
const override;
123 std::shared_ptr<FilterInput> input,
130 std::shared_ptr<ColorFilter>
Clone()
const override;
145 std::shared_ptr<FilterInput> input,
152 std::shared_ptr<ColorFilter>
Clone()
const override;
159 const std::shared_ptr<ColorFilter>& inner);
165 std::shared_ptr<FilterInput> input,
172 std::shared_ptr<ColorFilter>
Clone()
const override;
175 std::shared_ptr<ColorFilter> outer_;
176 std::shared_ptr<ColorFilter> inner_;
ColorFilterProc GetCPUColorFilterProc() const override
Returns a function that can be used to filter unpremultiplied Impeller Colors on the CPU.
std::shared_ptr< ColorFilterContents > WrapWithGPUColorFilter(std::shared_ptr< FilterInput > input, ColorFilterContents::AbsorbOpacity absorb_opacity) const override
Wraps the given filter input with a GPU-based filter that will perform the color operation....
~BlendColorFilter() override
std::shared_ptr< ColorFilter > Clone() const override
static std::shared_ptr< ColorFilter > MakeComposed(const std::shared_ptr< ColorFilter > &outer, const std::shared_ptr< ColorFilter > &inner)
std::function< Color(Color)> ColorFilterProc
static std::shared_ptr< ColorFilter > MakeMatrix(ColorMatrix color_matrix)
virtual std::shared_ptr< ColorFilterContents > WrapWithGPUColorFilter(std::shared_ptr< FilterInput > input, ColorFilterContents::AbsorbOpacity absorb_opacity) const =0
Wraps the given filter input with a GPU-based filter that will perform the color operation....
virtual ColorFilterProc GetCPUColorFilterProc() const =0
Returns a function that can be used to filter unpremultiplied Impeller Colors on the CPU.
static std::shared_ptr< ColorFilter > MakeBlend(BlendMode blend_mode, Color color)
virtual std::shared_ptr< ColorFilter > Clone() const =0
static std::shared_ptr< ColorFilter > MakeLinearToSrgb()
static std::shared_ptr< ColorFilter > MakeSrgbToLinear()
Applies color filters as f(g(x)), where x is the input color.
std::shared_ptr< ColorFilterContents > WrapWithGPUColorFilter(std::shared_ptr< FilterInput > input, ColorFilterContents::AbsorbOpacity absorb_opacity) const override
Wraps the given filter input with a GPU-based filter that will perform the color operation....
~ComposedColorFilter() override
std::shared_ptr< ColorFilter > Clone() const override
ColorFilterProc GetCPUColorFilterProc() const override
Returns a function that can be used to filter unpremultiplied Impeller Colors on the CPU.
~LinearToSrgbColorFilter() override
LinearToSrgbColorFilter()
ColorFilterProc GetCPUColorFilterProc() const override
Returns a function that can be used to filter unpremultiplied Impeller Colors on the CPU.
std::shared_ptr< ColorFilter > Clone() const override
std::shared_ptr< ColorFilterContents > WrapWithGPUColorFilter(std::shared_ptr< FilterInput > input, ColorFilterContents::AbsorbOpacity absorb_opacity) const override
Wraps the given filter input with a GPU-based filter that will perform the color operation....
ColorFilterProc GetCPUColorFilterProc() const override
Returns a function that can be used to filter unpremultiplied Impeller Colors on the CPU.
std::shared_ptr< ColorFilter > Clone() const override
~MatrixColorFilter() override
std::shared_ptr< ColorFilterContents > WrapWithGPUColorFilter(std::shared_ptr< FilterInput > input, ColorFilterContents::AbsorbOpacity absorb_opacity) const override
Wraps the given filter input with a GPU-based filter that will perform the color operation....
SrgbToLinearColorFilter()
std::shared_ptr< ColorFilter > Clone() const override
ColorFilterProc GetCPUColorFilterProc() const override
Returns a function that can be used to filter unpremultiplied Impeller Colors on the CPU.
std::shared_ptr< ColorFilterContents > WrapWithGPUColorFilter(std::shared_ptr< FilterInput > input, ColorFilterContents::AbsorbOpacity absorb_opacity) const override
Wraps the given filter input with a GPU-based filter that will perform the color operation....
~SrgbToLinearColorFilter() override