Fix T97310: BLF Line Height While Text Wrapping

Fix word-wrapped tooltip text not showing by aligning to pixel grid.

See D14639 for more details.

Differential Revision: https://developer.blender.org/D14639

Reviewed by Campbell Barton
This commit is contained in:
Harley Acheson 2022-04-13 17:45:32 -07:00
parent 8e4c3c6a24
commit 8826db8f03
Notes: blender-bot 2024-01-16 18:05:25 +01:00
Referenced by issue #97310, Tooltips broken after recent BLF commit
2 changed files with 4 additions and 2 deletions

View File

@ -921,6 +921,9 @@ static void blf_font_wrap_apply(FontBLF *font,
int lines = 0;
ft_pix pen_x_next = 0;
/* Space between lines needs to be aligned to the pixel grid (T97310). */
ft_pix line_height = FT_PIX_FLOOR(blf_font_height_max_ft_pix(font));
GlyphCacheBLF *gc = blf_glyph_cache_acquire(font);
struct WordWrapVars {
@ -978,7 +981,7 @@ static void blf_font_wrap_apply(FontBLF *font,
wrap.start = wrap.last[0];
i = wrap.last[1];
pen_x = 0;
pen_y -= blf_font_height_max_ft_pix(font);
pen_y -= line_height;
g_prev = NULL;
lines += 1;
continue;

View File

@ -76,7 +76,6 @@ BLI_INLINE ft_pix ft_pix_round_advance(ft_pix v, ft_pix step)
return FT_PIX_DEFAULT_ROUNDING(v) + FT_PIX_DEFAULT_ROUNDING(step);
}
#undef FT_PIX_FLOOR
#undef FT_PIX_ROUND
#undef FT_PIX_CEIL
#undef FT_PIX_DEFAULT_ROUNDING