1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-19 10:22:27 +00:00

(struct redisplay_interface): Add parameter

MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
(clear_mouse_face): New function pointer member.
This commit is contained in:
Gerd Moellmann 2000-07-12 15:11:40 +00:00
parent e876ff42b9
commit 712eaef29d
2 changed files with 34 additions and 2 deletions

View File

@ -1,3 +1,28 @@
2000-07-12 Gerd Moellmann <gerd@gnu.org>
* xdisp.c (try_window_reusing_current_matrix, try_window_id):
Before scrolling, turn off a mouse-highlight in the window
being scrolled.
* xterm.c (x_update_window_end): Add parameter
MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
redisplay in XTframe_up_to_date.
(x_clear_mouse_face): New function.
(x_redisplay_interface): Add pointer to x_clear_mouse_face.
* dispnew.c (make_current): Preserve the mouse_face_p flag of the
current glyph row.
(update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
it when any row is written to that contains glyphs highlighted in
mouse-face.
(update_window): Call the window update end hook with new
parameter MOUSE_FACE_OVERWRITTEN_P.
(direct_output_for_insert): Give up if row contains mouse-face.
* dispextern.h (struct redisplay_interface): Add parameter
MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
(clear_mouse_face): New function pointer member.
2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
* syntax.c (back_comment): Use one switch rather than a few `if's.

View File

@ -1862,8 +1862,12 @@ struct redisplay_interface
void (*update_window_begin_hook) P_ ((struct window *w));
/* Function to call after window W has been updated in window-based
redisplay. CURSOR_ON_P non-zero means switch cursor on. */
void (*update_window_end_hook) P_ ((struct window *w, int cursor_on_p));
redisplay. CURSOR_ON_P non-zero means switch cursor on.
MOUSE_FACE_OVERWRITTEN_P non-zero means that some lines in W
that contained glyphs in mouse-face were overwritten, so we
have to update the mouse hightlight. */
void (*update_window_end_hook) P_ ((struct window *w, int cursor_on_p,
int mouse_face_overwritten_p));
/* Move cursor to row/column position VPOS/HPOS, pixel coordinates
Y/X. HPOS/VPOS are window-relative row and column numbers and X/Y
@ -1873,6 +1877,9 @@ struct redisplay_interface
/* Flush the display of frame F. For X, this is XFlush. */
void (*flush_display) P_ ((struct frame *f));
/* Clear the mouse hightlight in windwo W, if there is any. */
void (*clear_mouse_face) P_ ((struct window *w));
/* Set *LEFT and *RIGHT to the left and right overhang of GLYPH on
frame F. */
void (*get_glyph_overhangs) P_ ((struct glyph *glyph, struct frame *f,