From 1777e9bba32b953ed1ad203b4a16d01105539000 Mon Sep 17 00:00:00 2001 From: Can Celik Date: Sun, 9 Aug 2026 02:04:39 +0300 Subject: feat(graphics): add direct pane frame streaming (#2523) * feat(graphics): add direct pane frame streaming * feat(graphics): expose pane visibility * test(graphics): preserve legacy terminal image output * fix(graphics): harden streaming lifecycle * fix(input): preserve mouse releases outside panes --- src/terminal/runtime.rs | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'src/terminal/runtime.rs') diff --git a/src/terminal/runtime.rs b/src/terminal/runtime.rs index 8a3da876..13e29690 100644 --- a/src/terminal/runtime.rs +++ b/src/terminal/runtime.rs @@ -465,31 +465,32 @@ impl TerminalRuntime { pub fn encode_mouse_button( &self, kind: crossterm::event::MouseEventKind, - column: u16, - row: u16, + position: crate::input::mouse::Position, modifiers: crossterm::event::KeyModifiers, ) -> Option> { - self.0.encode_mouse_button(kind, column, row, modifiers) + self.0.encode_mouse_button(kind, position, modifiers) } - pub fn encode_mouse_motion( + pub(crate) fn encode_mouse_motion( &self, kind: crossterm::event::MouseEventKind, - column: u16, - row: u16, + position: crate::input::mouse::Position, modifiers: crossterm::event::KeyModifiers, ) -> Option> { - self.0.encode_mouse_motion(kind, column, row, modifiers) + self.0.encode_mouse_motion(kind, position, modifiers) } - pub fn encode_mouse_wheel( + pub(crate) fn encode_mouse_wheel( &self, kind: crossterm::event::MouseEventKind, - column: u16, - row: u16, + position: crate::input::mouse::Position, modifiers: crossterm::event::KeyModifiers, ) -> Option> { - self.0.encode_mouse_wheel(kind, column, row, modifiers) + self.0.encode_mouse_wheel(kind, position, modifiers) + } + + pub(crate) fn pixel_size(&self) -> Option<(u32, u32)> { + self.0.pixel_size() } pub fn encode_alternate_scroll( -- cgit v1.2.3