clay-ceramic/style.h

90 lines
1.9 KiB
C++

#ifndef STYLE_H
#define STYLE_H
#include <clay/clay.h>
#include <stdint.h>
namespace cera {
struct Style {
////////////////////////////////////
// WINDOW STYLE
////////////////////////////////////
uint16_t windowPadding{1};
Clay_Color windowColor{20, 20, 20, 255};
////////////////////////////////////
// CONTAINER STYLE
////////////////////////////////////
uint16_t containerGap{10};
float defaultRadius{5.0};
Clay_Color panelBackground{ 0,0,0,0 };
Clay_Color panelBorder { 150, 150, 150, 150 };
Clay_Padding panelPadding = {
24, 24,
24, 24,
};
////////////////////////////////////
// TEXT STYLE
////////////////////////////////////
float paragraphGap = 10;
uint16_t headerSizes[4]{64, 32, 28, 16};
Clay_Color textColor{170, 170, 170, 255};
////////////////////////////////////
// BUTTONS
////////////////////////////////////
Clay_Color warningButton = {
177, 56, 52, 255
};
Clay_Color proceedButton = {
49, 181, 99, 255
};
Clay_Color actionButton = {
49, 142, 181, 255
};
Clay_Padding buttonPadding = {
24, 24,
4, 4,
};
Clay_CornerRadius buttonRadii = {
3, 3, 3, 3
};
};
extern Style themeDark;
extern Style themeLight;
extern Style *theme;
Clay_ElementDeclaration ListContainer(Clay_ElementDeclaration baseCfg = {});
Clay_ElementDeclaration PanelContainer(Clay_ElementDeclaration baseCfg = {});
Clay_ElementDeclaration LeftPanelContainer(Clay_ElementDeclaration baseCfg = {});
Clay_ElementDeclaration RightPanelContainer(Clay_ElementDeclaration baseCfg = {});
Clay_ElementDeclaration Window();
Clay_Color ToHoveredColor(Clay_Color color);
constexpr Clay_Sizing layoutExpand = {
.width = CLAY_SIZING_GROW(0),
.height = CLAY_SIZING_GROW(0)
};
constexpr uint16_t baseFontSize = 16;
namespace color {
constexpr Clay_Color transparent{ 255, 255, 255, 0 };
constexpr Clay_Color black{ 0, 0, 0, 255 };
constexpr Clay_Color white{ 255, 255, 255, 255 };
}
}
#endif // !STYLE_H