comparison src/msdos.h @ 27018:c56e0e887ba4

(struct display_info): New. (struct x_output): Add the display_info member. (FRAME_X_DISPLAY_INFO): New macro.
author Eli Zaretskii <eliz@gnu.org>
date Tue, 28 Dec 1999 15:56:29 +0000
parents f5dded41adcc
children 6e3d60350319
comparison
equal deleted inserted replaced
27017:78e14b5e988c 27018:c56e0e887ba4
53 typedef int Window; 53 typedef int Window;
54 typedef int XRectangle; 54 typedef int XRectangle;
55 #define PIX_TYPE int 55 #define PIX_TYPE int
56 #define XDISPLAY 56 #define XDISPLAY
57 57
58 /* A stripped version of struct x_display_info in xterm.h, which see. */
59 struct display_info
60 {
61 /* These variables describe the range of text currently shown in its
62 mouse-face, together with the window they apply to. As long as
63 the mouse stays within this range, we need not redraw anything on
64 its account. Rows and columns are glyph matrix positions in
65 MOUSE_FACE_WINDOW. */
66 int mouse_face_beg_row, mouse_face_beg_col;
67 int mouse_face_end_row, mouse_face_end_col;
68 int mouse_face_past_end;
69 Lisp_Object mouse_face_window;
70 int mouse_face_face_id;
71
72 /* 1 if a mouse motion event came and we didn't handle it right away because
73 gc was in progress. */
74 int mouse_face_deferred_gc;
75
76 /* FRAME and X, Y position of mouse when last checked for
77 highlighting. X and Y can be negative or out of range for the frame. */
78 struct frame *mouse_face_mouse_frame;
79 int mouse_face_mouse_x, mouse_face_mouse_y;
80
81 /* Nonzero means defer mouse-motion highlighting. */
82 int mouse_face_defer;
83 };
84
58 /* This is a cut-down version of the one in xterm.h, which see. */ 85 /* This is a cut-down version of the one in xterm.h, which see. */
59 struct x_output 86 struct x_output
60 { 87 {
61 int left_pos; /* used in xmenu_show (xmenu.c) */ 88 int left_pos; /* used in xmenu_show (xmenu.c) */
62 int top_pos; /* ditto */ 89 int top_pos; /* ditto */
64 PIX_TYPE background_pixel; /* used in xfaces.c and lots of other places */ 91 PIX_TYPE background_pixel; /* used in xfaces.c and lots of other places */
65 PIX_TYPE foreground_pixel; /* ditto */ 92 PIX_TYPE foreground_pixel; /* ditto */
66 XFontStruct *font; /* used in x-popup-menu (xmenu.c) */ 93 XFontStruct *font; /* used in x-popup-menu (xmenu.c) */
67 Window busy_window; /* currently unused (but maybe some day) */ 94 Window busy_window; /* currently unused (but maybe some day) */
68 unsigned busy_p : 1; /* ditto */ 95 unsigned busy_p : 1; /* ditto */
96 struct display_info display_info; /* used for drawing mouse highlight */
69 }; 97 };
70 98
71 extern struct x_output the_only_x_display; 99 extern struct x_output the_only_x_display;
72 100
73 #define FRAME_X_DISPLAY(f) ((Display *) 0) 101 #define FRAME_X_DISPLAY(f) ((Display *) 0)
74 #define FRAME_FOREGROUND_PIXEL(f) (the_only_x_display.foreground_pixel) 102 #define FRAME_FOREGROUND_PIXEL(f) (the_only_x_display.foreground_pixel)
75 #define FRAME_BACKGROUND_PIXEL(f) (the_only_x_display.background_pixel) 103 #define FRAME_BACKGROUND_PIXEL(f) (the_only_x_display.background_pixel)
76 #define FRAME_FONT(f) (the_only_x_display.font) 104 #define FRAME_FONT(f) (the_only_x_display.font)
105 #define FRAME_X_DISPLAY_INFO(f) (&the_only_x_display.display_info)
77 106
78 /* Prototypes. */ 107 /* Prototypes. */
79 108
80 /* Forward declarations for prototypes. */ 109 /* Forward declarations for prototypes. */
81 struct frame; 110 struct frame;