diff options
| author | Kim F. Storm | 2002-02-16 23:59:22 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2002-02-16 23:59:22 +0000 |
| commit | 3d26a7c2f0200328ecfa8e0597ea2cbea05a7fbf (patch) | |
| tree | 478df3d6305ea93219985dc12edbdc2f3909d91f | |
| parent | f16c05f28c32b7d4481af21882856c7dd2e796b6 (diff) | |
| download | emacs-3d26a7c2f0200328ecfa8e0597ea2cbea05a7fbf.tar.gz emacs-3d26a7c2f0200328ecfa8e0597ea2cbea05a7fbf.zip | |
(disable_mouse_highlight): Removed variable.
(note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
(show_mouse_face): Don't show highlight if mouse_face_hidden is set.
(w32_read_socket): Turn mouse_face_hidden off after mouse movement,
and on after keyboard input.
(w32_initialize_display_info): Initialize mouse_face_hidden.
| -rw-r--r-- | src/w32term.c | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/w32term.c b/src/w32term.c index 4aa221e7c34..c9fa8e99335 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -6314,11 +6314,6 @@ note_mouse_movement (frame, msg) | |||
| 6314 | } | 6314 | } |
| 6315 | } | 6315 | } |
| 6316 | 6316 | ||
| 6317 | /* This is used for debugging, to turn off note_mouse_highlight. */ | ||
| 6318 | |||
| 6319 | int disable_mouse_highlight; | ||
| 6320 | |||
| 6321 | |||
| 6322 | 6317 | ||
| 6323 | /************************************************************************ | 6318 | /************************************************************************ |
| 6324 | Mouse Face | 6319 | Mouse Face |
| @@ -6535,7 +6530,7 @@ note_mouse_highlight (f, x, y) | |||
| 6535 | if (popup_activated ()) | 6530 | if (popup_activated ()) |
| 6536 | return; | 6531 | return; |
| 6537 | 6532 | ||
| 6538 | if (disable_mouse_highlight | 6533 | if (NILP (Vmouse_highlight) |
| 6539 | || !f->glyphs_initialized_p) | 6534 | || !f->glyphs_initialized_p) |
| 6540 | return; | 6535 | return; |
| 6541 | 6536 | ||
| @@ -7444,6 +7439,8 @@ show_mouse_face (dpyinfo, draw) | |||
| 7444 | if (/* If window is in the process of being destroyed, don't bother | 7439 | if (/* If window is in the process of being destroyed, don't bother |
| 7445 | to do anything. */ | 7440 | to do anything. */ |
| 7446 | w->current_matrix != NULL | 7441 | w->current_matrix != NULL |
| 7442 | /* Don't update mouse highlight if hidden */ | ||
| 7443 | && (draw != DRAW_MOUSE_FACE || !dpyinfo->mouse_face_hidden) | ||
| 7447 | /* Recognize when we are called to operate on rows that don't exist | 7444 | /* Recognize when we are called to operate on rows that don't exist |
| 7448 | anymore. This can happen when a window is split. */ | 7445 | anymore. This can happen when a window is split. */ |
| 7449 | && dpyinfo->mouse_face_end_row < w->current_matrix->nrows) | 7446 | && dpyinfo->mouse_face_end_row < w->current_matrix->nrows) |
| @@ -8642,6 +8639,12 @@ w32_read_socket (sd, bufp, numchars, expected) | |||
| 8642 | 8639 | ||
| 8643 | if (f && !f->iconified) | 8640 | if (f && !f->iconified) |
| 8644 | { | 8641 | { |
| 8642 | if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)) | ||
| 8643 | { | ||
| 8644 | dpyinfo->mouse_face_hidden = 1; | ||
| 8645 | clear_mouse_face (dpyinfo); | ||
| 8646 | } | ||
| 8647 | |||
| 8645 | if (temp_index == sizeof temp_buffer / sizeof (short)) | 8648 | if (temp_index == sizeof temp_buffer / sizeof (short)) |
| 8646 | temp_index = 0; | 8649 | temp_index = 0; |
| 8647 | temp_buffer[temp_index++] = msg.msg.wParam; | 8650 | temp_buffer[temp_index++] = msg.msg.wParam; |
| @@ -8663,6 +8666,12 @@ w32_read_socket (sd, bufp, numchars, expected) | |||
| 8663 | 8666 | ||
| 8664 | if (f && !f->iconified) | 8667 | if (f && !f->iconified) |
| 8665 | { | 8668 | { |
| 8669 | if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)) | ||
| 8670 | { | ||
| 8671 | dpyinfo->mouse_face_hidden = 1; | ||
| 8672 | clear_mouse_face (dpyinfo); | ||
| 8673 | } | ||
| 8674 | |||
| 8666 | if (temp_index == sizeof temp_buffer / sizeof (short)) | 8675 | if (temp_index == sizeof temp_buffer / sizeof (short)) |
| 8667 | temp_index = 0; | 8676 | temp_index = 0; |
| 8668 | temp_buffer[temp_index++] = msg.msg.wParam; | 8677 | temp_buffer[temp_index++] = msg.msg.wParam; |
| @@ -8689,6 +8698,12 @@ w32_read_socket (sd, bufp, numchars, expected) | |||
| 8689 | else | 8698 | else |
| 8690 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | 8699 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); |
| 8691 | 8700 | ||
| 8701 | if (dpyinfo->mouse_face_hidden) | ||
| 8702 | { | ||
| 8703 | dpyinfo->mouse_face_hidden = 0; | ||
| 8704 | clear_mouse_face (dpyinfo); | ||
| 8705 | } | ||
| 8706 | |||
| 8692 | if (f) | 8707 | if (f) |
| 8693 | note_mouse_movement (f, &msg.msg); | 8708 | note_mouse_movement (f, &msg.msg); |
| 8694 | else | 8709 | else |
| @@ -10852,6 +10867,7 @@ w32_initialize_display_info (display_name) | |||
| 10852 | dpyinfo->mouse_face_face_id = DEFAULT_FACE_ID; | 10867 | dpyinfo->mouse_face_face_id = DEFAULT_FACE_ID; |
| 10853 | dpyinfo->mouse_face_window = Qnil; | 10868 | dpyinfo->mouse_face_window = Qnil; |
| 10854 | dpyinfo->mouse_face_overlay = Qnil; | 10869 | dpyinfo->mouse_face_overlay = Qnil; |
| 10870 | dpyinfo->mouse_face_hidden = 0; | ||
| 10855 | /* TODO: dpyinfo->gray */ | 10871 | /* TODO: dpyinfo->gray */ |
| 10856 | 10872 | ||
| 10857 | } | 10873 | } |