veloren_voxygen_egui/
experimental_shaders.rs1use crate::{EguiAction, EguiActions};
2use egui::{Context, Vec2, Window};
3
4pub fn draw_experimental_shaders_window(
5 ctx: &Context,
6 open: &mut bool,
7 egui_actions: &mut EguiActions,
8 experimental_shaders: &[(String, bool)],
9) {
10 Window::new("Experimental Shaders")
11 .open(open)
12 .default_width(250.0)
13 .default_height(600.0)
14 .show(ctx, |ui| {
15 ui.spacing_mut().item_spacing = Vec2::new(10.0, 10.0);
16 experimental_shaders.iter().for_each(|(shader, enabled)| {
17 let mut enabled_mut = *enabled;
18
19 ui.checkbox(&mut enabled_mut, shader);
20
21 if enabled_mut != *enabled {
22 egui_actions.actions.push(EguiAction::SetExperimentalShader(
23 shader.into(),
24 enabled_mut,
25 ));
26 }
27 })
28 });
29}