5#include "flutter/display_list/effects/dl_color_filter.h"
7#include "flutter/display_list/dl_color.h"
45 return std::make_shared<DlBlendColorFilter>(
color,
mode);
128 const float matrix[20]) {
130 for (
int i = 0; i < 20; i++) {
131 product *= matrix[i];
136 return std::make_shared<DlMatrixColorFilter>(matrix);
150 return (std::isfinite(matrix_[19]) && matrix_[19] > 0);
173 if (!(matrix_[3] == 0 &&
182 if (!(matrix_[15] == 0 &&
192const std::shared_ptr<DlSrgbToLinearGammaColorFilter>
194 std::make_shared<DlSrgbToLinearGammaColorFilter>();
196const std::shared_ptr<DlLinearToSrgbGammaColorFilter>
198 std::make_shared<DlLinearToSrgbGammaColorFilter>();
static std::shared_ptr< DlColorFilter > Make(DlColor color, DlBlendMode mode)
bool can_commute_with_opacity() const override
bool modifies_transparent_black() const override
static const std::shared_ptr< DlLinearToSrgbGammaColorFilter > kInstance
static std::shared_ptr< DlColorFilter > Make(const float matrix[20])
bool can_commute_with_opacity() const override
bool modifies_transparent_black() const override
static const std::shared_ptr< DlSrgbToLinearGammaColorFilter > kInstance
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
@ kExclusion
rc = s + d - two(s*d), ra = kSrcOver
@ kSaturation
saturation of source with hue and luminosity of destination
@ kColorBurn
darken destination to reflect source
@ kLighten
rc = s + d - min(s*da, d*sa), ra = kSrcOver
@ kHue
hue of source with saturation and luminosity of destination
@ kMultiply
r = s*(1-da) + d*(1-sa) + s*d
@ kColorDodge
brighten destination to reflect source
@ kSrcOver
r = s + (1-sa)*d
@ kXor
r = s*(1-da) + d*(1-sa)
@ kLuminosity
luminosity of source with hue and saturation of destination
@ kSoftLight
lighten or darken, depending on source
@ kDifference
rc = s + d - 2*(min(s*da, d*sa)), ra = kSrcOver
@ kOverlay
multiply or screen, depending on destination
@ kSrcATop
r = s*da + d*(1-sa)
@ kDstATop
r = d*sa + s*(1-da)
@ kDstOver
r = d + (1-da)*s
@ kColor
hue and saturation of source with luminosity of destination
@ kHardLight
multiply or screen, depending on source
@ kDarken
rc = s + d - max(s*da, d*sa), ra = kSrcOver
constexpr bool isTransparent() const
constexpr bool isOpaque() const