TUIX v0.5Beta
Začínáme s TUIX Core
Tento průvodce ukazuje standardní flow ve v0.5: inicializovat engine, zaregistrovat buildry, 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 engine, builders, scenes, registry, objects, buffers, inputStandardní workflow
- Zavolejte engine.init().
- Před tvorbou objektů zavolejte builders.register_standard().
- Vytvořte scénu přes scenes.init_scene("Main") a vyberte ji pomocí scenes.select_scene("Main") nebo registry.registry.current_scene_name.
- Pro interaktivní widgety spusťte input.listen().
- Vytvářejte objekty pomocí objects.create_object(...).
- Pro každý snímek zavolejte engine.main_loop().
- Při úklidu zastavte vstup a vypněte engine.
Minimální příklad
from tuix.core import engine, builders, scenes, objects, input
engine.init()
builders.register_standard()
scenes.init_scene('Main')
scenes.select_scene('Main')
input.listen()
uid = objects.create_object(builders.TEXT, '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.5')
objects.tuix_text_set_fg(obj, 120, 220, 160)
for _ in range(5):
engine.main_loop()
input.stop()
engine.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, často přes persistentní pixel buffery.
- Kompozitor clipuje viewporty, sestaví hitmapu, sloučí buffery a renderer zapisuje terminálem viditelné rozdíly.