5186 |
for (s = head; s; s = s->next) |
for (s = head; s; s = s->next) |
5187 |
x_draw_glyph_string (s); |
x_draw_glyph_string (s); |
5188 |
|
|
5189 |
if (area == TEXT_AREA && !row->full_width_p) |
if (area == TEXT_AREA |
5190 |
|
&& !row->full_width_p |
5191 |
|
/* When drawing overlapping rows, only the glyph strings' |
5192 |
|
foreground is drawn, which doesn't erase a cursor |
5193 |
|
completely. */ |
5194 |
|
&& !overlaps_p) |
5195 |
{ |
{ |
5196 |
int x0 = head ? head->x : x; |
int x0 = head ? head->x : x; |
5197 |
int x1 = tail ? tail->x + tail->background_width : x; |
int x1 = tail ? tail->x + tail->background_width : x; |
5199 |
x0 = FRAME_TO_WINDOW_PIXEL_X (w, x0); |
x0 = FRAME_TO_WINDOW_PIXEL_X (w, x0); |
5200 |
x1 = FRAME_TO_WINDOW_PIXEL_X (w, x1); |
x1 = FRAME_TO_WINDOW_PIXEL_X (w, x1); |
5201 |
|
|
5202 |
if (!row->full_width_p && XFASTINT (w->left_margin_width) != 0) |
if (XFASTINT (w->left_margin_width) != 0) |
5203 |
{ |
{ |
5204 |
int left_area_width = window_box_width (w, LEFT_MARGIN_AREA); |
int left_area_width = window_box_width (w, LEFT_MARGIN_AREA); |
5205 |
x0 -= left_area_width; |
x0 -= left_area_width; |