From f5b8244d13d2117fc6da157233feb929189ae27f Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak <dos@dosowisko.net> Date: Sat, 25 Nov 2023 13:39:19 +0100 Subject: [PATCH] fil3s: Draw each line of text in Reader separately --- python_payload/apps/fil3s/reader.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/python_payload/apps/fil3s/reader.py b/python_payload/apps/fil3s/reader.py index 1949722b5c..39efad27d8 100644 --- a/python_payload/apps/fil3s/reader.py +++ b/python_payload/apps/fil3s/reader.py @@ -174,8 +174,16 @@ class Reader(ActionView): ctx.font_size = 32 else: ctx.font_size = 16 - ctx.move_to(self.viewport_offset[0], self.viewport_offset[1]) - ctx.text(f"{self.content}") + + line_height = ctx.font_size + + for i, line in enumerate(self.content): + x, y = self.viewport_offset[0], self.viewport_offset[1] + i * line_height + if y > 120 + line_height or y < -120 - line_height: + continue + ctx.move_to(x, y) + ctx.text(line) + ctx.restore() def _draw_media(self, ctx: Context) -> None: @@ -195,7 +203,7 @@ class Reader(ActionView): def _read_file(self) -> None: try: with open(self.path, "r", encoding="utf-8") as f: - self.content = f.read() + self.content = f.readlines() except: self.has_error = True -- GitLab