LibGfx: Preseve original alpha when applying tint filter

This commit is contained in:
MacDue 2022-11-27 14:04:04 +00:00 committed by Linus Groh
parent db235a87bf
commit 13beed1722
Notes: sideshowbarker 2024-07-17 07:16:27 +09:00

View file

@ -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: