summaryrefslogtreecommitdiffstats
path: root/src/globals.h
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-06-08 16:01:13 +0200
committerBram Moolenaar <Bram@vim.org>2019-06-08 16:01:13 +0200
commit33796b39b9f00b42ca57fa00dbbb52316d9d38ff (patch)
tree61be6b15346ab09eeaf971afbad6900ecb43efb0 /src/globals.h
parent7c348bb5ad106cfa35dd45560c5ac5d3c8496c96 (diff)
patch 8.1.1493: redrawing with popups is slow and causes flickerv8.1.1493
Problem: Redrawing with popups is slow and causes flicker. Solution: Avoid clearing and redrawing using a zindex mask.
Diffstat (limited to 'src/globals.h')
-rw-r--r--src/globals.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/globals.h b/src/globals.h
index 4973d3191a..06091f97b4 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[] */