1use egui_scale::EguiScale;
2
3use super::{BackgroundPattern, PinPlacement, SelectionStyle, TreeizeStyle, WireStyle};
4
5impl EguiScale for WireStyle {
6 #[inline(always)]
7 fn scale(&mut self, scale: f32) {
8 match self {
9 WireStyle::Line | WireStyle::Bezier3 | WireStyle::Bezier5 => {}
10 WireStyle::AxisAligned { corner_radius } => {
11 corner_radius.scale(scale);
12 }
13 }
14 }
15}
16
17impl EguiScale for SelectionStyle {
18 #[inline(always)]
19 fn scale(&mut self, scale: f32) {
20 self.margin.scale(scale);
21 self.rounding.scale(scale);
22 self.stroke.scale(scale);
23 }
24}
25
26impl EguiScale for PinPlacement {
27 fn scale(&mut self, scale: f32) {
28 if let PinPlacement::Outside { margin } = self {
29 margin.scale(scale);
30 }
31 }
32}
33
34impl EguiScale for BackgroundPattern {
35 fn scale(&mut self, scale: f32) {
36 if let BackgroundPattern::Grid(grid) = self {
37 grid.spacing.scale(scale);
38 }
39 }
40}
41
42impl EguiScale for TreeizeStyle {
43 fn scale(&mut self, scale: f32) {
44 self.node_frame.scale(scale);
45 self.header_frame.scale(scale);
46 self.header_drag_space.scale(scale);
47 self.pin_size.scale(scale);
48 self.pin_stroke.scale(scale);
49 self.pin_placement.scale(scale);
50 self.wire_width.scale(scale);
51 self.wire_frame_size.scale(scale);
52 self.wire_style.scale(scale);
53 self.bg_frame.scale(scale);
54 self.bg_pattern.scale(scale);
55 self.bg_pattern_stroke.scale(scale);
56 self.min_scale.scale(scale);
57 self.max_scale.scale(scale);
58 self.select_stoke.scale(scale);
59 self.select_style.scale(scale);
60 }
61}