summaryrefslogtreecommitdiff
path: root/src/renderer/ui.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer/ui.rs')
-rw-r--r--src/renderer/ui.rs31
1 files changed, 30 insertions, 1 deletions
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");