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 "dice_gui.h"
|
||||||
|
#include "SDL3/SDL_render.h"
|
||||||
|
#include "ceramic/style.h"
|
||||||
#include "dice_data.h"
|
#include "dice_data.h"
|
||||||
#include <ceramic/elements.h>
|
#include <ceramic/elements.h>
|
||||||
#include <ceramic/resources.h>
|
#include <ceramic/resources.h>
|
||||||
|
|
@ -7,19 +9,41 @@
|
||||||
extern SDL_Renderer *renderer;
|
extern SDL_Renderer *renderer;
|
||||||
|
|
||||||
SDL_Texture *dieImages[8];
|
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 void LoadDieImagesIfNeeded() {
|
||||||
static bool diceImagesLoaded{false};
|
static bool diceImagesLoaded{false};
|
||||||
if(!diceImagesLoaded) {
|
if(!diceImagesLoaded) {
|
||||||
diceImagesLoaded = true;
|
diceImagesLoaded = true;
|
||||||
dieImages[0] = cera::LoadAndStoreTexture(renderer, "assets/icons/d2.svg");
|
Clay_Color color{};
|
||||||
dieImages[1] = cera::LoadAndStoreTexture(renderer, "assets/icons/d4.svg");
|
for(size_t i{0}; i < 8; ++i) {
|
||||||
dieImages[2] = cera::LoadAndStoreTexture(renderer, "assets/icons/d6.svg");
|
color = dieImageColors[i];
|
||||||
dieImages[3] = cera::LoadAndStoreTexture(renderer, "assets/icons/d8.svg");
|
dieImages[i] = cera::LoadAndStoreTexture(renderer, dieImagePaths[i]);
|
||||||
dieImages[4] = cera::LoadAndStoreTexture(renderer, "assets/icons/d10.svg");
|
SDL_SetTextureColorMod(dieImages[i], color.r, color.g, color.b);
|
||||||
dieImages[5] = cera::LoadAndStoreTexture(renderer, "assets/icons/d12.svg");
|
hoveredDieImages[i] = cera::LoadAndStoreTexture(renderer, dieImagePaths[i]);
|
||||||
dieImages[6] = cera::LoadAndStoreTexture(renderer, "assets/icons/d20.svg");
|
color = cera::ToHoveredColor(dieImageColors[i]);
|
||||||
dieImages[7] = cera::LoadAndStoreTexture(renderer, "assets/icons/d100.svg");
|
SDL_SetTextureColorMod(hoveredDieImages[i], color.r, color.g, color.b);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue