Browse Source

Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)

ocornut 1 year ago
parent
commit
daecfffefb
2 changed files with 4 additions and 0 deletions
  1. 2 0
      docs/CHANGELOG.txt
  2. 2 0
      imgui_draw.cpp

+ 2 - 0
docs/CHANGELOG.txt

@@ -43,6 +43,8 @@ Breaking changes:
 
 Other changes:
 
+- Text, DrawList: Improved handling of long single-line wrapped text. Faster and
+  mitigitate issues with reading vertex indexing limits with 16-bit indices.
 - Backends: SDL3: Fixed text inputs. Re-enable calling SDL_StartTextInput()/SDL_StopTextInput()
   as SDL3 no longer enables it by default. (#7452, #6306, #6071, #1953) [@Green-Sky]
 

+ 2 - 0
imgui_draw.cpp

@@ -4080,6 +4080,8 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, Im
             {
                 x = start_x;
                 y += line_height;
+                if (y > clip_rect.w)
+                    break; // break out of main loop
                 word_wrap_eol = NULL;
                 s = CalcWordWrapNextLineStartA(s, text_end); // Wrapping skips upcoming blanks
                 continue;