aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/grid_defs.h
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2019-07-02 15:53:43 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2019-09-01 15:55:10 +0200
commitb51ba122c1edfb769e72c25c4f14f469f59f1b8e (patch)
tree84052cf27b2e1aa904b898cd01d9d35df9afaf92 /src/nvim/grid_defs.h
parent9cec097ffacfd0de100912781df2efed1a4c8ba9 (diff)
downloadrneovim-b51ba122c1edfb769e72c25c4f14f469f59f1b8e.tar.gz
rneovim-b51ba122c1edfb769e72c25c4f14f469f59f1b8e.tar.bz2
rneovim-b51ba122c1edfb769e72c25c4f14f469f59f1b8e.zip
screen: use dedicated message grid
add proper msg_set_pos event, delet win_scroll_over_* make compositor click through unfocusable grids add MsgArea attribute for the message/cmdline area, and add docs and tests
Diffstat (limited to 'src/nvim/grid_defs.h')
-rw-r--r--src/nvim/grid_defs.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/nvim/grid_defs.h b/src/nvim/grid_defs.h
index e4021c033b..d9be53468f 100644
--- a/src/nvim/grid_defs.h
+++ b/src/nvim/grid_defs.h
@@ -43,6 +43,10 @@ typedef struct {
unsigned *line_offset;
char_u *line_wraps;
+ // last column that was drawn (not cleared with the default background).
+ // only used when "throttled" is set. Not allocated by grid_alloc!
+ int *dirty_col;
+
// the size of the allocated grid.
int Rows;
int Columns;
@@ -50,12 +54,17 @@ typedef struct {
// The state of the grid is valid. Otherwise it needs to be redrawn.
bool valid;
+ // only draw internally and don't send updates yet to the compositor or
+ // external UI.
+ bool throttled;
+
// offsets for the grid relative to the global screen
int row_offset;
int col_offset;
// whether the compositor should blend the grid with the background grid
bool blending;
+ bool focusable;
// state owned by the compositor.
int comp_row;
@@ -64,7 +73,7 @@ typedef struct {
bool comp_disabled;
} ScreenGrid;
-#define SCREEN_GRID_INIT { 0, NULL, NULL, NULL, NULL, 0, 0, false, 0, 0, \
- false, 0, 0, 0, false }
+#define SCREEN_GRID_INIT { 0, NULL, NULL, NULL, NULL, NULL, 0, 0, false, \
+ false, 0, 0, false, true, 0, 0, 0, false }
#endif // NVIM_GRID_DEFS_H