chromium/third_party/blink/renderer/core/layout/inline/paragraph_line_breaker.cc

// Copyright 2023 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/inline/paragraph_line_breaker.h"

#include <numeric>
#include "third_party/blink/renderer/core/layout/inline/inline_break_token.h"
#include "third_party/blink/renderer/core/layout/inline/inline_node.h"
#include "third_party/blink/renderer/core/layout/inline/line_breaker.h"
#include "third_party/blink/renderer/core/layout/inline/line_info.h"
#include "third_party/blink/renderer/core/layout/inline/score_line_break_context.h"
#include "third_party/blink/renderer/platform/fonts/shaping/shape_result_view.h"

namespace blink {

namespace {

struct LineBreakResult {};

struct LineBreakResults {};

// Estimate the number of lines using the `ch` unit (the space width) without
// running the line breaker.
wtf_size_t EstimateNumLines(const String& text_content,
                            const SimpleFontData* font,
                            LayoutUnit available_width) {}

}  // namespace

// static
std::optional<LayoutUnit> ParagraphLineBreaker::AttemptParagraphBalancing(
    const InlineNode& node,
    const ConstraintSpace& space,
    const LineLayoutOpportunity& line_opportunity) {}

}  // namespace blink