diff options
| author | Gerd Moellmann | 2001-08-28 14:34:17 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-08-28 14:34:17 +0000 |
| commit | 7b0870b2631fa51b5c22b10b69af0ae1306c5954 (patch) | |
| tree | 0ac1795faa1eafcad55ed1a50d129745c3665434 /src | |
| parent | 0f76ca04ee0bb58445a1bc86eaa519753d5b29f1 (diff) | |
| download | emacs-7b0870b2631fa51b5c22b10b69af0ae1306c5954.tar.gz emacs-7b0870b2631fa51b5c22b10b69af0ae1306c5954.zip | |
(x_set_glyph_string_background_width): Set the glyph
strings background width so that multi-line mouse-face is drawn to
the right edge of the window.
(show_mouse_face): Set the row's mouse_face_p flag after drawing
glyphs.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/xterm.c | 14 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c4dc94cc701..eb8694739d7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,11 @@ | |||
| 1 | 2001-08-28 Gerd Moellmann <gerd@gnu.org> | 1 | 2001-08-28 Gerd Moellmann <gerd@gnu.org> |
| 2 | 2 | ||
| 3 | * xterm.c (x_set_glyph_string_background_width): Set the glyph | ||
| 4 | string's background width so that multi-line mouse-face is drawn | ||
| 5 | to the right edge of the window. | ||
| 6 | (show_mouse_face): Set the row's mouse_face_p flag after drawing | ||
| 7 | glyphs. | ||
| 8 | |||
| 3 | * dispnew.c (direct_output_for_insert): Set updated_area | 9 | * dispnew.c (direct_output_for_insert): Set updated_area |
| 4 | before insering/writing glyphs. | 10 | before insering/writing glyphs. |
| 5 | 11 | ||
diff --git a/src/xterm.c b/src/xterm.c index b472bde7656..66e5c5cfd08 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -4836,12 +4836,14 @@ x_set_glyph_string_background_width (s, start, last_x) | |||
| 4836 | struct face *default_face = FACE_FROM_ID (s->f, DEFAULT_FACE_ID); | 4836 | struct face *default_face = FACE_FROM_ID (s->f, DEFAULT_FACE_ID); |
| 4837 | 4837 | ||
| 4838 | if (start == s->row->used[s->area] | 4838 | if (start == s->row->used[s->area] |
| 4839 | && s->hl == DRAW_NORMAL_TEXT | ||
| 4840 | && s->area == TEXT_AREA | 4839 | && s->area == TEXT_AREA |
| 4841 | && (s->row->fill_line_p | 4840 | && ((s->hl == DRAW_NORMAL_TEXT |
| 4842 | || s->face->background != default_face->background | 4841 | && (s->row->fill_line_p |
| 4843 | || s->face->stipple != default_face->stipple)) | 4842 | || s->face->background != default_face->background |
| 4844 | s->extends_to_end_of_line_p = 1; | 4843 | || s->face->stipple != default_face->stipple |
| 4844 | || s->row->mouse_face_p)) | ||
| 4845 | || s->hl == DRAW_MOUSE_FACE)) | ||
| 4846 | s->extends_to_end_of_line_p = 1; | ||
| 4845 | 4847 | ||
| 4846 | /* If S extends its face to the end of the line, set its | 4848 | /* If S extends its face to the end of the line, set its |
| 4847 | background_width to the distance to the right edge of the drawing | 4849 | background_width to the distance to the right edge of the drawing |
| @@ -7696,9 +7698,9 @@ show_mouse_face (dpyinfo, draw) | |||
| 7696 | 7698 | ||
| 7697 | if (end_hpos > start_hpos) | 7699 | if (end_hpos > start_hpos) |
| 7698 | { | 7700 | { |
| 7699 | row->mouse_face_p = draw == DRAW_MOUSE_FACE || DRAW_IMAGE_RAISED; | ||
| 7700 | x_draw_glyphs (w, start_x, row, TEXT_AREA, | 7701 | x_draw_glyphs (w, start_x, row, TEXT_AREA, |
| 7701 | start_hpos, end_hpos, draw, NULL, NULL, 0); | 7702 | start_hpos, end_hpos, draw, NULL, NULL, 0); |
| 7703 | row->mouse_face_p = draw == DRAW_MOUSE_FACE || DRAW_IMAGE_RAISED; | ||
| 7702 | } | 7704 | } |
| 7703 | } | 7705 | } |
| 7704 | 7706 | ||