]> code.delx.au - gnu-emacs/commitdiff
(struct display_info): New.
authorEli Zaretskii <eliz@gnu.org>
Tue, 28 Dec 1999 15:56:29 +0000 (15:56 +0000)
committerEli Zaretskii <eliz@gnu.org>
Tue, 28 Dec 1999 15:56:29 +0000 (15:56 +0000)
(struct x_output): Add the display_info member.
(FRAME_X_DISPLAY_INFO): New macro.

src/ChangeLog
src/msdos.h

index dfd6792f46bc0a4e00324a9183198c6c87e1947f..b9331c53ff40c78eb197a7e5005b1d29f1bd664f 100644 (file)
@@ -1,3 +1,9 @@
+1999-12-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * 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  <gerd@gnu.org>
 
        * xdisp.c (try_window_id): Compute BEG_UNCHANGED and END_UNCHANGED
index 87e88dda475b8fb9383e2baffa0aa86cc1dbc6a0..97253fc8359fc5bbc87b465e106b3670ea1f386f 100644 (file)
@@ -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.  */