From adb9900f35b2f0b64a039af7fba2d295fc1ad6b5 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 28 Dec 1999 15:56:29 +0000 Subject: [PATCH] (struct display_info): New. (struct x_output): Add the display_info member. (FRAME_X_DISPLAY_INFO): New macro. --- src/ChangeLog | 6 ++++++ src/msdos.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index dfd6792f46b..b9331c53ff4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +1999-12-28 Eli Zaretskii + + * msdos.h (struct display_info): New. + (struct x_output): Add the display_info member. + (FRAME_X_DISPLAY_INFO): New macro. + 1999-12-28 Gerd Moellmann * xdisp.c (try_window_id): Compute BEG_UNCHANGED and END_UNCHANGED diff --git a/src/msdos.h b/src/msdos.h index 87e88dda475..97253fc8359 100644 --- a/src/msdos.h +++ b/src/msdos.h @@ -55,6 +55,33 @@ typedef int XRectangle; #define PIX_TYPE int #define XDISPLAY +/* A stripped version of struct x_display_info in xterm.h, which see. */ +struct display_info +{ + /* 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_end_row, mouse_face_end_col; + int mouse_face_past_end; + Lisp_Object mouse_face_window; + int mouse_face_face_id; + + /* 1 if a mouse motion event came and we didn't handle it right away because + gc was in progress. */ + int mouse_face_deferred_gc; + + /* FRAME and X, Y position of mouse when last checked for + highlighting. X and Y can be negative or out of range for the frame. */ + struct frame *mouse_face_mouse_frame; + int mouse_face_mouse_x, mouse_face_mouse_y; + + /* Nonzero means defer mouse-motion highlighting. */ + int mouse_face_defer; +}; + /* This is a cut-down version of the one in xterm.h, which see. */ struct x_output { @@ -66,6 +93,7 @@ struct x_output XFontStruct *font; /* used in x-popup-menu (xmenu.c) */ Window busy_window; /* currently unused (but maybe some day) */ unsigned busy_p : 1; /* ditto */ + struct display_info display_info; /* used for drawing mouse highlight */ }; extern struct x_output the_only_x_display; @@ -74,6 +102,7 @@ extern struct x_output the_only_x_display; #define FRAME_FOREGROUND_PIXEL(f) (the_only_x_display.foreground_pixel) #define FRAME_BACKGROUND_PIXEL(f) (the_only_x_display.background_pixel) #define FRAME_FONT(f) (the_only_x_display.font) +#define FRAME_X_DISPLAY_INFO(f) (&the_only_x_display.display_info) /* Prototypes. */ -- 2.39.5