mirror of
https://github.com/vim/vim.git
synced 2025-07-24 10:45:12 -04:00
patch 8.2.2132: padding not drawn properly for popup window with title
Problem: Padding not drawn properly for popup window with title. Solution: Draw the padding below the title. (closes #7460)
This commit is contained in:
parent
709664cca0
commit
3ae50c775c
@ -3868,20 +3868,19 @@ update_popups(void (*win_update)(win_T *wp))
|
|||||||
}
|
}
|
||||||
if (top_padding > 0)
|
if (top_padding > 0)
|
||||||
{
|
{
|
||||||
// top padding; do not draw over the title
|
|
||||||
row = wp->w_winrow + wp->w_popup_border[0];
|
row = wp->w_winrow + wp->w_popup_border[0];
|
||||||
if (title_len > 0)
|
if (title_len > 0 && row == wp->w_winrow)
|
||||||
{
|
{
|
||||||
screen_fill(row, row + top_padding, padcol, title_wincol,
|
// top padding and no border; do not draw over the title
|
||||||
|
screen_fill(row, row + 1, padcol, title_wincol,
|
||||||
' ', ' ', popup_attr);
|
' ', ' ', popup_attr);
|
||||||
screen_fill(row, row + top_padding, title_wincol + title_len,
|
screen_fill(row, row + 1, title_wincol + title_len,
|
||||||
padendcol, ' ', ' ', popup_attr);
|
padendcol, ' ', ' ', popup_attr);
|
||||||
|
row += 1;
|
||||||
|
top_padding -= 1;
|
||||||
}
|
}
|
||||||
else
|
screen_fill(row, row + top_padding, padcol, padendcol,
|
||||||
{
|
|
||||||
screen_fill(row, row + top_padding, padcol, padendcol,
|
|
||||||
' ', ' ', popup_attr);
|
' ', ' ', popup_attr);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compute scrollbar thumb position and size.
|
// Compute scrollbar thumb position and size.
|
||||||
|
10
src/testdir/dumps/Test_popupwin_longtitle_3.dump
Normal file
10
src/testdir/dumps/Test_popupwin_longtitle_3.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
>1+0&#ffffff0| @73
|
||||||
|
|2| @73
|
||||||
|
|3| @27| +0#0000001#ffd7ff255|T|i|t|l|e| @9| +0#0000000#ffffff0@29
|
||||||
|
|4| @27| +0#0000001#ffd7ff255@15| +0#0000000#ffffff0@29
|
||||||
|
|5| @27| +0#0000001#ffd7ff255@1|a@2| @10| +0#0000000#ffffff0@29
|
||||||
|
|6| @27| +0#0000001#ffd7ff255@1|b@2| @10| +0#0000000#ffffff0@29
|
||||||
|
|7| @27| +0#0000001#ffd7ff255@15| +0#0000000#ffffff0@29
|
||||||
|
|8| @27| +0#0000001#ffd7ff255@15| +0#0000000#ffffff0@29
|
||||||
|
|9| @73
|
||||||
|
|:| @55|1|,|1| @10|T|o|p|
|
10
src/testdir/dumps/Test_popupwin_longtitle_4.dump
Normal file
10
src/testdir/dumps/Test_popupwin_longtitle_4.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
>1+0&#ffffff0| @73
|
||||||
|
|2| @26|╔+0#0000001#ffd7ff255|T|i|t|l|e|═@10|╗| +0#0000000#ffffff0@28
|
||||||
|
|3| @26|║+0#0000001#ffd7ff255| @15|║| +0#0000000#ffffff0@28
|
||||||
|
|4| @26|║+0#0000001#ffd7ff255| @15|║| +0#0000000#ffffff0@28
|
||||||
|
|5| @26|║+0#0000001#ffd7ff255| @1|a@2| @10|║| +0#0000000#ffffff0@28
|
||||||
|
|6| @26|║+0#0000001#ffd7ff255| @1|b@2| @10|║| +0#0000000#ffffff0@28
|
||||||
|
|7| @26|║+0#0000001#ffd7ff255| @15|║| +0#0000000#ffffff0@28
|
||||||
|
|8| @26|║+0#0000001#ffd7ff255| @15|║| +0#0000000#ffffff0@28
|
||||||
|
|9| @26|╚+0#0000001#ffd7ff255|═@15|╝| +0#0000000#ffffff0@28
|
||||||
|
|:| @55|1|,|1| @10|T|o|p|
|
@ -1766,6 +1766,16 @@ func Test_popup_title()
|
|||||||
call term_sendkeys(buf, ":\<CR>")
|
call term_sendkeys(buf, ":\<CR>")
|
||||||
call VerifyScreenDump(buf, 'Test_popupwin_longtitle_2', {})
|
call VerifyScreenDump(buf, 'Test_popupwin_longtitle_2', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, ":call popup_clear()\<CR>")
|
||||||
|
call term_sendkeys(buf, ":call popup_create(['aaa', 'bbb'], #{title: 'Title', minwidth: 12, padding: [2, 2, 2, 2]})\<CR>")
|
||||||
|
call term_sendkeys(buf, ":\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_popupwin_longtitle_3', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, ":call popup_clear()\<CR>")
|
||||||
|
call term_sendkeys(buf, ":call popup_create(['aaa', 'bbb'], #{title: 'Title', minwidth: 12, border: [], padding: [2, 2, 2, 2]})\<CR>")
|
||||||
|
call term_sendkeys(buf, ":\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_popupwin_longtitle_4', {})
|
||||||
|
|
||||||
" clean up
|
" clean up
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
call delete('XtestPopupTitle')
|
call delete('XtestPopupTitle')
|
||||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2132,
|
||||||
/**/
|
/**/
|
||||||
2131,
|
2131,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user