mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 20:07:35 +00:00
LibWeb: Split IdentifierStyleValue out of StyleValue.{h,cpp}
This commit is contained in:
parent
d39788556a
commit
76de017a51
15 changed files with 276 additions and 230 deletions
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
||||
* Copyright (c) 2021, Tobias Christiansen <tobyase@serenityos.org>
|
||||
* Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org>
|
||||
* Copyright (c) 2022-2023, MacDue <macdue@dueutil.tech>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibWeb/CSS/StyleValue.h>
|
||||
#include <LibWeb/CSS/ValueID.h>
|
||||
|
||||
namespace Web::CSS {
|
||||
|
||||
class IdentifierStyleValue final : public StyleValueWithDefaultOperators<IdentifierStyleValue> {
|
||||
public:
|
||||
static ValueComparingNonnullRefPtr<IdentifierStyleValue> create(ValueID id)
|
||||
{
|
||||
return adopt_ref(*new IdentifierStyleValue(id));
|
||||
}
|
||||
virtual ~IdentifierStyleValue() override = default;
|
||||
|
||||
ValueID id() const { return m_id; }
|
||||
|
||||
virtual bool has_auto() const override { return m_id == ValueID::Auto; }
|
||||
virtual bool has_identifier() const override { return true; }
|
||||
virtual ValueID to_identifier() const override { return m_id; }
|
||||
virtual bool has_color() const override;
|
||||
virtual Color to_color(Layout::NodeWithStyle const& node) const override;
|
||||
virtual ErrorOr<String> 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 };
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue