From 60079988bd939a10b5689a75fb339b7993f67a62 Mon Sep 17 00:00:00 2001 From: ocornut Date: Thu, 18 Jun 2015 12:41:48 -0600 Subject: [PATCH] ImFont::RenderText() faster handling of rendering above clipping rect (useful for #200) --- imgui.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/imgui.cpp b/imgui.cpp index be18ef93..60effb1a 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -10095,7 +10095,13 @@ void ImFont::RenderText(float size, ImVec2 pos, ImU32 col, const ImVec4& clip_re if (y1 > clip_rect.w) break; float y2 = (float)(y1 + glyph->Height * scale); - if (y2 >= clip_rect.y) // FIMXE-OPT: could fast-forward until next line (without breaking word-wrapping) + if (y2 < clip_rect.y) + { + // Fast-forward until next line + char_width = 0.0f; + while (s < text_end && *s != '\n') s++; + } + else { float x1 = (float)(x + glyph->XOffset * scale); float x2 = (float)(x1 + glyph->Width * scale);