You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
-\f
+#ifndef EMACS_TERMHOOKS_H
+#define EMACS_TERMHOOKS_H
+
/* Miscellanea. */
#include "systime.h" /* for Time */
INLINE_HEADER_BEGIN
-#ifndef TERMHOOKS_INLINE
-# define TERMHOOKS_INLINE INLINE
-#endif
-
-struct glyph;
-struct frame;
-\f
enum scroll_bar_part {
+ scroll_bar_nowhere = -1,
scroll_bar_above_handle,
scroll_bar_handle,
scroll_bar_below_handle,
scroll_bar_move_ratio
};
-/* If the value of the frame parameter changed, whis hook is called.
- For example, if going from fullscreen to not fullscreen this hook
- may do something OS dependent, like extended window manager hints on X11. */
-extern void (*fullscreen_hook) (struct frame *f);
+/* Output method of a terminal (and frames on this terminal, respectively). */
+
+enum output_method
+{
+ output_initial,
+ output_termcap,
+ output_x_window,
+ output_msdos_raw,
+ output_w32,
+ output_ns
+};
-\f
/* Input queue declarations and hooks. */
enum event_kind
`switch-frame' events in kbd_buffer_get_event, if necessary. */
FOCUS_IN_EVENT,
+ FOCUS_OUT_EVENT,
+
/* Generated when mouse moves over window not currently selected. */
SELECT_WINDOW_EVENT,
, NS_NONKEY_EVENT
#endif
-#if defined (HAVE_INOTIFY) || defined (HAVE_NTGUI)
+#ifdef USE_FILE_NOTIFY
/* File or directory was changed. */
, FILE_NOTIFY_EVENT
#endif
extern struct tty_display_info *gpm_tty;
#endif
-\f
-struct ns_display_info;
-struct x_display_info;
-struct w32_display_info;
-
/* Terminal-local parameters. */
struct terminal
{
windows. */
void (*frame_raise_lower_hook) (struct frame *f, int raise_flag);
- /* If the value of the frame parameter changed, whis hook is called.
+ /* If the value of the frame parameter changed, this hook is called.
For example, if going from fullscreen to not fullscreen this hook
may do something OS dependent, like extended window manager hints on X11. */
void (*fullscreen_hook) (struct frame *f);
/* Most code should use these functions to set Lisp fields in struct
terminal. */
-TERMHOOKS_INLINE void
+INLINE void
tset_charset_list (struct terminal *t, Lisp_Object val)
{
t->charset_list = val;
}
-TERMHOOKS_INLINE void
+INLINE void
tset_selection_alist (struct terminal *t, Lisp_Object val)
{
t->Vselection_alist = val;
(((d)->type != output_termcap && (d)->type != output_msdos_raw) \
|| (d)->display_info.tty->input)
-extern struct terminal *get_terminal (Lisp_Object terminal, int);
+extern struct terminal *get_terminal (Lisp_Object terminal, bool);
extern struct terminal *create_terminal (void);
extern void delete_terminal (struct terminal *);
extern void close_gpm (int gpm_fd);
#endif
+#ifdef WINDOWSNT
+extern int cursorX (struct tty_display_info *);
+extern int cursorY (struct tty_display_info *);
+#else
+#define cursorX(t) curX(t)
+#define cursorY(t) curY(t)
+#endif
+
INLINE_HEADER_END
+
+#endif /* EMACS_TERMHOOKS_H */