|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Métriques de police bitmap, mesure pure de texte, lecture JSON et repli procédural (LOT-52) — logique pure, sans GPU ni Qt (EX-NFR-010). More...
#include <cstddef>#include <cstdint>#include <filesystem>#include <optional>#include <string>#include <string_view>#include <unordered_map>#include <vector>#include "HMI/Graphics/AssetContract.h"Go to the source code of this file.
Classes | |
| struct | hmi::GlyphMetrics |
| Position, taille et avance horizontale d'un glyphe dans l'atlas de police, en pixels. More... | |
| struct | hmi::FontMetrics |
| Métriques d'une police bitmap : région et avance de chaque point de code couvert. More... | |
| struct | hmi::TextExtent |
| Dimensions mesurées d'un texte, en pixels (à l'échelle demandée). More... | |
| struct | hmi::ProceduralFontImage |
| Pixels d'un atlas de police généré en mémoire, au format R8G8B8A8_UNORM (ordre mémoire R,G,B,A), ligne par ligne (haut en bas). More... | |
| struct | hmi::ProceduralFont |
| Atlas de police procédural complet : ses pixels et les métriques qui les décrivent. More... | |
| struct | hmi::FontMetricsResult |
| Résultat d'une lecture de métriques : soit des FontMetrics, soit une erreur décrite. More... | |
Namespaces | |
| namespace | hmi |
Enumerations | |
| enum class | hmi::FontMetricsError { hmi::None , hmi::FileNotFound , hmi::ParseError , hmi::UnsupportedVersion , hmi::MalformedStructure } |
| Catégorie d'échec de lecture d'un fichier de métriques (même esprit que hmi::AnimationCatalogError). More... | |
Functions | |
| char32_t | hmi::nextUtf8CodePoint (std::string_view text, std::size_t &index) noexcept |
| Décode le point de code UTF-8 suivant d'une chaîne. | |
| TextExtent | hmi::measureText (const FontMetrics &metrics, std::string_view text, float scale=1.0f) noexcept |
| Largeur et hauteur qu'occuperait text avec metrics, à l'échelle scale. | |
| ProceduralFont | hmi::buildProceduralFont () |
| Génère, en mémoire, une police bitmap minimale et déterministe (repli sans asset). | |
| FontMetricsResult | hmi::loadFontMetricsFromString (std::string_view json) |
| Lit des métriques de police depuis une chaîne JSON. | |
| FontMetricsResult | hmi::loadFontMetricsFromFile (const std::filesystem::path &path) |
| Lit des métriques de police depuis un fichier. | |
| AssetValidation | hmi::validateFontMetricsAgainstTexture (const FontMetrics &metrics, const std::string &fileName, int textureWidth, int textureHeight) |
| Valide la cohérence entre des métriques et les dimensions décodées du PNG associé. | |
Variables | |
| constexpr int | hmi::FONT_METRICS_FORMAT_VERSION = 1 |
| Version du format de métriques écrite dans le fichier, et plus élevée qui soit lue (hmi::loadFontMetricsFromString). | |
Métriques de police bitmap, mesure pure de texte, lecture JSON et repli procédural (LOT-52) — logique pure, sans GPU ni Qt (EX-NFR-010).