comparison src/xterm.c @ 25306:5bcee7af1643

(expose_area): If row extends face to end of line, write the whole line.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 17 Aug 1999 13:02:04 +0000
parents 0f10c1eaf8fb
children df0478893e10
comparison
equal deleted inserted replaced
25305:273b3c17ce68 25306:5bcee7af1643
5171 x = row->x + window_box_width (w, LEFT_MARGIN_AREA); 5171 x = row->x + window_box_width (w, LEFT_MARGIN_AREA);
5172 else 5172 else
5173 x = (window_box_width (w, LEFT_MARGIN_AREA) 5173 x = (window_box_width (w, LEFT_MARGIN_AREA)
5174 + window_box_width (w, TEXT_AREA)); 5174 + window_box_width (w, TEXT_AREA));
5175 5175
5176 /* Find the first glyph that must be redrawn. */ 5176 if (area == TEXT_AREA && row->fill_line_p)
5177 while (first < end 5177 /* If row extends face to end of line write the whole line. */
5178 && x + first->pixel_width < r->x) 5178 x_draw_glyphs (w, x, row, area,
5179 { 5179 0, row->used[area],
5180 x += first->pixel_width;
5181 ++first;
5182 }
5183
5184 /* Find the last one. */
5185 last = first;
5186 first_x = x;
5187 while (last < end
5188 && x < r->x + r->width)
5189 {
5190 x += last->pixel_width;
5191 ++last;
5192 }
5193
5194 /* Repaint. */
5195 if (last > first)
5196 x_draw_glyphs (w, first_x, row, area,
5197 first - row->glyphs[area],
5198 last - row->glyphs[area],
5199 row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT, 5180 row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT,
5200 NULL, NULL, 0); 5181 NULL, NULL, 0);
5182 else
5183 {
5184 /* Find the first glyph that must be redrawn. */
5185 while (first < end
5186 && x + first->pixel_width < r->x)
5187 {
5188 x += first->pixel_width;
5189 ++first;
5190 }
5191
5192 /* Find the last one. */
5193 last = first;
5194 first_x = x;
5195 while (last < end
5196 && x < r->x + r->width)
5197 {
5198 x += last->pixel_width;
5199 ++last;
5200 }
5201
5202 /* Repaint. */
5203 if (last > first)
5204 x_draw_glyphs (w, first_x, row, area,
5205 first - row->glyphs[area],
5206 last - row->glyphs[area],
5207 row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT,
5208 NULL, NULL, 0);
5209 }
5201 } 5210 }
5202 5211
5203 5212
5204 /* Redraw the parts of the glyph row ROW on window W intersecting 5213 /* Redraw the parts of the glyph row ROW on window W intersecting
5205 rectangle R. R is in window-relative coordinates. */ 5214 rectangle R. R is in window-relative coordinates. */