diff --git a/Userland/Libraries/LibGfx/Filters/TintFilter.h b/Userland/Libraries/LibGfx/Filters/TintFilter.h index edc613a013..c471a573a0 100644 --- a/Userland/Libraries/LibGfx/Filters/TintFilter.h +++ b/Userland/Libraries/LibGfx/Filters/TintFilter.h @@ -15,17 +15,20 @@ class TintFilter : public ColorFilter { public: TintFilter(Color color, float amount) : ColorFilter(amount) - , m_color(color) + , m_color(Color::from_rgb(color.value())) { } + virtual bool amount_handled_in_filter() const override { return true; } + virtual StringView class_name() const override { return "TintFilter"sv; } protected: - Color convert_color(Color) override + Color convert_color(Color dest) override { - // Note: ColorFilter will blend by amount - return m_color; + return Color::from_rgb(dest.value()) + .mixed_with(m_color, m_amount) + .with_alpha(dest.alpha()); }; private: