annotate src/msdos.h @ 47000:005cc008b551

(redisplay_window): Do not `goto try_to_scroll' when we end up on a partially visible line; this reverts a specific part of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty display error which has been reported several times now. However it introduces the problem that changes was supposed to fix. See my comments in the source if you want to debug this further.
author Kim F. Storm <storm@cua.dk>
date Thu, 22 Aug 2002 16:52:56 +0000
parents 9a4630ba3eae
children 1ba638ccab28 d7ddb3e565de
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* MS-DOS specific C utilities, interface.
36253
6ece4a809131 (struct x_output): Rename busy_window to
Gerd Moellmann <gerd@gnu.org>
parents: 30340
diff changeset
2 Copyright (C) 1993, 2001 Free Software Foundation, Inc.
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 This file is part of GNU Emacs.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
10503
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 any later version.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 GNU General Public License for more details.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13395
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13395
diff changeset
19 Boston, MA 02111-1307, USA. */
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20
29611
f39e60352427 (EMACS_MSDOS_H): Renamed from MSDOS_H_.
Eli Zaretskii <eliz@gnu.org>
parents: 29557
diff changeset
21 #ifndef EMACS_MSDOS_H
f39e60352427 (EMACS_MSDOS_H): Renamed from MSDOS_H_.
Eli Zaretskii <eliz@gnu.org>
parents: 29557
diff changeset
22 #define EMACS_MSDOS_H
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
23
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 #include <dpmi.h>
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 int dos_ttraw ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 int dos_ttcooked ();
13178
74b4edb62cf0 (internal_flush): Removed
Kim F. Storm <storm@cua.dk>
parents: 13021
diff changeset
28 int dos_get_saved_screen (char **, int *, int *);
74b4edb62cf0 (internal_flush): Removed
Kim F. Storm <storm@cua.dk>
parents: 13021
diff changeset
29 int dos_set_keyboard (int, int);
14285
6081221167de (dos_set_window_size): Prototype for a new function.
Karl Heuer <kwzh@gnu.org>
parents: 14186
diff changeset
30 void dos_set_window_size (int *, int *);
13178
74b4edb62cf0 (internal_flush): Removed
Kim F. Storm <storm@cua.dk>
parents: 13021
diff changeset
31
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 int getdefdir (int, char*);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 void unixtodos_filename (char *);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 void dostounix_filename (char *);
7822
17b96e349369 Add template for rootrelativepath.
Richard M. Stallman <rms@gnu.org>
parents: 7604
diff changeset
35 char *rootrelativepath (char *);
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 void init_environment ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 void internal_terminal_init ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 void ctrl_break_func (_go32_dpmi_registers *);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 void install_ctrl_break_check ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 extern int have_mouse;
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 void mouse_init ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 void mouse_on ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 void mouse_off ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 void mouse_moveto (int, int);
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
46
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
47 #ifndef HAVE_X_WINDOWS
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
48 /* Dummy types. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
49 typedef int XFontStruct;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
50 typedef int GC;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
51 typedef int Pixmap;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
52 typedef int Display;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
53 typedef int Window;
21784
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
54 typedef int XRectangle;
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
55 #define PIX_TYPE int
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
56 #define XDISPLAY
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
57
27018
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
58 /* A stripped version of struct x_display_info in xterm.h, which see. */
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
59 struct display_info
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
60 {
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
61 /* These variables describe the range of text currently shown in its
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
62 mouse-face, together with the window they apply to. As long as
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
63 the mouse stays within this range, we need not redraw anything on
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
64 its account. Rows and columns are glyph matrix positions in
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
65 MOUSE_FACE_WINDOW. */
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
66 int mouse_face_beg_row, mouse_face_beg_col;
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
67 int mouse_face_end_row, mouse_face_end_col;
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
68 int mouse_face_past_end;
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
69 Lisp_Object mouse_face_window;
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
70 int mouse_face_face_id;
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
71
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
72 /* 1 if a mouse motion event came and we didn't handle it right away because
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
73 gc was in progress. */
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
74 int mouse_face_deferred_gc;
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
75
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
76 /* FRAME and X, Y position of mouse when last checked for
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
77 highlighting. X and Y can be negative or out of range for the frame. */
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
78 struct frame *mouse_face_mouse_frame;
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
79 int mouse_face_mouse_x, mouse_face_mouse_y;
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
80
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
81 /* Nonzero means defer mouse-motion highlighting. */
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
82 int mouse_face_defer;
43370
9a4630ba3eae (struct display_info): Add mouse_face_hidden.
Kim F. Storm <storm@cua.dk>
parents: 40501
diff changeset
83
9a4630ba3eae (struct display_info): Add mouse_face_hidden.
Kim F. Storm <storm@cua.dk>
parents: 40501
diff changeset
84 /* Nonzero means that the mouse highlight should not be shown. */
9a4630ba3eae (struct display_info): Add mouse_face_hidden.
Kim F. Storm <storm@cua.dk>
parents: 40501
diff changeset
85 int mouse_face_hidden;
27018
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
86 };
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
87
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
88 /* This is a cut-down version of the one in xterm.h, which see. */
13395
c18547cf191f (struct x_output): Rename from struct x_display.
Karl Heuer <kwzh@gnu.org>
parents: 13178
diff changeset
89 struct x_output
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
90 {
26729
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25111
diff changeset
91 int left_pos; /* used in xmenu_show (xmenu.c) */
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25111
diff changeset
92 int top_pos; /* ditto */
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25111
diff changeset
93 int line_height; /* used in x-popup-menu (xmenu.c) */
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25111
diff changeset
94 PIX_TYPE background_pixel; /* used in xfaces.c and lots of other places */
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25111
diff changeset
95 PIX_TYPE foreground_pixel; /* ditto */
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25111
diff changeset
96 XFontStruct *font; /* used in x-popup-menu (xmenu.c) */
36253
6ece4a809131 (struct x_output): Rename busy_window to
Gerd Moellmann <gerd@gnu.org>
parents: 30340
diff changeset
97 Window hourglass_window; /* currently unused (but maybe some day) */
6ece4a809131 (struct x_output): Rename busy_window to
Gerd Moellmann <gerd@gnu.org>
parents: 30340
diff changeset
98 unsigned hourglass_p : 1; /* ditto */
27018
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
99 struct display_info display_info; /* used for drawing mouse highlight */
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
100 };
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
101
13395
c18547cf191f (struct x_output): Rename from struct x_display.
Karl Heuer <kwzh@gnu.org>
parents: 13178
diff changeset
102 extern struct x_output the_only_x_display;
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
103
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
104 #define FRAME_X_DISPLAY(f) ((Display *) 0)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
105 #define FRAME_FOREGROUND_PIXEL(f) (the_only_x_display.foreground_pixel)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
106 #define FRAME_BACKGROUND_PIXEL(f) (the_only_x_display.background_pixel)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
107 #define FRAME_FONT(f) (the_only_x_display.font)
27018
c56e0e887ba4 (struct display_info): New.
Eli Zaretskii <eliz@gnu.org>
parents: 26729
diff changeset
108 #define FRAME_X_DISPLAY_INFO(f) (&the_only_x_display.display_info)
40501
db6f2f5c4fa7 (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
Eli Zaretskii <eliz@gnu.org>
parents: 36253
diff changeset
109 #define FRAME_LINE_HEIGHT(f) (the_only_x_display.line_height)
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
110
27957
5210a97b3ac7 (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
Eli Zaretskii <eliz@gnu.org>
parents: 27463
diff changeset
111 #define FRAME_INTERNAL_BORDER_WIDTH(f) (0)
5210a97b3ac7 (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
Eli Zaretskii <eliz@gnu.org>
parents: 27463
diff changeset
112
21784
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
113 /* Prototypes. */
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
114
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
115 /* Forward declarations for prototypes. */
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
116 struct frame;
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
117 struct window;
25111
36169f5d88da Remove redundant declarations (most of them are now in
Eli Zaretskii <eliz@gnu.org>
parents: 21784
diff changeset
118
36169f5d88da Remove redundant declarations (most of them are now in
Eli Zaretskii <eliz@gnu.org>
parents: 21784
diff changeset
119 /* From xterm.c; emulated on msdos.c */
36169f5d88da Remove redundant declarations (most of them are now in
Eli Zaretskii <eliz@gnu.org>
parents: 21784
diff changeset
120
21784
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
121 extern void pixel_to_glyph_coords P_ ((struct frame *f, int pix_x, int pix_y,
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
122 int *x, int *y, XRectangle *bounds,
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
123 int noclip));
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
124 extern void glyph_to_pixel_coords P_ ((struct frame *f, int x, int y,
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
125 int *pix_x, int *pix_y));
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
126
25111
36169f5d88da Remove redundant declarations (most of them are now in
Eli Zaretskii <eliz@gnu.org>
parents: 21784
diff changeset
127 /* Defined in xfns.c; emulated on msdos.c */
21784
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
128
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
129 extern int have_menus_p P_ ((void));
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
130 extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
131 extern int x_pixel_width P_ ((struct frame *));
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
132 extern int x_pixel_height P_ ((struct frame *));
8de4e2a8cc62 [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle
Eli Zaretskii <eliz@gnu.org>
parents: 15386
diff changeset
133
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
134 #define XFreeGC (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
135 #define x_destroy_bitmap(p1,p2)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
136 #define load_pixmap(p1,p2,p3,p4) (0)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
137 #define XGetGeometry(p1,p2,p3,p4,p5,p6,p7,p8,p9)
26729
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25111
diff changeset
138 #define DisplayWidth(p1,p2) (SELECTED_FRAME()->width)
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25111
diff changeset
139 #define DisplayHeight(p1,p2) (SELECTED_FRAME()->height)
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
140 #define XMenuSetAEQ (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
141 #define XMenuSetFreeze (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
142 #define XMenuRecompute (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
143 #define FONT_WIDTH(foo) 1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
144 #define XM_FAILURE -1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
145 #define XM_SUCCESS 1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
146 #define XM_NO_SELECT 2
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
147 #define XM_IA_SELECT 3
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
148 #define ButtonReleaseMask 0
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
149
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
150 typedef struct x_menu_struct
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
151 {
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
152 int count;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
153 char **text;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
154 struct x_menu_struct **submenu;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
155 int *panenumber; /* Also used as enable. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
156 int allocated;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
157 int panecount;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
158 int width;
27463
6e3d60350319 Change prototypes of XMenuAddSelection and XMenuActivate.
Eli Zaretskii <eliz@gnu.org>
parents: 27018
diff changeset
159 char **help_text;
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
160 } XMenu;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
161
10503
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
162 XMenu *XMenuCreate (Display *, Window, char *);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
163 int XMenuAddPane (Display *, XMenu *, char *, int);
27463
6e3d60350319 Change prototypes of XMenuAddSelection and XMenuActivate.
Eli Zaretskii <eliz@gnu.org>
parents: 27018
diff changeset
164 int XMenuAddSelection (Display *, XMenu *, int, int, char *, int, char *);
10503
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
165 void XMenuLocate (Display *, XMenu *, int, int, int, int,
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
166 int *, int *, int *, int *);
27463
6e3d60350319 Change prototypes of XMenuAddSelection and XMenuActivate.
Eli Zaretskii <eliz@gnu.org>
parents: 27018
diff changeset
167 int XMenuActivate (Display *, XMenu *, int *, int *, int, int, unsigned,
30340
be29e15ece0e (XMenuActivate): Update prototype.
Eli Zaretskii <eliz@gnu.org>
parents: 29611
diff changeset
168 char **, void (*callback)(char *, int, int));
10503
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
169 void XMenuDestroy (Display *, XMenu *);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
170
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
171 #endif /* not HAVE_X_WINDOWS */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
172
29611
f39e60352427 (EMACS_MSDOS_H): Renamed from MSDOS_H_.
Eli Zaretskii <eliz@gnu.org>
parents: 29557
diff changeset
173 #endif /* not EMACS_MSDOS_H */