netImgui icon indicating copy to clipboard operation
netImgui copied to clipboard

Moving windows in the client application doesn't work properly when using Sample Dual UI in mirror mode.

Open arnaud-jamin opened this issue 11 months ago • 2 comments

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

  1. Launch the sample in SampleDualUI
  2. launch the server
  3. connect to the server
  4. Choose Mirror UI
  5. Move a window on the server: it works
  6. 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 image

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

arnaud-jamin avatar Jan 05 '25 03:01 arnaud-jamin

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.

sammyfreg avatar Jan 05 '25 13:01 sammyfreg

Ok thanks!

Very nice work by the way.

arnaud-jamin avatar Jan 05 '25 15:01 arnaud-jamin