|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Opérations pures sur un tampon de pixels RGBA (atelier pixel art, LOT-54 TACHE-02). More...
Go to the source code of this file.
Classes | |
| struct | hmi::PixelRegion |
| Rectangle de pixels modifié par une opération (bornes incluses). More... | |
| struct | hmi::PixelClipboard |
| Contenu copié depuis un tampon (presse-papiers de l'atelier, LOT-54 TACHE-06). More... | |
Namespaces | |
| namespace | hmi |
Functions | |
| constexpr bool | hmi::pixelInBounds (int width, int height, int x, int y) noexcept |
| constexpr PixelRegion | hmi::unionPixelRegion (const PixelRegion &a, const PixelRegion &b) noexcept |
| Union de deux régions (la plus petite région couvrant les deux). | |
| PixelRegion | hmi::setPixel (DecodedImage &image, int x, int y, std::uint32_t color) |
| Pose un pixel d'une couleur donnée. | |
| PixelRegion | hmi::erasePixel (DecodedImage &image, int x, int y) |
| Efface un pixel (alpha nul), sans changer sa couleur RVB. | |
| PixelRegion | hmi::drawLine (DecodedImage &image, int x0, int y0, int x1, int y1, std::uint32_t color) |
| Trace une ligne pleine entre deux positions (algorithme de Bresenham). | |
| PixelRegion | hmi::eraseLine (DecodedImage &image, int x0, int y0, int x1, int y1) |
| Efface une ligne pleine entre deux positions (même tracé que drawLine, alpha nul plutôt qu'une couleur posée). | |
| PixelRegion | hmi::floodFill (DecodedImage &image, int x, int y, std::uint32_t color) |
| Remplit, de proche en proche, la zone connexe (4-connexité) de même couleur que le pixel de départ. | |
| std::optional< std::uint32_t > | hmi::pickColor (const DecodedImage &image, int x, int y) noexcept |
| Couleur du pixel à une position donnée (outil pipette). | |
| std::vector< std::uint32_t > | hmi::readRegion (const DecodedImage &image, const PixelRegion ®ion) |
| Copie les pixels d'une région, ligne par ligne — capture le « avant » ou l'« après » d'une entrée d'historique (hmi::PixelHistory). | |
| void | hmi::writeRegion (DecodedImage &image, const PixelRegion ®ion, const std::vector< std::uint32_t > &data) |
| Écrit des pixels dans une région — inverse de readRegion, utilisé par hmi::PixelHistory pour restaurer un instantané annulé/rétabli. | |
| PixelRegion | hmi::flipHorizontal (DecodedImage &image, const PixelRegion ®ion) |
| Retourne une région horizontalement (miroir gauche-droite), en place. | |
| PixelRegion | hmi::flipVertical (DecodedImage &image, const PixelRegion ®ion) |
| Retourne une région verticalement (miroir haut-bas), en place. | |
| PixelRegion | hmi::rotateClockwise (DecodedImage &image, const PixelRegion ®ion) |
| Pivote le contenu d'une région d'un quart de tour, sens horaire. | |
| PixelRegion | hmi::rotateCounterClockwise (DecodedImage &image, const PixelRegion ®ion) |
| Pivote le contenu d'une région d'un quart de tour, sens antihoraire (trois quarts de tour horaires, pour ne pas dupliquer la logique de rotation). | |
| PixelRegion | hmi::moveRegion (DecodedImage &image, const PixelRegion ®ion, int dx, int dy) |
| Déplace le contenu d'une région d'un décalage donné. | |
| PixelClipboard | hmi::copyRegion (const DecodedImage &image, const PixelRegion ®ion) |
Copie les pixels d'une région dans un presse-papiers autonome (ne référence plus image). | |
| PixelRegion | hmi::pasteClipboard (DecodedImage &image, const PixelClipboard &clipboard, int x, int y) |
| Colle un presse-papiers dans l'image, coin haut-gauche à (x, y). | |
Opérations pures sur un tampon de pixels RGBA (atelier pixel art, LOT-54 TACHE-02).
Fonctions libres, sans état, sans Qt ni GPU (EX-NFR-010) : ce que fait chaque outil du canevas (TACHE-03) sur hmi::DecodedImage — le même type que decodeImageFile/encodeImageFile (TACHE-01), pour que le canevas édite, charge et enregistre le même tampon sans conversion.