| 692 | } |
| 693 | |
| 694 | void SpanLayout::PlaceLineSegments(CurrentLine& current_line, TextSizeResult& text_size_result) |
| 695 | { |
| 696 | for (std::vector<LineSegment>::iterator it = text_size_result.segments.begin(); it != text_size_result.segments.end(); ++it) |
| 697 | { |
| 698 | LineSegment segment = *it; |
| 699 | segment.x_position += current_line.x_position; |
| 700 | current_line.cur_line.segments.push_back(segment); |
| 701 | } |
| 702 | current_line.x_position += text_size_result.width; |
| 703 | current_line.cur_line.height = std::max(current_line.cur_line.height, text_size_result.height); |
| 704 | current_line.cur_line.ascender = std::max(current_line.cur_line.ascender, text_size_result.ascender); |
| 705 | } |
| 706 | |
| 707 | void SpanLayout::ForcePlaceLineSegments(CurrentLine& current_line, TextSizeResult& text_size_result, double max_width) |
| 708 | { |