TUIX v0.5Beta
API enginu
Modul engine vlastní inicializaci na úrovni procesu, vypnutí, jedno-snímkové vykonání, statistiky smyčky a zachycení myši.
| Metoda | Jak ji použít | Proč existuje |
|---|---|---|
| engine.init() -> int | Zavolejte 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() -> int | Volejte 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() -> None | Volejte 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) -> int | Volejte, 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) -> int | Volejte, když zachycený drag nebo pointer interakce skončí. | Uvolní capture, aby se obnovilo běžné hitmap/focus routování. |
| engine.get_mouse_capture_uid() -> int | Použ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()