diff --git a/src/views/panel.rs b/src/views/panel.rs index 07627fb..238823c 100644 --- a/src/views/panel.rs +++ b/src/views/panel.rs @@ -1,5 +1,6 @@ use Printer; use event::{Event, EventResult}; +use rect::Rect; use vec::Vec2; use view::{View, ViewWrapper}; @@ -34,14 +35,17 @@ impl ViewWrapper for Panel { fn wrap_draw(&self, printer: &Printer) { printer.print_box((0, 0), printer.size, true); - self.view.draw(&printer.sub_printer( - (1, 1), - printer.size.saturating_sub((2, 2)), - true, - )); + let size = printer.size.saturating_sub((2, 2)); + let printer = printer.sub_printer((1, 1), size, true); + self.view.draw(&printer); } fn wrap_layout(&mut self, size: Vec2) { self.view.layout(size.saturating_sub((2, 2))); } + + fn wrap_important_area(&self, size: Vec2) -> Rect { + let inner_size = size.saturating_sub((2, 2)); + self.view.important_area(inner_size) + (1, 1) + } }