diff --git a/impeller/aiks/aiks_unittests.cc b/impeller/aiks/aiks_unittests.cc index ded50128789f8..069fe994f9946 100644 --- a/impeller/aiks/aiks_unittests.cc +++ b/impeller/aiks/aiks_unittests.cc @@ -2988,7 +2988,7 @@ TEST_P(AiksTest, CanRenderForegroundAdvancedBlendWithMaskBlur) { canvas.ClipRect(Rect::MakeXYWH(100, 150, 400, 400)); canvas.DrawCircle({400, 400}, 200, { - .color = Color::White(), + .color = Color::Grey(), .color_filter = ColorFilter::MakeBlend( BlendMode::kColor, Color::Green()), .mask_blur_descriptor = diff --git a/impeller/entity/contents/solid_rrect_blur_contents.cc b/impeller/entity/contents/solid_rrect_blur_contents.cc index ec8bc3e61d9ce..d8893b285e12c 100644 --- a/impeller/entity/contents/solid_rrect_blur_contents.cc +++ b/impeller/entity/contents/solid_rrect_blur_contents.cc @@ -117,4 +117,10 @@ bool SolidRRectBlurContents::Render(const ContentContext& renderer, return true; } +bool SolidRRectBlurContents::ApplyColorFilter( + const ColorFilterProc& color_filter_proc) { + color_ = color_filter_proc(color_); + return true; +} + } // namespace impeller diff --git a/impeller/entity/contents/solid_rrect_blur_contents.h b/impeller/entity/contents/solid_rrect_blur_contents.h index ccc681f59fc32..60c41afd1db56 100644 --- a/impeller/entity/contents/solid_rrect_blur_contents.h +++ b/impeller/entity/contents/solid_rrect_blur_contents.h @@ -43,6 +43,10 @@ class SolidRRectBlurContents final : public Contents { const Entity& entity, RenderPass& pass) const override; + // |Contents| + [[nodiscard]] bool ApplyColorFilter( + const ColorFilterProc& color_filter_proc) override; + private: std::optional rect_; Scalar corner_radius_;