feat: added rendering add die buttons to dice_gui
This commit is contained in:
parent
451c71254c
commit
ddd44d2d0c
|
|
@ -1,4 +1,6 @@
|
|||
#include "dice_gui.h"
|
||||
#include "SDL3/SDL_render.h"
|
||||
#include "ceramic/style.h"
|
||||
#include "dice_data.h"
|
||||
#include <ceramic/elements.h>
|
||||
#include <ceramic/resources.h>
|
||||
|
|
@ -7,19 +9,41 @@
|
|||
extern SDL_Renderer *renderer;
|
||||
|
||||
SDL_Texture *dieImages[8];
|
||||
SDL_Texture *hoveredDieImages[8];
|
||||
Clay_Color const dieImageColors[8]{
|
||||
{230, 184, 48, 255},
|
||||
{177, 56, 52, 255},
|
||||
{115, 177, 52, 255},
|
||||
{52, 177, 125, 255},
|
||||
{52, 177, 176, 255},
|
||||
{52, 93, 177, 255},
|
||||
{177, 52, 140, 255},
|
||||
{95, 52, 177, 255},
|
||||
};
|
||||
char const *dieImagePaths[8]{
|
||||
"assets/icons/d2.svg",
|
||||
"assets/icons/d4.svg",
|
||||
"assets/icons/d6.svg",
|
||||
"assets/icons/d8.svg",
|
||||
"assets/icons/d10.svg",
|
||||
"assets/icons/d12.svg",
|
||||
"assets/icons/d20.svg",
|
||||
"assets/icons/d10.svg",
|
||||
};
|
||||
|
||||
static void LoadDieImagesIfNeeded() {
|
||||
static bool diceImagesLoaded{false};
|
||||
if(!diceImagesLoaded) {
|
||||
diceImagesLoaded = true;
|
||||
dieImages[0] = cera::LoadAndStoreTexture(renderer, "assets/icons/d2.svg");
|
||||
dieImages[1] = cera::LoadAndStoreTexture(renderer, "assets/icons/d4.svg");
|
||||
dieImages[2] = cera::LoadAndStoreTexture(renderer, "assets/icons/d6.svg");
|
||||
dieImages[3] = cera::LoadAndStoreTexture(renderer, "assets/icons/d8.svg");
|
||||
dieImages[4] = cera::LoadAndStoreTexture(renderer, "assets/icons/d10.svg");
|
||||
dieImages[5] = cera::LoadAndStoreTexture(renderer, "assets/icons/d12.svg");
|
||||
dieImages[6] = cera::LoadAndStoreTexture(renderer, "assets/icons/d20.svg");
|
||||
dieImages[7] = cera::LoadAndStoreTexture(renderer, "assets/icons/d100.svg");
|
||||
Clay_Color color{};
|
||||
for(size_t i{0}; i < 8; ++i) {
|
||||
color = dieImageColors[i];
|
||||
dieImages[i] = cera::LoadAndStoreTexture(renderer, dieImagePaths[i]);
|
||||
SDL_SetTextureColorMod(dieImages[i], color.r, color.g, color.b);
|
||||
hoveredDieImages[i] = cera::LoadAndStoreTexture(renderer, dieImagePaths[i]);
|
||||
color = cera::ToHoveredColor(dieImageColors[i]);
|
||||
SDL_SetTextureColorMod(hoveredDieImages[i], color.r, color.g, color.b);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue