From 843c49eb0f7d3283fb2cf0b2eab8097690af865b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Kol=C3=A5s?= <pippin@gimp.org> Date: Wed, 13 Sep 2023 12:54:12 +0200 Subject: [PATCH] st3m,py: return set graphics mode rather than 0 when system mode is set --- components/st3m/st3m_gfx.c | 4 +++- python_payload/st3m/ui/elements/overlays.py | 14 ++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/components/st3m/st3m_gfx.c b/components/st3m/st3m_gfx.c index 2d9a5d185a..5c98b27319 100644 --- a/components/st3m/st3m_gfx.c +++ b/components/st3m/st3m_gfx.c @@ -341,7 +341,9 @@ st3m_gfx_mode st3m_gfx_set_mode(st3m_gfx_mode mode) { return mode; } -st3m_gfx_mode st3m_gfx_get_mode(void) { return _st3m_gfx_mode; } +st3m_gfx_mode st3m_gfx_get_mode(void) { + return _st3m_gfx_mode ? _st3m_gfx_mode : default_mode; +} uint8_t *st3m_gfx_fb(st3m_gfx_mode mode, int *width, int *height, int *stride) { st3m_gfx_mode set_mode = _st3m_gfx_mode ? _st3m_gfx_mode : default_mode; diff --git a/python_payload/st3m/ui/elements/overlays.py b/python_payload/st3m/ui/elements/overlays.py index 45f69690d7..82d8e8b493 100644 --- a/python_payload/st3m/ui/elements/overlays.py +++ b/python_payload/st3m/ui/elements/overlays.py @@ -80,18 +80,20 @@ class Compositor(Responder): def think(self, ins: InputState, delta_ms: int) -> None: self.main.think(ins, delta_ms) - if sys_display.get_mode() != 0: + if ( + sys_display.get_mode() & sys_display.osd == 0 + or settings.onoff_show_fps.value + ): return - if not settings.onoff_show_fps.value and not sys_display.get_mode() != 0: - for overlay in self._enabled_overlays(): - overlay.think(ins, delta_ms) + for overlay in self._enabled_overlays(): + overlay.think(ins, delta_ms) def draw(self, ctx: Context) -> None: global _clip_x0, _clip_y0, _clip_x1, _clip_y1 self.main.draw(ctx) - if sys_display.get_mode() != 0: + if (sys_display.get_mode() & sys_display.osd) == 0: return - octx = sys_display.ctx(256) # XXX add symbolic name for overlay + octx = sys_display.ctx(sys_display.osd) if settings.onoff_show_fps.value: _clip_x0 = 0 _clip_y1 = 0 -- GitLab