TUIX v0.6Beta
Začínáme s TUIX Core
Tento průvodce ukazuje standardní flow ve v0.6: inicializovat core, zaregistrovat buildry přes content_builder, vytvořit/vybrat scénu, spustit vstup pro interaktivní aplikace, vytvořit widgety, spouštět snímky a uklidit.
Doporučené pořadí čtení
- Nainstalujte TUIX Core a ověřte importy.
- Vytvořte příklad prvního widgetu.
- Před skládáním větších obrazovek si přečtěte Widgety, Layout API a Zpracování vstupu.
Předpoklady
- Python 3.10 nebo novější.
- Terminál s podporou ANSI escape sekvencí.
- Cython 0.29 nebo novější a C kompilátor pouze při buildu ze zdroje.
Import pattern
from tuix.core import core, scene, buffer, content_builder, input
from tuix.core import object as objectsStandardní workflow
- Zavolejte core.init().
- Před tvorbou objektů zavolejte content_builder.register_standard().
- Vytvořte scénu přes scene.init_scene(b"Main") a vyberte ji pomocí scene.select_scene(b"Main").
- Pro interaktivní widgety spusťte input.listen().
- Vytvářejte objekty pomocí objects.create_object(...).
- Pro každý snímek zavolejte core.main_loop() v aplikační smyčce.
- Při úklidu zastavte vstup a vypněte core.
Minimální příklad
from tuix.core import core, scene, content_builder, input
from tuix.core import object as objects
core.init()
content_builder.register_standard()
scene.init_scene(b'Main')
scene.select_scene(b'Main')
input.listen()
uid = objects.create_object(content_builder.TEXT, b'Main', 0.5, 0.1, 0.05, 0.05)
obj = objects.get_object_by_uid(uid)
objects.tuix_text_set_text(obj, 'Hello from TUIX 0.6')
objects.tuix_text_set_fg(obj, 120, 220, 160)
for _ in range(5):
core.main_loop()
input.stop()
core.shutdown()Co se děje v každém snímku
- Vstup se čte z nativních front a routuje se na fokusované, zachycené, modální nebo přes hitmapu vybrané widgety.
- Geometrie se řeší z proporcionálních modifikátorů, výsledků parent layoutu, layout slotů a grid placementu.
- Buildry aktualizují stav a poskytují pixely řízené politikou TuixPixelReturnPolicy (persistentní nebo dočasné buffery vlastněné jádrem).
- Kompozitor ořezává viewporty, sestaví hitmapu, skládá buffery s ohledem na masku vykreslení a renderer zapisuje terminálem viditelné rozdíly.