5216 |
for (s = head; s; s = s->next) |
for (s = head; s; s = s->next) |
5217 |
x_draw_glyph_string (s); |
x_draw_glyph_string (s); |
5218 |
|
|
5219 |
if (area == TEXT_AREA && !row->full_width_p) |
if (area == TEXT_AREA |
5220 |
|
&& !row->full_width_p |
5221 |
|
/* When drawing overlapping rows, only the glyph strings' |
5222 |
|
foreground is drawn, which doesn't erase a cursor |
5223 |
|
completely. */ |
5224 |
|
&& !overlaps_p) |
5225 |
{ |
{ |
5226 |
int x0 = head ? head->x : x; |
int x0 = head ? head->x : x; |
5227 |
int x1 = tail ? tail->x + tail->background_width : x; |
int x1 = tail ? tail->x + tail->background_width : x; |
5229 |
x0 = FRAME_TO_WINDOW_PIXEL_X (w, x0); |
x0 = FRAME_TO_WINDOW_PIXEL_X (w, x0); |
5230 |
x1 = FRAME_TO_WINDOW_PIXEL_X (w, x1); |
x1 = FRAME_TO_WINDOW_PIXEL_X (w, x1); |
5231 |
|
|
5232 |
if (!row->full_width_p && XFASTINT (w->left_margin_width) != 0) |
if (XFASTINT (w->left_margin_width) != 0) |
5233 |
{ |
{ |
5234 |
int left_area_width = window_box_width (w, LEFT_MARGIN_AREA); |
int left_area_width = window_box_width (w, LEFT_MARGIN_AREA); |
5235 |
x0 -= left_area_width; |
x0 -= left_area_width; |