ImFont::RenderText() additional early out (typically performed at TextUnformatted() level for large chunks but this is also useful) (#200)

This commit is contained in:
ocornut 2015-06-16 17:50:55 -06:00
parent 748837acfd
commit d06ad43dca

View File

@ -10092,8 +10092,10 @@ void ImFont::RenderText(float size, ImVec2 pos, ImU32 col, const ImVec4& clip_re
{
// Clipping on Y is more likely
float y1 = (float)(y + glyph->YOffset * scale);
if (y1 > clip_rect.w)
break;
float y2 = (float)(y1 + glyph->Height * scale);
if (y1 <= clip_rect.w && y2 >= clip_rect.y) // FIMXE-OPT: could fast-forward until next line
if (y2 >= clip_rect.y) // FIMXE-OPT: could fast-forward until next line (without breaking word-wrapping)
{
float x1 = (float)(x + glyph->XOffset * scale);
float x2 = (float)(x1 + glyph->Width * scale);