The following changes consolidate code related to writing and

inserting glyphs, exposing frame, the tool bar, the mouse face,
the output cursor, and help echo from xterm.c, w32term.c and
macterm.c into xdisp.c.  It also generalizes the use of the
window_part enum instead of using numeric values throughout.

* xdisp.c: Consolidate gui-independent code here.
Include keymap.h.
(Qhelp_echo): Import.
(mouse_autoselect_window, x_stretch_cursor_p): Declare here.
(help_echo_string, help_echo_window, help_echo_object)
(previous_help_echo_string, help_echo_pos): Declare here.
(output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
(estimate_mode_line_height): Define here.  Handle windowing
systems directly (without using estimate_mode_line_height_hook).
(x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
(update_window_cursor, update_cursor_in_window_tree)
(fast_find_position, fast_find_string_pos)
(note_mode_line_highlight, note_mode_line_or_margin_highlight)
(expose_area, expose_line, expose_overlaps, expose_window)
(expose_window_tree, phys_cursor_in_rect_p): New generic versions;
declared static as they are only used locally in xdisp.c.
(draw_glyphs): Rename from x_draw_glyphs and make static.
(tool_bar_item_info, notice_overwritten_cursor): Make static.
(frame_to_window_pixel_xy, get_glyph_string_clip_rect)
(set_output_cursor, x_cursor_to, handle_tool_bar_click)
(x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
(x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
(display_and_set_cursor, x_update_cursor, x_clear_cursor)
(show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
(note_mouse_highlight, x_clear_window_mouse_face)
(cancel_mouse_face, x_draw_vertical_border, expose_frame)
(x_intersect_rectangles): New generic functions for use by xdisp.c
and GUI front-ends.
(syms_of_xdisp): Initialize and staticpro help_echo* variables.
Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
This commit is contained in:
Kim F. Storm 2003-03-21 13:52:28 +00:00
parent b74b839745
commit fa3c6b4da4

File diff suppressed because it is too large Load diff