mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:57:35 +00:00
LibWeb: Ensure transform of SVG <use> updates with x and y attributes
Rather than modify the transform of the parent (which could change independently), this adds a new override element_transform() where element specific tranfroms can be applied. This will always stay in sync with the attributes. A ref test comparing a .svg and .html version of the same file is added as due to differences in attribute parsing order, the .svg version was previously drawn incorrectly. Fixes #20859
This commit is contained in:
parent
90af21aef4
commit
720c27efbd
7 changed files with 38 additions and 6 deletions
|
@ -53,6 +53,11 @@ protected:
|
|||
|
||||
virtual void initialize(JS::Realm&) override;
|
||||
|
||||
virtual Gfx::AffineTransform element_transform() const
|
||||
{
|
||||
return m_transform;
|
||||
}
|
||||
|
||||
Optional<Gfx::PaintStyle const&> svg_paint_computed_value_to_gfx_paint_style(SVGPaintContext const& paint_context, Optional<CSS::SVGPaint> const& paint_value) const;
|
||||
|
||||
Gfx::AffineTransform m_transform = {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue