From f4a4e0152ec516cd11609cb26b0651f162515de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Thu, 21 Jul 2022 18:28:51 +0200 Subject: [PATCH] webrtc SetCursorPosition. --- internal/webrtc/manager.go | 4 ++++ internal/websocket/handler/control.go | 2 ++ pkg/types/webrtc.go | 1 + 3 files changed, 7 insertions(+) diff --git a/internal/webrtc/manager.go b/internal/webrtc/manager.go index ccba66a8..f7dab19e 100644 --- a/internal/webrtc/manager.go +++ b/internal/webrtc/manager.go @@ -446,3 +446,7 @@ func (manager *WebRTCManagerCtx) CreatePeer(session types.Session, videoID strin return offer, nil } + +func (manager *WebRTCManagerCtx) SetCursorPosition(x, y int) { + manager.curPosition.Set(x, y) +} diff --git a/internal/websocket/handler/control.go b/internal/websocket/handler/control.go index 2533dab2..9c3f8dfc 100644 --- a/internal/websocket/handler/control.go +++ b/internal/websocket/handler/control.go @@ -64,7 +64,9 @@ func (h *MessageHandlerCtx) controlMove(session types.Session, payload *message. return err } + // handle active cursor movement h.desktop.Move(payload.X, payload.Y) + h.webrtc.SetCursorPosition(payload.X, payload.Y) return nil } diff --git a/pkg/types/webrtc.go b/pkg/types/webrtc.go index ab323431..6063f203 100644 --- a/pkg/types/webrtc.go +++ b/pkg/types/webrtc.go @@ -41,4 +41,5 @@ type WebRTCManager interface { ICEServers() []ICEServer CreatePeer(session Session, videoID string) (*webrtc.SessionDescription, error) + SetCursorPosition(x, y int) }