Mercurial > emacs
comparison src/xterm.c @ 40076:d505fb8b523f
(x_fix_overlapping_area, x_write_glyphs, expose_area)
(expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
(XTreassert_line_highlight, x_change_line_highlight):
Functions removed.
(x_initialize): Don't set reassert_line_highlight_hook or
change_line_highlight_hook.
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sat, 20 Oct 2001 05:44:30 +0000 |
parents | eac4e9ae201c |
children | 7c57640154a5 |
comparison
equal
deleted
inserted
replaced
40075:c1d88076fa85 | 40076:d505fb8b523f |
---|---|
434 static void x_draw_phys_cursor_glyph P_ ((struct window *, | 434 static void x_draw_phys_cursor_glyph P_ ((struct window *, |
435 struct glyph_row *, | 435 struct glyph_row *, |
436 enum draw_glyphs_face)); | 436 enum draw_glyphs_face)); |
437 static void x_update_end P_ ((struct frame *)); | 437 static void x_update_end P_ ((struct frame *)); |
438 static void XTframe_up_to_date P_ ((struct frame *)); | 438 static void XTframe_up_to_date P_ ((struct frame *)); |
439 static void XTreassert_line_highlight P_ ((int, int)); | |
440 static void x_change_line_highlight P_ ((int, int, int, int)); | |
441 static void XTset_terminal_modes P_ ((void)); | 439 static void XTset_terminal_modes P_ ((void)); |
442 static void XTreset_terminal_modes P_ ((void)); | 440 static void XTreset_terminal_modes P_ ((void)); |
443 static void XTcursor_to P_ ((int, int, int, int)); | 441 static void XTcursor_to P_ ((int, int, int, int)); |
444 static void x_write_glyphs P_ ((struct glyph *, int)); | 442 static void x_write_glyphs P_ ((struct glyph *, int)); |
445 static void x_clear_end_of_line P_ ((int)); | 443 static void x_clear_end_of_line P_ ((int)); |
1020 if (bitmap != NO_BITMAP) | 1018 if (bitmap != NO_BITMAP) |
1021 x_draw_bitmap (w, row, bitmap); | 1019 x_draw_bitmap (w, row, bitmap); |
1022 } | 1020 } |
1023 | 1021 |
1024 | 1022 |
1025 /*********************************************************************** | |
1026 Line Highlighting | |
1027 ***********************************************************************/ | |
1028 | |
1029 /* External interface to control of standout mode. Not used for X | |
1030 frames. Aborts when called. */ | |
1031 | |
1032 static void | |
1033 XTreassert_line_highlight (new, vpos) | |
1034 int new, vpos; | |
1035 { | |
1036 abort (); | |
1037 } | |
1038 | |
1039 | |
1040 /* Call this when about to modify line at position VPOS and change | |
1041 whether it is highlighted. Not used for X frames. Aborts when | |
1042 called. */ | |
1043 | |
1044 static void | |
1045 x_change_line_highlight (new_highlight, vpos, y, first_unused_hpos) | |
1046 int new_highlight, vpos, y, first_unused_hpos; | |
1047 { | |
1048 abort (); | |
1049 } | |
1050 | |
1051 | 1023 |
1052 /* This is called when starting Emacs and when restarting after | 1024 /* This is called when starting Emacs and when restarting after |
1053 suspend. When starting Emacs, no X window is mapped. And nothing | 1025 suspend. When starting Emacs, no X window is mapped. And nothing |
1054 must be done to Emacs's own window if it is suspended (though that | 1026 must be done to Emacs's own window if it is suspended (though that |
1055 rarely happens). */ | 1027 rarely happens). */ |
5269 } | 5241 } |
5270 while (i < row->used[area] | 5242 while (i < row->used[area] |
5271 && row->glyphs[area][i].overlaps_vertically_p); | 5243 && row->glyphs[area][i].overlaps_vertically_p); |
5272 | 5244 |
5273 x_draw_glyphs (w, start_x, row, area, start, i, | 5245 x_draw_glyphs (w, start_x, row, area, start, i, |
5274 (row->inverse_p | 5246 DRAW_NORMAL_TEXT, NULL, NULL, 1); |
5275 ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT), | |
5276 NULL, NULL, 1); | |
5277 } | 5247 } |
5278 else | 5248 else |
5279 { | 5249 { |
5280 x += row->glyphs[area][i].pixel_width; | 5250 x += row->glyphs[area][i].pixel_width; |
5281 ++i; | 5251 ++i; |
5306 | 5276 |
5307 hpos = start - updated_row->glyphs[updated_area]; | 5277 hpos = start - updated_row->glyphs[updated_area]; |
5308 x = x_draw_glyphs (updated_window, output_cursor.x, | 5278 x = x_draw_glyphs (updated_window, output_cursor.x, |
5309 updated_row, updated_area, | 5279 updated_row, updated_area, |
5310 hpos, hpos + len, | 5280 hpos, hpos + len, |
5311 (updated_row->inverse_p | 5281 DRAW_NORMAL_TEXT, |
5312 ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT), | |
5313 &real_start, &real_end, 0); | 5282 &real_start, &real_end, 0); |
5314 | 5283 |
5315 /* If we drew over the cursor, note that it is not visible any more. */ | 5284 /* If we drew over the cursor, note that it is not visible any more. */ |
5316 notice_overwritten_cursor (updated_window, real_start, | 5285 notice_overwritten_cursor (updated_window, real_start, |
5317 real_end - real_start); | 5286 real_end - real_start); |
5935 struct glyph *last; | 5904 struct glyph *last; |
5936 int first_x, start_x, x; | 5905 int first_x, start_x, x; |
5937 | 5906 |
5938 if (area == TEXT_AREA && row->fill_line_p) | 5907 if (area == TEXT_AREA && row->fill_line_p) |
5939 /* If row extends face to end of line write the whole line. */ | 5908 /* If row extends face to end of line write the whole line. */ |
5940 x_draw_glyphs (w, 0, row, area, | 5909 x_draw_glyphs (w, 0, row, area, 0, row->used[area], |
5941 0, row->used[area], | 5910 DRAW_NORMAL_TEXT, NULL, NULL, 0); |
5942 row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT, | |
5943 NULL, NULL, 0); | |
5944 else | 5911 else |
5945 { | 5912 { |
5946 /* Set START_X to the window-relative start position for drawing glyphs of | 5913 /* Set START_X to the window-relative start position for drawing glyphs of |
5947 AREA. The first glyph of the text area can be partially visible. | 5914 AREA. The first glyph of the text area can be partially visible. |
5948 The first glyphs of other areas cannot. */ | 5915 The first glyphs of other areas cannot. */ |
5976 /* Repaint. */ | 5943 /* Repaint. */ |
5977 if (last > first) | 5944 if (last > first) |
5978 x_draw_glyphs (w, first_x - start_x, row, area, | 5945 x_draw_glyphs (w, first_x - start_x, row, area, |
5979 first - row->glyphs[area], | 5946 first - row->glyphs[area], |
5980 last - row->glyphs[area], | 5947 last - row->glyphs[area], |
5981 row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT, | 5948 DRAW_NORMAL_TEXT, |
5982 NULL, NULL, 0); | 5949 NULL, NULL, 0); |
5983 } | 5950 } |
5984 } | 5951 } |
5985 | 5952 |
5986 | 5953 |
5996 { | 5963 { |
5997 xassert (row->enabled_p); | 5964 xassert (row->enabled_p); |
5998 | 5965 |
5999 if (row->mode_line_p || w->pseudo_window_p) | 5966 if (row->mode_line_p || w->pseudo_window_p) |
6000 x_draw_glyphs (w, 0, row, TEXT_AREA, 0, row->used[TEXT_AREA], | 5967 x_draw_glyphs (w, 0, row, TEXT_AREA, 0, row->used[TEXT_AREA], |
6001 row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT, | 5968 DRAW_NORMAL_TEXT, NULL, NULL, 0); |
6002 NULL, NULL, 0); | |
6003 else | 5969 else |
6004 { | 5970 { |
6005 if (row->used[LEFT_MARGIN_AREA]) | 5971 if (row->used[LEFT_MARGIN_AREA]) |
6006 expose_area (w, row, r, LEFT_MARGIN_AREA); | 5972 expose_area (w, row, r, LEFT_MARGIN_AREA); |
6007 if (row->used[TEXT_AREA]) | 5973 if (row->used[TEXT_AREA]) |
11457 } | 11423 } |
11458 | 11424 |
11459 /* Erase the cursor by redrawing the character underneath it. */ | 11425 /* Erase the cursor by redrawing the character underneath it. */ |
11460 if (mouse_face_here_p) | 11426 if (mouse_face_here_p) |
11461 hl = DRAW_MOUSE_FACE; | 11427 hl = DRAW_MOUSE_FACE; |
11462 else if (cursor_row->inverse_p) | |
11463 hl = DRAW_INVERSE_VIDEO; | |
11464 else | 11428 else |
11465 hl = DRAW_NORMAL_TEXT; | 11429 hl = DRAW_NORMAL_TEXT; |
11466 x_draw_phys_cursor_glyph (w, cursor_row, hl); | 11430 x_draw_phys_cursor_glyph (w, cursor_row, hl); |
11467 | 11431 |
11468 mark_cursor_off: | 11432 mark_cursor_off: |
14687 { | 14651 { |
14688 rif = &x_redisplay_interface; | 14652 rif = &x_redisplay_interface; |
14689 | 14653 |
14690 clear_frame_hook = x_clear_frame; | 14654 clear_frame_hook = x_clear_frame; |
14691 ins_del_lines_hook = x_ins_del_lines; | 14655 ins_del_lines_hook = x_ins_del_lines; |
14692 change_line_highlight_hook = x_change_line_highlight; | |
14693 delete_glyphs_hook = x_delete_glyphs; | 14656 delete_glyphs_hook = x_delete_glyphs; |
14694 ring_bell_hook = XTring_bell; | 14657 ring_bell_hook = XTring_bell; |
14695 reset_terminal_modes_hook = XTreset_terminal_modes; | 14658 reset_terminal_modes_hook = XTreset_terminal_modes; |
14696 set_terminal_modes_hook = XTset_terminal_modes; | 14659 set_terminal_modes_hook = XTset_terminal_modes; |
14697 update_begin_hook = x_update_begin; | 14660 update_begin_hook = x_update_begin; |
14698 update_end_hook = x_update_end; | 14661 update_end_hook = x_update_end; |
14699 set_terminal_window_hook = XTset_terminal_window; | 14662 set_terminal_window_hook = XTset_terminal_window; |
14700 read_socket_hook = XTread_socket; | 14663 read_socket_hook = XTread_socket; |
14701 frame_up_to_date_hook = XTframe_up_to_date; | 14664 frame_up_to_date_hook = XTframe_up_to_date; |
14702 reassert_line_highlight_hook = XTreassert_line_highlight; | |
14703 mouse_position_hook = XTmouse_position; | 14665 mouse_position_hook = XTmouse_position; |
14704 frame_rehighlight_hook = XTframe_rehighlight; | 14666 frame_rehighlight_hook = XTframe_rehighlight; |
14705 frame_raise_lower_hook = XTframe_raise_lower; | 14667 frame_raise_lower_hook = XTframe_raise_lower; |
14706 set_vertical_scroll_bar_hook = XTset_vertical_scroll_bar; | 14668 set_vertical_scroll_bar_hook = XTset_vertical_scroll_bar; |
14707 condemn_scroll_bars_hook = XTcondemn_scroll_bars; | 14669 condemn_scroll_bars_hook = XTcondemn_scroll_bars; |