annotate src/termhooks.h @ 25851:544c7e5dd4c5

#
author Dave Love <fx@gnu.org>
date Sun, 03 Oct 1999 12:14:18 +0000
parents 693ca9ba497a
children 5379722b5468
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Hooks by which low level terminal operations
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 can be made to call other routines.
7307
cd81dba38a49 Update copyright.
Karl Heuer <kwzh@gnu.org>
parents: 7097
diff changeset
3 Copyright (C) 1985, 1986, 1993, 1994 Free Software Foundation, Inc.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 485
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 any later version.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 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: 14161
diff changeset
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 14161
diff changeset
20 Boston, MA 02111-1307, USA. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
22
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
23 /* Miscellanea. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
24
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
25 struct glyph;
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
26 struct frame;
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
27
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
28 /* If nonzero, send all terminal output characters to this stream also. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
29 extern FILE *termscript;
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
30
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
31 /* Only use prototypes when lisp.h has been included. */
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
32 #ifndef P_
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
33 #define P_(X) ()
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
34 #endif
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
35
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
36 /* Text display hooks. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
38 extern void (*cursor_to_hook) P_ ((int vpos, int hpos));
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
39 extern void (*raw_cursor_to_hook) P_ ((int, int));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
41 extern void (*clear_to_end_hook) P_ ((void));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
42 extern void (*clear_frame_hook) P_ ((void));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
43 extern void (*clear_end_of_line_hook) P_ ((int));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
45 extern void (*ins_del_lines_hook) P_ ((int, int));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
47 extern void (*change_line_highlight_hook) P_ ((int, int, int, int));
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
48 extern void (*reassert_line_highlight_hook) P_ ((int, int));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
50 extern void (*insert_glyphs_hook) P_ ((struct glyph *s, int n));
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
51 extern void (*write_glyphs_hook) P_ ((struct glyph *s, int n));
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
52 extern void (*delete_glyphs_hook) P_ ((int));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
54 extern void (*ring_bell_hook) P_ ((void));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
56 extern void (*reset_terminal_modes_hook) P_ ((void));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
57 extern void (*set_terminal_modes_hook) P_ ((void));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
58 extern void (*update_begin_hook) P_ ((struct frame *));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
59 extern void (*update_end_hook) P_ ((struct frame *));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
60 extern void (*set_terminal_window_hook) P_ ((int));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
62
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
63
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
64 /* Multi-frame and mouse support hooks. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
66 enum scroll_bar_part {
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
67 scroll_bar_above_handle,
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
68 scroll_bar_handle,
15176
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
69 scroll_bar_below_handle,
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
70 scroll_bar_up_arrow,
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
71 scroll_bar_down_arrow,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
72 scroll_bar_to_top,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
73 scroll_bar_to_bottom,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
74 scroll_bar_end_scroll
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
75 };
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
76
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
77 /* Return the current position of the mouse.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
78
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
79 Set *f to the frame the mouse is in, or zero if the mouse is in no
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
80 Emacs frame. If it is set to zero, all the other arguments are
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
81 garbage.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
82
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
83 If the motion started in a scroll bar, set *bar_window to the
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
84 scroll bar's window, *part to the part the mouse is currently over,
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
85 *x to the position of the mouse along the scroll bar, and *y to the
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
86 overall length of the scroll bar.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
87
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
88 Otherwise, set *bar_window to Qnil, and *x and *y to the column and
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
89 row of the character cell the mouse is over.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
90
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
91 Set *time to the time the mouse was at the returned position.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
92
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
93 This should clear mouse_moved until the next motion
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
94 event arrives. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
95 extern void (*mouse_position_hook) P_ ((struct frame **f, int,
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
96 Lisp_Object *bar_window,
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
97 enum scroll_bar_part *part,
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
98 Lisp_Object *x,
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
99 Lisp_Object *y,
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
100 unsigned long *time));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
102 /* The window system handling code should set this if the mouse has
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
103 moved since the last call to the mouse_position_hook. Calling that
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
104 hook should clear this. */
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
105 extern int mouse_moved;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106
766
b9e81bfc7ad9 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
107 /* When a frame's focus redirection is changed, this hook tells the
357
1ad871406b12 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 338
diff changeset
108 window system code to re-decide where to put the highlight. Under
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
109 X, this means that Emacs lies about where the focus is. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
110 extern void (*frame_rehighlight_hook) P_ ((struct frame *));
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
111
1821
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
112 /* If we're displaying frames using a window system that can stack
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
113 frames on top of each other, this hook allows you to bring a frame
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
114 to the front, or bury it behind all the other windows. If this
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
115 hook is zero, that means the device we're displaying on doesn't
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
116 support overlapping frames, so there's no need to raise or lower
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
117 anything.
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
118
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
119 If RAISE is non-zero, F is brought to the front, before all other
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
120 windows. If RAISE is zero, F is sent to the back, behind all other
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
121 windows. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
122 extern void (*frame_raise_lower_hook) P_ ((struct frame *f, int raise));
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
123
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
124
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
125 /* Scroll bar hooks. */
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
126
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
127 /* The representation of scroll bars is determined by the code which
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
128 implements them, except for one thing: they must be represented by
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
129 lisp objects. This allows us to place references to them in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
130 Lisp_Windows without worrying about those references becoming
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
131 dangling references when the scroll bar is destroyed.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
132
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
133 The window-system-independent portion of Emacs just refers to
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
134 scroll bars via their windows, and never looks inside the scroll bar
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
135 representation; it always uses hook functions to do all the
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
136 scroll bar manipulation it needs.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
137
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
138 The `vertical_scroll_bar' field of a Lisp_Window refers to that
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
139 window's scroll bar, or is nil if the window doesn't have a
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
140 scroll bar.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
141
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
142 The `scroll_bars' and `condemned_scroll_bars' fields of a Lisp_Frame
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
143 are free for use by the scroll bar implementation in any way it sees
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
144 fit. They are marked by the garbage collector. */
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
145
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
146
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
147 /* Set the vertical scroll bar for WINDOW to have its upper left corner
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
148 at (TOP, LEFT), and be LENGTH rows high. Set its handle to
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
149 indicate that we are displaying PORTION characters out of a total
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
150 of WHOLE characters, starting at POSITION. If WINDOW doesn't yet
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
151 have a scroll bar, create one for it. */
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
152 extern void (*set_vertical_scroll_bar_hook)
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
153 P_ ((struct window *window,
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
154 int portion, int whole, int position));
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
155
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
156
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
157 /* The following three hooks are used when we're doing a thorough
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
158 redisplay of the frame. We don't explicitly know which scroll bars
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
159 are going to be deleted, because keeping track of when windows go
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
160 away is a real pain - can you say set-window-configuration?
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
161 Instead, we just assert at the beginning of redisplay that *all*
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
162 scroll bars are to be removed, and then save scroll bars from the
14034
6ef59cdffc90 Comment change.
Karl Heuer <kwzh@gnu.org>
parents: 12660
diff changeset
163 fiery pit when we actually redisplay their window. */
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
164
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
165 /* Arrange for all scroll bars on FRAME to be removed at the next call
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
166 to `*judge_scroll_bars_hook'. A scroll bar may be spared if
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
167 `*redeem_scroll_bar_hook' is applied to its window before the judgement.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
168
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
169 This should be applied to each frame each time its window tree is
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
170 redisplayed, even if it is not displaying scroll bars at the moment;
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
171 if the HAS_SCROLL_BARS flag has just been turned off, only calling
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
172 this and the judge_scroll_bars_hook will get rid of them.
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
173
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
174 If non-zero, this hook should be safe to apply to any frame,
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
175 whether or not it can support scroll bars, and whether or not it is
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
176 currently displaying them. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
177 extern void (*condemn_scroll_bars_hook) P_ ((struct frame *frame));
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
178
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
179 /* Unmark WINDOW's scroll bar for deletion in this judgement cycle.
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
180 Note that it's okay to redeem a scroll bar that is not condemned. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
181 extern void (*redeem_scroll_bar_hook) P_ ((struct window *window));
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
182
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
183 /* Remove all scroll bars on FRAME that haven't been saved since the
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
184 last call to `*condemn_scroll_bars_hook'.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
185
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
186 This should be applied to each frame after each time its window
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
187 tree is redisplayed, even if it is not displaying scroll bars at the
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
188 moment; if the HAS_SCROLL_BARS flag has just been turned off, only
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
189 calling this and condemn_scroll_bars_hook will get rid of them.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
190
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
191 If non-zero, this hook should be safe to apply to any frame,
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
192 whether or not it can support scroll bars, and whether or not it is
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
193 currently displaying them. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
194 extern void (*judge_scroll_bars_hook) P_ ((struct frame *FRAME));
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
195
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
196
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
197 /* Input queue declarations and hooks. */
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
198
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
199 /* Expedient hack: only provide the below definitions to files that
6747
135dd9df7893 (enum event_kind): Add buffer_switch_event.
Karl Heuer <kwzh@gnu.org>
parents: 6602
diff changeset
200 are prepared to handle lispy things. CONSP is defined iff lisp.h
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
201 has been included before this file. */
4143
5c8de184cccf * termhooks.h: In order to avoid declaring struct input_event
Jim Blandy <jimb@redhat.com>
parents: 3861
diff changeset
202 #ifdef CONSP
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
203
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
204 enum event_kind
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
205 {
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
206 no_event, /* nothing happened. This should never
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
207 actually appear in the event queue. */
4799
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
208
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
209 ascii_keystroke, /* The ASCII code is in .code, perhaps
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
210 with modifiers applied.
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
211 .modifiers holds the state of the
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
212 modifier keys.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
213 .frame_or_window is the frame in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
214 which the key was typed.
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
215 .timestamp gives a timestamp (in
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
216 milliseconds) for the keystroke. */
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
217 non_ascii_keystroke, /* .code is a number identifying the
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
218 function key. A code N represents
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
219 a key whose name is
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
220 function_key_names[N]; function_key_names
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
221 is a table in keyboard.c to which you
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
222 should feel free to add missing keys.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
223 .modifiers holds the state of the
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
224 modifier keys.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
225 .frame_or_window is the frame in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
226 which the key was typed.
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
227 .timestamp gives a timestamp (in
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
228 milliseconds) for the keystroke. */
14407
78c37f6d697b (event_kind): New event type: timer_event.
Richard M. Stallman <rms@gnu.org>
parents: 14393
diff changeset
229 timer_event, /* A timer fired. */
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
230 mouse_click, /* The button number is in .code; it must
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
231 be >= 0 and < NUM_MOUSE_BUTTONS, defined
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
232 below.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
233 .modifiers holds the state of the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234 modifier keys.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235 .x and .y give the mouse position,
708
030fb4635335 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 648
diff changeset
236 in characters, within the window.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
237 .frame_or_window gives the frame
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
238 the mouse click occurred in.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
239 .timestamp gives a timestamp (in
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
240 milliseconds) for the click. */
19700
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
241 #ifdef WINDOWSNT
21889
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
242 mouse_wheel, /* A mouse-wheel event is generated
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
243 on WINDOWSNT by a
19700
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
244 wheel on a mouse (e.g., MS Intellimouse).
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
245 The event contains a delta that corresponds
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
246 to the amount and direction that the wheel
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
247 is rotated. This delta is typically
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
248 used to implement a scroll or zoom.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
249 .code gives the delta.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
250 .modifiers holds the state of the
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
251 modifier keys.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
252 .x and .y give the mouse position,
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
253 in characters, within the window.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
254 .frame_or_window gives the frame
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
255 the wheel event occurred in.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
256 .timestamp gives a timestamp (in
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
257 milliseconds) for the wheel event. */
23800
a7dd4cded68c termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents: 21889
diff changeset
258 language_change_event, /* A language_change event is generated
a7dd4cded68c termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents: 21889
diff changeset
259 on WINDOWSNT when the keyboard layout
a7dd4cded68c termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents: 21889
diff changeset
260 or input language is changed by the
a7dd4cded68c termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents: 21889
diff changeset
261 user. */
19700
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
262 #endif
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
263 scroll_bar_click, /* .code gives the number of the mouse button
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
264 that was clicked.
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
265 .modifiers holds the state of the modifier
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
266 keys.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
267 .part is a lisp symbol indicating which
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
268 part of the scroll bar got clicked.
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
269 .x gives the distance from the start of the
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
270 scroll bar of the click; .y gives the total
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
271 length of the scroll bar.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
272 .frame_or_window gives the window
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
273 whose scroll bar was clicked in.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
274 .timestamp gives a timestamp (in
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
275 milliseconds) for the click. */
15176
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
276 #ifdef WINDOWSNT
16588
481b7874a1e9 Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15181
diff changeset
277 w32_scroll_bar_click, /* as for scroll_bar_click, but only generated
15176
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
278 by MS-Windows scroll bar controls. */
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
279 #endif
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
280 selection_request_event, /* Another X client wants a selection from us.
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
281 See `struct selection_event'. */
5106
2df44d5e75eb (delete_window_event): New event kind.
Richard M. Stallman <rms@gnu.org>
parents: 4799
diff changeset
282 selection_clear_event, /* Another X client cleared our selection. */
6747
135dd9df7893 (enum event_kind): Add buffer_switch_event.
Karl Heuer <kwzh@gnu.org>
parents: 6602
diff changeset
283 buffer_switch_event, /* A process filter has switched buffers. */
7097
34c94047f8f9 (menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents: 6747
diff changeset
284 delete_window_event, /* An X client said "delete this window". */
9728
5fdefb7f9921 (iconify_event, deiconify_event): New events.
Karl Heuer <kwzh@gnu.org>
parents: 7307
diff changeset
285 menu_bar_event, /* An event generated by the menu bar.
10798
6f71ef20581c Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents: 9728
diff changeset
286 The frame_or_window field's cdr holds the
7097
34c94047f8f9 (menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents: 6747
diff changeset
287 Lisp-level event value.
34c94047f8f9 (menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents: 6747
diff changeset
288 (Only the toolkit version uses these.) */
9728
5fdefb7f9921 (iconify_event, deiconify_event): New events.
Karl Heuer <kwzh@gnu.org>
parents: 7307
diff changeset
289 iconify_event, /* An X client iconified this window. */
12660
8b9633307acc (enum event_kind): Added menu_bar_activate_event.
Richard M. Stallman <rms@gnu.org>
parents: 10798
diff changeset
290 deiconify_event, /* An X client deiconified this window. */
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
291 menu_bar_activate_event, /* A button press in the menu bar
12660
8b9633307acc (enum event_kind): Added menu_bar_activate_event.
Richard M. Stallman <rms@gnu.org>
parents: 10798
diff changeset
292 (toolkit version only). */
24376
c0b139a546c0 (event_kind): Add user_signal.
Andreas Schwab <schwab@suse.de>
parents: 23800
diff changeset
293 drag_n_drop, /* A drag-n-drop event is generated when
21889
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
294 files selected outside of Emacs are dropped
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
295 onto an Emacs window.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
296 Currently used only on Windows NT.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
297 .modifiers holds the state of the
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
298 modifier keys.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
299 .x and .y give the mouse position,
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
300 in characters, within the window.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
301 .frame_or_window is a cons of the frame
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
302 in which the drop was made and a list of
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
303 the filenames of the dropped files.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
304 .timestamp gives a timestamp (in
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
305 milliseconds) for the click. */
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
306 user_signal, /* A user signal.
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
307 .code is a number identifying it,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
308 index into lispy_user_signals. */
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
309
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25001
diff changeset
310 /* Currently only returned when the mouse enters a tool-bar item that
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
311 has a help string. Member frame_or_window of the input_event is
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25001
diff changeset
312 a cons cell whose car is the tool-bar's frame and whose cdr is the
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
313 help string. */
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
314 HELP_EVENT,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
315
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25001
diff changeset
316 TOOL_BAR_EVENT
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
317 };
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
318
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
319 /* If a struct input_event has a kind which is selection_request_event
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
320 or selection_clear_event, then its contents are really described
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
321 by `struct selection_event'; see xterm.h. */
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
322
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
323 /* The keyboard input buffer is an array of these structures. Each one
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
324 represents some sort of input event - a keystroke, a mouse click, or
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
325 a window system event. These get turned into their lispy forms when
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
326 they are removed from the event queue. */
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
327
14393
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
328 struct input_event
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
329 {
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
330
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
331 /* What kind of event was this? */
14393
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
332 int kind;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
333
5226
4891291b5785 (struct input_event): `code' is now an int.
Richard M. Stallman <rms@gnu.org>
parents: 5106
diff changeset
334 /* For an ascii_keystroke, this is the character.
4891291b5785 (struct input_event): `code' is now an int.
Richard M. Stallman <rms@gnu.org>
parents: 5106
diff changeset
335 For a non_ascii_keystroke, this is the keysym code.
5361
f8be998bdeba (struct input_event): FIx typo in previous change.
Richard M. Stallman <rms@gnu.org>
parents: 5226
diff changeset
336 For a mouse event, this is the button number. */
19700
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
337 /* In WindowsNT, for a mouse wheel event, this is the delta. */
5226
4891291b5785 (struct input_event): `code' is now an int.
Richard M. Stallman <rms@gnu.org>
parents: 5106
diff changeset
338 int code;
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
339 enum scroll_bar_part part;
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 708
diff changeset
340
14161
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
341 int modifiers; /* See enum below for interpretation. */
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
342
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
343 Lisp_Object x, y;
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
344 unsigned long timestamp;
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
345
14393
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
346 /* This is padding just to put the frame_or_window field
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
347 past the size of struct selection_event. */
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
348 int *padding[2];
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
349
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
350 /* This field is copied into a vector while the event is in the queue,
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
351 so that garbage collections won't kill it. */
10798
6f71ef20581c Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents: 9728
diff changeset
352 /* In a menu_bar_event, this is a cons cell whose car is the frame
6f71ef20581c Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents: 9728
diff changeset
353 and whose cdr is the Lisp object that is the event's value. */
14161
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
354 /* This field is last so that struct selection_input_event
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
355 does not overlap with it. */
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
356 Lisp_Object frame_or_window;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
357 };
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
358
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
359 /* Called to read input events. */
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
360 extern int (*read_socket_hook) P_ ((int, struct input_event *, int, int));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
361
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
362 /* Called when a frame's display becomes entirely up to date. */
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
363 extern void (*frame_up_to_date_hook) P_ ((struct frame *));
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
364
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
365 /* This is used in keyboard.c, to tell how many buttons we will need
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
366 to track the positions of. */
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
367 #define NUM_MOUSE_BUTTONS (5)
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
368
1238
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
369 /* Bits in the modifiers member of the input_event structure.
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
370 Note that reorder_modifiers assumes that the bits are in canonical
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
371 order.
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
372
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
373 The modifiers applied to mouse clicks are rather ornate. The
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
374 window-system-specific code should store mouse clicks with
1319
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
375 up_modifier or down_modifier set. Having an explicit down modifier
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
376 simplifies some of window-system-independent code; without it, the
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
377 code would have to recognize down events by checking if the event
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
378 is a mouse click lacking the click and drag modifiers.
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
379
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
380 The window-system independent code turns all up_modifier events
3861
fc8c92b69513 * keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents: 2659
diff changeset
381 bits into drag_modifier, click_modifier, double_modifier, or
fc8c92b69513 * keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents: 2659
diff changeset
382 triple_modifier events. The click_modifier has no written
fc8c92b69513 * keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents: 2659
diff changeset
383 representation in the names of the symbols used as event heads,
fc8c92b69513 * keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents: 2659
diff changeset
384 but it does appear in the Qevent_symbol_components property of the
fc8c92b69513 * keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents: 2659
diff changeset
385 event heads. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
386 enum {
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
387 up_modifier = 1, /* Only used on mouse buttons - always
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
388 turned into a click or a drag modifier
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
389 before lisp code sees the event. */
2659
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
390 down_modifier = 2, /* Only used on mouse buttons. */
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
391 drag_modifier = 4, /* This is never used in the event
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
392 queue; it's only used internally by
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
393 the window-system-independent code. */
2659
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
394 click_modifier= 8, /* See drag_modifier. */
3861
fc8c92b69513 * keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents: 2659
diff changeset
395 double_modifier= 16, /* See drag_modifier. */
fc8c92b69513 * keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents: 2659
diff changeset
396 triple_modifier= 32, /* See drag_modifier. */
2659
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
397
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
398 /* The next four modifier bits are used also in keyboard events at
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
399 the Lisp level.
2046
9e30cf115e63 (alt_modifier, super_modifier, hyper_modifier):
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
400
2659
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
401 It's probably not the greatest idea to use the 2^23 bit for any
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
402 modifier. It may or may not be the sign bit, depending on
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
403 VALBITS, so using it to represent a modifier key means that
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
404 characters thus modified have different integer equivalents
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
405 depending on the architecture they're running on. Oh, and
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
406 applying XINT to a character whose 2^23 bit is set sign-extends
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
407 it, so you get a bunch of bits in the mask you didn't want.
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
408
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
409 The CHAR_ macros are defined in lisp.h. */
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
410 alt_modifier = CHAR_ALT, /* Under X, the XK_Alt_[LR] keysyms. */
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
411 super_modifier= CHAR_SUPER, /* Under X, the XK_Super_[LR] keysyms. */
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
412 hyper_modifier= CHAR_HYPER, /* Under X, the XK_Hyper_[LR] keysyms. */
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
413 shift_modifier= CHAR_SHIFT,
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
414 ctrl_modifier = CHAR_CTL,
4569
9ea563d584f4 (enum event_kind): Delete final comma.
Richard M. Stallman <rms@gnu.org>
parents: 4143
diff changeset
415 meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
416 };
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
417
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
418 #endif