annotate src/msdos.h @ 17846:c427501449a1

(display_text_line): Move the code to fill out the line with the newline's face to the end of the newline code. Add changes (commented out) to record ellipsis positions in charstarts.
author Richard M. Stallman <rms@gnu.org>
date Fri, 16 May 1997 07:32:59 +0000
parents 0a724b64f88e
children 8de4e2a8cc62
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.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 Copyright (C) 1993 Free Software Foundation, Inc.
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
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
21 #ifndef _MSDOS_H_
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
22 #define _MSDOS_H_
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;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
54 #define PIX_TYPE int
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
55 #define XDISPLAY
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
56
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
57 /* 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
58 struct x_output
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
59 {
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
60 int left_pos;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
61 int top_pos;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
62 int line_height;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
63 PIX_TYPE background_pixel;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
64 PIX_TYPE foreground_pixel;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
65 XFontStruct *font;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
66 struct face **param_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
67 int n_param_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
68 struct face **computed_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
69 int n_computed_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
70 int size_computed_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
71 };
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
72
13395
c18547cf191f (struct x_output): Rename from struct x_display.
Karl Heuer <kwzh@gnu.org>
parents: 13178
diff changeset
73 extern struct x_output the_only_x_display;
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
74 extern Display *x_current_display;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
75
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
76 #define FRAME_PARAM_FACES(f) (the_only_x_display.param_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
77 #define FRAME_N_PARAM_FACES(f) (the_only_x_display.n_param_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
78 #define FRAME_DEFAULT_PARAM_FACE(f) (FRAME_PARAM_FACES (f)[0])
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
79 #define FRAME_MODE_LINE_PARAM_FACE(f) (FRAME_PARAM_FACES (f)[1])
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
80 #define FRAME_COMPUTED_FACES(f) (the_only_x_display.computed_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
81 #define FRAME_N_COMPUTED_FACES(f) (the_only_x_display.n_computed_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
82 #define FRAME_SIZE_COMPUTED_FACES(f) (the_only_x_display.size_computed_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
83 #define FRAME_DEFAULT_FACE(f) (the_only_x_display.computed_faces[0])
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
84 #define FRAME_MODE_LINE_FACE(f) (the_only_x_display.computed_faces[1])
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
85 #define FRAME_X_DISPLAY(f) ((Display *) 0)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
86 #define FRAME_FOREGROUND_PIXEL(f) (the_only_x_display.foreground_pixel)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
87 #define FRAME_BACKGROUND_PIXEL(f) (the_only_x_display.background_pixel)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
88 #define FRAME_FONT(f) (the_only_x_display.font)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
89
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
90 #define XFreeGC (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
91 #define same_size_fonts(foo,bar) (1)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
92 #define unload_font(p1,p2)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
93 #define unload_color(p1,p2)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
94 #define x_destroy_bitmap(p1,p2)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
95 #define load_pixmap(p1,p2,p3,p4) (0)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
96 #define XGetGeometry(p1,p2,p3,p4,p5,p6,p7,p8,p9)
15386
0a724b64f88e (check_x): Macro definition deleted.
Richard M. Stallman <rms@gnu.org>
parents: 14285
diff changeset
97 #define DisplayWidth(p1,p2) (selected_frame->width)
0a724b64f88e (check_x): Macro definition deleted.
Richard M. Stallman <rms@gnu.org>
parents: 14285
diff changeset
98 #define DisplayHeight(p1,p2) (selected_frame->height)
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
99 #define XMenuSetAEQ (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
100 #define XMenuSetFreeze (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
101 #define XMenuRecompute (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
102 #define FONT_WIDTH(foo) 1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
103 #define XM_FAILURE -1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
104 #define XM_SUCCESS 1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
105 #define XM_NO_SELECT 2
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
106 #define XM_IA_SELECT 3
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
107 #define ButtonReleaseMask 0
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
108
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
109 typedef struct x_menu_struct
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
110 {
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
111 int count;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
112 char **text;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
113 struct x_menu_struct **submenu;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
114 int *panenumber; /* Also used as enable. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
115 int allocated;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
116 int panecount;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
117 int width;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
118 } XMenu;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
119
10503
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
120 XMenu *XMenuCreate (Display *, Window, char *);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
121 int XMenuAddPane (Display *, XMenu *, char *, int);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
122 int XMenuAddSelection (Display *, XMenu *, int, int, char *, int);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
123 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
124 int *, int *, int *, int *);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
125 int XMenuActivate (Display *, XMenu *, int *, int *, int, int, unsigned, char **);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
126 void XMenuDestroy (Display *, XMenu *);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
127
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
128 #endif /* not HAVE_X_WINDOWS */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
129
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
130 #endif /* not _MSDOS_H_ */