From 1a4f2dca388466b0d2962481ff7a7f0d49a0aa68 Mon Sep 17 00:00:00 2001 From: martinfalisse Date: Sun, 30 Oct 2022 13:40:57 +0100 Subject: [PATCH] LibWeb: Refactor GridTrackPlacement Refactor this class for quality-of-life reasons as well as to better prepare for the addition of line names. --- .../LibWeb/CSS/GridTrackPlacement.cpp | 19 ++++++++++++++----- .../Libraries/LibWeb/CSS/GridTrackPlacement.h | 8 ++++---- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/Userland/Libraries/LibWeb/CSS/GridTrackPlacement.cpp b/Userland/Libraries/LibWeb/CSS/GridTrackPlacement.cpp index 2e7d1e5538..561d500231 100644 --- a/Userland/Libraries/LibWeb/CSS/GridTrackPlacement.cpp +++ b/Userland/Libraries/LibWeb/CSS/GridTrackPlacement.cpp @@ -9,9 +9,9 @@ namespace Web::CSS { -GridTrackPlacement::GridTrackPlacement(int span_or_position, bool has_span) +GridTrackPlacement::GridTrackPlacement(int span_count_or_position, bool has_span) : m_type(has_span ? Type::Span : Type::Position) - , m_value(span_or_position) + , m_span_count_or_position(span_count_or_position) { } @@ -23,9 +23,18 @@ GridTrackPlacement::GridTrackPlacement() String GridTrackPlacement::to_string() const { StringBuilder builder; - if (is_span()) - builder.append("span "sv); - builder.append(String::number(m_value)); + if (is_auto()) { + builder.append("auto"sv); + return builder.to_string(); + } + if (is_span()) { + builder.append("span"sv); + builder.append(" "sv); + } + if (m_span_count_or_position != 0) { + builder.append(String::number(m_span_count_or_position)); + builder.append(" "sv); + } return builder.to_string(); } diff --git a/Userland/Libraries/LibWeb/CSS/GridTrackPlacement.h b/Userland/Libraries/LibWeb/CSS/GridTrackPlacement.h index 32483641b7..8a61ebbb3d 100644 --- a/Userland/Libraries/LibWeb/CSS/GridTrackPlacement.h +++ b/Userland/Libraries/LibWeb/CSS/GridTrackPlacement.h @@ -18,7 +18,7 @@ public: Auto }; - GridTrackPlacement(int, bool = false); + GridTrackPlacement(int span_count_or_position, bool has_span = false); GridTrackPlacement(); static GridTrackPlacement make_auto() { return GridTrackPlacement(); }; @@ -28,18 +28,18 @@ public: bool is_auto() const { return m_type == Type::Auto; } bool is_auto_positioned() const { return m_type == Type::Auto || m_type == Type::Span; } - int raw_value() const { return m_value; } + int raw_value() const { return m_span_count_or_position; } Type type() const { return m_type; } String to_string() const; bool operator==(GridTrackPlacement const& other) const { - return m_type == other.type() && m_value == other.raw_value(); + return m_type == other.type() && m_span_count_or_position == other.raw_value(); } private: Type m_type; - int m_value { 0 }; + int m_span_count_or_position { 0 }; }; }