Lines Matching refs:row_a
287 Rows::iterator row_a = rows_.upper_bound(top); in Subtract() local
291 while (row_a != rows_.end() && row_b != region.rows_.end()) { in Subtract()
293 if (row_a->second->bottom <= top) { in Subtract()
296 MergeWithPrecedingRow(row_a); in Subtract()
297 ++row_a; 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()
322 if (row_b->second->bottom < row_a->second->bottom) { in Subtract()
328 rows_.insert(row_a, Rows::value_type(bottom, new Row(top, bottom))); in Subtract()
329 row_a->second->top = bottom; in Subtract()
330 new_row->second->spans = row_a->second->spans; in Subtract()
331 row_a = new_row; 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()
349 if (row_a->second->spans.empty()) { in Subtract()
350 Rows::iterator row_to_delete = row_a; in Subtract()
351 ++row_a; in Subtract()
355 MergeWithPrecedingRow(row_a); in Subtract()
356 ++row_a; in Subtract()
360 if (row_a != rows_.end()) in Subtract()
361 MergeWithPrecedingRow(row_a); in Subtract()