/* * Copyright (c) 2018-2020, Andreas Kling * Copyright (c) 2021, Tobias Christiansen * Copyright (c) 2021-2023, Sam Atkins * Copyright (c) 2022-2023, MacDue * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::CSS { class IdentifierStyleValue final : public StyleValueWithDefaultOperators { public: static ValueComparingNonnullRefPtr create(ValueID id) { return adopt_ref(*new IdentifierStyleValue(id)); } virtual ~IdentifierStyleValue() override = default; ValueID id() const { return m_id; } virtual bool has_color() const override; virtual Color to_color(Layout::NodeWithStyle const& node) const override; virtual ErrorOr to_string() const override; bool properties_equal(IdentifierStyleValue const& other) const { return m_id == other.m_id; } private: explicit IdentifierStyleValue(ValueID id) : StyleValueWithDefaultOperators(Type::Identifier) , m_id(id) { } ValueID m_id { ValueID::Invalid }; }; }