Crates.io | amberwindow |
lib.rs | amberwindow |
version | 0.3.14 |
source | src |
created_at | 2024-07-01 10:45:08.248048 |
updated_at | 2024-10-04 19:00:52.115813 |
description | An easy to use ImmediateMode gui library for Rust. |
homepage | https://github.com/creepersaur/AmberWindow |
repository | https://github.com/creepersaur/AmberWindow |
max_upload_size | |
id | 1288645 |
size | 431,455 |
'amberwindow' is an easy to use ImmediateMode gui library for Rust.
Uses macroquad as a backend. Inspired by libraries like DearImgui.
use macroquad::prelude::*;
#[macroquad::main("MACROQUAD")]
async fn main() {
loop { next_frame().await }
}
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;
}
}
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;
}
}
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 (Without the crab image.)