chromium/third_party/blink/renderer/core/layout/multi_column_fragmentainer_group.cc

// Copyright 2015 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/multi_column_fragmentainer_group.h"

#include "third_party/blink/renderer/core/layout/geometry/logical_rect.h"
#include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
#include "third_party/blink/renderer/core/layout/layout_multi_column_set.h"

namespace blink {

// Limit the maximum column count, to prevent potential performance problems.
static const unsigned kColumnCountClampMax =;

// Clamp "infinite" clips to a number of pixels that can be losslessly
// converted to and from floating point, to avoid loss of precision.
// Note that tables have something similar, see
// TableLayoutAlgorithm::kTableMaxWidth.
static constexpr LayoutUnit kMulticolMaxClipPixels(1000000);

MultiColumnFragmentainerGroup::MultiColumnFragmentainerGroup(
    const LayoutMultiColumnSet& column_set)
    :{}

LogicalOffset MultiColumnFragmentainerGroup::OffsetFromColumnSet() const {}

LayoutUnit MultiColumnFragmentainerGroup::LogicalHeightInFlowThreadAt(
    unsigned column_index) const {}

void MultiColumnFragmentainerGroup::ResetColumnHeight() {}

PhysicalOffset MultiColumnFragmentainerGroup::FlowThreadTranslationAtOffset(
    LayoutUnit offset_in_flow_thread,
    LayoutBox::PageBoundaryRule rule) const {}

LogicalOffset MultiColumnFragmentainerGroup::VisualPointToFlowThreadPoint(
    const LogicalOffset& visual_point) const {}

PhysicalRect MultiColumnFragmentainerGroup::FragmentsBoundingBox(
    const PhysicalRect& bounding_box_in_flow_thread) const {}

unsigned MultiColumnFragmentainerGroup::ActualColumnCount() const {}

void MultiColumnFragmentainerGroup::SetColumnBlockSizeFromNG(
    LayoutUnit block_size) {}

void MultiColumnFragmentainerGroup::ExtendColumnBlockSizeFromNG(
    LayoutUnit block_size) {}

LogicalRect MultiColumnFragmentainerGroup::ColumnRectAt(
    unsigned column_index) const {}

LogicalRect MultiColumnFragmentainerGroup::LogicalFlowThreadPortionRectAt(
    unsigned column_index) const {}

PhysicalRect MultiColumnFragmentainerGroup::FlowThreadPortionRectAt(
    unsigned column_index) const {}

PhysicalRect MultiColumnFragmentainerGroup::FlowThreadPortionOverflowRectAt(
    unsigned column_index) const {}

unsigned MultiColumnFragmentainerGroup::ColumnIndexAtOffset(
    LayoutUnit offset_in_flow_thread,
    LayoutBox::PageBoundaryRule page_boundary_rule) const {}

unsigned MultiColumnFragmentainerGroup::ConstrainedColumnIndexAtOffset(
    LayoutUnit offset_in_flow_thread,
    LayoutBox::PageBoundaryRule page_boundary_rule) const {}

unsigned MultiColumnFragmentainerGroup::ColumnIndexAtVisualPoint(
    const LogicalOffset& visual_point) const {}

void MultiColumnFragmentainerGroup::ColumnIntervalForBlockRangeInFlowThread(
    LayoutUnit logical_top_in_flow_thread,
    LayoutUnit logical_bottom_in_flow_thread,
    unsigned& first_column,
    unsigned& last_column) const {}

unsigned MultiColumnFragmentainerGroup::UnclampedActualColumnCount() const {}

void MultiColumnFragmentainerGroup::Trace(Visitor* visitor) const {}

MultiColumnFragmentainerGroupList::MultiColumnFragmentainerGroupList(
    LayoutMultiColumnSet& column_set)
    :{}

// An explicit empty destructor of MultiColumnFragmentainerGroupList should be
// in multi_column_fragmentainer_group.cc, because if an implicit destructor is
// used, msvc 2015 tries to generate its destructor (because the class is
// dll-exported class) and causes a compile error because of lack of
// MultiColumnFragmentainerGroup::operator=.  Since
// MultiColumnFragmentainerGroup is non-copyable, we cannot define the
// operator=.
MultiColumnFragmentainerGroupList::~MultiColumnFragmentainerGroupList() =
    default;

MultiColumnFragmentainerGroup&
MultiColumnFragmentainerGroupList::AddExtraGroup() {}

void MultiColumnFragmentainerGroupList::DeleteExtraGroups() {}

void MultiColumnFragmentainerGroupList::Trace(Visitor* visitor) const {}

}  // namespace blink