ladybird/Userland/Libraries/LibWeb/CSS/StyleValues/AngleStyleValue.cpp
Sam Atkins 8952764267 LibWeb/CSS: Introduce CSSNumericValue and CSSUnitValue type stubs
CSS-Typed-OM has the following hierarchy:

CSSStyleValue
- CSSNumericValue
  - CSSUnitValue
  - CSSMathValue
    - ...various math functions...

Somewhat unintuitively, numbers are also stored using CSSUnitValue with
`unit = "number"`.

There are no distinct classes for LengthStyleValue, etc in the spec, but
they're convenient for us, so they are implemented as subclasses of
CSSUnitValue, at least for now.
2024-08-21 10:51:48 +01:00

35 lines
804 B
C++

/*
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
* Copyright (c) 2021-2024, Sam Atkins <sam@ladybird.org>
* Copyright (c) 2021, Tobias Christiansen <tobyase@serenityos.org>
* Copyright (c) 2022-2023, MacDue <macdue@dueutil.tech>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include "AngleStyleValue.h"
namespace Web::CSS {
AngleStyleValue::AngleStyleValue(Angle angle)
: CSSUnitValue(Type::Angle)
, m_angle(move(angle))
{
}
AngleStyleValue::~AngleStyleValue() = default;
String AngleStyleValue::to_string() const
{
return m_angle.to_string();
}
bool AngleStyleValue::equals(CSSStyleValue const& other) const
{
if (type() != other.type())
return false;
auto const& other_angle = other.as_angle();
return m_angle == other_angle.m_angle;
}
}