Zpět na projekty
TUIX v0.5Beta

Naposledy aktualizováno: 2026-05-20

API scén

Modul scenes vlastní lifecycle scén, výběr, focus, modální stav, transakce, statistiky a kompaktaci.

MetodaJak ji použítProč existuje
scenes.init_scene(name: bytes | str) -> intVytvořte každou pojmenovanou obrazovku před přidáním objektů.Alokuje kontejner scény pro buffery, focus, modální stav a statistiky.
scenes.free_scene(name: bytes | str) -> NoneVolejte, když scéna už není potřeba.Odstraní scénu a uvolní její nativní prostředky.
scenes.clear_scene(name: bytes | str) -> NonePoužijte pro odstranění všech bufferů při zachování názvu scény.Resetuje obsah scény bez zničení objektu scény.
scenes.get_scene(name: bytes | str) -> intPoužívejte jen pro pokročilou diagnostiku vyžadující hodnotu nativního pointeru.Poskytuje únikovou cestu pro nízkoúrovňové integrace.
scenes.get_scenes() -> listČtěte při tvorbě přepínačů scén nebo debugování lifecycle.Hlásí registrované názvy scén.
scenes.select_scene(name: bytes | str) -> intPřepne aktivní renderování a cíl vstupu na scénu.Dělá přepínání scén explicitní a omezuje přímou mutaci registry.
scenes.set_focus(scene_name: bytes | str, uid: int) -> intNastavte klávesnicový focus, než očekáváte obsluhu kláves widgetem.Odděluje routování klávesnice od vizuálního hitmap pickingu.
scenes.set_previous_focus(scene_name: bytes | str) -> intObnovte focus po dočasných ovládacích prvcích nebo modálech.Drží historii fokusu ve scéně místo duplikace v aplikaci.
scenes.activate_modal(scene_name: bytes | str, uid: int) -> intAktivujte UID dialogu nebo modálního kontejneru.Omezí routování vstupu a fokusu na aktivní modální flow.
scenes.deactivate_modal(scene_name: bytes | str, uid: int) -> intVolejte, když se modal zavře nebo má uvolnit focus.Obnoví běžné routování scény po modální interakci.
scenes.get_active_modal(scene_name: bytes | str) -> intZkontrolujte, zda scéna právě má aktivní modální UID.Podporuje diagnostiku modalu a koordinaci na úrovni aplikace.
scenes.begin_transaction(scene_name: bytes | str) -> intSpusťte před dávkou souvisejících aktualizací widgetů.Seskupuje změny stavu, aby je scéna mohla potvrdit koherentně.
scenes.commit_transaction(scene_name: bytes | str) -> intVolejte po dokončení dávky aktualizací.Ukončí fázi seskupených aktualizací před dalšími snímky.
scenes.get_scene_stats(scene_name: bytes | str) -> dict | NoneČtěte periodicky pro diagnostiku, paměťová rozhodnutí nebo dashboardy.Bezpečně vystavuje počet bufferů, focus, aktivitu a odhady paměti.
scenes.compact_scene_pixels(scene_name: bytes | str) -> intVolejte, když má scéna uvolnit kompaktovatelné pixelové úložiště.Umožňuje aplikacím získat paměť zpět bez zničení scény.
scenes.compact_cold_scenes(cold_frames: int, min_pixel_bytes: int, keep_active_scene: bool = True) -> intSpouštějte jako údržbu pro neaktivní scény nad paměťovým prahem.Implementuje data-first úklid paměti podle stáří a pixelových bajtů.

Klíče statistik

get_scene_stats() při podpoře vrací dict. Očekávané klíče zahrnují buffer_count, active, current_focus, last_active_frame, last_compacted_frame, pixel_bytes a approx_heap_bytes.

dialog_uid = objects.create_object(builders.DIALOG, 'Main', 0.7, 0.5, 0.2, 0.15)
dialog = objects.get_object_by_uid(dialog_uid)
objects.tuix_dialog_activate(dialog, 'Main')

while running:
    engine.main_loop()
    if objects.tuix_dialog_take_close_requested(dialog):
        objects.tuix_dialog_deactivate(dialog, 'Main')
        break