Mercurial > vim
diff src/globals.h @ 16986:03f3a9ca2770 v8.1.1493
patch 8.1.1493: redrawing with popups is slow and causes flicker
commit https://github.com/vim/vim/commit/33796b39b9f00b42ca57fa00dbbb52316d9d38ff
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 8 16:01:13 2019 +0200
patch 8.1.1493: redrawing with popups is slow and causes flicker
Problem: Redrawing with popups is slow and causes flicker.
Solution: Avoid clearing and redrawing using a zindex mask.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 08 Jun 2019 16:15:04 +0200 |
parents | 9138e2c60bf1 |
children | d4a7c690c8e6 |
line wrap: on
line diff
--- a/src/globals.h +++ b/src/globals.h @@ -70,6 +70,21 @@ EXTERN schar_T *ScreenLines2 INIT(= NULL */ EXTERN short *TabPageIdxs INIT(= NULL); +#ifdef FEAT_TEXT_PROP +// Array with size Rows x Columns containing zindex of popups. +EXTERN short *popup_mask INIT(= NULL); + +// Flag set to TRUE when popup_mask needs to be updated. +EXTERN int popup_mask_refresh INIT(= TRUE); + +// Tab that was used to fill popup_mask. +EXTERN tabpage_T *popup_mask_tab INIT(= NULL); + +// Zindex in for screen_char(): if lower than the value in "popup_mask" +// drawing the character is skipped. +EXTERN int screen_zindex INIT(= 0); +#endif + EXTERN int screen_Rows INIT(= 0); /* actual size of ScreenLines[] */ EXTERN int screen_Columns INIT(= 0); /* actual size of ScreenLines[] */