added first and last visible line to wrapped text structure
authorHolger Schemel <holger.schemel@virtion.de>
Mon, 14 Oct 2024 21:23:42 +0000 (23:23 +0200)
committerHolger Schemel <holger.schemel@virtion.de>
Mon, 14 Oct 2024 21:23:42 +0000 (23:23 +0200)
src/libgame/text.c
src/libgame/text.h

index 88a9c248e7d43c84297c47927ef95acaef8570e6..0f1c05f9157a605f55b140af27c112fbc526457e 100644 (file)
@@ -768,6 +768,8 @@ int DrawWrappedText(int x, int y, struct WrappedTextInfo *wrapped_text, int star
   if (start_pos >= wrapped_text->num_lines)
     return 0;
 
+  wrapped_text->line_visible_first = start_pos;
+
   for (i = start_pos; i < wrapped_text->num_lines; i++)
   {
     int font_nr = wrapped_text->line[i].font_nr;
@@ -786,6 +788,8 @@ int DrawWrappedText(int x, int y, struct WrappedTextInfo *wrapped_text, int star
     current_line++;
   }
 
+  wrapped_text->line_visible_last = start_pos + current_line - 1;
+
   return current_line;
 }
 
index 06b2a43916c7c99d6426f2ec2a506f4ee5cf124c..2beecb18e8acd9f24d69d744867d7e7a43e4940c 100644 (file)
@@ -111,6 +111,8 @@ struct WrappedTextInfo
   // internal info for processing lines
   int line_width, cut_length, max_height;
   int line_spacing, mask_mode;
+  int line_visible_first;
+  int line_visible_last;
 };