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}