comparison src/termhooks.h @ 485:8c615e453683

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Mon, 13 Jan 1992 21:48:08 +0000
parents 1ad871406b12
children 70b112526394
comparison
equal deleted inserted replaced
484:3165b2697c78 485:8c615e453683
43 extern int (*update_end_hook) (); 43 extern int (*update_end_hook) ();
44 extern int (*set_terminal_window_hook) (); 44 extern int (*set_terminal_window_hook) ();
45 45
46 extern int (*read_socket_hook) (); 46 extern int (*read_socket_hook) ();
47 47
48 /* Hook for Emacs to call to tell the window-system-specific code to 48 /* Return the current position of the mouse. This should clear
49 enable/disable low-level tracking. The value of ENABLE tells the 49 mouse_moved until the next motion event arrives. */
50 window system event handler whether it should notice or ignore 50 extern void (*mouse_position_hook) ( /* SCREEN_PTR *s,
51 subsequent mouse movement and mouse button releases. 51 Lisp_Object *x,
52 Lisp_Object *y,
53 Lisp_Object *time */ );
52 54
53 If this is 0, Emacs should assume that there is no mouse (or at 55 /* The window system handling code should set this if the mouse has
54 least no mouse tracking) available. 56 moved since the last call to the mouse_position_hook. Calling that
55 57 hook should clear this. */
56 If called with ENABLE non-zero, the window system event handler 58 extern int mouse_moved;
57 should call set_pointer_loc with the new mouse co-ordinates
58 whenever the mouse moves, and enqueue a mouse button event for
59 button releases as well as button presses.
60
61 If called with ENABLE zero, the window system event handler should
62 ignore mouse movement events, and not enqueue events for mouse
63 button releases. */
64 extern int (*mouse_tracking_enable_hook) ( /* int ENABLE */ );
65 59
66 /* When a screen's focus redirection is changed, this hook tells the 60 /* When a screen's focus redirection is changed, this hook tells the
67 window system code to re-decide where to put the highlight. Under 61 window system code to re-decide where to put the highlight. Under
68 X, this means that the system lies about where the focus is. */ 62 X, this means that Emacs lies about where the focus is. */
69 extern void (*screen_rehighlight_hook) ( /* void */ ); 63 extern void (*screen_rehighlight_hook) ( /* void */ );
70 64
71 /* If nonzero, send all terminal output characters to this stream also. */ 65 /* If nonzero, send all terminal output characters to this stream also. */
72
73 extern FILE *termscript; 66 extern FILE *termscript;
74 67
75 #ifdef XINT
76 /* Expedient hack: only provide the below definitions to files that 68 /* Expedient hack: only provide the below definitions to files that
77 are prepared to handle lispy things. XINT is defined iff lisp.h 69 are prepared to handle lispy things. XINT is defined iff lisp.h
78 has been included in the file before this file. */ 70 has been included before this file. */
71 #ifdef XINT
79 72
80 /* The keyboard input buffer is an array of these structures. Each one 73 /* The keyboard input buffer is an array of these structures. Each one
81 represents some sort of input event - a keystroke, a mouse click, or 74 represents some sort of input event - a keystroke, a mouse click, or
82 a window system event. These get turned into their lispy forms when 75 a window system event. These get turned into their lispy forms when
83 they are removed from the event queue. */ 76 they are removed from the event queue. */
91 ascii_keystroke, /* The ASCII code is in .code. 84 ascii_keystroke, /* The ASCII code is in .code.
92 .screen is the screen in which the key 85 .screen is the screen in which the key
93 was typed. 86 was typed.
94 Note that this includes meta-keys, and 87 Note that this includes meta-keys, and
95 the modifiers field of the event 88 the modifiers field of the event
96 is unused. */ 89 is unused.
97 90 .timestamp gives a timestamp (in
91 milliseconds) for the keystroke. */
98 non_ascii_keystroke, /* .code is a number identifying the 92 non_ascii_keystroke, /* .code is a number identifying the
99 function key. A code N represents 93 function key. A code N represents
100 a key whose name is 94 a key whose name is
101 function_key_names[N]; function_key_names 95 function_key_names[N]; function_key_names
102 is a table in keyboard.c to which you 96 is a table in keyboard.c to which you
103 should feel free to add missing keys. 97 should feel free to add missing keys.
104 .modifiers holds the state of the 98 .modifiers holds the state of the
105 modifier keys. 99 modifier keys.
106 .screen is the screen in which the key 100 .screen is the screen in which the key
107 was typed. */ 101 was typed.
102 .timestamp gives a timestamp (in
103 milliseconds) for the keystroke. */
108 mouse_click, /* The button number is in .code. 104 mouse_click, /* The button number is in .code.
109 .modifiers holds the state of the 105 .modifiers holds the state of the
110 modifier keys. 106 modifier keys.
111 .x and .y give the mouse position, 107 .x and .y give the mouse position,
112 in pixels, within the window. 108 in pixels, within the window.