diff options
author | Lewis Russell <lewis6991@gmail.com> | 2022-08-16 12:27:07 +0100 |
---|---|---|
committer | Lewis Russell <lewis6991@gmail.com> | 2022-08-19 10:01:40 +0100 |
commit | 51063a90df4cc8af4e1111dd50194ae487e8097e (patch) | |
tree | 9aa73fc53a6db22068e7ebc9761c81ca38feaa25 /src/nvim/drawscreen.h | |
parent | a5ed89c972a23c46eb3988fe8c2c8ae0d7ed844f (diff) | |
download | rneovim-51063a90df4cc8af4e1111dd50194ae487e8097e.tar.gz rneovim-51063a90df4cc8af4e1111dd50194ae487e8097e.tar.bz2 rneovim-51063a90df4cc8af4e1111dd50194ae487e8097e.zip |
vim-patch:8.1.2057: the screen.c file is much too big
Problem: The screen.c file is much too big.
Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943)
https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964
This is an approximation vim-patch 8.1.2057. Applying the patch directly
isn't feasible since our version of screen.c has diverged too much,
however we still introduce drawscreen.c and drawline.c:
- screen.c is now a much smaller file used for low level screen functions
- drawline.c contains everything needed for win_line()
- drawscreen.c contains everything needed for update_screen()
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Diffstat (limited to 'src/nvim/drawscreen.h')
-rw-r--r-- | src/nvim/drawscreen.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/nvim/drawscreen.h b/src/nvim/drawscreen.h new file mode 100644 index 0000000000..3eac1caaa1 --- /dev/null +++ b/src/nvim/drawscreen.h @@ -0,0 +1,25 @@ +#ifndef NVIM_DRAWSCREEN_H +#define NVIM_DRAWSCREEN_H + +#include "nvim/drawline.h" + +/// flags for update_screen() +/// The higher the value, the higher the priority +enum { + VALID = 10, ///< buffer not changed, or changes marked with b_mod_* + INVERTED = 20, ///< redisplay inverted part that changed + INVERTED_ALL = 25, ///< redisplay whole inverted part + REDRAW_TOP = 30, ///< display first w_upd_rows screen lines + SOME_VALID = 35, ///< like NOT_VALID but may scroll + NOT_VALID = 40, ///< buffer needs complete redraw + CLEAR = 50, ///< screen messed up, clear it +}; + +/// While redrawing the screen this flag is set. It means the screen size +/// ('lines' and 'rows') must not be changed. +EXTERN bool updating_screen INIT(= 0); + +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "drawscreen.h.generated.h" +#endif +#endif // NVIM_DRAWSCREEN_H |