Zpět na projekty
TUIX v0.5Beta

Naposledy aktualizováno: 2026-05-20

API bufferů

Modul buffers je bezpečný veřejný povrch pro lifecycle bufferů, hierarchii, z-index, layout override, grid placement a snapshoty.

MetodaJak ji použítProč existuje
buffers.free_buffer(scene_name, uid) -> NoneUvolněte konkrétní UID objektu/bufferu při odstranění ze scény.Uvolňuje nativní prostředky bufferu/objektu bez čištění celé scény.
buffers.set_buffer_parent(scene_name, uid, parent_uid) -> intPřipojte existující buffer pod parent buffer.Buduje hierarchii pro vnořený layout, clipping a traversal-order kompozici.
buffers.get_buffer_parent(scene_name, uid) -> intČtěte parent UID při debugování hierarchie nebo odpojování dětí.Umožňuje aplikaci bezpečně zkontrolovat aktuální hierarchický vztah.
buffers.get_buffer_z_index(scene_name, uid) -> intČtěte z-index root bufferu pro diagnostiku nebo ordering UI.Vystavuje pořadí kreslení bez čtení raw paměti bufferu.
buffers.set_buffer_z_index(scene_name, uid, z_index) -> intNastavte root-level vrstvení pro překrývající se widgety.Řídí painter order celé scény při zachování traversal dětí.
buffers.set_buffer_layout_slot_by_uid(uid, *, grow=0.0, shrink=1.0, basis=-1, min_w=0, min_h=0, max_w=-1, max_h=-1, align_self=-1, grid_row=0, grid_col=0, row_span=1, col_span=1) -> intNakonfigurujte, jak se dítě účastní Row, Column nebo Grid layoutu.Dává parent layout builderům typované constrainty a placement data dětí.
buffers.get_buffer_layout_slot_by_uid(uid) -> dict | NoneZkontrolujte layout slot dítěte při debugování layout výstupu.Ukazuje grow, shrink, min/max, align a grid pole bez raw přístupu.
buffers.set_buffer_layout_rect_by_uid(uid, offset_left, offset_top, width, height) -> intZapište explicitní obdélník v terminálových buňkách pro child buffer.Umožňuje layout builderům nebo pokročilým aplikacím přepsat finální geometrii dítěte.
buffers.clear_buffer_layout_rect_by_uid(uid) -> intOdstraňte explicitní override layout obdélníku.Vrátí dítě do běžného proporcionálního nebo parent-driven layoutu.
buffers.set_buffer_grid_placement_by_uid(uid, row, col, row_span=1, col_span=1) -> intUmístěte dítě do řádků a sloupců Gridu.Poskytuje stručný helper pro nejběžnější grid slot pole.
buffers.get_buffer_snapshot(scene_name, uid) -> dict | NoneČtěte stav bufferu pro známou scénu a UID.Poskytuje lock-safe inspekci geometrie, vlastnictví, hierarchie a layout dat.
buffers.get_buffer_snapshot_by_uid(uid) -> dict | NoneČtěte stav bufferu, když znáte UID a lookup scény má být automatický.Zjednodušuje diagnostiku a wrappery, které globálně sledují UID.

Klíče snapshotu

Snapshoty bufferů mohou obsahovat uid, pixels_owned, width, height, required_redraw, margin_left, margin_top, parent_uid, z_index, flat_index, children_count, children_capacity, layout_slot a layout_rect.

Příklad layoutu

row_uid = objects.create_object(builders.ROW, 'Main', 0.9, 0.2, 0.05, 0.05)
row = objects.get_object_by_uid(row_uid)
child_uid = objects.tuix_stack_add_object(row, 'Main', builders.TEXT, 1.0, 1.0)

buffers.set_buffer_layout_slot_by_uid(child_uid, grow=1.0, min_w=12)
snap = buffers.get_buffer_snapshot_by_uid(child_uid)