From 3d476186f53d695c340c51dbd3aa14ff4621c520 Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Sun, 16 Aug 2026 23:52:34 -0700 Subject: trivial placement --- src/renderer/ui.rs | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'src/renderer/ui.rs') diff --git a/src/renderer/ui.rs b/src/renderer/ui.rs index 77af59d..590c720 100644 --- a/src/renderer/ui.rs +++ b/src/renderer/ui.rs @@ -20,7 +20,7 @@ pub fn draw_egui<'a>( let material = config.brush_material.def(); // material combobox - egui::ComboBox::from_label("Select a material") + egui::ComboBox::from_label("Select a brush material") .selected_text(format!( "Material: [{}, d={}]", material.name, material.density, @@ -43,6 +43,35 @@ pub fn draw_egui<'a>( } }); + let dropper_material = config.brush_material.def(); + + egui::ComboBox::from_label("Select a dropper material") + .selected_text(format!( + "Material: [{}, d={}]", + dropper_material.name, dropper_material.density, + )) + .icon(move |ui, rect, _, _| { + ui.painter().add(egui::Shape::Circle(CircleShape { + center: rect.center(), + radius: rect.height() / 2.0, + stroke: Stroke::NONE, + fill: Color32::from_rgb( + dropper_material.color.0, + dropper_material.color.1, + dropper_material.color.2, + ), + })); + }) + .show_ui(ui, |ui| { + for material_id in MaterialId::ALL { + ui.selectable_value( + &mut config.dropper_material, + material_id, + material_id.def().name, + ); + } + }); + ui.checkbox(&mut config.use_threading, "Use multithreading"); ui.label(format!("Real FPS: {}", diagnostics.fps)); ui.heading("Camera"); -- cgit v1.3.1