Skip to main content

buttery_engine/
ui.rs

1#[derive(Default)]
2pub struct ButteryUIModel {
3    pub windows: Vec<ButteryUIWindow>,
4}
5
6#[derive(Default)]
7pub struct ButteryUIWindow {
8    pub relative_position: ButteryUIWindowRelativePosition,
9    pub offset: ButterUIWindowOffset,
10    pub corner_radius: f32,
11    pub inner_margin: i8,
12    pub max_width: f32,
13    pub max_height: f32,
14    pub background_color: ButteryUIColor,
15    pub child: ButteryUIElement,
16}
17
18#[derive(Default, Clone)]
19pub enum ButteryUIWindowRelativePosition {
20    #[default]
21    Centered,
22}
23
24#[derive(Default)]
25pub struct ButterUIWindowOffset {
26    pub x: f32,
27    pub y: f32,
28}
29
30#[derive(Default)]
31pub enum ButteryUIElement {
32    #[default]
33    Default,
34    Text(String),
35    Column(Vec<ButteryUIElement>),
36}
37
38#[derive(Default)]
39pub struct ButteryUIColor {
40    pub r: u8,
41    pub g: u8,
42    pub b: u8,
43    pub a: u8,
44}