aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/screen.h')
-rw-r--r--src/nvim/screen.h62
1 files changed, 23 insertions, 39 deletions
diff --git a/src/nvim/screen.h b/src/nvim/screen.h
index d704a6eb8a..9eda5223f1 100644
--- a/src/nvim/screen.h
+++ b/src/nvim/screen.h
@@ -4,16 +4,14 @@
#include <stdbool.h>
#include "nvim/buffer_defs.h"
-#include "nvim/grid_defs.h"
+#include "nvim/grid.h"
#include "nvim/pos.h"
#include "nvim/types.h"
-/*
- * flags for update_screen()
- * The higher the value, the higher the priority
- */
-#define VALID 10 /* buffer not changed, or changes marked
- with b_mod_* */
+// flags for update_screen()
+// The higher the value, the higher the priority
+#define VALID 10 // buffer not changed, or changes marked
+ // with b_mod_*
#define INVERTED 20 // redisplay inverted part that changed
#define INVERTED_ALL 25 // redisplay whole inverted part
#define REDRAW_TOP 30 // display first w_upd_rows screen lines
@@ -21,46 +19,32 @@
#define NOT_VALID 40 // buffer needs complete redraw
#define CLEAR 50 // screen messed up, clear it
-/// By default, all widows are draw on a single rectangular grid, represented by
-/// this ScreenGrid instance. In multigrid mode each window will have its own
-/// grid, then this is only used for global screen elements that hasn't been
-/// externalized.
-///
-/// Note: before the screen is initialized and when out of memory these can be
-/// NULL.
-EXTERN ScreenGrid default_grid INIT(= SCREEN_GRID_INIT);
-
-#define DEFAULT_GRID_HANDLE 1 // handle for the default_grid
+/// corner value flags for hsep_connected and vsep_connected
+typedef enum {
+ WC_TOP_LEFT = 0,
+ WC_TOP_RIGHT,
+ WC_BOTTOM_LEFT,
+ WC_BOTTOM_RIGHT,
+} WindowCorner;
// Maximum columns for terminal highlight attributes
#define TERM_ATTRS_MAX 1024
-/// Status line click definition
-typedef struct {
- enum {
- kStlClickDisabled = 0, ///< Clicks to this area are ignored.
- kStlClickTabSwitch, ///< Switch to the given tab.
- kStlClickTabClose, ///< Close given tab.
- kStlClickFuncRun, ///< Run user function.
- } type; ///< Type of the click.
- int tabnr; ///< Tab page number.
- char *func; ///< Function to run.
-} StlClickDefinition;
-
-/// Used for tabline clicks
-typedef struct {
- StlClickDefinition def; ///< Click definition.
- const char *start; ///< Location where region starts.
-} StlClickRecord;
-
/// Array defining what should be done when tabline is clicked
-extern StlClickDefinition *tab_page_click_defs;
+EXTERN StlClickDefinition *tab_page_click_defs INIT(= NULL);
/// Size of the tab_page_click_defs array
-extern long tab_page_click_defs_size;
+EXTERN long tab_page_click_defs_size INIT(= 0);
+
+#define W_ENDCOL(wp) ((wp)->w_wincol + (wp)->w_width)
+#define W_ENDROW(wp) ((wp)->w_winrow + (wp)->w_height)
+
+// 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);
-#define W_ENDCOL(wp) (wp->w_wincol + wp->w_width)
-#define W_ENDROW(wp) (wp->w_winrow + wp->w_height)
+// While resizing the screen this flag is set.
+EXTERN bool resizing_screen INIT(= 0);
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "screen.h.generated.h"