from __future__ import annotations from imgui_bundle import imgui from imgui_bundle import imgui_node_editor def imgui_begin(name: str, visible: bool = True, flags: int = 0): return _ImguiBegin(name, visible, flags) class _ImguiBegin: def __init__(self, name: str, visible: bool, flags: int): self._name = name self._visible = visible self._flags = flags self._result = None def __enter__(self): self._result = imgui.begin(self._name, self._visible, self._flags) return self._result def __exit__(self, *args): imgui.end() return False def imgui_begin_child(id_str: str, size_x: float = 0, size_y: float = 0, flags: int = 0): return _ImguiBeginChild(id_str, size_x, size_y, flags) class _ImguiBeginChild: def __init__(self, id_str: str, size_x: float, size_y: float, flags: int): self._id = id_str self._sx = size_x self._sy = size_y self._flags = flags def __enter__(self): return imgui.begin_child(self._id, self._sx, self._sy, self._flags) def __exit__(self, *args): imgui.end_child() return False def imgui_begin_table(name: str, columns: int, flags: int = 0): return _ImguiBeginTable(name, columns, flags) class _ImguiBeginTable: def __init__(self, name: str, columns: int, flags: int): self._name = name self._columns = columns self._flags = flags def __enter__(self): return imgui.begin_table(self._name, self._columns, self._flags) def __exit__(self, *args): imgui.end_table() return False def imgui_begin_menu_bar(): return _ImguiBeginMenuBar() class _ImguiBeginMenuBar: def __enter__(self): return imgui.begin_menu_bar() def __exit__(self, *args): imgui.end_menu_bar() return False def imgui_begin_menu(label: str): return _ImguiBeginMenu(label) class _ImguiBeginMenu: def __init__(self, label: str): self._label = label def __enter__(self): return imgui.begin_menu(self._label) def __exit__(self, *args): imgui.end_menu() return False def imgui_begin_popup(id_str: str): return _ImguiBeginPopup(id_str) class _ImguiBeginPopup: def __init__(self, id_str: str): self._id = id_str def __enter__(self): return imgui.begin_popup(self._id) def __exit__(self, *args): imgui.end_popup() return False def imgui_begin_tooltip(): return _ImguiBeginTooltip() class _ImguiBeginTooltip: def __enter__(self): return imgui.begin_tooltip() def __exit__(self, *args): imgui.end_tooltip() return False def imgui_begin_group(): return _ImguiBeginGroup() class _ImguiBeginGroup: def __enter__(self): return imgui.begin_group() def __exit__(self, *args): imgui.end_group() return False def node_begin(name: str): return _NodeBegin(name) class _NodeBegin: def __init__(self, name: str): self._name = name def __enter__(self): return imgui_node_editor.begin(self._name) def __exit__(self, *args): imgui_node_editor.end() return False