JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
TileSilhouette.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#include <array>
7#include <cstdint>
8#include <vector>
9
11
16
17namespace hmi {
18
30inline constexpr std::array<core::TileType, 0> SILHOUETTE_TILE_TYPES{};
31
33inline constexpr int SILHOUETTE_TILE_TYPE_COUNT = static_cast<int>(SILHOUETTE_TILE_TYPES.size());
34
42[[nodiscard]] bool hasSilhouette(core::TileType type) noexcept;
43
57[[nodiscard]] bool isInsideSilhouette(core::TileType type, int localX, int localY,
58 int tileSize) noexcept;
59
73void applySilhouetteMask(core::TileType type, int width, int height,
74 std::vector<std::uint32_t>& pixels);
75
76} // namespace hmi
Types de tuiles d'une carte et utilitaires associés.
TileType
Type d'une tuile de la grille d'une carte (EX-GP-001).
Definition TileType.h:32
Definition AudioEngine.cpp:15
bool isInsideSilhouette(core::TileType type, int localX, int localY, int tileSize) noexcept
Indique si le pixel (localX, localY) d'une case appartient à la matière de type.
Definition TileSilhouette.cpp:19
bool hasSilhouette(core::TileType type) noexcept
Indique si type a une silhouette, c'est-à-dire une matière qui n'occupe pas toute la case et qu'il fa...
Definition TileSilhouette.cpp:10
constexpr int SILHOUETTE_TILE_TYPE_COUNT
Nombre de types de tuile à silhouette (voir SILHOUETTE_TILE_TYPES).
Definition TileSilhouette.h:33
constexpr std::array< core::TileType, 0 > SILHOUETTE_TILE_TYPES
Types de tuile dont la matière n'occupe pas toute la case, et qui doivent donc être détourées à l'aff...
Definition TileSilhouette.h:30
void applySilhouetteMask(core::TileType type, int width, int height, std::vector< std::uint32_t > &pixels)
Applique la silhouette d'un type à une image carrée, en rendant transparent l'extérieur.
Definition TileSilhouette.cpp:31