From 5e73f83efa406a6989fff6077b90dd77a7328b36 Mon Sep 17 00:00:00 2001 From: Blaž Hrastnik Date: Tue, 9 Feb 2021 15:59:42 +0900 Subject: Implement vertical split calculations. --- helix-term/src/ui/editor.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'helix-term/src') diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 773bc44d..79e6ed93 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -42,8 +42,8 @@ impl EditorView { viewport.x + OFFSET, viewport.y, viewport.width - OFFSET, - viewport.height - 2, - ); // - 2 for statusline and prompt + viewport.height - 1, + ); // - 1 for statusline self.render_buffer(view, area, surface, theme, is_focused); // clear with background color @@ -52,7 +52,7 @@ impl EditorView { let area = Rect::new( viewport.x, - viewport.y + viewport.height - 2, + viewport.y + viewport.height - 1, viewport.width, 1, ); @@ -301,9 +301,8 @@ impl Component for EditorView { fn handle_event(&mut self, event: Event, cx: &mut Context) -> EventResult { match event { Event::Resize(width, height) => { - // TODO: simplistic ensure cursor in view for now - // TODO: loop over views - cx.editor.tree.resize(Rect::new(0, 0, width, height)); + // HAXX: offset the render area height by 1 to account for prompt/commandline + cx.editor.tree.resize(Rect::new(0, 0, width, height - 1)); // TODO: restore view.ensure_cursor_in_view(); EventResult::Consumed(None) } @@ -353,10 +352,11 @@ impl Component for EditorView { } } - fn render(&self, area: Rect, surface: &mut Surface, cx: &mut Context) { + fn render(&self, mut area: Rect, surface: &mut Surface, cx: &mut Context) { // SAFETY: we cheat around the view_mut() borrow because it doesn't allow us to also borrow // theme. Theme is immutable mutating view won't disrupt theme_ref. let theme_ref = unsafe { &*(&cx.editor.theme as *const Theme) }; + for (view, is_focused) in cx.editor.tree.views() { // TODO: use parent area self.render_view(view, view.area, surface, theme_ref, is_focused); -- cgit v1.2.3-70-g09d2