mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-05 07:41:01 +00:00
LibWeb: Rename CSSColor
to ColorFunctionStyleValue
This gives a better idea of what the class represents.
This commit is contained in:
parent
972547635f
commit
02d34dd021
Notes:
github-actions[bot]
2025-04-09 11:12:46 +00:00
Author: https://github.com/tcl3
Commit: 02d34dd021
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4245
Reviewed-by: https://github.com/AtkinsSJ ✅
5 changed files with 17 additions and 17 deletions
|
@ -153,7 +153,7 @@ set(SOURCES
|
||||||
CSS/StyleValues/ContentStyleValue.cpp
|
CSS/StyleValues/ContentStyleValue.cpp
|
||||||
CSS/StyleValues/CounterDefinitionsStyleValue.cpp
|
CSS/StyleValues/CounterDefinitionsStyleValue.cpp
|
||||||
CSS/StyleValues/CounterStyleValue.cpp
|
CSS/StyleValues/CounterStyleValue.cpp
|
||||||
CSS/StyleValues/CSSColor.cpp
|
CSS/StyleValues/ColorFunctionStyleValue.cpp
|
||||||
CSS/StyleValues/CSSColorValue.cpp
|
CSS/StyleValues/CSSColorValue.cpp
|
||||||
CSS/StyleValues/CSSHSL.cpp
|
CSS/StyleValues/CSSHSL.cpp
|
||||||
CSS/StyleValues/CSSHWB.cpp
|
CSS/StyleValues/CSSHWB.cpp
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
#include <LibWeb/CSS/StyleValues/BackgroundRepeatStyleValue.h>
|
#include <LibWeb/CSS/StyleValues/BackgroundRepeatStyleValue.h>
|
||||||
#include <LibWeb/CSS/StyleValues/BackgroundSizeStyleValue.h>
|
#include <LibWeb/CSS/StyleValues/BackgroundSizeStyleValue.h>
|
||||||
#include <LibWeb/CSS/StyleValues/BasicShapeStyleValue.h>
|
#include <LibWeb/CSS/StyleValues/BasicShapeStyleValue.h>
|
||||||
#include <LibWeb/CSS/StyleValues/CSSColor.h>
|
|
||||||
#include <LibWeb/CSS/StyleValues/CSSColorValue.h>
|
#include <LibWeb/CSS/StyleValues/CSSColorValue.h>
|
||||||
#include <LibWeb/CSS/StyleValues/CSSHSL.h>
|
#include <LibWeb/CSS/StyleValues/CSSHSL.h>
|
||||||
#include <LibWeb/CSS/StyleValues/CSSHWB.h>
|
#include <LibWeb/CSS/StyleValues/CSSHWB.h>
|
||||||
|
@ -32,6 +31,7 @@
|
||||||
#include <LibWeb/CSS/StyleValues/CSSLabLike.h>
|
#include <LibWeb/CSS/StyleValues/CSSLabLike.h>
|
||||||
#include <LibWeb/CSS/StyleValues/CSSLightDark.h>
|
#include <LibWeb/CSS/StyleValues/CSSLightDark.h>
|
||||||
#include <LibWeb/CSS/StyleValues/CSSRGB.h>
|
#include <LibWeb/CSS/StyleValues/CSSRGB.h>
|
||||||
|
#include <LibWeb/CSS/StyleValues/ColorFunctionStyleValue.h>
|
||||||
#include <LibWeb/CSS/StyleValues/ConicGradientStyleValue.h>
|
#include <LibWeb/CSS/StyleValues/ConicGradientStyleValue.h>
|
||||||
#include <LibWeb/CSS/StyleValues/CounterDefinitionsStyleValue.h>
|
#include <LibWeb/CSS/StyleValues/CounterDefinitionsStyleValue.h>
|
||||||
#include <LibWeb/CSS/StyleValues/CounterStyleValue.h>
|
#include <LibWeb/CSS/StyleValues/CounterStyleValue.h>
|
||||||
|
@ -1654,7 +1654,7 @@ RefPtr<CSSStyleValue> Parser::parse_color_function(TokenStream<ComponentValue>&
|
||||||
|
|
||||||
auto const& maybe_color_space = inner_tokens.consume_a_token();
|
auto const& maybe_color_space = inner_tokens.consume_a_token();
|
||||||
inner_tokens.discard_whitespace();
|
inner_tokens.discard_whitespace();
|
||||||
if (!any_of(CSSColor::s_supported_color_space, [&](auto supported) { return maybe_color_space.is_ident(supported); }))
|
if (!any_of(ColorFunctionStyleValue::s_supported_color_space, [&](auto supported) { return maybe_color_space.is_ident(supported); }))
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
auto const& color_space = maybe_color_space.token().ident();
|
auto const& color_space = maybe_color_space.token().ident();
|
||||||
|
@ -1685,7 +1685,7 @@ RefPtr<CSSStyleValue> Parser::parse_color_function(TokenStream<ComponentValue>&
|
||||||
alpha = NumberStyleValue::create(1);
|
alpha = NumberStyleValue::create(1);
|
||||||
|
|
||||||
transaction.commit();
|
transaction.commit();
|
||||||
return CSSColor::create(color_space.to_ascii_lowercase(),
|
return ColorFunctionStyleValue::create(color_space.to_ascii_lowercase(),
|
||||||
c1.release_nonnull(),
|
c1.release_nonnull(),
|
||||||
c2.release_nonnull(),
|
c2.release_nonnull(),
|
||||||
c3.release_nonnull(),
|
c3.release_nonnull(),
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: BSD-2-Clause
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "CSSColor.h"
|
#include "ColorFunctionStyleValue.h"
|
||||||
#include <AK/TypeCasts.h>
|
#include <AK/TypeCasts.h>
|
||||||
#include <LibWeb/CSS/Serialize.h>
|
#include <LibWeb/CSS/Serialize.h>
|
||||||
#include <LibWeb/CSS/StyleValues/NumberStyleValue.h>
|
#include <LibWeb/CSS/StyleValues/NumberStyleValue.h>
|
||||||
|
@ -58,30 +58,30 @@ StringView string_view_from_color_type(CSSColorValue::ColorType color_type)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ValueComparingNonnullRefPtr<CSSColor> CSSColor::create(StringView color_space, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingRefPtr<CSSStyleValue> alpha)
|
ValueComparingNonnullRefPtr<ColorFunctionStyleValue> ColorFunctionStyleValue::create(StringView color_space, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingRefPtr<CSSStyleValue> alpha)
|
||||||
{
|
{
|
||||||
VERIFY(any_of(s_supported_color_space, [=](auto supported) { return color_space == supported; }));
|
VERIFY(any_of(s_supported_color_space, [=](auto supported) { return color_space == supported; }));
|
||||||
|
|
||||||
if (!alpha)
|
if (!alpha)
|
||||||
alpha = NumberStyleValue::create(1);
|
alpha = NumberStyleValue::create(1);
|
||||||
|
|
||||||
return adopt_ref(*new (nothrow) CSSColor(color_type_from_string_view(color_space), move(c1), move(c2), move(c3), alpha.release_nonnull()));
|
return adopt_ref(*new (nothrow) ColorFunctionStyleValue(color_type_from_string_view(color_space), move(c1), move(c2), move(c3), alpha.release_nonnull()));
|
||||||
|
|
||||||
VERIFY_NOT_REACHED();
|
VERIFY_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CSSColor::equals(CSSStyleValue const& other) const
|
bool ColorFunctionStyleValue::equals(CSSStyleValue const& other) const
|
||||||
{
|
{
|
||||||
if (type() != other.type())
|
if (type() != other.type())
|
||||||
return false;
|
return false;
|
||||||
auto const& other_color = other.as_color();
|
auto const& other_color = other.as_color();
|
||||||
if (color_type() != other_color.color_type())
|
if (color_type() != other_color.color_type())
|
||||||
return false;
|
return false;
|
||||||
auto const& other_lab_like = as<CSSColor>(other_color);
|
auto const& other_lab_like = as<ColorFunctionStyleValue>(other_color);
|
||||||
return m_properties == other_lab_like.m_properties;
|
return m_properties == other_lab_like.m_properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
CSSColor::Resolved CSSColor::resolve_properties() const
|
ColorFunctionStyleValue::Resolved ColorFunctionStyleValue::resolve_properties() const
|
||||||
{
|
{
|
||||||
float const c1 = resolve_with_reference_value(m_properties.channels[0], 1).value_or(0);
|
float const c1 = resolve_with_reference_value(m_properties.channels[0], 1).value_or(0);
|
||||||
float const c2 = resolve_with_reference_value(m_properties.channels[1], 1).value_or(0);
|
float const c2 = resolve_with_reference_value(m_properties.channels[1], 1).value_or(0);
|
||||||
|
@ -91,7 +91,7 @@ CSSColor::Resolved CSSColor::resolve_properties() const
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/css-color-4/#serializing-color-function-values
|
// https://www.w3.org/TR/css-color-4/#serializing-color-function-values
|
||||||
String CSSColor::to_string(SerializationMode mode) const
|
String ColorFunctionStyleValue::to_string(SerializationMode mode) const
|
||||||
{
|
{
|
||||||
if (mode == SerializationMode::Normal) {
|
if (mode == SerializationMode::Normal) {
|
||||||
auto convert_percentage = [](ValueComparingNonnullRefPtr<CSSStyleValue> const& value) -> RemoveReference<decltype(value)> {
|
auto convert_percentage = [](ValueComparingNonnullRefPtr<CSSStyleValue> const& value) -> RemoveReference<decltype(value)> {
|
||||||
|
@ -144,7 +144,7 @@ String CSSColor::to_string(SerializationMode mode) const
|
||||||
resolved.alpha));
|
resolved.alpha));
|
||||||
}
|
}
|
||||||
|
|
||||||
Color CSSColor::to_color(Optional<Layout::NodeWithStyle const&>) const
|
Color ColorFunctionStyleValue::to_color(Optional<Layout::NodeWithStyle const&>) const
|
||||||
{
|
{
|
||||||
auto [channels, alpha_val] = resolve_properties();
|
auto [channels, alpha_val] = resolve_properties();
|
||||||
auto c1 = channels[0];
|
auto c1 = channels[0];
|
|
@ -11,11 +11,11 @@
|
||||||
namespace Web::CSS {
|
namespace Web::CSS {
|
||||||
|
|
||||||
// https://drafts.css-houdini.org/css-typed-om-1/#csscolor
|
// https://drafts.css-houdini.org/css-typed-om-1/#csscolor
|
||||||
class CSSColor final : public CSSColorValue {
|
class ColorFunctionStyleValue final : public CSSColorValue {
|
||||||
public:
|
public:
|
||||||
virtual ~CSSColor() override = default;
|
virtual ~ColorFunctionStyleValue() override = default;
|
||||||
|
|
||||||
static ValueComparingNonnullRefPtr<CSSColor> create(StringView color_space, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingRefPtr<CSSStyleValue> alpha = {});
|
static ValueComparingNonnullRefPtr<ColorFunctionStyleValue> create(StringView color_space, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingRefPtr<CSSStyleValue> alpha = {});
|
||||||
|
|
||||||
virtual bool equals(CSSStyleValue const&) const override;
|
virtual bool equals(CSSStyleValue const&) const override;
|
||||||
virtual Color to_color(Optional<Layout::NodeWithStyle const&>) const override;
|
virtual Color to_color(Optional<Layout::NodeWithStyle const&>) const override;
|
||||||
|
@ -24,7 +24,7 @@ public:
|
||||||
static constexpr Array s_supported_color_space = { "a98-rgb"sv, "display-p3"sv, "srgb"sv, "srgb-linear"sv, "prophoto-rgb"sv, "rec2020"sv, "xyz"sv, "xyz-d50"sv, "xyz-d65"sv };
|
static constexpr Array s_supported_color_space = { "a98-rgb"sv, "display-p3"sv, "srgb"sv, "srgb-linear"sv, "prophoto-rgb"sv, "rec2020"sv, "xyz"sv, "xyz-d50"sv, "xyz-d65"sv };
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CSSColor(ColorType color_type, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingNonnullRefPtr<CSSStyleValue> alpha)
|
ColorFunctionStyleValue(ColorType color_type, ValueComparingNonnullRefPtr<CSSStyleValue> c1, ValueComparingNonnullRefPtr<CSSStyleValue> c2, ValueComparingNonnullRefPtr<CSSStyleValue> c3, ValueComparingNonnullRefPtr<CSSStyleValue> alpha)
|
||||||
: CSSColorValue(color_type, ColorSyntax::Modern)
|
: CSSColorValue(color_type, ColorSyntax::Modern)
|
||||||
, m_properties { .channels = { move(c1), move(c2), move(c3) }, .alpha = move(alpha) }
|
, m_properties { .channels = { move(c1), move(c2), move(c3) }, .alpha = move(alpha) }
|
||||||
{
|
{
|
|
@ -7,7 +7,6 @@ source_set("StyleValues") {
|
||||||
"BackgroundSizeStyleValue.cpp",
|
"BackgroundSizeStyleValue.cpp",
|
||||||
"BasicShapeStyleValue.cpp",
|
"BasicShapeStyleValue.cpp",
|
||||||
"BorderRadiusStyleValue.cpp",
|
"BorderRadiusStyleValue.cpp",
|
||||||
"CSSColor.cpp",
|
|
||||||
"CSSColorValue.cpp",
|
"CSSColorValue.cpp",
|
||||||
"CSSHSL.cpp",
|
"CSSHSL.cpp",
|
||||||
"CSSHWB.cpp",
|
"CSSHWB.cpp",
|
||||||
|
@ -16,6 +15,7 @@ source_set("StyleValues") {
|
||||||
"CSSLabLike.cpp",
|
"CSSLabLike.cpp",
|
||||||
"CSSRGB.cpp",
|
"CSSRGB.cpp",
|
||||||
"CalculatedStyleValue.cpp",
|
"CalculatedStyleValue.cpp",
|
||||||
|
"ColorFunctionStyleValue.cpp",
|
||||||
"ConicGradientStyleValue.cpp",
|
"ConicGradientStyleValue.cpp",
|
||||||
"ContentStyleValue.cpp",
|
"ContentStyleValue.cpp",
|
||||||
"CounterDefinitionsStyleValue.cpp",
|
"CounterDefinitionsStyleValue.cpp",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue