summaryrefslogtreecommitdiff
path: root/src/termchar.h
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2010-10-30 15:09:52 +0200
committerEli Zaretskii <eliz@gnu.org>2010-10-30 15:09:52 +0200
commitd009ae66b405e38113c1ed29ff50832e5eec2b29 (patch)
treef6fb055534f6b2b9c3b65ba785d167efc5e40f16 /src/termchar.h
parentaeeb3dcb656d2df4421f3c0a8b6416a5c1ea94a7 (diff)
downloademacs-d009ae66b405e38113c1ed29ff50832e5eec2b29.tar.gz
Unify mouse highlight code of MSDOS and GUI sessions.
xdisp.c (coords_in_mouse_face_p): Move prototype out of the HAVE_WINDOW_SYSTEM conditional. (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the HAVE_WINDOW_SYSTEM block. (try_window_id) [HAVE_GPM || MSDOS]: Call x_clear_window_mouse_face. (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM systems. (show_mouse_face): Call it, instead of calling draw_glyphs directly. (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p) (cursor_in_mouse_face_p, rows_from_pos_range) (mouse_face_from_buffer_pos, mouse_face_from_string_pos) (note_mode_line_or_margin_highlight, note_mouse_highlight) (x_clear_window_mouse_face, cancel_mouse_face): Move out of the HAVE_WINDOW_SYSTEM block. Ifdef away window-system specific fragments. (note_mouse_highlight): Call popup_activated for MSDOS as well. Clear mouse highlight if pointer is over glyphs whose OBJECT is an integer. (mouse_face_from_buffer_pos): Add parentheses around && within ||. xmenu.c (popup_activated): Don't define on MSDOS. dispnew.c (mirror_make_current): Set Y coordinate of the mode-line and header-line rows. termchar.h (struct tty_display_info): Define mouse_face_* members not only for MSDOS. Delete stray whitespace. <mouse_face_beg_x, mouse_face_beg_y, mouse_face_overlay>: New struct members. dispextern.h (DPYINFO_DEFINED) [HAVE_X_WINDOWS]: Define. (DPYINFO_DEFINED) [HAVE_NTGUI]: Define. (DPYINFO_DEFINED) [HAVE_NS]: Define. (Display_Info) [!DPYINFO_DEFINED]: Define here. (FRAME_X_DISPLAY_INFO) [HAVE_GPM]: Define. (FRAME_X_DISPLAY_INFO): Define to NULL if not defined. (frame_to_window_pixel_xy, note_mouse_highlight) (x_clear_window_mouse_face, cancel_mouse_face, clear_mouse_face) (show_mouse_face, cursor_in_mouse_face_p): Move prototypes out of HAVE_WINDOW_SYSTEM conditional. (draw_row_with_mouse_face): Declare prototype. msdos.h (Display_Info): Don't define here. msdos.c (show_mouse_face, clear_mouse_face) (fast_find_position, IT_note_mode_line_highlight) (IT_note_mouse_highlight): Functions deleted. (IT_frame_up_to_date, dos_rawgetc): Call note_mouse_highlight instead of IT_note_mouse_highlight. (draw_row_with_mouse_face, popup_activated): New functions.
Diffstat (limited to 'src/termchar.h')
-rw-r--r--src/termchar.h23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/termchar.h b/src/termchar.h
index 8135ac723e5..1b4cd0891da 100644
--- a/src/termchar.h
+++ b/src/termchar.h
@@ -34,18 +34,18 @@ struct tty_output
struct tty_display_info
{
struct tty_display_info *next; /* Chain of all tty devices. */
-
+
char *name; /* The name of the device file or 0 if
stdin/stdout. */
char *type; /* The type of the tty. */
-
+
/* Input/output */
-
+
FILE *input; /* The stream to be used for terminal input.
NULL if the terminal is suspended. */
FILE *output; /* The stream to be used for terminal output.
NULL if the terminal is suspended. */
-
+
FILE *termscript; /* If nonzero, send all terminal output
characters to this stream also. */
@@ -65,22 +65,24 @@ struct tty_display_info
/* Redisplay. */
Lisp_Object top_frame; /* The topmost frame on this tty. */
-
+
/* The previous frame we displayed on this tty. */
struct frame *previous_frame;
int previous_color_mode;
-#ifdef MSDOS
/* These variables describe the range of text currently shown in its
mouse-face, together with the window they apply to. As long as
the mouse stays within this range, we need not redraw anything on
its account. Rows and columns are glyph matrix positions in
MOUSE_FACE_WINDOW. */
int mouse_face_beg_row, mouse_face_beg_col;
+ int mouse_face_beg_x, mouse_face_beg_y;
int mouse_face_end_row, mouse_face_end_col;
+ int mouse_face_end_x, mouse_face_end_y;
int mouse_face_past_end;
Lisp_Object mouse_face_window;
int mouse_face_face_id;
+ Lisp_Object mouse_face_overlay;
/* 1 if a mouse motion event came and we didn't handle it right away because
gc was in progress. */
@@ -96,7 +98,6 @@ struct tty_display_info
/* Nonzero means that the mouse highlight should not be shown. */
int mouse_face_hidden;
-#endif /* !MSDOS */
/* Buffer used internally by termcap (see tgetent in the Termcap
manual). Only init_tty and delete_tty should change this. */
@@ -190,12 +191,12 @@ struct tty_display_info
int RPov; /* # chars to start a TS_repeat */
int delete_in_insert_mode; /* delete mode == insert mode */
-
+
int se_is_so; /* 1 if same string both enters and leaves
standout mode */
-
+
int costs_set; /* Nonzero if costs have been calculated. */
-
+
int insert_mode; /* Nonzero when in insert mode. */
int standout_mode; /* Nonzero when in standout mode. */
@@ -214,7 +215,7 @@ struct tty_display_info
lines from those operations. */
int specified_window;
-
+
/* Flag used in tty_show/hide_cursor. */
int cursor_hidden;