ui_compositor.c File Reference
#include <assert.h>
#include <stdbool.h>
#include <stdio.h>
#include <limits.h>
#include "nvim/lib/kvec.h"
#include "nvim/log.h"
#include "nvim/main.h"
#include "nvim/ascii.h"
#include "nvim/vim.h"
#include "nvim/ui.h"
#include "nvim/highlight.h"
#include "nvim/memory.h"
#include "nvim/ui_compositor.h"
#include "nvim/ugrid.h"
#include "nvim/screen.h"
#include "nvim/syntax.h"
#include "nvim/api/private/helpers.h"
#include "nvim/os/os.h"


 kvec_t (ScreenGrid *)
void ui_comp_attach (UI *ui)
void ui_comp_detach (UI *ui)
bool ui_comp_should_draw (void)
bool ui_comp_put_grid (ScreenGrid *grid, int row, int col, int height, int width)
void ui_comp_remove_grid (ScreenGrid *grid)
bool ui_comp_set_grid (handle_T handle)
void ui_comp_compose_grid (ScreenGrid *grid)
void ui_comp_invalidate_screen (void)

Function Documentation

kvec_t ( ScreenGrid )
void ui_comp_attach ( UI ui)
void ui_comp_compose_grid ( ScreenGrid grid)

compose the area under the grid.

This is needed when some option affecting composition is changed, such as 'pumblend' for popupmenu grid.

void ui_comp_detach ( UI ui)
void ui_comp_invalidate_screen ( void  )

The screen is invalid and will soon be cleared

Don't redraw floats until screen is cleared

bool ui_comp_put_grid ( ScreenGrid grid,
int  row,
int  col,
int  height,
int  width 

TODO(bfredl): later on the compositor should just use win_float_pos events, though that will require slight event order adjustment: emit the win_pos events in the beginning of update_screen(0), rather than in ui_flush()

void ui_comp_remove_grid ( ScreenGrid grid)
bool ui_comp_set_grid ( handle_T  handle)
bool ui_comp_should_draw ( void  )