Mercurial > emacs
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; |