fix(float): fix float window border drawing with winbar

This commit is contained in:
zeertzjq 2022-05-27 19:29:42 +08:00
parent 2966cfe21f
commit f7d6f472f7
2 changed files with 47 additions and 1 deletions

View File

@ -5493,7 +5493,7 @@ static void win_redr_border(win_T *wp)
int *attrs = wp->w_float_config.border_attr; int *attrs = wp->w_float_config.border_attr;
int *adj = wp->w_border_adj; int *adj = wp->w_border_adj;
int irow = wp->w_height_inner, icol = wp->w_width_inner; int irow = wp->w_height_inner + wp->w_winbar_height, icol = wp->w_width_inner;
if (adj[0]) { if (adj[0]) {
grid_puts_line_start(grid, 0); grid_puts_line_start(grid, 0);

View File

@ -7895,6 +7895,52 @@ describe('float window', function()
| |
]]} ]]}
end end
-- add a border
meths.win_set_config(win1, {relative='editor', width=15, height=3, row=0, col=4, border = 'single'})
if multigrid then
screen:expect{grid=[[
## grid 1
[2:----------------------------------------]|
[2:----------------------------------------]|
[2:----------------------------------------]|
[2:----------------------------------------]|
[2:----------------------------------------]|
[2:----------------------------------------]|
[3:----------------------------------------]|
## grid 2
^ |
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
## grid 3
|
## grid 4
{5:}|
{5:}{3:floaty bar }{5:}|
{5:}{1: }{5:}|
{5:}{2:~ }{5:}|
{5:}|
]], float_pos={
[4] = {{id = 1001}, "NW", 1, 0, 4, true, 50};
}, win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1};
[4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1};
}}
else
screen:expect{grid=[[
^ {5:} |
{0:~ }{5:}{3:floaty bar }{5:}{0: }|
{0:~ }{5:}{1: }{5:}{0: }|
{0:~ }{5:}{2:~ }{5:}{0: }|
{0:~ }{5:}{0: }|
{0:~ }|
|
]]}
end
end) end)
end end