egui_treeize/ui/
scale.rs

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}