mirror of
https://github.com/obsqrbtz/egui_knob.git
synced 2026-04-09 04:29:10 +03:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a97e1ecd1 | |||
| b407b09853 | |||
| 9031d1c920 | |||
| 6aa6a231fa | |||
| 26ab08e7d5 |
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -896,7 +896,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "egui_knob"
|
||||
version = "0.1.5"
|
||||
version = "0.1.8"
|
||||
dependencies = [
|
||||
"eframe",
|
||||
"egui",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "egui_knob"
|
||||
version = "0.1.5"
|
||||
version = "0.1.8"
|
||||
edition = "2021"
|
||||
description = "A simple knob widget for egui"
|
||||
homepage = "https://github.com/obsqrbtz/egui_knob"
|
||||
|
||||
@@ -23,11 +23,14 @@ impl eframe::App for KnobExample {
|
||||
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
||||
egui::CentralPanel::default().show(ctx, |ui| {
|
||||
ui.horizontal(|ui| {
|
||||
ui.add(
|
||||
if ui.add(
|
||||
Knob::new(&mut self.value, 0.0, 100.0, egui_knob::KnobStyle::Dot)
|
||||
.with_label("Gain", egui_knob::LabelPosition::Bottom)
|
||||
.with_size(50.0),
|
||||
);
|
||||
).changed(){
|
||||
println!("Value changed");
|
||||
}
|
||||
|
||||
ui.add(
|
||||
Knob::new(&mut self.value, 0.0, 100.0, egui_knob::KnobStyle::Wiper)
|
||||
.with_label("Gain", egui_knob::LabelPosition::Bottom)
|
||||
|
||||
@@ -104,13 +104,14 @@ impl Widget for Knob<'_> {
|
||||
knob_size.y + label_size.y + label_padding * 6.0,
|
||||
);
|
||||
|
||||
let (rect, response) = ui.allocate_exact_size(adjusted_size, Sense::drag());
|
||||
let (rect, mut response) = ui.allocate_exact_size(adjusted_size, Sense::drag());
|
||||
|
||||
if response.dragged() {
|
||||
let delta = response.drag_delta().y;
|
||||
let range = self.max - self.min;
|
||||
let step = range * 0.005;
|
||||
*self.value = (*self.value - delta * step).clamp(self.min, self.max);
|
||||
response.mark_changed();
|
||||
}
|
||||
|
||||
let painter = ui.painter();
|
||||
@@ -178,8 +179,8 @@ impl Widget for Knob<'_> {
|
||||
);
|
||||
}
|
||||
|
||||
// Draw the boundary rectangle
|
||||
painter.rect_stroke(rect, 0.0, Stroke::new(1.0, Color32::RED));
|
||||
// Draw the bounding rect
|
||||
//painter.rect_stroke(rect, 0.0, Stroke::new(1.0, Color32::RED));
|
||||
|
||||
response
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user