From 33796b39b9f00b42ca57fa00dbbb52316d9d38ff Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 8 Jun 2019 16:01:13 +0200 Subject: 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. --- src/globals.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/globals.h') diff --git a/src/globals.h b/src/globals.h index 4973d3191..06091f97b 100644 --- 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[] */ -- cgit v1.2.1