Mercurial > vim
diff src/libvterm/include/vterm.h @ 13531:9f857e6310b6 v8.0.1639
patch 8.0.1639: libvterm code lags behind master
commit https://github.com/vim/vim/commit/b5b49a3b430ea0aaf8cce6b7bc0e444f0211ddfb
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Mar 25 16:20:37 2018 +0200
patch 8.0.1639: libvterm code lags behind master
Problem: Libvterm code lags behind master.
Solution: Sync to head, solve merge problems.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 25 Mar 2018 16:30:06 +0200 |
parents | a62b0bbc8834 |
children | 2449b6ce1456 |
line wrap: on
line diff
--- a/src/libvterm/include/vterm.h +++ b/src/libvterm/include/vterm.h @@ -96,7 +96,9 @@ typedef enum { VTERM_VALUETYPE_BOOL = 1, VTERM_VALUETYPE_INT, VTERM_VALUETYPE_STRING, - VTERM_VALUETYPE_COLOR + VTERM_VALUETYPE_COLOR, + + VTERM_N_VALUETYPES } VTermValueType; typedef union { @@ -116,7 +118,9 @@ typedef enum { VTERM_ATTR_STRIKE, /* bool: 9, 29 */ VTERM_ATTR_FONT, /* number: 10-19 */ VTERM_ATTR_FOREGROUND, /* color: 30-39 90-97 */ - VTERM_ATTR_BACKGROUND /* color: 40-49 100-107 */ + VTERM_ATTR_BACKGROUND, /* color: 40-49 100-107 */ + + VTERM_N_ATTRS } VTermAttr; typedef enum { @@ -129,20 +133,26 @@ typedef enum { VTERM_PROP_REVERSE, /* bool */ VTERM_PROP_CURSORSHAPE, /* number */ VTERM_PROP_MOUSE, /* number */ - VTERM_PROP_CURSORCOLOR /* string */ + VTERM_PROP_CURSORCOLOR, /* string */ + + VTERM_N_PROPS } VTermProp; enum { VTERM_PROP_CURSORSHAPE_BLOCK = 1, VTERM_PROP_CURSORSHAPE_UNDERLINE, - VTERM_PROP_CURSORSHAPE_BAR_LEFT + VTERM_PROP_CURSORSHAPE_BAR_LEFT, + + VTERM_N_PROP_CURSORSHAPES }; enum { VTERM_PROP_MOUSE_NONE = 0, VTERM_PROP_MOUSE_CLICK, VTERM_PROP_MOUSE_DRAG, - VTERM_PROP_MOUSE_MOVE + VTERM_PROP_MOUSE_MOVE, + + VTERM_N_PROP_MOUSES }; typedef struct { @@ -213,8 +223,8 @@ void vterm_mouse_button(VTerm *vt, int b * * Don't confuse this with the final byte of the CSI escape; 'a' in this case. */ -#define CSI_ARG_FLAG_MORE (1<<30) -#define CSI_ARG_MASK (~(1<<30)) +#define CSI_ARG_FLAG_MORE (1U<<31) +#define CSI_ARG_MASK (~(1U<<31)) #define CSI_ARG_HAS_MORE(a) ((a) & CSI_ARG_FLAG_MORE) #define CSI_ARG(a) ((a) & CSI_ARG_MASK) @@ -293,6 +303,8 @@ void vterm_state_set_palette_color(VTerm void vterm_state_set_bold_highbright(VTermState *state, int bold_is_highbright); int vterm_state_get_penattr(const VTermState *state, VTermAttr attr, VTermValue *val); int vterm_state_set_termprop(VTermState *state, VTermProp prop, VTermValue *val); +void vterm_state_focus_in(VTermState *state); +void vterm_state_focus_out(VTermState *state); const VTermLineInfo *vterm_state_get_lineinfo(const VTermState *state, int row); /* ------------ @@ -357,7 +369,9 @@ typedef enum { VTERM_DAMAGE_CELL, /* every cell */ VTERM_DAMAGE_ROW, /* entire rows */ VTERM_DAMAGE_SCREEN, /* entire screen */ - VTERM_DAMAGE_SCROLL /* entire screen + scrollrect */ + VTERM_DAMAGE_SCROLL, /* entire screen + scrollrect */ + + VTERM_N_DAMAGES } VTermDamageSize; /* Invoke the relevant callbacks to update the screen. */ @@ -384,7 +398,9 @@ typedef enum { VTERM_ATTR_STRIKE_MASK = 1 << 5, VTERM_ATTR_FONT_MASK = 1 << 6, VTERM_ATTR_FOREGROUND_MASK = 1 << 7, - VTERM_ATTR_BACKGROUND_MASK = 1 << 8 + VTERM_ATTR_BACKGROUND_MASK = 1 << 8, + + VTERM_ALL_ATTRS_MASK = (1 << 9) - 1 } VTermAttrMask; int vterm_screen_get_attrs_extent(const VTermScreen *screen, VTermRect *extent, VTermPos pos, VTermAttrMask attrs);