Commit 41124e06 authored by YAMAMOTO Mitsuharu's avatar YAMAMOTO Mitsuharu
Browse files

(redraw_overlapping_rows): Call rif->fix_overlapping_area with new

OVERLAPS arg as redrawn part.
parent 10a07952
...@@ -4035,23 +4035,33 @@ redraw_overlapping_rows (w, yb) ...@@ -4035,23 +4035,33 @@ redraw_overlapping_rows (w, yb)
if (row->overlapping_p && i > 0 && bottom_y < yb) if (row->overlapping_p && i > 0 && bottom_y < yb)
{ {
if (row->used[LEFT_MARGIN_AREA]) int overlaps = 0;
rif->fix_overlapping_area (w, row, LEFT_MARGIN_AREA);
if (MATRIX_ROW_OVERLAPS_PRED_P (row)
if (row->used[TEXT_AREA]) && !MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p)
rif->fix_overlapping_area (w, row, TEXT_AREA); overlaps |= OVERLAPS_PRED;
if (MATRIX_ROW_OVERLAPS_SUCC_P (row)
if (row->used[RIGHT_MARGIN_AREA]) && !MATRIX_ROW (w->current_matrix, i + 1)->overlapped_p)
rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA); overlaps |= OVERLAPS_SUCC;
/* Record in neighbour rows that ROW overwrites part of their if (overlaps)
display. */ {
if (row->phys_ascent > row->ascent && i > 0) if (row->used[LEFT_MARGIN_AREA])
MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p = 1; rif->fix_overlapping_area (w, row, LEFT_MARGIN_AREA, overlaps);
if ((row->phys_height - row->phys_ascent
> row->height - row->ascent) if (row->used[TEXT_AREA])
&& bottom_y < yb) rif->fix_overlapping_area (w, row, TEXT_AREA, overlaps);
MATRIX_ROW (w->current_matrix, i + 1)->overlapped_p = 1;
if (row->used[RIGHT_MARGIN_AREA])
rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA, overlaps);
/* Record in neighbour rows that ROW overwrites part of
their display. */
if (overlaps & OVERLAPS_PRED)
MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p = 1;
if (overlaps & OVERLAPS_SUCC)
MATRIX_ROW (w->current_matrix, i + 1)->overlapped_p = 1;
}
} }
if (bottom_y >= yb) if (bottom_y >= yb)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment