chromium/third_party/blink/renderer/core/layout/mathml/math_scripts_layout_algorithm.cc

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/core/layout/mathml/math_scripts_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/platform/heap/collection_support/clear_collection_scope.h"

namespace blink {
namespace {

MathConstants;

static bool IsPrescriptDelimiter(const BlockNode& blockNode) {}

LayoutUnit GetSpaceAfterScript(const ComputedStyle& style) {}

// Describes the amount of shift to apply to the sub/sup boxes.
// Data is populated from the OpenType MATH table.
// If the OpenType MATH table is not present fallback values are used.
// https://w3c.github.io/mathml-core/#base-with-subscript
// https://w3c.github.io/mathml-core/#base-with-superscript
// https://w3c.github.io/mathml-core/#base-with-subscript-and-superscript
struct ScriptsVerticalParameters {};

ScriptsVerticalParameters GetScriptsVerticalParameters(
    const ComputedStyle& style) {}

}  // namespace

MathScriptsLayoutAlgorithm::MathScriptsLayoutAlgorithm(
    const LayoutAlgorithmParams& params)
    :{}

void MathScriptsLayoutAlgorithm::GatherChildren(
    BlockNode* base,
    HeapVector<SubSupPair>* sub_sup_pairs,
    BlockNode* prescripts,
    unsigned* first_prescript_index,
    BoxFragmentBuilder* container_builder) const {}

// Determines ascent/descent and shift metrics depending on script type.
MathScriptsLayoutAlgorithm::VerticalMetrics
MathScriptsLayoutAlgorithm::GetVerticalMetrics(
    const ChildAndMetrics& base_metrics,
    const ChildrenAndMetrics& sub_metrics,
    const ChildrenAndMetrics& sup_metrics) const {}

MathScriptsLayoutAlgorithm::ChildAndMetrics
MathScriptsLayoutAlgorithm::LayoutAndGetMetrics(BlockNode child) const {}

const LayoutResult* MathScriptsLayoutAlgorithm::Layout() {}

MinMaxSizesResult MathScriptsLayoutAlgorithm::ComputeMinMaxSizes(
    const MinMaxSizesFloatInput&) {}

}  // namespace blink