From a2a102cdb6e79d29c80a8c59b970a6e02734f96b Mon Sep 17 00:00:00 2001 From: Daniel Dada Date: Fri, 21 Nov 2025 01:03:52 +0300 Subject: [PATCH] nit: cleaned up ui a bit --- CHANGELOG.md | 6 ++++ Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 2 +- examples/example_knob.rs | 9 +++-- scrot.png | Bin 50908 -> 42485 bytes src/render.rs | 71 ++++++++++++++++++++++----------------- 7 files changed, 53 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bb6aea..b1bfac0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. +## [0.3.6] - 2025-07-15 + +### 🛠 Maintenance + +- cleaned up io a bit + ## [0.3.5] - 2025-07-15 ### 🛠 Maintenance diff --git a/Cargo.lock b/Cargo.lock index 224ab51..2794fff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -869,7 +869,7 @@ dependencies = [ [[package]] name = "egui_knob" -version = "0.3.5" +version = "0.3.6" dependencies = [ "eframe", "egui", diff --git a/Cargo.toml b/Cargo.toml index 644badd..de4e6a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "egui_knob" -version = "0.3.5" +version = "0.3.6" edition = "2024" authors = ["Daniel Dada"] description = "A simple knob widget for egui" diff --git a/README.md b/README.md index 019645b..553028e 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ To use the Knob widget in your project, add the following to your `Cargo.toml`: [dependencies] egui = "0.33" eframe = "0.33" -egui_knob = "0.3.5" +egui_knob = "0.3.6" ``` ## Usage diff --git a/examples/example_knob.rs b/examples/example_knob.rs index fdd79ae..ac015a3 100644 --- a/examples/example_knob.rs +++ b/examples/example_knob.rs @@ -4,13 +4,13 @@ use egui_knob::{Knob, KnobStyle, LabelPosition}; fn main() -> eframe::Result<()> { let options = eframe::NativeOptions { viewport: egui::ViewportBuilder::default() - .with_inner_size([800.0, 600.0]) - .with_title("egui_knob demo"), + .with_inner_size([600.0, 350.0]) + .with_title("Knob demo"), ..Default::default() }; eframe::run_native( - "egui_knob demo", + "Knob demo", options, Box::new(|_cc| Ok(Box::new(KnobDemo::default()))), ) @@ -43,7 +43,7 @@ impl Default for KnobDemo { impl eframe::App for KnobDemo { fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { egui::CentralPanel::default().show(ctx, |ui| { - ui.heading("egui_knob demo"); + ui.heading("Knob demo"); ui.separator(); ui.horizontal(|ui| { @@ -82,7 +82,6 @@ impl eframe::App for KnobDemo { .enumerate() { ui.vertical(|ui| { - ui.label(*label); let mut knob = Knob::new(&mut self.values[i], 0.0, 1.0, *config) .with_label(*label, LabelPosition::Bottom) .with_background_arc(self.show_bg_arc) diff --git a/scrot.png b/scrot.png index d45350dd62ae8fcc54770a599e6dc2ce09e63e7e..c53b93f30cd34d464cb2b38d3f63da7261566889 100644 GIT binary patch literal 42485 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

B51-=^`IBd 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�owh$iF&6WZBGbu|o1h5abx?WJZ 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̣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 LSR0q(T#5e!Q1$Nh literal 50908 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 KnobRenderer<'a> { pub fn render_knob(&self, painter: &Painter, center: Pos2, radius: f32, hovered: bool) { let knob_color = if hovered { - self.config.colors.knob_color.linear_multiply(1.2) + self.config.colors.knob_color.linear_multiply(1.15) } else { self.config.colors.knob_color }; + // TODO: make an option + painter.circle_filled( + center, + radius - self.config.stroke_width / 2.0, + self.config.colors.knob_color.gamma_multiply(0.15), + ); + painter.circle_stroke( center, radius, @@ -50,11 +57,11 @@ impl<'a> KnobRenderer<'a> { let angle = self.compute_angle(); match self.config.style { KnobStyle::Wiper => { - let pointer = center + Vec2::angled(angle) * (radius * 0.7); + let pointer = center + Vec2::angled(angle) * (radius * 0.65); painter.line_segment( [center, pointer], Stroke::new( - self.config.stroke_width * 1.5, + self.config.stroke_width * 1.2, self.config.colors.line_color, ), ); @@ -63,7 +70,7 @@ impl<'a> KnobRenderer<'a> { let dot_pos = center + Vec2::angled(angle) * (radius * 0.7); painter.circle_filled( dot_pos, - self.config.stroke_width * 1.5, + self.config.stroke_width * 1.8, self.config.colors.line_color, ); } @@ -73,9 +80,9 @@ impl<'a> KnobRenderer<'a> { fn render_background_arc(&self, painter: &Painter, center: Pos2, radius: f32) { let arc_start = self.config.min_angle; let arc_end = self.config.max_angle; - let segments = 64; - let arc_color = self.config.colors.knob_color.gamma_multiply(0.5); - let arc_radius = radius * 0.8; + let segments = 128; + let arc_color = self.config.colors.knob_color.gamma_multiply(0.35); + let arc_radius = radius * 0.85; let mut points = Vec::with_capacity(segments + 1); for i in 0..=segments { @@ -95,18 +102,23 @@ impl<'a> KnobRenderer<'a> { * ((self.value - self.min) / (self.max - self.min)).clamp(0.0, 1.0)) as usize; - let mut fill_points = Vec::with_capacity(filled_segments + 1); - for i in 0..=filled_segments { - let t = i as f32 / segments as f32; - let angle = arc_start + (arc_end - arc_start) * t; - let pos = center + Vec2::angled(angle) * arc_radius; - fill_points.push(pos); - } + if filled_segments > 0 { + let mut fill_points = Vec::with_capacity(filled_segments + 1); + for i in 0..=filled_segments { + let t = i as f32 / segments as f32; + let angle = arc_start + (arc_end - arc_start) * t; + let pos = center + Vec2::angled(angle) * arc_radius; + fill_points.push(pos); + } - painter.add(egui::Shape::line( - fill_points, - Stroke::new(self.config.stroke_width, self.config.colors.line_color), - )); + painter.add(egui::Shape::line( + fill_points, + Stroke::new( + self.config.stroke_width * 1.2, + self.config.colors.line_color, + ), + )); + } } } @@ -114,26 +126,23 @@ impl<'a> KnobRenderer<'a> { if let Some(label) = &self.config.label { let label_text = format!("{}: {}", label, (self.config.label_format)(self.value)); let font_id = egui::FontId::proportional(self.config.font_size); - let label_padding = 2.0; + let label_padding = 4.0; let (label_pos, alignment) = match self.config.label_position { LabelPosition::Top => ( - Vec2::new( - rect.center().x, - rect.min.y - self.config.label_offset + label_padding, - ), + Vec2::new(rect.center().x, rect.min.y + label_padding), Align2::CENTER_TOP, ), LabelPosition::Bottom => ( - Vec2::new(rect.center().x, rect.max.y + self.config.label_offset), + Vec2::new(rect.center().x, rect.max.y - label_padding), Align2::CENTER_BOTTOM, ), LabelPosition::Left => ( - Vec2::new(rect.min.x - self.config.label_offset, rect.center().y), + Vec2::new(rect.min.x + label_padding, rect.center().y), Align2::LEFT_CENTER, ), LabelPosition::Right => ( - Vec2::new(rect.max.x + self.config.label_offset, rect.center().y), + Vec2::new(rect.max.x - label_padding, rect.center().y), Align2::RIGHT_CENTER, ), }; @@ -149,7 +158,7 @@ impl<'a> KnobRenderer<'a> { } pub fn calculate_size(&self, ui: &Ui) -> Vec2 { - let knob_size = Vec2::splat(self.config.size); + let knob_size = Vec2::splat(self.config.size + self.config.stroke_width * 2.0); let label_size = if let Some(label) = &self.config.label { let font_id = egui::FontId::proportional(self.config.font_size); @@ -161,16 +170,16 @@ impl<'a> KnobRenderer<'a> { Vec2::ZERO }; - let label_padding = 2.0; + let label_padding = 8.0; match self.config.label_position { LabelPosition::Top | LabelPosition::Bottom => Vec2::new( knob_size.x.max(label_size.x + label_padding * 2.0), - knob_size.y + label_size.y + label_padding * 2.0 + self.config.label_offset, + knob_size.y + label_size.y + label_padding + self.config.label_offset, ), LabelPosition::Left | LabelPosition::Right => Vec2::new( - knob_size.x + label_size.x + label_padding * 2.0 + self.config.label_offset, - knob_size.y.max(label_size.y + label_padding * 2.0), + knob_size.x + label_size.x + label_padding + self.config.label_offset, + knob_size.y.max(label_size.y + label_padding), ), } }