X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/a660037698bce151915e6e084593071134df1331..0e963201d03d9229bb8ac4323291d2b0119526ed:/src/termhooks.h diff --git a/src/termhooks.h b/src/termhooks.h index 3cafc437e5..2922375762 100644 --- a/src/termhooks.h +++ b/src/termhooks.h @@ -1,6 +1,6 @@ /* Parameters and display hooks for terminal devices. -Copyright (C) 1985-1986, 1993-1994, 2001-2015 Free Software Foundation, +Copyright (C) 1985-1986, 1993-1994, 2001-2016 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -23,8 +23,11 @@ along with GNU Emacs. If not, see . */ /* Miscellanea. */ +#include "lisp.h" #include "systime.h" /* for Time */ +struct glyph; + INLINE_HEADER_BEGIN enum scroll_bar_part { @@ -243,6 +246,9 @@ enum event_kind }; +/* Bit width of an enum event_kind tag at the start of structs and unions. */ +enum { EVENT_KIND_WIDTH = 16 }; + /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT or SELECTION_CLEAR_EVENT, then its contents are really described by `struct selection_input_event'; see xterm.h. */ @@ -255,7 +261,7 @@ enum event_kind struct input_event { /* What kind of event was this? */ - ENUM_BF (event_kind) kind : 16; + ENUM_BF (event_kind) kind : EVENT_KIND_WIDTH; /* Used in scroll back click events. */ ENUM_BF (scroll_bar_part) part : 16; @@ -380,6 +386,11 @@ struct terminal the selection-values. */ Lisp_Object Vselection_alist; + /* If a char-table, this maps characters to terminal glyph codes. + If t, the mapping is not available. If nil, it is not known + whether the mapping is available. */ + Lisp_Object glyph_code_table; + /* All fields before `next_terminal' should be Lisp_Object and are traced by the GC. All fields afterwards are ignored by the GC. */ @@ -687,6 +698,7 @@ extern struct terminal *get_named_terminal (const char *); extern struct terminal *create_terminal (enum output_method, struct redisplay_interface *); extern void delete_terminal (struct terminal *); +extern Lisp_Object terminal_glyph_code (struct terminal *, int); /* The initial terminal device, created by initial_term_init. */ extern struct terminal *initial_terminal;