|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Conversions pures vue ↔ image du canevas pixel art (LOT-54 TACHE-03, EX-EDIT-045). More...
Go to the source code of this file.
Classes | |
| struct | hmi::PixelCanvasView |
| État de la vue du canevas : zoom entier et décalage de défilement, en pixels image. More... | |
| struct | hmi::PixelScreenRect |
| Rectangle écran (pixels logiques, relatifs au coin haut-gauche du widget) d'un pixel image. More... | |
| struct | hmi::PixelCanvasRealSize |
| Taille en pixels réels de l'image entière affichée (largeur/hauteur image × zoom, à l'échelle d'affichage réelle). More... | |
Namespaces | |
| namespace | hmi |
Functions | |
| PixelScreenRect | hmi::imagePixelScreenRect (const PixelCanvasView &view, int x, int y) noexcept |
| Rectangle écran du pixel image (x, y), au zoom et décalage de vue donnés. | |
| std::optional< std::pair< int, int > > | hmi::screenToImagePixel (const PixelCanvasView &view, int imageWidth, int imageHeight, double screenX, double screenY) noexcept |
| Pixel image sous une position écran donnée. | |
| constexpr int | hmi::clampPixelCanvasZoom (int zoom) noexcept |
| Zoom borné à [PIXEL_CANVAS_MIN_ZOOM, PIXEL_CANVAS_MAX_ZOOM]. | |
| constexpr int | hmi::pixelCanvasZoomIn (int zoom) noexcept |
| Zoom suivant (plus grand), borné — toujours entier. | |
| constexpr int | hmi::pixelCanvasZoomOut (int zoom) noexcept |
| Zoom précédent (plus petit), borné — toujours entier. | |
| constexpr bool | hmi::pixelCanvasGridVisible (int zoom) noexcept |
| true si la grille de pixels doit être dessinée à ce zoom (PIXEL_CANVAS_GRID_VISIBLE_MIN_ZOOM). | |
| constexpr bool | hmi::isValidPixelCanvasDenominator (int denominator) noexcept |
| constexpr double | hmi::pixelCanvasScale (const PixelCanvasView &view) noexcept |
| Échelle effective d'une vue : numérateur / dénominateur. | |
| constexpr PixelCanvasView | hmi::pixelCanvasZoomIn (const PixelCanvasView &view) noexcept |
| Vue agrandie d'un cran, en remontant l'échelle rationnelle. | |
| constexpr PixelCanvasView | hmi::pixelCanvasZoomOut (const PixelCanvasView &view) noexcept |
| Vue réduite d'un cran, en descendant l'échelle rationnelle — sous le 1:1 si besoin. | |
| constexpr bool | hmi::pixelCanvasGridVisible (const PixelCanvasView &view) noexcept |
| true si la grille de pixels doit être dessinée pour cette vue : jamais sous le 1:1, où elle couvrirait plus de surface que les pixels qu'elle sépare. | |
| PixelCanvasRealSize | hmi::pixelCanvasRealSize (int imageWidth, int imageHeight, int zoom, double scaleFactor) noexcept |
| Taille en pixels réels du canevas entier à un facteur d'échelle d'affichage donné. | |
| PixelCanvasRealSize | hmi::pixelCanvasRealSize (int imageWidth, int imageHeight, const PixelCanvasView &view, double scaleFactor) noexcept |
| Taille en pixels réels du canevas entier, à l'échelle rationnelle d'une vue. | |
Variables | |
| constexpr int | hmi::PIXEL_CANVAS_MIN_ZOOM = 1 |
| Zoom minimal (1 pixel image = 1 pixel écran) et maximal admis par les commandes de zoom du canevas — toujours entier, pour que les pixels restent carrés (EX-ARCH-022). | |
| constexpr int | hmi::PIXEL_CANVAS_MAX_ZOOM = 32 |
| constexpr int | hmi::PIXEL_CANVAS_GRID_VISIBLE_MIN_ZOOM = 4 |
| Facteur de zoom à partir duquel la grille de pixels est dessinée : en-deçà, elle ne ferait que du bruit visuel sur des pixels trop petits pour la distinguer du contenu. | |
| constexpr int | hmi::PIXEL_CANVAS_MAX_DENOMINATOR = 8 |
| Dénominateur de zoom maximal : au-delà, un pixel image occuperait moins d'un huitième de pixel écran, et le repère cesserait d'être lisible. | |
Conversions pures vue ↔ image du canevas pixel art (LOT-54 TACHE-03, EX-EDIT-045).
Aucune dépendance Qt/GPU (EX-NFR-010) : hmi::PixelCanvas (widget) se contente d'appeler ces fonctions, qui restent seules responsables de la justesse à tout zoom, décalage de vue et échelle d'affichage — c'est elle qui détermine le pixel survolé affiché dans la barre d'état (TACHE-04) et doit donc rester juste dans tous les cas.