|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Jetons de design de l'IHM Qt (LOT-56, EX-IHM-050, EX-IHM-051) : source unique des couleurs, espacements, typographie et tailles de l'application. More...
#include <cstdint>#include <string>#include <unordered_map>Go to the source code of this file.
Classes | |
| struct | hmi::DesignColor |
| Couleur RVBA pure (indépendante de Qt), convertible en chaîne CSS pour la feuille de style et directement décomposable pour construire une QColor/QPalette. More... | |
| struct | hmi::ColorTokens |
| Rôles de couleur, communs aux deux portées d'habillage. More... | |
| struct | hmi::SpacingTokens |
| Échelle d'espacement, en pixels logiques. More... | |
| struct | hmi::TypographyLevel |
| Un niveau de l'échelle typographique : taille en points et graisse (QFont::Weight, 1-1000). More... | |
| struct | hmi::TypographyTokens |
| Échelle typographique, par rôle — jamais de taille ponctuelle en dehors de cette échelle. More... | |
| struct | hmi::SizeTokens |
| Tailles d'icônes, de vignettes et de contrôles usuels, en pixels logiques (avant mise à l'échelle d'affichage, LOT-56 TACHE-05). More... | |
| struct | hmi::DesignTokens |
| Jeu complet de jetons de design d'une portée (identité invariante ou châssis variable). More... | |
| struct | hmi::IdentityBaseScale |
| Grandeurs de la portée identité, exprimées en pixels à l'échelle 1 (LOT-68, EX-IHM-070). More... | |
Namespaces | |
| namespace | hmi |
Enumerations | |
| enum class | hmi::FontRole { hmi::Ui , hmi::Identity } |
| Famille de police d'une portée (LOT-68, EX-IHM-070). More... | |
Functions | |
| const IdentityBaseScale & | hmi::identityBaseScale () noexcept |
| DesignColor | hmi::mixColor (DesignColor from, DesignColor to, float ratio) noexcept |
| const char * | hmi::genericCssFamily (FontRole role) noexcept |
| const DesignTokens & | hmi::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 DesignTokens & | hmi::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 DesignTokens & | hmi::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). | |
Jetons de design de l'IHM Qt (LOT-56, EX-IHM-050, EX-IHM-051) : source unique des couleurs, espacements, typographie et tailles de l'application.
Logique pure (aucune dépendance Qt/GPU), testable hors instance d'application (EX-NFR-010) — compilée à la fois dans JustAnotherDnDGame et directement dans UnitTests, comme hmi::ProceduralFont ou hmi::TileVisuals.
Deux portées d'habillage partagent la structure DesignTokens (mêmes rôles, mêmes échelles, mêmes tailles ; seules les couleurs diffèrent) :
Réutiliser la même structure pour les deux portées rend leur symétrie de rôles garantie par le système de types plutôt que par convention : un rôle ajouté à l'une existe nécessairement dans l'autre.