#include "third_party/blink/renderer/core/layout/mathml/math_under_over_layout_algorithm.h"
#include "third_party/blink/renderer/core/layout/block_break_token.h"
#include "third_party/blink/renderer/core/layout/length_utils.h"
#include "third_party/blink/renderer/core/layout/logical_box_fragment.h"
#include "third_party/blink/renderer/core/layout/mathml/math_layout_utils.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/mathml/mathml_operator_element.h"
#include "third_party/blink/renderer/core/mathml/mathml_under_over_element.h"
namespace blink {
namespace {
struct UnderOverVerticalParameters { … };
UnderOverVerticalParameters GetUnderOverVerticalParameters(
const ComputedStyle& style,
bool is_base_large_operator,
bool is_base_stretchy_in_inline_axis) { … }
bool HasAccent(const BlockNode& node, bool accent_under) { … }
}
MathUnderOverLayoutAlgorithm::MathUnderOverLayoutAlgorithm(
const LayoutAlgorithmParams& params)
: … { … }
void MathUnderOverLayoutAlgorithm::GatherChildren(BlockNode* base,
BlockNode* over,
BlockNode* under) { … }
const LayoutResult* MathUnderOverLayoutAlgorithm::Layout() { … }
MinMaxSizesResult MathUnderOverLayoutAlgorithm::ComputeMinMaxSizes(
const MinMaxSizesFloatInput&) { … }
}