comparison src/screen.c @ 18720:7f066dff9d70 v8.1.2351

patch 8.1.2351: 'wincolor' not used for > for not fitting double width char Commit: https://github.com/vim/vim/commit/92e25ab2df03756bbb8523cf871db29fe8819c13 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Nov 26 22:39:10 2019 +0100 patch 8.1.2351: 'wincolor' not used for > for not fitting double width char Problem: 'wincolor' not used for > for not fitting double width char. Also: popup drawn on right half of double width character looks wrong. Solution: Adjust color for > character. Clear left half of double width character if right half is being overwritten.
author Bram Moolenaar <Bram@vim.org>
date Tue, 26 Nov 2019 22:45:04 +0100
parents df141c730008
children 49b78d6465e5
comparison
equal deleted inserted replaced
18719:99586852c2db 18720:7f066dff9d70
457 off_to = LineOffset[row] + col + coloff; 457 off_to = LineOffset[row] + col + coloff;
458 off_from += col; 458 off_from += col;
459 endcol = (clear_width > 0 ? clear_width : -clear_width); 459 endcol = (clear_width > 0 ? clear_width : -clear_width);
460 } 460 }
461 #endif /* FEAT_RIGHTLEFT */ 461 #endif /* FEAT_RIGHTLEFT */
462
463 #ifdef FEAT_TEXT_PROP
464 // First char of a popup window may go on top of the right half of a
465 // double-wide character. Clear the left half to avoid it getting the popup
466 // window background color.
467 if (coloff > 0 && ScreenLines[off_to] == 0)
468 {
469 ScreenLines[off_to - 1] = ' ';
470 ScreenLinesUC[off_to - 1] = 0;
471 screen_char(off_to - 1, row, col + coloff - 1);
472 }
473 #endif
462 474
463 redraw_next = char_needs_redraw(off_from, off_to, endcol - col); 475 redraw_next = char_needs_redraw(off_from, off_to, endcol - col);
464 476
465 while (col < endcol) 477 while (col < endcol)
466 { 478 {