Zpět na projekty
TUIX v0.6Beta

Naposledy aktualizováno: 2026-08-14

API bufferů

Balíček tuix.core.buffer je bezpečný veřejný povrch pro lifecycle bufferů, hierarchii, z-index, layout override, grid placement, dirty značkování, screen metriky a snapshoty.

MetodaJak ji použítProč existuje
buffer.tuix_buffer_free(scene_name: bytes, uid: int) -> NoneDealokuje úložiště bufferu pro dané UID objektu.Uvolní paměť pixelů.
buffer.tuix_buffer_set_parent(scene_name: bytes, uid: int, parent_uid: int) -> intPřipojí buffer UID do hierarchie potomků parent_uid.Vytváří vnořené stromy kontejnerů a layoutu.
buffer.tuix_buffer_get_parent(scene_name: bytes, uid: int) -> intVrátí UID nadřazeného bufferu, nebo 0 pro kořen.Průchod stromem a inspekce hierarchie.
buffer.tuix_buffer_get_z_index(scene_name: bytes, uid: int) -> intVrátí z-index vrstvení.Určuje pořadí vykreslování vrstev při kompozici.
buffer.tuix_buffer_set_z_index(scene_name: bytes, uid: int, z_index: int) -> intNastaví celočíselnou vrstvu z-indexu.Řídí prioritu překryvu a hloubky.
buffer.tuix_buffer_set_layout_slot_by_uid(uid: int, 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) -> intNakonfiguruje flex/stack layout omezení pro potomkovský buffer v kontejneru.Řídí flexibilní změnu velikosti, zarovnání a umístění ve stopách.
buffer.tuix_buffer_get_layout_slot_by_uid(uid: int) -> dictPřečte slovník parametrů nakonfigurovaného layout slotu.Zjišťuje layout omezení.
buffer.tuix_buffer_set_layout_rect_by_uid(uid: int, offset_left: int, offset_top: int, width: int, height: int) -> intNastaví explicitní obdélník layoutu v buňkách terminálu.Přepíše proporcionální výpočty přesnou buňkovou geometrií.
buffer.tuix_buffer_clear_layout_rect_by_uid(uid: int) -> intVymaže explicitní obdélník layoutu a vrátí buffer k proporcionálním modifikátorům.Obnoví výchozí chování layoutu.
buffer.tuix_buffer_set_grid_placement_by_uid(uid: int, row: int, col: int, row_span: int = 1, col_span: int = 1) -> intUmístí potomkovský buffer v rámci rodičovského Gridu.Nastaví indexy buněk mřížky a rozpětí řádků/sloupců.
buffer.tuix_buffer_get_screen_rect_by_uid(uid: int) -> tuple[int, int, int, int]Vrátí vyřešený obdélník obrazovky `(x, y, w, h)` v buňkách terminálu.Získá přesné vykreslené souřadnice na obrazovce.
buffer.tuix_buffer_get_screen_metrics_by_uid(uid: int) -> dictVrátí komplexní slovník metrik obrazovky (screen_x, screen_y, width, height, visible, z_index, parent_uid).Diagnostika a inspekce ohraničujících obdélníků.
buffer.tuix_buffer_mark_redraw_by_uid(uid: int) -> NoneZvýší generaci překreslení bufferu a označí jej jako dirty pro další renderovací průchod.Upozorní kompozitor na změny obsahu.
buffer.tuix_buffer_mark_children_geometry_dirty_by_uid(uid: int) -> NoneOznačí všechny potomkovské buffery jako dirty pro přepočet geometrie.Vyvolá rekurzivní přepočet layoutu při změně velikosti kontejneru.
buffer.tuix_buffer_get_snapshot_by_uid(uid: int) -> dictVrátí vláknově bezpečný slovníkový snapshot stavu bufferu a metadat pixelů.Read-only diagnostika a testování.

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(content_builder.ROW, b'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, b'Main', content_builder.TEXT, 1.0, 1.0)

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