Moving windows in the client application doesn't work properly when using Sample Dual UI in mirror mode.
Describe the bug When trying to move a window in the client application when using Sample Dual UI in mirror mode, the window teleport to a fixed location.
To Reproduce
- Launch the sample in SampleDualUI
- launch the server
- connect to the server
- Choose Mirror UI
- Move a window on the server: it works
- Move a window on the client: it gets teleported
Expected behavior The window on the client should not teleport to a fixed location, but should follow the mouse
Screenshots
Additional context This is because the last mouse pos received on the client is given to imgui on a new frame, even if this mouse position is not relevant anymore:
io.AddMousePosEvent(pCmdInput->mMousePos[0], pCmdInput->mMousePos[1]);
Callstack:
ProcessInputData
NewFrame
On mirror mode, the client input/display properties (size/dpi) are completly ignored, it only shows the content controlled by the server and sent to it. I did notice the window jump once, which I will investigate, but you should not expect to be able to move/control content on the client in this particular mode. This mode is not that useful, just a showcasing that it is possible to see locally what's being rendered on the server.
Ok thanks!
Very nice work by the way.