#include "third_party/blink/renderer/core/layout/layout_multi_column_set.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/layout/fragmentation_utils.h"
#include "third_party/blink/renderer/core/layout/geometry/box_strut.h"
#include "third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.h"
#include "third_party/blink/renderer/core/layout/layout_multi_column_spanner_placeholder.h"
#include "third_party/blink/renderer/core/layout/multi_column_fragmentainer_group.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
namespace blink {
namespace {
class ChildFragmentIterator { … };
LayoutPoint ComputeLocation(const PhysicalBoxFragment& column_box,
PhysicalOffset column_offset,
LayoutUnit set_inline_size,
const LayoutBlockFlow& container,
wtf_size_t fragment_index,
const PhysicalBoxStrut& border_padding_scrollbar) { … }
}
LayoutMultiColumnSet::LayoutMultiColumnSet(LayoutFlowThread* flow_thread)
: … { … }
LayoutMultiColumnSet* LayoutMultiColumnSet::CreateAnonymous(
LayoutFlowThread& flow_thread,
const ComputedStyle& parent_style) { … }
void LayoutMultiColumnSet::Trace(Visitor* visitor) const { … }
bool LayoutMultiColumnSet::IsLayoutNGObject() const { … }
unsigned LayoutMultiColumnSet::FragmentainerGroupIndexAtFlowThreadOffset(
LayoutUnit flow_thread_offset,
PageBoundaryRule rule) const { … }
const MultiColumnFragmentainerGroup&
LayoutMultiColumnSet::FragmentainerGroupAtVisualPoint(
const LogicalOffset& visual_point) const { … }
bool LayoutMultiColumnSet::IsPageLogicalHeightKnown() const { … }
LayoutMultiColumnSet* LayoutMultiColumnSet::NextSiblingMultiColumnSet() const { … }
LayoutMultiColumnSet* LayoutMultiColumnSet::PreviousSiblingMultiColumnSet()
const { … }
MultiColumnFragmentainerGroup&
LayoutMultiColumnSet::AppendNewFragmentainerGroup() { … }
LayoutUnit LayoutMultiColumnSet::LogicalTopInFlowThread() const { … }
LayoutUnit LayoutMultiColumnSet::LogicalBottomInFlowThread() const { … }
PhysicalOffset LayoutMultiColumnSet::FlowThreadTranslationAtOffset(
LayoutUnit block_offset,
PageBoundaryRule rule) const { … }
LogicalOffset LayoutMultiColumnSet::VisualPointToFlowThreadPoint(
const PhysicalOffset& visual_point) const { … }
void LayoutMultiColumnSet::ResetColumnHeight() { … }
void LayoutMultiColumnSet::StyleDidChange(StyleDifference diff,
const ComputedStyle* old_style) { … }
LayoutUnit LayoutMultiColumnSet::ColumnGap() const { … }
unsigned LayoutMultiColumnSet::ActualColumnCount() const { … }
PhysicalRect LayoutMultiColumnSet::FragmentsBoundingBox(
const PhysicalRect& bounding_box_in_flow_thread) const { … }
void LayoutMultiColumnSet::InsertedIntoTree() { … }
void LayoutMultiColumnSet::WillBeRemovedFromTree() { … }
LayoutPoint LayoutMultiColumnSet::LocationInternal() const { … }
PhysicalSize LayoutMultiColumnSet::Size() const { … }
void LayoutMultiColumnSet::UpdateGeometryIfNeeded() const { … }
void LayoutMultiColumnSet::UpdateGeometry() { … }
void LayoutMultiColumnSet::AttachToFlowThread() { … }
void LayoutMultiColumnSet::DetachFromFlowThread() { … }
bool LayoutMultiColumnSet::ComputeColumnRuleBounds(
const PhysicalOffset& paint_offset,
Vector<PhysicalRect>& column_rule_bounds) const { … }
PhysicalRect LayoutMultiColumnSet::LocalVisualRectIgnoringVisibility() const { … }
void LayoutMultiColumnSet::SetIsIgnoredByNG() { … }
}