1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*!
'amberwindow' is an easy to use ImmediateMode gui library for Rust.
Uses macroquad as a backend.
## Supported Platforms
- Windows / PC
- Linux (untested)
- MacOS (untested)
## Features
* Easy to setup
* Getting windows working is easy
* Many pre-made widgets to use
# Examples
## Hello Window
```
use amberwindow::WindowManager;
use macroquad::prelude::*;
#[macroquad::main("Hello")]
async fn main() {
let mut windows = WindowManager::new();
loop {
windows.begin("");
windows.end_windows();
next_frame().await;
}
}
```
## Hello World
```
use amberwindow::WindowManager;
use macroquad::prelude::*;
#[macroquad::main("Hello")]
async fn main() {
let mut windows = WindowManager::new();
loop {
if let Some(win) = windows.begin("") {
win.Text("Hello world", WHITE);
}
windows.end_windows();
next_frame().await;
}
}
```
# Custom Styling
For all of you who love dearimgui's styling, using the custom styling features in AmberWindow can let you "remake" dearimgui.
(Add this to satisfy all the style imports.)
```
use amberwindow::*;
```
```
if let Some(win) = windows.begin("") {
win.name("Debug");
win.Text("Hello, world 123", WHITE);
win.Button("Save");
win.Slider_float(0., 100., None, vec2(win.rect.w - 20.0, 15f32));
win.Checkbox("Auto update", false);
win.button_style(ButtonStyle{
font: None,
color: WHITE,
bg_color: Color::from_hex(0x274972),
hover_bg_color: Color::from_hex(0x496994),
pressed_bg_color: Color::from_hex(0x274972)
});
win.slider_style(SliderStyle{
color: WHITE,
bg_color: Color::from_hex(0x163861),
hover_bg_color: Color::from_hex(0x274972),
value_color: SKYBLUE,
});
win.style(WindowStyle{
font: None,
bg_color: Color::from_hex(0x151617),
tb_color: Color::from_hex(0x294a7a),
deselected_tb_color: BLACK,
border_color: BLANK,
selected_border_color: Color::new(1.,1.,1., 0.7),
title_color: WHITE,
scale_color: Color::from_hex(0x294a7a),
minimize_color: WHITE,
close_color: WHITE
});
for i in win.widgets.iter_mut() {
if let Widget::Checkbox(i) = i {
i.bg_color = Color::from_hex(0x385884);
}
}
}
```
It will make this: https://i.imgur.com/du1M7wV.png
*/
use *;
pub use *;
// {Widget, WindowManager, WindowWidget, Window, WindowStyle, ButtonStyle, SliderStyle}