오른쪽 마우스 정의

This commit is contained in:
2025-08-18 21:08:26 +09:00
parent 1aac04301b
commit ae3799d905

View File

@@ -12,6 +12,7 @@ class RemoteFrameBufferListenerDetector extends Listener {
final Size _remoteFrameBufferWidgetSize; final Size _remoteFrameBufferWidgetSize;
final Option<SendPort> _sendPort; final Option<SendPort> _sendPort;
RemoteFrameBufferListenerDetector({ RemoteFrameBufferListenerDetector({
super.key, super.key,
required final Image image, required final Image image,
@@ -38,9 +39,9 @@ class RemoteFrameBufferListenerDetector extends Listener {
.toInt(); .toInt();
sendPort.send( sendPort.send(
RemoteFrameBufferIsolateSendMessage.pointerEvent( RemoteFrameBufferIsolateSendMessage.pointerEvent(
button1Down: true, button1Down: details.buttons == 1 ? true : false,
button2Down: false, button2Down: false,
button3Down: false, button3Down: details.buttons == 2 ? true : false,
button4Down: false, button4Down: false,
button5Down: false, button5Down: false,
button6Down: 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 => PointerUpEventListener? get onPointerUp =>
(final PointerUpEvent details) => _sendPort.match( (final PointerUpEvent details) => _sendPort.match(
() {}, () {},