JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
DesignTokens.cpp File Reference
#include "HMI/Interface/DesignTokens.h"
#include <algorithm>
#include <array>
#include <cmath>
#include <cstdio>

Namespaces

namespace  hmi

Functions

DesignColor hmi::mixColor (DesignColor from, DesignColor to, float ratio) noexcept
const IdentityBaseScalehmi::identityBaseScale () noexcept
const char * hmi::genericCssFamily (FontRole role) noexcept
const DesignTokenshmi::identityTokens () noexcept
 Jetons de l'identité du jeu (menu principal, écran Options, jeu) : invariants, ne suivent jamais aucun réglage d'affichage (EX-IHM-050).
const DesignTokenshmi::editorDarkTokens () noexcept
 Jetons du châssis d'édition en thème sombre (défaut) : variables, editorLightTokens() (LOT-56 TACHE-06) en fournit un second jeu.
const DesignTokenshmi::editorLightTokens () noexcept
 Jetons du châssis d'édition en thème clair (LOT-56 TACHE-06) : mêmes rôles, mêmes échelles que editorDarkTokens() — seules les couleurs diffèrent, et pas par simple inversion (les écarts de luminosité entre bordures/lignes alternées/fond diffèrent en clair et en sombre).
DesignColor hmi::viewportClearColor (bool editorMode, const DesignTokens &activeEditorTokens) noexcept
 Couleur d'effacement du viewport (GameViewport), dérivée des jetons plutôt que d'une valeur littérale locale : fond de la portée variable en édition (suivant le thème actif de l'éditeur, LOT-56 TACHE-06), fond de la portée invariante en jeu et en essai — la seule surface qui appartient tour à tour aux deux portées.
std::string hmi::toCssColor (DesignColor color)
 Conversion pure : couleur -> chaîne CSS hexadécimale "#rrggbb" (minuscules, sans alpha — les feuilles de style Qt n'acceptent l'alpha que via rgba()).
std::string hmi::toCssRgba (DesignColor color)
 Conversion pure : couleur -> chaîne CSS "rgba(r, g, b, a)", composantes entières 0-255 (les feuilles de style Qt expriment l'alpha sur la même échelle que les autres composantes).
double hmi::relativeLuminance (DesignColor color) noexcept
 Luminance relative WCAG d'une couleur (0 = noir, 1 = blanc), pour le calcul de contraste.
double hmi::contrastRatio (DesignColor a, DesignColor b) noexcept
 Rapport de contraste WCAG entre deux couleurs (1 = aucun contraste, 21 = noir sur blanc).
std::unordered_map< std::string, std::string > hmi::buildStyleSheetValues (const DesignTokens &editorTokens, int identityScale=1)
 Table de substitution marqueur -> valeur pour le modèle de feuille de style (LOT-56 TACHE-02), à partir d'un jeu de jetons du châssis d'édition (portée variable) ; les marqueurs de préfixe "identity." sont toujours résolus depuis identityTokens() (portée invariante).