Zpět na projekty
TUIX v0.5Beta

Naposledy aktualizováno: 2026-05-20

API enginu

Modul engine vlastní inicializaci na úrovni procesu, vypnutí, jedno-snímkové vykonání, statistiky smyčky a zachycení myši.

MetodaJak ji použítProč existuje
engine.init() -> intZavolejte jednou před registrací builderů, tvorbou scén nebo objektů.Inicializuje nativní engine a registry, aby bylo C/Cython jádro připravené.
engine.shutdown() -> intVolejte při úklidu po zastavení vstupu a ukončení renderovací smyčky.Uvolní nativní stav na úrovni procesu a prostředky registry.
engine.main_loop() -> NoneVolejte jednou za snímek v aplikační smyčce.Spouští routování vstupu, layout, aktualizace builderů, kompozici a terminálový render.
engine.get_core_loop_stats() -> dictČtěte po snímcích při profilování nebo debugování chování frame.Vystavuje časování a stavové čítače bez zásahu do nativních internals.
engine.mouse_capture_begin(uid: int) -> intVolejte, když widget začne drag/capture interakci.Udrží routování událostí myši na stejné UID během pohybu ukazatele.
engine.mouse_capture_end(uid: int) -> intVolejte, když zachycený drag nebo pointer interakce skončí.Uvolní capture, aby se obnovilo běžné hitmap/focus routování.
engine.get_mouse_capture_uid() -> intPoužijte při debugování nebo koordinaci widgetů, které mohou zachytit myš.Hlásí, které UID právě vlastní zachycené routování myši.

Klíče loop stats

get_core_loop_stats() může obsahovat frame_counter, batch_commit_ms, cache_refresh_ms, input_ms, routing_ms, buffer_ms, composite_ms, python_commit_ms, total_ms, composite_skipped, composite_forced, traversal_cache_hit, traversal_cache_miss, size_changed, has_input, has_scene a has_subcycles.

Typické použití

engine.init()
builders.register_standard()
scenes.init_scene('Main')
scenes.select_scene('Main')
input.listen()

while running:
    engine.main_loop()

input.stop()
engine.shutdown()