(&mut self)
| 529 | .frame(terminal_band) |
| 530 | .show(ui, |ui| self.terminal_panel(ui, now)); |
| 531 | } |
| 532 | |
| 533 | egui::CentralPanel::default() |
| 534 | .frame(canvas_band) |
| 535 | .show(ui, |ui| self.body(ui, build_glow_t)); |
| 536 | |
| 537 | self.quick_open_overlay(ui.ctx()); |
| 538 | self.explorer_confirm_overlay(ui.ctx()); |
| 539 | self.framebuffer_window(ui.ctx()); |
| 540 | } |
| 541 | } |
| 542 | |
| 543 | // Body paints last: hairlines land above panel fills yet under floating windows. |
| 544 | fn separator_painter(ui: &egui::Ui) -> egui::Painter { |
| 545 | ui.ctx().layer_painter(egui::LayerId::background()) |
| 546 | } |
| 547 | |
| 548 | fn draw_separator(ui: &egui::Ui, x: f32, top: f32, bottom: f32, active: bool) { |
| 549 | let color = if active { |
| 550 | theme::ELECTRIC |
| 551 | } else { |
| 552 | theme::HAIRLINE |
| 553 | }; |
| 554 | let painter = separator_painter(ui); |
| 555 | painter.line_segment( |
| 556 | [egui::pos2(x, top), egui::pos2(x, bottom)], |
| 557 | egui::Stroke::new(1.0, color), |
| 558 | ); |
| 559 | } |
no test coverage detected