mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:47:35 +00:00
LibWeb: Add support for the SVG gradient spreadMethod attribute
This commit is contained in:
parent
1ecb2cf28c
commit
46f42d9755
6 changed files with 52 additions and 0 deletions
|
@ -20,6 +20,20 @@ struct SVGPaintContext {
|
|||
Gfx::AffineTransform transform;
|
||||
};
|
||||
|
||||
inline Gfx::SVGGradientPaintStyle::SpreadMethod to_gfx_spread_method(SpreadMethod spread_method)
|
||||
{
|
||||
switch (spread_method) {
|
||||
case SpreadMethod::Pad:
|
||||
return Gfx::SVGGradientPaintStyle::SpreadMethod::Pad;
|
||||
case SpreadMethod::Reflect:
|
||||
return Gfx::SVGGradientPaintStyle::SpreadMethod::Reflect;
|
||||
case SpreadMethod::Repeat:
|
||||
return Gfx::SVGGradientPaintStyle::SpreadMethod::Repeat;
|
||||
default:
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
}
|
||||
|
||||
class SVGGradientElement : public SVGElement {
|
||||
WEB_PLATFORM_OBJECT(SVGGradientElement, SVGElement);
|
||||
|
||||
|
@ -32,6 +46,8 @@ public:
|
|||
|
||||
GradientUnits gradient_units() const;
|
||||
|
||||
SpreadMethod spread_method() const;
|
||||
|
||||
Optional<Gfx::AffineTransform> gradient_transform() const;
|
||||
|
||||
protected:
|
||||
|
@ -61,6 +77,7 @@ protected:
|
|||
|
||||
private:
|
||||
Optional<GradientUnits> m_gradient_units = {};
|
||||
Optional<SpreadMethod> m_spread_method = {};
|
||||
Optional<Gfx::AffineTransform> m_gradient_transform = {};
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue