Yoga est un moteur de mise en page flexbox intégrable et performant avec des liaisons pour plusieurs langues.
La principale implémentation de Yoga cible C++ 20 avec la logique de construction qui l'accompagne dans CMake. Un wrapper est fourni pour créer la bibliothèque principale et exécuter des tests unitaires.
./unit_tests < Debug | Release >
Bien que cela ne soit pas obligatoire, ce script utilisera Ninja s'il est installé pour des builds plus rapides.
Yoga fait également partie de la collection de ports vcpkg gérée par Microsoft et les contributeurs de la communauté. Si la version est obsolète, veuillez créer un problème ou une pull request sur le référentiel vcpkg.
De nombreux tests de Yoga sont générés automatiquement, à l'aide d'éléments HTML décrivant la structure des nœuds. Ceux-ci sont rendus dans Chrome pour générer un résultat de mise en page attendu pour l'arborescence. De nouveaux appareils peuvent être ajoutés à gentest/fixtures
.
< div id =" my_test " style =" width: 100px; height: 100px; align-items: center; " >
< div style =" width: 50px; height: 50px; " > </ div >
</ div >
Pour générer de nouveaux tests à partir d'appareils ajoutés :
yarn install
pour installer les dépendances pour le générateur de test.yarn gentest
dans le répertoire yoga
. Yoga fournit une configuration VSCode "launch.json" qui permet le débogage des tests unitaires. Ajoutez simplement vos points d'arrêt et exécutez "Debug C++ Unit tests (lldb)" (ou "Debug C++ Unit tests (vsdbg)" sous Windows).