feat(gui): Migrate _render_shader_live_editor to imgui_window scope

This commit is contained in:
2026-05-11 23:11:56 -04:00
parent af1e484d0c
commit f1ca3751c8
4 changed files with 19 additions and 18 deletions
+5 -7
View File
@@ -779,13 +779,11 @@ class App:
[C: tests/test_shader_live_editor.py:test_shader_live_editor_renders]
"""
if self.show_windows.get('Shader Editor', False):
exp, opened = imgui.begin('Shader Editor', self.show_windows['Shader Editor'])
self.show_windows['Shader Editor'] = bool(opened)
if exp:
changed_crt, self.shader_uniforms['crt'] = imgui.slider_float('CRT Curvature', self.shader_uniforms['crt'], 0.0, 2.0)
changed_scan, self.shader_uniforms['scanline'] = imgui.slider_float('Scanline Intensity', self.shader_uniforms['scanline'], 0.0, 1.0)
changed_bloom, self.shader_uniforms['bloom'] = imgui.slider_float('Bloom Threshold', self.shader_uniforms['bloom'], 0.0, 1.0)
imgui.end()
with imgui_window('Shader Editor', self.show_windows['Shader Editor']) as window_result:
if window_result:
changed_crt, self.shader_uniforms['crt'] = imgui.slider_float('CRT Curvature', self.shader_uniforms['crt'], 0.0, 2.0)
changed_scan, self.shader_uniforms['scanline'] = imgui.slider_float('Scanline Intensity', self.shader_uniforms['scanline'], 0.0, 1.0)
changed_bloom, self.shader_uniforms['bloom'] = imgui.slider_float('Bloom Threshold', self.shader_uniforms['bloom'], 0.0, 1.0)
def _render_history_window(self) -> None:
if not self.show_windows.get('Undo/Redo History', False):
+6 -6
View File
@@ -20,13 +20,13 @@ class ImGuiScope:
self._entered = False
def __enter__(self) -> bool | tuple:
result = self._begin_fn(*self._args, **self._kwargs)
if isinstance(result, tuple):
self._opened = result[0]
self._opened = self._begin_fn(*self._args, **self._kwargs)
if isinstance(self._opened, tuple):
self._entered = bool(self._opened[0])
return self._opened
else:
self._opened = result
self._entered = bool(self._opened)
return self._opened
self._entered = bool(self._opened)
return self._opened
def __exit__(self, *args: object) -> bool:
if self._entered: