URL: https://linuxfr.org/users/linkdd/journaux/clay-style-sheet Title: Clay Style Sheet Authors: David Delassus Date: 2025年07月30日T04:37:30+02:00 License: CC By-SA Tags: jeu_vidéo, clay, c++ et programmation Score: 14 Bonjour Nal! Je dois me confesser, aujourd'hui, j'ai craqué. J'ai succombé à ce que l'on appelle "l'over engineering". Depuis quelques temps, je développe un jeu de plateau&carte en C++, inspiré des échecs et de Magic The Gathering. Pour l'interface graphique du jeu (menus, boutons, etc...), j'ai décidé d'utiliser [Clay](https://github.com/nicbarker/clay). C'est une bibliothèque C qui s'inspire pas mal des CSS Flexbox pour la disposition des éléments de ton interface graphique. J'ai fait un moteur de rendu pour Clay avec [NanoVG](https://github.com/memononen/nanovg/), j'en ai un peu parlé [ici](https://dev.to/linkdd/roll-your-own-in-game-ui-with-clay-and-nanovg-part-1-2em0) (l'écriture de la 3è partie concernant l'intégration de `stb_textedit` est en cours). Mais voilà, je dois gérer maintenant le style de mon interface graphique en C++. J'ai des monts de code copié/collé partout, c'est pas facile à maintenir. **C'est l'excuse parfaite pour procrastiner au lieu d'avancer sur le jeu !** J'ai donc ajouté la bibliothèque [lexy](https://lexy.foonathan.net/) à mon projet, et j'ai créé un parser pour un dialecte de CSS. Je l'ai nommé "Clay Style Sheet". C'est de l'over-engineering comme on en fait plus. Je n'avais pas vraiment besoin de ça, mais c'était amusant à faire. Je te partage le code si tu es curieux et que tu veux avoir les yeux qui saignent en lisant 1500 lignes de code C++ : https://gist.github.com/linkdd/03389d8907c0cef7d07f551865b54d8f

AltStyle によって変換されたページ (->オリジナル) /