119 [[nodiscard]]
const std::string&
assetName() const noexcept {
176 void undo()
override;
180 void redo()
override;
188 void copy()
override;
195 void paste()
override;
224 [[nodiscard]] std::optional<std::pair<int, int>>
imagePixelAt(
225 const QPointF& widgetPosition)
const;
228 [[nodiscard]] std::optional<std::pair<int, int>>
hoveredPixel() const noexcept {
232 [[nodiscard]] QSize
sizeHint()
const override;
Cible des commandes Annuler/Refaire/Copier/Coller, indépendante du contexte d'édition qui les impléme...
Conversions pures vue ↔ image du canevas pixel art (LOT-54 TACHE-03, EX-EDIT-045).
Historique nommé, annulation et rétablissement du canevas pixel art (LOT-54 TACHE-02).
Opérations pures sur un tampon de pixels RGBA (atelier pixel art, LOT-54 TACHE-02).
Chargement de textures GPU depuis des fichiers image (EX-REN-041), au travers de QRhi.
Interface pure implémentée par le contexte d'édition actif.
Definition EditContextTarget.h:24
Catalogue de traduction (i18n) : associe des clés stables à des chaînes selon la langue active,...
Definition Localization.h:29
const PixelRegion & selection() const noexcept
Région actuellement sélectionnée (outil Sélection), vide si aucune.
Definition PixelCanvas.h:203
bool isDirty() const noexcept
Modifications non enregistrées depuis l'ouverture/le dernier enregistrement (barre d'état TACHE-04,...
Definition PixelCanvas.h:125
void applyToolAtPoint(int x, int y)
Applique l'outil actif au pixel (x, y) (un seul point : clic, pipette, pot de peinture) et étend _ges...
Definition PixelCanvas.cpp:169
void setReferenceGridStep(int step)
Pose une grille de tuiles, distincte de la grille de pixels existante.
Definition PixelCanvas.cpp:451
DecodedImage _underlay
Repère dessiné sous le contenu édité (setUnderlay) — jamais dans _image, donc jamais dans l'historiqu...
Definition PixelCanvas.h:286
PixelHistory _history
Definition PixelCanvas.h:295
PixelRegion _gestureRegion
Union des régions touchées depuis le début du geste.
Definition PixelCanvas.h:304
void undo() override
Definition PixelCanvas.cpp:110
PixelTool _activeTool
Definition PixelCanvas.h:297
void hoveredPixelChanged(std::optional< std::pair< int, int > > pixel)
Émis à chaque changement du pixel survolé (barre d'état, TACHE-04).
bool canPaste() const override
Definition PixelCanvas.h:189
void zoomOut()
Definition PixelCanvas.cpp:152
void leaveEvent(QEvent *event) override
Definition PixelCanvas.cpp:408
std::uint32_t currentColor() const noexcept
Definition PixelCanvas.h:147
PixelCanvasView _view
Definition PixelCanvas.h:296
int referenceGridStep() const noexcept
Definition PixelCanvas.h:198
void mouseMoveEvent(QMouseEvent *event) override
Definition PixelCanvas.cpp:367
bool paletteConstrained() const noexcept
Definition PixelCanvas.h:163
bool _selectionMoveActive
true : le geste en cours déplace _selection.
Definition PixelCanvas.h:311
const DecodedImage & image() const noexcept
Definition PixelCanvas.h:109
float _overlayOpacity
Definition PixelCanvas.h:290
void applyRotateCounterClockwise()
Pivote la sélection d'un quart de tour antihoraire, ou l'image entière à défaut de sélection.
Definition PixelCanvas.cpp:325
void setImage(DecodedImage image)
Remplace l'image éditée et réinitialise l'historique local (ouverture d'un asset, TACHE-05).
Definition PixelCanvas.cpp:87
PixelTool activeTool() const noexcept
Definition PixelCanvas.h:138
void setPaletteColors(std::vector< std::uint32_t > colors)
Couleurs de la palette de projet (LOT-54 TACHE-07), consultées quand le mode contraint est actif.
Definition PixelCanvas.h:154
std::optional< std::pair< int, int > > _hoveredPixel
Definition PixelCanvas.h:306
void jumpHistoryTo(std::size_t index)
Revient à l'état immédiatement après l'entrée index de history().appliedEntries() (panneau d'historiq...
Definition PixelCanvas.cpp:128
float _underlayOpacity
Definition PixelCanvas.h:287
const Localization * _loc
Pour l'infobulle de case en mode planche (TACHE-08).
Definition PixelCanvas.h:318
void mouseReleaseEvent(QMouseEvent *event) override
Definition PixelCanvas.cpp:416
void applyRegionOperation(PixelOperationKind kind, PixelRegion(*operation)(DecodedImage &, const PixelRegion &))
Applique une transformation pure de hmi::PixelOperations (même signature que flipHorizontal/rotateClo...
Definition PixelCanvas.cpp:301
QSize sizeHint() const override
Definition PixelCanvas.cpp:163
std::optional< std::pair< int, int > > imagePixelAt(const QPointF &widgetPosition) const
Pixel image sous une position widget donnée (coordonnées logiques), ou std::nullopt hors de l'image —...
Definition PixelCanvas.cpp:158
void redo() override
Definition PixelCanvas.cpp:119
void historyChanged()
Émis après chaque changement de l'historique (nouvelle entrée, annuler, refaire) — alimente le pannea...
QPointF _panStartWidgetPos
Definition PixelCanvas.h:315
int _referenceGridStep
Pas de la grille de tuiles, en pixels image ; 0 si aucune.
Definition PixelCanvas.h:292
DecodedImage _image
Definition PixelCanvas.h:283
std::optional< std::pair< int, int > > hoveredPixel() const noexcept
Dernier pixel survolé par la souris à l'intérieur de l'image, ou std::nullopt si la souris n'y est pa...
Definition PixelCanvas.h:228
void beginGesture(int x, int y)
Definition PixelCanvas.cpp:244
bool _gestureActive
Definition PixelCanvas.h:302
void markSaved() noexcept
Marque l'image comme enregistrée — appelé après une écriture réussie (TACHE-05).
Definition PixelCanvas.h:131
const PixelHistory & history() const noexcept
Definition PixelCanvas.h:167
bool canCopy() const override
Definition PixelCanvas.h:184
void imageChanged()
Émis après chaque mutation de image() (geste, annuler, refaire) — la barre d'état et l'aperçu live (T...
void currentColorChanged(std::uint32_t color)
Émis à chaque changement de la couleur courante, quelle qu'en soit la source (pipette,...
std::string _assetName
Definition PixelCanvas.h:293
DecodedImage _overlay
Repère dessiné par-dessus le contenu édité (setOverlay), mêmes règles.
Definition PixelCanvas.h:289
PixelCanvasView _panStartView
Definition PixelCanvas.h:316
void zoomIn()
Definition PixelCanvas.cpp:146
void wheelEvent(QWheelEvent *event) override
Definition PixelCanvas.cpp:429
bool _dirty
Definition PixelCanvas.h:294
void continueToolTo(int x, int y)
Prolonge le geste courant du dernier point traité jusqu'à (x, y) (pinceau/gomme : ligne sans trou ent...
Definition PixelCanvas.cpp:208
void applyFlipVertical()
Retourne la sélection verticalement, ou l'image entière à défaut de sélection.
Definition PixelCanvas.cpp:317
std::vector< std::uint32_t > _paletteColors
Copie des couleurs de la palette (TACHE-07).
Definition PixelCanvas.h:299
void copy() override
Copie la sélection courante, ou l'image entière à défaut de sélection.
Definition PixelCanvas.cpp:329
void commitRegionMutation(PixelOperationKind kind, const DecodedImage &beforeSnapshot, const PixelRegion &touched)
Capture beforeSnapshot/`_image` sur touched, pousse l'entrée d'historique nommée si non vide,...
Definition PixelCanvas.cpp:287
DecodedImage _gestureBeforeSnapshot
Copie de _image au début du geste courant.
Definition PixelCanvas.h:303
PixelClipboard _clipboard
Presse-papiers de l'atelier, distinct du niveau.
Definition PixelCanvas.h:310
QPixmap renderPixmap() const
Definition PixelCanvas.cpp:456
const PixelCanvasView & view() const noexcept
Definition PixelCanvas.h:216
bool _panning
Definition PixelCanvas.h:314
void setLocalization(const Localization *loc) noexcept
Catalogue de traduction utilisé pour l'infobulle de case en mode planche à raccords (hmi::autotileCon...
Definition PixelCanvas.h:71
void paintEvent(QPaintEvent *event) override
Definition PixelCanvas.cpp:599
void endGesture()
Definition PixelCanvas.cpp:253
void setActiveTool(PixelTool tool) noexcept
Definition PixelCanvas.h:135
void setAssetName(std::string name)
Nom de l'asset ouvert (barre d'état, TACHE-04), vide si aucun.
Definition PixelCanvas.h:116
std::pair< int, int > _selectionDragAnchor
Point de départ d'une nouvelle sélection.
Definition PixelCanvas.h:312
void paste() override
Colle le presse-papiers de l'atelier au pixel survolé (coin haut-gauche), tronqué au cadre ; sans eff...
Definition PixelCanvas.cpp:334
void setUnderlay(DecodedImage image, float opacity=1.0f)
Pose un repère dessiné sous le contenu édité (mode création, EX-EDIT-046).
Definition PixelCanvas.cpp:439
PixelRegion _selection
Sélection courante, vide si aucune.
Definition PixelCanvas.h:309
std::optional< std::pair< int, int > > _lastGesturePixel
Definition PixelCanvas.h:305
void applyFlipHorizontal()
Retourne la sélection horizontalement, ou l'image entière à défaut de sélection.
Definition PixelCanvas.cpp:313
PixelCanvas(QWidget *parent=nullptr)
Definition PixelCanvas.cpp:73
void setPaletteConstrained(bool enabled) noexcept
Active/désactive le mode « contraindre à la palette » : toute couleur posée (pinceau,...
Definition PixelCanvas.h:160
std::uint32_t _currentColor
Definition PixelCanvas.h:298
void setOverlay(DecodedImage image, float opacity=1.0f)
Pose un repère dessiné par-dessus le contenu édité — mêmes règles que setUnderlay.
Definition PixelCanvas.cpp:445
const std::string & assetName() const noexcept
Definition PixelCanvas.h:119
std::uint32_t effectivePaintColor() const noexcept
_currentColor, ramenée à l'entrée de palette la plus proche si le mode contraint est actif (hmi::near...
Definition PixelCanvas.cpp:270
bool _paletteConstrained
Definition PixelCanvas.h:300
bool canUndo() const override
Definition PixelCanvas.h:173
bool canRedo() const override
Definition PixelCanvas.h:177
void mousePressEvent(QMouseEvent *event) override
Definition PixelCanvas.cpp:349
void setCurrentColor(std::uint32_t color)
Couleur courante (pinceau, pot de peinture).
Definition PixelCanvas.cpp:137
PixelRegion effectiveRegion() const
Région effective d'une transformation : la sélection courante, ou l'image entière si aucune sélection...
Definition PixelCanvas.cpp:277
void applyRotateClockwise()
Pivote la sélection d'un quart de tour horaire, ou l'image entière à défaut de sélection.
Definition PixelCanvas.cpp:321
Pile d'annulation/rétablissement nommée d'un canevas pixel art.
Definition PixelHistory.h:72
Definition AudioEngine.cpp:15
PixelOperationKind
Type d'une opération d'historique — détermine sa clé de traduction (EX-REN-033).
Definition PixelHistory.h:30
@ Brush
Definition PixelHistory.h:31
PixelTool
Outil actif du canevas pixel art — détermine ce que produisent les gestes de souris (hmi::PixelCanvas...
Definition PixelTool.h:22
Pixels RGBA décodés d'un fichier image, alpha non prémultiplié (cohérent avec le mélange du pipeline ...
Definition TextureLoader.h:27
État de la vue du canevas : zoom entier et décalage de défilement, en pixels image.
Definition PixelCanvasGeometry.h:33
Contenu copié depuis un tampon (presse-papiers de l'atelier, LOT-54 TACHE-06).
Definition PixelOperations.h:191
Rectangle de pixels modifié par une opération (bornes incluses).
Definition PixelOperations.h:29