CalculatedOr.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Copyright (c) 2023, Sam Atkins <atkinssj@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include "CalculatedOr.h"
  7. namespace Web::CSS {
  8. Angle AngleOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const&) const
  9. {
  10. return calculated->resolve_angle().value();
  11. }
  12. Frequency FrequencyOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const&) const
  13. {
  14. return calculated->resolve_frequency().value();
  15. }
  16. Length LengthOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const& layout_node) const
  17. {
  18. return calculated->resolve_length(layout_node).value();
  19. }
  20. Length LengthOrCalculated::resolved(Length::ResolutionContext const& context) const
  21. {
  22. if (is_calculated())
  23. return calculated()->resolve_length(context).value();
  24. return value();
  25. }
  26. Percentage PercentageOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const&) const
  27. {
  28. return calculated->resolve_percentage().value();
  29. }
  30. Time TimeOrCalculated::resolve_calculated(NonnullRefPtr<CalculatedStyleValue> const& calculated, Layout::Node const&) const
  31. {
  32. return calculated->resolve_time().value();
  33. }
  34. }