Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(740)

Side by Side Diff: third_party/WebKit/Source/core/layout/ng/ng_units.cc

Issue 2540653003: Implement collection of out-of-flow descendants (Closed)
Patch Set: Collection of out-of-flow descendants Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/layout/ng/ng_units.h" 5 #include "core/layout/ng/ng_units.h"
6 6
7 #include "core/layout/ng/ng_writing_mode.h" 7 #include "core/layout/ng/ng_writing_mode.h"
8 8
9 namespace blink { 9 namespace blink {
10 10
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 127
128 bool NGLogicalOffset::operator<=(const NGLogicalOffset& other) const { 128 bool NGLogicalOffset::operator<=(const NGLogicalOffset& other) const {
129 return inline_offset <= other.inline_offset && 129 return inline_offset <= other.inline_offset &&
130 block_offset <= other.block_offset; 130 block_offset <= other.block_offset;
131 } 131 }
132 132
133 String NGLogicalOffset::ToString() const { 133 String NGLogicalOffset::ToString() const {
134 return String::format("%dx%d", inline_offset.toInt(), block_offset.toInt()); 134 return String::format("%dx%d", inline_offset.toInt(), block_offset.toInt());
135 } 135 }
136 136
137 NGPhysicalOffset NGPhysicalOffset::operator+(
138 const NGPhysicalOffset& other) const {
139 return NGPhysicalOffset{this->left + other.left, this->top + other.top};
140 }
141
142 NGPhysicalOffset& NGPhysicalOffset::operator+=(const NGPhysicalOffset& other) {
143 *this = *this + other;
144 return *this;
145 }
146
137 bool NGBoxStrut::IsEmpty() const { 147 bool NGBoxStrut::IsEmpty() const {
138 return *this == NGBoxStrut(); 148 return *this == NGBoxStrut();
139 } 149 }
140 150
141 bool NGBoxStrut::operator==(const NGBoxStrut& other) const { 151 bool NGBoxStrut::operator==(const NGBoxStrut& other) const {
142 return std::tie(other.inline_start, other.inline_end, other.block_start, 152 return std::tie(other.inline_start, other.inline_end, other.block_start,
143 other.block_end) == 153 other.block_end) ==
144 std::tie(inline_start, inline_end, block_start, block_end); 154 std::tie(inline_start, inline_end, block_start, block_end);
145 } 155 }
146 156
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 } 229 }
220 230
221 bool NGMarginStrut::operator==(const NGMarginStrut& other) const { 231 bool NGMarginStrut::operator==(const NGMarginStrut& other) const {
222 return std::tie(other.margin_block_start, other.margin_block_end, 232 return std::tie(other.margin_block_start, other.margin_block_end,
223 other.negative_margin_block_start, 233 other.negative_margin_block_start,
224 other.negative_margin_block_end) == 234 other.negative_margin_block_end) ==
225 std::tie(margin_block_start, margin_block_end, 235 std::tie(margin_block_start, margin_block_end,
226 negative_margin_block_start, negative_margin_block_end); 236 negative_margin_block_start, negative_margin_block_end);
227 } 237 }
228 238
239 NGCorner NGCorner::Create(NGWritingMode writing_mode,
240 TextDirection direction,
241 NGPhysicalOffset offset) {
242 NGCorner c;
243 c.offset = offset;
244 switch (writing_mode) {
245 case kHorizontalTopBottom:
246 c.type = (direction == LTR) ? kTopLeft : kTopRight;
247 break;
248 case kVerticalRightLeft:
249 case kSidewaysRightLeft:
250 c.type = (direction == LTR) ? kTopRight : kBottomRight;
251 break;
252 case kVerticalLeftRight:
253 c.type = (direction == LTR) ? kTopLeft : kBottomLeft;
254 break;
255 case kSidewaysLeftRight:
256 c.type = (direction == LTR) ? kBottomLeft : kTopLeft;
257 break;
258 }
259 return c;
260 }
261
229 } // namespace blink 262 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698