annotate src/termhooks.h @ 51242:661e2fe7e775

(autoconf-mode setups): Recognise AH_ and AU_ entries in "(autoconf)Autoconf Macro Index". Add "(autoconf)M4 Macro Index" and "(autoconf)Autotest Macro Index". Remove duplicate copy of "(automake)Macro and Variable Index". Keep automake after all autoconf possibilities, so as to prefer those.
author Juanma Barranquero <lekktu@gmail.com>
date Sun, 25 May 2003 21:03:57 +0000
parents 23a1cea22d13
children 8f30748bdf8f d7ddb3e565de
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 (*insert_glyphs_hook) P_ ((struct glyph *s, int n));
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
48 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
49 extern void (*delete_glyphs_hook) P_ ((int));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
51 extern void (*ring_bell_hook) P_ ((void));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
53 extern void (*reset_terminal_modes_hook) P_ ((void));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
54 extern void (*set_terminal_modes_hook) P_ ((void));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
55 extern void (*update_begin_hook) P_ ((struct frame *));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
56 extern void (*update_end_hook) P_ ((struct frame *));
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
57 extern void (*set_terminal_window_hook) P_ ((int));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
59
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
60
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
61 /* Multi-frame and mouse support hooks. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
63 enum scroll_bar_part {
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
64 scroll_bar_above_handle,
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
65 scroll_bar_handle,
15176
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
66 scroll_bar_below_handle,
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
67 scroll_bar_up_arrow,
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
68 scroll_bar_down_arrow,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
69 scroll_bar_to_top,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
70 scroll_bar_to_bottom,
26787
5379722b5468 (scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 25544
diff changeset
71 scroll_bar_end_scroll,
5379722b5468 (scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 25544
diff changeset
72 scroll_bar_move_ratio
1717
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
73 };
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
74
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
75 /* 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
76
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
77 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
78 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
79 garbage.
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
80
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
81 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
82 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
83 *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
84 overall length of the scroll bar.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
85
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
86 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
87 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
88
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
89 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
90
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
91 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
92 event arrives. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
93 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
94 Lisp_Object *bar_window,
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
95 enum scroll_bar_part *part,
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
96 Lisp_Object *x,
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
97 Lisp_Object *y,
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
98 unsigned long *time));
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
100 /* 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
101 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
102 hook should clear this. */
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
103 extern int mouse_moved;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104
766
b9e81bfc7ad9 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
105 /* 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
106 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
107 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
108 extern void (*frame_rehighlight_hook) P_ ((struct frame *));
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
109
1821
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
110 /* 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
111 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
112 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
113 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
114 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
115 anything.
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
116
04fb1d3d6992 JimB's changes since January 18th
Jim Blandy <jimb@redhat.com>
parents: 1782
diff changeset
117 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
118 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
119 windows. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
120 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
121
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
122
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
123 /* Scroll bar hooks. */
1782
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 /* 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
126 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
127 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
128 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
129 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
130
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
131 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
132 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
133 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
134 scroll bar manipulation it needs.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
135
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
136 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
137 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
138 scroll bar.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
139
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
140 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
141 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
142 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
143
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
144
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
145 /* 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
146 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
147 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
148 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
149 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
150 extern void (*set_vertical_scroll_bar_hook)
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
151 P_ ((struct window *window,
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
152 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
153
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
154
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
155 /* 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
156 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
157 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
158 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
159 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
160 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
161 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
162
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
163 /* 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
164 to `*judge_scroll_bars_hook'. A scroll bar may be spared if
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
165 `*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
166
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
167 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
168 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
169 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
170 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
171
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
172 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
173 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
174 currently displaying them. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
175 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
176
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
177 /* 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
178 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
179 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
180
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
181 /* Remove all scroll bars on FRAME that haven't been saved since the
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
182 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
183
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
184 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
185 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
186 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
187 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
188
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
189 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
190 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
191 currently displaying them. */
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
192 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
193
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
194
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
195 /* 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
196
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
197 /* 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
198 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
199 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
200 #ifdef CONSP
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
201
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
202 enum event_kind
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
203 {
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
204 NO_EVENT, /* nothing happened. This should never
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
205 actually appear in the event queue. */
4799
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
206
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
207 ASCII_KEYSTROKE_EVENT, /* The ASCII code is in .code, perhaps
4799
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
208 with modifiers applied.
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
209 .modifiers holds the state of the
6af5540f4e4e Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4584
diff changeset
210 modifier keys.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
211 .frame_or_window is the frame in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
212 which the key was typed.
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
213 .timestamp gives a timestamp (in
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
214 milliseconds) for the keystroke. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
215 MULTIBYTE_CHAR_KEYSTROKE_EVENT, /* The multibyte char code is in .code,
30750
e96da8e19cef (enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents: 30175
diff changeset
216 perhaps with modifiers applied.
e96da8e19cef (enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents: 30175
diff changeset
217 The others are the same as
48090
b7e13d33cf41 Comment.
Dave Love <fx@gnu.org>
parents: 46798
diff changeset
218 ASCII_KEYSTROKE_EVENT. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
219 NON_ASCII_KEYSTROKE_EVENT, /* .code is a number identifying the
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
220 function key. A code N represents
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
221 a key whose name is
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
222 function_key_names[N]; function_key_names
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
223 is a table in keyboard.c to which you
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
224 should feel free to add missing keys.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
225 .modifiers holds the state of the
338
4840aae6a876 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 296
diff changeset
226 modifier keys.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
227 .frame_or_window is the frame in
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
228 which the key was typed.
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
229 .timestamp gives a timestamp (in
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 357
diff changeset
230 milliseconds) for the keystroke. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
231 TIMER_EVENT, /* A timer fired. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
232 MOUSE_CLICK_EVENT, /* 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
233 be >= 0 and < NUM_MOUSE_BUTTONS, defined
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
234 below.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235 .modifiers holds the state of the
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
236 modifier keys.
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
237 .x and .y give the mouse position,
708
030fb4635335 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 648
diff changeset
238 in characters, within the window.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
239 .frame_or_window gives the frame
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
240 the mouse click occurred in.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
241 .timestamp gives a timestamp (in
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242 milliseconds) for the click. */
46798
a8e027c9c403 In src:
Andrew Choi <akochoi@shaw.ca>
parents: 45803
diff changeset
243 #if defined(WINDOWSNT) || defined(MAC_OSX)
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
244 MOUSE_WHEEL_EVENT, /* A mouse-wheel event is generated
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
245 on WINDOWSNT or MAC_OSX by a
19700
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
246 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
247 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
248 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
249 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
250 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
251 .code gives the delta.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
252 .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
253 modifier keys.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
254 .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
255 in characters, within the window.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
256 .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
257 the wheel event occurred in.
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
258 .timestamp gives a timestamp (in
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
259 milliseconds) for the wheel event. */
46798
a8e027c9c403 In src:
Andrew Choi <akochoi@shaw.ca>
parents: 45803
diff changeset
260 #endif
a8e027c9c403 In src:
Andrew Choi <akochoi@shaw.ca>
parents: 45803
diff changeset
261 #ifdef WINDOWSNT
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
262 LANGUAGE_CHANGE_EVENT, /* A LANGUAGE_CHANGE_EVENT is generated
23800
a7dd4cded68c termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents: 21889
diff changeset
263 on WINDOWSNT when the keyboard layout
a7dd4cded68c termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents: 21889
diff changeset
264 or input language is changed by the
a7dd4cded68c termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents: 21889
diff changeset
265 user. */
19700
3c251b1dcdf5 (event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16588
diff changeset
266 #endif
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
267 SCROLL_BAR_CLICK_EVENT, /* .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
268 that was clicked.
aa7d6d57504b * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1319
diff changeset
269 .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
270 keys.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
271 .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
272 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
273 .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
274 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
275 length of the scroll bar.
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
276 .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
277 whose scroll bar was clicked in.
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278 .timestamp gives a timestamp (in
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279 milliseconds) for the click. */
15176
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
280 #ifdef WINDOWSNT
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
281 W32_SCROLL_BAR_CLICK_EVENT, /* 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
282 by MS-Windows scroll bar controls. */
87c0298bd4f7 (enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents: 14407
diff changeset
283 #endif
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
284 SELECTION_REQUEST_EVENT, /* Another X client wants a selection from us.
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
285 See `struct selection_event'. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
286 SELECTION_CLEAR_EVENT, /* Another X client cleared our selection. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
287 BUFFER_SWITCH_EVENT, /* A process filter has switched buffers. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
288 DELETE_WINDOW_EVENT, /* An X client said "delete this window". */
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
289 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
290 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
291 Lisp-level event value.
34c94047f8f9 (menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents: 6747
diff changeset
292 (Only the toolkit version uses these.) */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
293 ICONIFY_EVENT, /* An X client iconified this window. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
294 DEICONIFY_EVENT, /* An X client deiconified this window. */
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
295 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
296 (toolkit version only). */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
297 DRAG_N_DROP_EVENT, /* 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
298 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
299 onto an Emacs window.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
300 Currently used only on Windows NT.
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
301 .modifiers holds the state of the
21889
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
302 modifier keys.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
303 .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
304 in characters, within the window.
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
305 .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
306 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
307 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
308 .timestamp gives a timestamp (in
93207874c93c (event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents: 21515
diff changeset
309 milliseconds) for the click. */
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
310 USER_SIGNAL_EVENT, /* A user signal.
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
311 code is a number identifying it,
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
312 index into lispy_user_signals. */
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
313
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
314 /* Help events. Member `frame_or_window' of the input_event is the
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
315 frame on which the event occurred, and member `arg' contains
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
316 the help to show. */
25001
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
317 HELP_EVENT,
65dabc032485 (scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents: 24376
diff changeset
318
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
319 /* An event from a tool-bar. Member `arg' of the input event
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
320 contains the tool-bar item selected. If `frame_or_window'
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
321 and `arg' are equal, this is a prefix event. */
29514
e31f78844157 (enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents: 28482
diff changeset
322 TOOL_BAR_EVENT,
e31f78844157 (enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents: 28482
diff changeset
323
e31f78844157 (enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents: 28482
diff changeset
324 /* Queued from XTread_socket on FocusIn events. Translated into
e31f78844157 (enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents: 28482
diff changeset
325 `switch-frame' events in kbd_buffer_get_event, if necessary. */
43813
7c1c9baea70f (enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents: 40080
diff changeset
326 FOCUS_IN_EVENT,
7c1c9baea70f (enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents: 40080
diff changeset
327
44299
b7f9e859425a (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents: 43813
diff changeset
328 /* Generated when mouse moves over window not currently selected. */
b7f9e859425a (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents: 43813
diff changeset
329 SELECT_WINDOW_EVENT,
b7f9e859425a (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Janík <Pavel@Janik.cz>
parents: 43813
diff changeset
330
43813
7c1c9baea70f (enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents: 40080
diff changeset
331 /* Queued from XTread_socket when session manager sends
7c1c9baea70f (enum event_kind): Added save_session_event.
Jan Djärv <jan.h.d@swipnet.se>
parents: 40080
diff changeset
332 save yourself before shutdown. */
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
333 SAVE_SESSION_EVENT
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
334 };
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
335
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
336 /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
337 or SELECTION_CLEAR_EVENT, then its contents are really described
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
338 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
339
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
340 /* 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
341 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
342 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
343 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
344
14393
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
345 struct input_event
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
346 {
2186
82e8ee492593 (selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents: 2046
diff changeset
347 /* What kind of event was this? */
39583
936ffa2961ca (struct input_event): Use proper type for `kind'.
Gerd Moellmann <gerd@gnu.org>
parents: 30750
diff changeset
348 enum event_kind kind;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
349
45803
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
350 /* For an ASCII_KEYSTROKE_EVENT and MULTIBYTE_CHAR_KEYSTROKE_EVENT,
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
351 this is the character.
9484de301252 Rename enum event_kind items.
Pavel Janík <Pavel@Janik.cz>
parents: 44299
diff changeset
352 For a NON_ASCII_KEYSTROKE_EVENT, 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
353 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
354 /* 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
355 int code;
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
356 enum scroll_bar_part part;
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 708
diff changeset
357
14161
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
358 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
359
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
360 Lisp_Object x, y;
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
361 unsigned long timestamp;
670721a540c8 (struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents: 14034
diff changeset
362
14393
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
363 /* 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
364 past the size of struct selection_event. */
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
365 int *padding[2];
c977e0ae56b4 (struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
366
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
367 /* 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
368 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
369 /* 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
370 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
371 /* 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
372 does not overlap with it. */
1782
5d58b9f1ff22 * termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1717
diff changeset
373 Lisp_Object frame_or_window;
30175
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
374
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
375 /* Additional event argument. This is used for TOOL_BAR_EVENTs and
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
376 HELP_EVENTs and avoids calling Fcons during signal handling. */
67c99cc46d03 (struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents: 29514
diff changeset
377 Lisp_Object arg;
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
378 };
21515
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
379
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
380 /* Called to read input events. */
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
381 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
382
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
383 /* Called when a frame's display becomes entirely up to date. */
fb4c986db0e2 Add more prototypes.
Andreas Schwab <schwab@suse.de>
parents: 19700
diff changeset
384 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
385
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
386
1238
407100cee78a * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents: 766
diff changeset
387 /* 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
388 Note that reorder_modifiers assumes that the bits are in canonical
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48090
diff changeset
389 order.
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
390
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
391 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
392 window-system-specific code should store mouse clicks with
1319
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
393 up_modifier or down_modifier set. Having an explicit down modifier
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
394 simplifies some of window-system-independent code; without it, the
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
395 code would have to recognize down events by checking if the event
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
396 is a mouse click lacking the click and drag modifiers.
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
397
20862b54b932 Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1312
diff changeset
398 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
399 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
400 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
401 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
402 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
403 event heads. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
404 enum {
1312
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
405 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
406 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
407 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
408 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
409 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
410 queue; it's only used internally by
540110352c0d * termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 1238
diff changeset
411 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
412 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
413 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
414 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
415
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
416 /* 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
417 the Lisp level.
2046
9e30cf115e63 (alt_modifier, super_modifier, hyper_modifier):
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
418
2659
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
419 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
420 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
421 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
422 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
423 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
424 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
425 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
426
3e8799eff918 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents: 2186
diff changeset
427 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
428 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
429 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
430 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
431 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
432 ctrl_modifier = CHAR_CTL,
4569
9ea563d584f4 (enum event_kind): Delete final comma.
Richard M. Stallman <rms@gnu.org>
parents: 4143
diff changeset
433 meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */
296
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
434 };
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
435
558b874b5259 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
436 #endif