mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
30 lines
901 B
Rust
30 lines
901 B
Rust
|
use crate::{EguiAction, EguiActions};
|
||
|
use egui::{CtxRef, Vec2, Window};
|
||
|
|
||
|
pub fn draw_experimental_shaders_window(
|
||
|
ctx: &CtxRef,
|
||
|
open: &mut bool,
|
||
|
egui_actions: &mut EguiActions,
|
||
|
experimental_shaders: &[(String, bool)],
|
||
|
) {
|
||
|
Window::new("Experimental Shaders")
|
||
|
.open(open)
|
||
|
.default_width(250.0)
|
||
|
.default_height(600.0)
|
||
|
.show(ctx, |ui| {
|
||
|
ui.spacing_mut().item_spacing = Vec2::new(10.0, 10.0);
|
||
|
experimental_shaders.iter().for_each(|(shader, enabled)| {
|
||
|
let mut enabled_mut = *enabled;
|
||
|
|
||
|
ui.checkbox(&mut enabled_mut, shader);
|
||
|
|
||
|
if enabled_mut != *enabled {
|
||
|
egui_actions.actions.push(EguiAction::SetExperimentalShader(
|
||
|
shader.into(),
|
||
|
enabled_mut,
|
||
|
));
|
||
|
}
|
||
|
})
|
||
|
});
|
||
|
}
|