Merge pull request #656 from ichizok/fix/tui-screen

Fix drawing screen in the case of TUI
This commit is contained in:
Kazuki Sakamoto
2018-03-24 01:03:39 -07:00
committed by GitHub
+26 -17
View File
@@ -6166,9 +6166,11 @@ screen_line(
hl = ScreenAttrs[off_to + CHAR_CELLS];
if (hl > HL_ALL)
hl = syn_attr2attr(hl);
# ifndef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
if (hl & HL_BOLD)
if ((hl & HL_BOLD)
# ifdef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
|| gui.in_use
# endif
)
redraw_this = TRUE;
}
#endif
@@ -6299,9 +6301,11 @@ screen_line(
hl = ScreenAttrs[off_to];
if (hl > HL_ALL)
hl = syn_attr2attr(hl);
# ifndef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
if (hl & HL_BOLD)
if ((hl & HL_BOLD)
# ifdef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
|| gui.in_use
# endif
)
redraw_next = TRUE;
}
#endif
@@ -6387,9 +6391,11 @@ screen_line(
if (gui.in_use && (col > startCol || !redraw_this))
{
hl = ScreenAttrs[off_to];
# ifndef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
if (hl > HL_ALL || (hl & HL_BOLD))
if (hl > HL_ALL || (hl & HL_BOLD)
# ifdef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
|| gui.in_use
# endif
)
{
int prev_cells = 1;
# ifdef FEAT_MBYTE
@@ -7591,9 +7597,11 @@ screen_puts_len(
if (n > HL_ALL)
n = syn_attr2attr(n);
# ifndef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
if (n & HL_BOLD)
if ((n & HL_BOLD)
# ifdef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
|| gui.in_use
# endif
)
force_redraw_next = TRUE;
}
#endif
@@ -8673,21 +8681,22 @@ screen_fill(
# endif
)
{
# ifndef FEAT_GUI_MACVIM
# ifdef FEAT_GUI_MACVIM
/* Mac OS X does subpixel antialiasing which often causes a
* glyph to spill over into neighboring cells. For this
* reason we always clear the neighboring glyphs whenever a
* glyph is cleared, just like other GUIs cope with the
* bold trick. */
if (gui.in_use)
force_next = (ScreenLines[off] != ' ');
else
# endif
if (ScreenLines[off] != ' '
&& (ScreenAttrs[off] > HL_ALL
|| ScreenAttrs[off] & HL_BOLD))
force_next = TRUE;
else
force_next = FALSE;
# else
/* Mac OS X does subpixel antialiasing which often causes a
* glyph to spill over into neighboring cells. For this
* reason we always clear the neighboring glyphs whenever a
* glyph is cleared, just like other GUIs cope with the
* bold trick. */
force_next = (ScreenLines[off] != ' ');
# endif
}
#endif
ScreenLines[off] = c;