JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
IdentityScale.h File Reference

Facteur d'agrandissement entier des écrans du jeu (LOT-66, EX-IHM-070). More...

Go to the source code of this file.

Namespaces

namespace  hmi

Functions

int hmi::identityScaleFor (int windowLogicalHeight) noexcept
 Facteur d'agrandissement des écrans du jeu pour une hauteur de fenêtre donnée.
int hmi::identityScaleForDisplay (int windowLogicalHeight, int availableLogicalHeight) noexcept
 Facteur d'agrandissement borné par la zone d'affichage réellement disponible (EX-IHM-081).

Variables

constexpr int hmi::IDENTITY_BASE_HEIGHT = 360
 Hauteur, en pixels logiques, de la maquette à l'échelle 1.
constexpr int hmi::IDENTITY_MAX_SCALE = 3
 Plus grand facteur admis.

Detailed Description

Facteur d'agrandissement entier des écrans du jeu (LOT-66, EX-IHM-070).

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/Interface/DesignTokens.cpp. Même découpage que hmi::thumbnailPixelSize : cette fonction décide de combien agrandir, la couche Qt (hmi::applyStyleSheet) décide quoi multiplier.

Pourquoi le facteur reste entier après la sortie du pixel art
Le LOT-68 l'exigeait pour une raison qui n'existe plus : le filtrage au plus proche voisin ne sait pas rendre une bordure d'un pixel et demi. La charte parchemin du LOT-66 peint des traits anticrénelés, que rien n'oblige à tomber sur la grille. Le facteur reste néanmoins entier pour une seconde raison, elle intacte : toutes les grandeurs d'identité passent par la feuille de style, dont les longueurs sont des entiers de pixels. À 1,5×, un trait d'une unité et un filet d'une unité s'arrondissent tous deux à 2 px — l'encadrement perd sa réserve de parchemin et se lit comme une bordure épaisse, sans qu'aucune erreur ne soit levée.

Une échelle fractionnaire ne serait donc pas floue : elle serait fausse, et silencieuse.