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


 kvec_t (ScreenGrid *)
void ui_comp_init (void)
void ui_comp_syn_init (void)
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, bool valid, bool on_top)
void ui_comp_remove_grid (ScreenGrid *grid)
bool ui_comp_set_grid (handle_T handle)
ScreenGridui_comp_mouse_focus (int row, int col)
void ui_comp_compose_grid (ScreenGrid *grid)
void ui_comp_set_screen_valid (bool valid)

Function Documentation

◆ kvec_t()

kvec_t ( ScreenGrid )

◆ ui_comp_attach()

void ui_comp_attach ( UI ui)

◆ ui_comp_compose_grid()

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.

◆ ui_comp_detach()

void ui_comp_detach ( UI ui)

◆ ui_comp_init()

void ui_comp_init ( void  )

◆ ui_comp_mouse_focus()

ScreenGrid* ui_comp_mouse_focus ( int  row,
int  col 

◆ ui_comp_put_grid()

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

Places grid at (col,row) position with (width * height) size. Adds grid as the top layer if it is a new layer.

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()

◆ ui_comp_remove_grid()

void ui_comp_remove_grid ( ScreenGrid grid)

◆ ui_comp_set_grid()

bool ui_comp_set_grid ( handle_T  handle)

◆ ui_comp_set_screen_valid()

void ui_comp_set_screen_valid ( bool  valid)

The screen is invalid and will soon be cleared

Don't redraw floats until screen is cleared

◆ ui_comp_should_draw()

bool ui_comp_should_draw ( void  )

◆ ui_comp_syn_init()

void ui_comp_syn_init ( void  )