diff options
author | Přemysl Janouch <p.janouch@gmail.com> | 2014-10-14 00:08:15 +0200 |
---|---|---|
committer | Přemysl Janouch <p.janouch@gmail.com> | 2014-10-14 00:08:15 +0200 |
commit | e98d9c0fd1a148adc844046d568d40de135fb366 (patch) | |
tree | f9f837ab2f78c2f0effbab99cb370c05885289f1 /termkey2-internal.h | |
parent | e330d751a42def1e014227d5e39969af6e87591f (diff) | |
download | termo-e98d9c0fd1a148adc844046d568d40de135fb366.tar.gz termo-e98d9c0fd1a148adc844046d568d40de135fb366.tar.xz termo-e98d9c0fd1a148adc844046d568d40de135fb366.zip |
Rename to termo
Diffstat (limited to 'termkey2-internal.h')
-rw-r--r-- | termkey2-internal.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/termkey2-internal.h b/termkey2-internal.h deleted file mode 100644 index 5da33ff..0000000 --- a/termkey2-internal.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef TERMKEY2_INTERNAL_H -#define TERMKEY2_INTERNAL_H - -#include "termkey2.h" - -#include <stdint.h> -#include <termios.h> -#include <stdbool.h> -#include <iconv.h> - -typedef struct termkey_driver termkey_driver_t; -struct termkey_driver -{ - const char *name; - void *(*new_driver) (termkey_t *tk, const char *term); - void (*free_driver) (void *info); - int (*start_driver) (termkey_t *tk, void *info); - int (*stop_driver) (termkey_t *tk, void *info); - termkey_result_t (*peekkey) (termkey_t *tk, - void *info, termkey_key_t *key, int force, size_t *nbytes); -}; - -typedef struct keyinfo keyinfo_t; -struct keyinfo -{ - termkey_type_t type; - termkey_sym_t sym; - int modifier_mask; - int modifier_set; -}; - -typedef struct termkey_driver_node termkey_driver_node_t; -struct termkey_driver_node -{ - termkey_driver_t *driver; - void *info; - termkey_driver_node_t *next; -}; - -struct termkey -{ - int fd; - int flags; - int canonflags; - - unsigned char *buffer; - size_t buffstart; // First offset in buffer - size_t buffcount; // Number of entires valid in buffer - size_t buffsize; // Total malloc'ed size - - // Position beyond buffstart at which peekkey() should next start. - // Normally 0, but see also termkey_interpret_csi(). - size_t hightide; - - struct termios restore_termios; - bool restore_termios_valid; - - int waittime; // In milliseconds - - bool is_closed; // We've received EOF - bool is_started; - - int nkeynames; - const char **keynames; - - keyinfo_t c0[32]; // There are 32 C0 codes - iconv_t to_utf32_conv; - iconv_t from_utf32_conv; - termkey_driver_node_t *drivers; - - // Now some "protected" methods for the driver to call but which we don't - // want exported as real symbols in the library - struct - { - void (*emit_codepoint) (termkey_t *tk, - uint32_t codepoint, termkey_key_t *key); - termkey_result_t (*peekkey_simple) (termkey_t *tk, - termkey_key_t *key, int force, size_t *nbytes); - termkey_result_t (*peekkey_mouse) (termkey_t *tk, - termkey_key_t *key, size_t *nbytes); - } - method; -}; - -static inline void -termkey_key_get_linecol (const termkey_key_t *key, int *line, int *col) -{ - if (col) - *col = key->code.mouse.x; - - if (line) - *line = key->code.mouse.y; -} - -static inline void -termkey_key_set_linecol (termkey_key_t *key, int line, int col) -{ - if (line > UINT16_MAX) - line = UINT16_MAX; - - if (col > UINT16_MAX) - col = UINT16_MAX; - - key->code.mouse.x = col; - key->code.mouse.y = line; -} - -extern termkey_driver_t termkey_driver_csi; -extern termkey_driver_t termkey_driver_ti; - -#endif // ! TERMKEY2_INTERNAL_H - |