From ae3799d905a49865ca3a8cf31ec57995458ea644 Mon Sep 17 00:00:00 2001 From: bangae1 Date: Mon, 18 Aug 2025 21:08:26 +0900 Subject: [PATCH] =?UTF-8?q?=20=EC=98=A4=EB=A5=B8=EC=AA=BD=20=EB=A7=88?= =?UTF-8?q?=EC=9A=B0=EC=8A=A4=20=EC=A0=95=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...remote_frame_buffer_Listener_detector.dart | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/lib/rfb/remote_frame_buffer_Listener_detector.dart b/lib/rfb/remote_frame_buffer_Listener_detector.dart index a127828..ae7dd5b 100644 --- a/lib/rfb/remote_frame_buffer_Listener_detector.dart +++ b/lib/rfb/remote_frame_buffer_Listener_detector.dart @@ -12,6 +12,7 @@ class RemoteFrameBufferListenerDetector extends Listener { final Size _remoteFrameBufferWidgetSize; final Option _sendPort; + RemoteFrameBufferListenerDetector({ super.key, required final Image image, @@ -38,9 +39,9 @@ class RemoteFrameBufferListenerDetector extends Listener { .toInt(); sendPort.send( RemoteFrameBufferIsolateSendMessage.pointerEvent( - button1Down: true, + button1Down: details.buttons == 1 ? true : false, button2Down: false, - button3Down: false, + button3Down: details.buttons == 2 ? true : false, button4Down: false, button5Down: false, button6Down: false, @@ -56,6 +57,35 @@ class RemoteFrameBufferListenerDetector extends Listener { } ); + PointerMoveEventListener? get onPointerMove => + (final PointerMoveEvent details) => _sendPort.match( + () {}, + (final SendPort sendPort) { + int dx = (details.localPosition.dx / + _remoteFrameBufferWidgetSize.width * + _image.width) + .toInt(); + int dy = (details.localPosition.dy / + _remoteFrameBufferWidgetSize.height * + _image.height) + .toInt(); + sendPort.send( + RemoteFrameBufferIsolateSendMessage.pointerEvent( + button1Down: details.buttons == 1 ? true : false, + button2Down: false, + button3Down: details.buttons == 2 ? true : false, + button4Down: false, + button5Down: false, + button6Down: false, + button7Down: false, + button8Down: false, + x: dx, + y: dy, + ), + ); + } + ); + PointerUpEventListener? get onPointerUp => (final PointerUpEvent details) => _sendPort.match( () {},