JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
hmi::PixelPalette Class Reference

Palette de couleurs nommées du projet, lue/écrite dans Assets/palettes.json. More...

#include <PixelPalette.h>

Public Member Functions

std::string toJsonString () const
bool saveToFile (const std::filesystem::path &path) const
 Écrit la palette dans un fichier, en créant les dossiers parents au besoin.
const std::vector< PixelPaletteEntry > & entries () const noexcept
void add (std::string name, std::uint32_t color)
 Ajoute une entrée en fin de palette.
bool removeAt (std::size_t index)
 Retire l'entrée index.
bool renameAt (std::size_t index, std::string newName)
 Renomme l'entrée index.
bool moveEntry (std::size_t from, std::size_t to)
 Déplace l'entrée from à la position to (réordonnancement).

Static Public Member Functions

static PixelPalette loadFromString (std::string_view json)
static PixelPalette loadFromFile (const std::filesystem::path &path)

Static Public Attributes

static constexpr int FORMAT_VERSION = 1
 Version du format écrite dans le fichier.

Private Attributes

std::vector< PixelPaletteEntry_entries

Detailed Description

Palette de couleurs nommées du projet, lue/écrite dans Assets/palettes.json.

Logique pure (aucune dépendance Qt/GPU au-delà de std::filesystem/JSON), testable en isolation (EX-NFR-010). Aucune lecture ni écriture ne lève d'exception (EX-NFR-040) : un fichier absent produit une palette vide, traitée comme un état de départ légitime — pas une erreur à signaler — et un fichier malformé ignore l'entrée fautive plutôt que d'abandonner toute la palette.

Member Function Documentation

◆ add()

void hmi::PixelPalette::add ( std::string name,
std::uint32_t color )

Ajoute une entrée en fin de palette.

◆ entries()

const std::vector< PixelPaletteEntry > & hmi::PixelPalette::entries ( ) const
inlinenodiscardnoexcept
Returns
Les entrées de la palette, dans l'ordre d'affichage/écriture.

◆ loadFromFile()

PixelPalette hmi::PixelPalette::loadFromFile ( const std::filesystem::path & path)
staticnodiscard
Returns
La palette lue depuis path ; vide si le fichier est absent ou illisible (état de départ légitime, pas une erreur). Ne lève jamais.

◆ loadFromString()

PixelPalette hmi::PixelPalette::loadFromString ( std::string_view json)
staticnodiscard
Returns
La palette lue depuis json ; vide (et journalisée) si malformée. Ne lève jamais.

◆ moveEntry()

bool hmi::PixelPalette::moveEntry ( std::size_t from,
std::size_t to )

Déplace l'entrée from à la position to (réordonnancement).

Returns
true si les deux index étaient valides.

◆ removeAt()

bool hmi::PixelPalette::removeAt ( std::size_t index)

Retire l'entrée index.

Returns
true si l'index était valide.

◆ renameAt()

bool hmi::PixelPalette::renameAt ( std::size_t index,
std::string newName )

Renomme l'entrée index.

Returns
true si l'index était valide.

◆ saveToFile()

bool hmi::PixelPalette::saveToFile ( const std::filesystem::path & path) const
nodiscard

Écrit la palette dans un fichier, en créant les dossiers parents au besoin.

Returns
true si l'écriture a réussi. Ne lève jamais.

◆ toJsonString()

std::string hmi::PixelPalette::toJsonString ( ) const
nodiscard
Returns
La représentation JSON de la palette, relisible par loadFromString.

Member Data Documentation

◆ _entries

std::vector<PixelPaletteEntry> hmi::PixelPalette::_entries
private

◆ FORMAT_VERSION

int hmi::PixelPalette::FORMAT_VERSION = 1
staticconstexpr

Version du format écrite dans le fichier.


The documentation for this class was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Editor/PixelPalette.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Editor/PixelPalette.cpp