dice-gui-old/src/application.c

96 lines
1.9 KiB
C

#include "application.h"
#include "style.h"
#include <SDL3/SDL.h>
#include <clay/clay.h>
static inline
void DiceSelectorContainer() {
CLAY(CLAY_ID("DiceSelector"), {
.layout = {
.layoutDirection = CLAY_TOP_TO_BOTTOM,
.sizing = { CLAY_SIZING_PERCENT(0.15), CLAY_SIZING_GROW(0) },
.padding = containerPadding,
.childGap = paragraphGap,
},
.INNER_CONTAINER(0),
}) {
}
}
static inline
void ActiveDiceContainer() {
CLAY(CLAY_ID("ActiveDice"), {
.layout = {
.layoutDirection = CLAY_TOP_TO_BOTTOM,
.sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) },
.padding = containerPadding,
.childGap = paragraphGap,
},
.INNER_CONTAINER(0),
}) {
CLAY_TEXT(CLAY_STRING("Header Text"), CLAY_TEXT_CONFIG({
.H(1, 0),
}));
CLAY_TEXT(CLAY_STRING("Content text"), CLAY_TEXT_CONFIG({
.BODY(0),
}));
}
}
static inline
void DiceContainer() {
CLAY(CLAY_ID("DiceContainer"), {
.layout = {
.layoutDirection = CLAY_LEFT_TO_RIGHT,
.sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_PERCENT(0.4) },
.childGap = containerGap
},
}) {
DiceSelectorContainer();
ActiveDiceContainer();
}
}
static inline
void DiceLogContainer() {
CLAY(CLAY_ID("LogContainer"), {
.layout = {
.sizing = layoutExpand,
.padding = CLAY_PADDING_ALL(16),
},
.INNER_CONTAINER(0),
}) {}
}
static inline
void InitiativeListContainer() {
CLAY(CLAY_ID("InitiativeListContainer"), {
.layout = {
.sizing = layoutExpand,
.padding = CLAY_PADDING_ALL(16),
},
.INNER_CONTAINER(0),
}) {}
}
Clay_RenderCommandArray RenderApplication() {
Clay_BeginLayout();
CLAY(CLAY_ID("OuterContainer"), windowStyle) {
DiceContainer();
CLAY(CLAY_ID("LowerSplitContainer"), {
.layout = {
.sizing = layoutExpand,
.childGap = containerGap
},
}) {
DiceLogContainer();
InitiativeListContainer();
}
}
return Clay_EndLayout();
}
void HandleEvent(SDL_Event event) {
}