/* * Copyright (c) 2023, Sam Atkins * * SPDX-License-Identifier: BSD-2-Clause */ #include "CalculatedOr.h" #include #include #include #include #include #include #include #include #include namespace Web::CSS { Angle AngleOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const&) const { return calculated->resolve_angle().value(); } NonnullRefPtr AngleOrCalculated::create_style_value() const { return AngleStyleValue::create(value()); } Flex FlexOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const&) const { return calculated->resolve_flex().value(); } NonnullRefPtr FlexOrCalculated::create_style_value() const { return FlexStyleValue::create(value()); } Frequency FrequencyOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const&) const { return calculated->resolve_frequency().value(); } NonnullRefPtr FrequencyOrCalculated::create_style_value() const { return FrequencyStyleValue::create(value()); } i64 IntegerOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const& layout_node) const { return calculated->resolve_integer(layout_node).value(); } i64 IntegerOrCalculated::resolved(Length::ResolutionContext const& context) const { if (is_calculated()) return calculated()->resolve_integer(context).value(); return value(); } NonnullRefPtr IntegerOrCalculated::create_style_value() const { return IntegerStyleValue::create(value()); } Length LengthOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const& layout_node) const { return calculated->resolve_length(layout_node).value(); } Length LengthOrCalculated::resolved(Length::ResolutionContext const& context) const { if (is_calculated()) return calculated()->resolve_length(context).value(); return value(); } NonnullRefPtr LengthOrCalculated::create_style_value() const { return LengthStyleValue::create(value()); } double NumberOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const& layout_node) const { return calculated->resolve_number(layout_node).value(); } NonnullRefPtr NumberOrCalculated::create_style_value() const { return NumberStyleValue::create(value()); } Percentage PercentageOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const&) const { return calculated->resolve_percentage().value(); } NonnullRefPtr PercentageOrCalculated::create_style_value() const { return PercentageStyleValue::create(value()); } Resolution ResolutionOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const&) const { return calculated->resolve_resolution().value(); } Resolution ResolutionOrCalculated::resolved() const { if (is_calculated()) return calculated()->resolve_resolution().value(); return value(); } NonnullRefPtr ResolutionOrCalculated::create_style_value() const { return ResolutionStyleValue::create(value()); } Time TimeOrCalculated::resolve_calculated(NonnullRefPtr const& calculated, Layout::Node const&) const { return calculated->resolve_time().value(); } NonnullRefPtr TimeOrCalculated::create_style_value() const { return TimeStyleValue::create(value()); } }