Add hold_quit arg. Rework to use just one, local, inev
input_event. Store inev directly in fifo using
kbd_buffer_store_event_hold. Update count in one place.
Postpone call to gen_help_event until inev is stored; use new
local do_help for this.
Remove local emacs_event in handing of ButtonPress event; just use
inev instead (so no reason to copy it later).
xterm.c to handle overlayed fringe bitmaps and to use cursor color
for displaying cursor in fringe.
(w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
specific functions to define and destroy fringe bitmaps in fringe_bmp.
(w32_redisplay_interface): Add them to redisplay_interface.
(w32_term_init): Call w32_init_fringe instead of explicitly
defining fringe bitmaps in fringe_bmp array.
(x_delete_display): Call w32_reset_fringes instead of explicitly
destroying fringe bitmaps in fringe_bmp array.
(x_after_update_window_line): Just set redraw_fringe_bitmaps_p
in row instead of actually drawing fringe bitmaps.
(w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
(w32_draw_window_cursor): Draw cursor in fringe.
new macros in dispextern.h, frame.h and window.h.
(x_draw_glyph_string_box): Adapt to per-window fringes and
scroll-bars.
(glyph_rect): Use window coordinates returned from
window_from_coordinates rather than frame_to_window_pixel_xy.
(XTset_vertical_scroll_bar): Adapt to per-window fringes and
scroll-bars.
(w32_clip_to_row): Remove superfluous whole_line_p arg and code
(fringes are now inside margins, i.e. always in the clipping area).
All callers changed.
(x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
directly, then call compute_fringe_widths. Don't call
frame_update_line_height.
(BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
(w32_per_char_metric): Change font_type arg to int for RIF.
(w32_encode_char): Return int according to RIF requirements.
(w32_compute_glyph_string_overhangs): Adapt to RIF.
(w32_get_glyph_overhangs): New function for RIF. Uses generic
x_get_glyph_overhangs.
(w32_redisplay_interface): Add new members.
(x_draw_composite_glyph_string_foreground): Implement overstriking.
* w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
phys_cursor's hpos is overwritten. This is still not completely
correct, as it doesn't really make sense to use hpos at all to
get the cursor glyph (as that is relative to the width of the
characters on the line, which may have changed during the update).
* w32term.c (notice_overwritten_cursor): Handle the special case
of the cursor being in the first blank non-text line at the
end of a window.
* w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
(x_draw_phys_cursor_glyph): Set phys_cursor_width here.
Compute from the x position returned by x_draw_glyphs.
* w32term.c (note_mode_line_or_margin_highlight): Renamed from
note_mode_line_highlight and extended.
* w32term.c (last_window): New variable.
(w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
(note_mouse_movement): Remove reimplemented code in #if 0.
* w32term.c (note_mode_line_highlight): Delete #if 0 to enable
function w32_define_cursor.
(note_mouse_highlight): Initialize, setup cursor accoding to mouse
position, change member name output_data.x to output_data.w32 and
add function w32_define_cursor.
(show_mouse_face): Delete #if 0 to enable function w32_define_cursor
and change member name output_data.x to output_data.w32.
(w32_initialize_display_info): Setup
dpyinfo->vertical_scroll_bar_cursor.
2003-01-21 David Ponce <david@dponce.com>
* w32term.c (w32_encode_char): For DIM=1 charset, set
ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
x_encode_char change by Kenichi Handa <handa@m17n.org> on
2002-09-30.
(w32_draw_relief_rect): Declare all args.
(w32_define_cursor): New.