Lines Matching refs:second
54 Row* row = it->second; in operator =()
55 it->second = new Row(*row); in operator =()
66 it1->second->top != it2->second->top || in Equals()
67 it1->second->bottom != it2->second->bottom || in Equals()
68 it1->second->spans != it2->second->spans) { in Equals()
79 delete row->second; in Clear()
101 if (row == rows_.end() || top < row->second->top) { in AddRect()
105 if (row != rows_.end() && row->second->top < bottom) in AddRect()
106 bottom = row->second->top; in AddRect()
108 } else if (top > row->second->top) { in AddRect()
112 assert(top <= row->second->bottom); in AddRect()
114 row, Rows::value_type(top, new Row(row->second->top, top))); in AddRect()
115 row->second->top = top; in AddRect()
116 new_row->second->spans = row->second->spans; in AddRect()
119 if (rect.bottom() < row->second->bottom) { in AddRect()
125 row->second->top = rect.bottom(); in AddRect()
126 new_row->second->spans = row->second->spans; in AddRect()
131 AddSpanToRow(row->second, rect.left(), rect.right()); in AddRect()
132 top = row->second->bottom; in AddRect()
159 if (previous_row->second->bottom == row->second->top && in MergeWithPrecedingRow()
160 previous_row->second->spans == row->second->spans) { in MergeWithPrecedingRow()
161 row->second->top = previous_row->second->top; in MergeWithPrecedingRow()
162 delete previous_row->second; in MergeWithPrecedingRow()
189 if (it2->second->top < it1->second->top) { in Intersect()
195 if (it1->second->bottom <= it2->second->top) { in Intersect()
202 int32_t top = it2->second->top; in Intersect()
203 int32_t bottom = std::min(it1->second->bottom, it2->second->bottom); in Intersect()
207 IntersectRows(it1->second->spans, it2->second->spans, in Intersect()
208 &new_row->second->spans); in Intersect()
209 if (new_row->second->spans.empty()) { in Intersect()
210 delete new_row->second; in Intersect()
217 if (it1->second->bottom == bottom) in Intersect()
220 if (it2->second->bottom == bottom) in Intersect()
283 int top = row_b->second->top; in Subtract()
293 if (row_a->second->bottom <= top) { in Subtract()
301 if (top > row_a->second->top) { in Subtract()
305 assert(top <= row_a->second->bottom); in Subtract()
307 row_a, Rows::value_type(top, new Row(row_a->second->top, top))); in Subtract()
308 row_a->second->top = top; in Subtract()
309 new_row->second->spans = row_a->second->spans; in Subtract()
310 } else if (top < row_a->second->top) { in Subtract()
313 top = row_a->second->top; in Subtract()
314 if (top >= row_b->second->bottom) { in Subtract()
317 top = row_b->second->top; in Subtract()
322 if (row_b->second->bottom < row_a->second->bottom) { in Subtract()
326 int bottom = row_b->second->bottom; in Subtract()
329 row_a->second->top = bottom; in Subtract()
330 new_row->second->spans = row_a->second->spans; in Subtract()
337 SubtractRows(row_a->second->spans, row_b->second->spans, &new_spans); in Subtract()
338 new_spans.swap(row_a->second->spans); in Subtract()
339 top = row_a->second->bottom; in Subtract()
341 if (top >= row_b->second->bottom) { in Subtract()
344 top = row_b->second->top; in Subtract()
349 if (row_a->second->spans.empty()) { in Subtract()
352 delete row_to_delete->second; in Subtract()
374 Row* row = it->second; in Translate()
506 assert(row_->second->spans.size() > 0); in Iterator()
507 row_span_ = row_->second->spans.begin(); in Iterator()
523 if (row_span_ == row_->second->spans.end()) { in Advance()
527 assert(row_->second->spans.size() > 0); in Advance()
528 row_span_ = row_->second->spans.begin(); in Advance()
539 previous_row_->second->bottom == row_->second->top && in Advance()
540 IsSpanInRow(*previous_row_->second, *row_span_)) { in Advance()
557 bottom = bottom_row->second->bottom; in UpdateCurrentRect()
561 previous->second->bottom == bottom_row->second->top && in UpdateCurrentRect()
562 IsSpanInRow(*bottom_row->second, *row_span_)); in UpdateCurrentRect()
563 rect_ = DesktopRect::MakeLTRB(row_span_->left, row_->second->top, in UpdateCurrentRect()