Zpět na projekty
TUIX v0.6Beta

Naposledy aktualizováno: 2026-08-14

API scén

Balíček tuix.core.scene vlastní lifecycle scén, výběr, focus, modální stav, transakce, statistiky a kompaktaci studených scén.

MetodaJak ji použítProč existuje
scene.tuix_scene_init(name: bytes) -> intAlokuje novou pojmenovanou scénu v nativním registru.Musí být zavoláno před přidáním bufferů nebo objektů. Vrací TUIX_RC_OK (0).
scene.tuix_scene_free(name: bytes) -> NoneZničí scénu a dealokuje všechny její buffery a objekty.Uvolní nativní paměť, když už scéna není potřeba.
scene.tuix_scene_clear(name: bytes) -> NoneVymaže všechny buffery ze scény při zachování aktivní alokace scény.Použijte pro dynamický reset scény bez nutnosti znovu vytvářet metadata.
scene.tuix_scene_get(name: bytes) -> intVrátí nativní ukazatel na strukturu scény.Interní překlad ukazatele pro operace nativního přemostění.
scene.tuix_scene_get_all() -> list[bytes]Vrátí seznam všech aktivních názvů scén v registru.Umožňuje introspekci a správu více scén.
scene.tuix_scene_select(name: bytes) -> NoneVybere aktivní scénu pro renderování a směrování vstupu.Přepne zobrazenou UI obrazovku.
scene.tuix_scene_focus_set(scene_name: bytes, uid: int) -> intNastaví aktivní klávesový focus na zadané UID objektu.Směruje stisky kláves do fokusovaného interaktivního widgetu.
scene.tuix_scene_focus_previous(scene_name: bytes) -> intObnoví předchozí fokusované UID widgetu.Užitečné pro návrat fokusu po zavření dialogu.
scene.tuix_scene_modal_activate(scene_name: bytes, uid: int) -> intAktivuje modální zachycení vstupu pro zadané UID dialogu.Zabraňuje proniknutí vstupu do podkladových widgetů.
scene.tuix_scene_modal_deactivate(scene_name: bytes, uid: int) -> intDeaktivuje modální stav a obnoví běžné směrování vstupu scény.Ukončí modální zachycení při zavření dialogu.
scene.tuix_scene_modal_get_active(scene_name: bytes) -> intVrátí UID aktuálně aktivního modálního widgetu ve scéně, nebo 0.Zjišťuje stav aktivního modálního překryvu.
scene.tuix_scene_transaction_begin(scene_name: bytes) -> NoneZahájí atomickou transakci na bufferech scény.Sdružuje více mutací widgetů před vykreslením.
scene.tuix_scene_transaction_commit(scene_name: bytes) -> NonePotvrdí otevřenou transakci a vyvolá přepočet kompozitoru.Aplikuje všechny bufferované mutace scény atomicky.
scene.tuix_scene_force_redraw(scene_name: bytes) -> NoneVynutí bezpodmínečné plné překreslení scény v dalším snímku.Invaliduje nacachovaný stav kompozice a obrazovky.
scene.tuix_scene_get_stats(scene_name: bytes) -> dictVrací slovník statistik scény (buffer_count, focus_uid, modal_uid, pixel_bytes).Umožňuje profilování paměti a diagnostiku UI.
scene.tuix_scene_compact_pixels(scene_name: bytes) -> intUvolní nevyužité alokace pixelových bufferů ve scéně.Vrací celkový počet uvolněných bajtů paměti.
scene.tuix_scene_compact_cold(cold_frames: int, min_pixel_bytes: int = 0, keep_active_scene: bool = True) -> intZkompaktuje pixelové úložiště pro scény, které nebyly aktivní po dobu cold_frames.Automatická údržba paměti na pozadí pro víceobrazovkové aplikace.

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(content_builder.DIALOG, b'Main', 0.7, 0.5, 0.2, 0.15)
dialog = objects.get_object_by_uid(dialog_uid)
objects.tuix_dialog_activate(dialog, b'Main')

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