diff options
| author | Gerd Moellmann | 2000-07-12 15:11:40 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-07-12 15:11:40 +0000 |
| commit | 712eaef29d5898ee8e4de5da755e501ba4908446 (patch) | |
| tree | 8ab5063e243e24fed05219c480fffd2d2ca84846 /src | |
| parent | e876ff42b9051fbb82f2b7a7ebcf5afc95b46a13 (diff) | |
| download | emacs-712eaef29d5898ee8e4de5da755e501ba4908446.tar.gz emacs-712eaef29d5898ee8e4de5da755e501ba4908446.zip | |
(struct redisplay_interface): Add parameter
MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
(clear_mouse_face): New function pointer member.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 25 | ||||
| -rw-r--r-- | src/dispextern.h | 11 |
2 files changed, 34 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0eb840f11be..f9e7e1fda8c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,28 @@ | |||
| 1 | 2000-07-12 Gerd Moellmann <gerd@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (try_window_reusing_current_matrix, try_window_id): | ||
| 4 | Before scrolling, turn off a mouse-highlight in the window | ||
| 5 | being scrolled. | ||
| 6 | |||
| 7 | * xterm.c (x_update_window_end): Add parameter | ||
| 8 | MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight | ||
| 9 | redisplay in XTframe_up_to_date. | ||
| 10 | (x_clear_mouse_face): New function. | ||
| 11 | (x_redisplay_interface): Add pointer to x_clear_mouse_face. | ||
| 12 | |||
| 13 | * dispnew.c (make_current): Preserve the mouse_face_p flag of the | ||
| 14 | current glyph row. | ||
| 15 | (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set | ||
| 16 | it when any row is written to that contains glyphs highlighted in | ||
| 17 | mouse-face. | ||
| 18 | (update_window): Call the window update end hook with new | ||
| 19 | parameter MOUSE_FACE_OVERWRITTEN_P. | ||
| 20 | (direct_output_for_insert): Give up if row contains mouse-face. | ||
| 21 | |||
| 22 | * dispextern.h (struct redisplay_interface): Add parameter | ||
| 23 | MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function. | ||
| 24 | (clear_mouse_face): New function pointer member. | ||
| 25 | |||
| 1 | 2000-07-11 Stefan Monnier <monnier@cs.yale.edu> | 26 | 2000-07-11 Stefan Monnier <monnier@cs.yale.edu> |
| 2 | 27 | ||
| 3 | * syntax.c (back_comment): Use one switch rather than a few `if's. | 28 | * syntax.c (back_comment): Use one switch rather than a few `if's. |
diff --git a/src/dispextern.h b/src/dispextern.h index 2fa2bf0caea..1ae8e66da85 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -1862,8 +1862,12 @@ struct redisplay_interface | |||
| 1862 | void (*update_window_begin_hook) P_ ((struct window *w)); | 1862 | void (*update_window_begin_hook) P_ ((struct window *w)); |
| 1863 | 1863 | ||
| 1864 | /* Function to call after window W has been updated in window-based | 1864 | /* Function to call after window W has been updated in window-based |
| 1865 | redisplay. CURSOR_ON_P non-zero means switch cursor on. */ | 1865 | redisplay. CURSOR_ON_P non-zero means switch cursor on. |
| 1866 | void (*update_window_end_hook) P_ ((struct window *w, int cursor_on_p)); | 1866 | MOUSE_FACE_OVERWRITTEN_P non-zero means that some lines in W |
| 1867 | that contained glyphs in mouse-face were overwritten, so we | ||
| 1868 | have to update the mouse hightlight. */ | ||
| 1869 | void (*update_window_end_hook) P_ ((struct window *w, int cursor_on_p, | ||
| 1870 | int mouse_face_overwritten_p)); | ||
| 1867 | 1871 | ||
| 1868 | /* Move cursor to row/column position VPOS/HPOS, pixel coordinates | 1872 | /* Move cursor to row/column position VPOS/HPOS, pixel coordinates |
| 1869 | Y/X. HPOS/VPOS are window-relative row and column numbers and X/Y | 1873 | Y/X. HPOS/VPOS are window-relative row and column numbers and X/Y |
| @@ -1873,6 +1877,9 @@ struct redisplay_interface | |||
| 1873 | /* Flush the display of frame F. For X, this is XFlush. */ | 1877 | /* Flush the display of frame F. For X, this is XFlush. */ |
| 1874 | void (*flush_display) P_ ((struct frame *f)); | 1878 | void (*flush_display) P_ ((struct frame *f)); |
| 1875 | 1879 | ||
| 1880 | /* Clear the mouse hightlight in windwo W, if there is any. */ | ||
| 1881 | void (*clear_mouse_face) P_ ((struct window *w)); | ||
| 1882 | |||
| 1876 | /* Set *LEFT and *RIGHT to the left and right overhang of GLYPH on | 1883 | /* Set *LEFT and *RIGHT to the left and right overhang of GLYPH on |
| 1877 | frame F. */ | 1884 | frame F. */ |
| 1878 | void (*get_glyph_overhangs) P_ ((struct glyph *glyph, struct frame *f, | 1885 | void (*get_glyph_overhangs) P_ ((struct glyph *glyph, struct frame *f, |