blob: b737001fb829c76a3479175dce47bdf1b6f29c5c [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "core/layout/ng/ng_layout_opportunity_tree_node.h"
namespace blink {
NGLayoutOpportunityTreeNode::NGLayoutOpportunityTreeNode(
const NGLogicalRect opportunity)
: opportunity(opportunity), combined_exclusion(nullptr) {
exclusion_edge.start = opportunity.offset.inline_offset;
exclusion_edge.end = exclusion_edge.start + opportunity.size.inline_size;
}
NGLayoutOpportunityTreeNode::NGLayoutOpportunityTreeNode(
const NGLogicalRect opportunity,
NGEdge exclusion_edge)
: opportunity(opportunity),
exclusion_edge(exclusion_edge),
combined_exclusion(nullptr) {}
String NGLayoutOpportunityTreeNode::ToString() const {
return String::format("Opportunity: '%s' Exclusion: '%s'",
opportunity.ToString().ascii().data(),
combined_exclusion
? combined_exclusion->ToString().ascii().data()
: "null");
}
DEFINE_TRACE(NGLayoutOpportunityTreeNode) {
visitor->trace(left);
visitor->trace(bottom);
visitor->trace(right);
}
} // namespace blink