mirror of
https://github.com/RGBCube/serenity
synced 2025-07-08 17:37:35 +00:00
LibWeb: Begin implementing the SVGLength type
There are a few unimplemented features for this type: 1. The value setter should throw a DOMException if it is invoked on an SVGLength that was declared readonly in another IDL file. 2. SVG::AttributeParser does not parse unit types when it parses lengths so all SVGLength will have an "unknown" unit for now. 3. Due to (2), methods which convert between units are unimplemented.
This commit is contained in:
parent
3ebc5cc58e
commit
ebf3829f1c
5 changed files with 98 additions and 0 deletions
30
Userland/Libraries/LibWeb/SVG/SVGLength.cpp
Normal file
30
Userland/Libraries/LibWeb/SVG/SVGLength.cpp
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Copyright (c) 2022, Tim Flynn <trflynn89@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/SVG/SVGLength.h>
|
||||
|
||||
namespace Web::SVG {
|
||||
|
||||
NonnullRefPtr<SVGLength> SVGLength::create(u8 unit_type, float value)
|
||||
{
|
||||
return adopt_ref(*new SVGLength(unit_type, value));
|
||||
}
|
||||
|
||||
SVGLength::SVGLength(u8 unit_type, float value)
|
||||
: m_unit_type(unit_type)
|
||||
, m_value(value)
|
||||
{
|
||||
}
|
||||
|
||||
// https://www.w3.org/TR/SVG11/types.html#__svg__SVGLength__value
|
||||
DOM::ExceptionOr<void> SVGLength::set_value(float value)
|
||||
{
|
||||
// FIXME: Raise an exception if this <length> is read-only.
|
||||
m_value = value;
|
||||
return {};
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue