In order to provide resolution independence in my game I have implemented a RelativeSpriteBatch based on the SpriteBatch that scales and offsets all the graphics when the game window is resized. This effectively creates virtual co-ordinates scaled and offset from the actual or original co-ordinates. Similarly the mouse is tracked using the same scale and offset. Everything works correctly, except when the mouse tracks to the edge and out of the game window it translates from the virtual co-ordinates to the actual screen co-ordinates.
This is not a problem when the game is in full-screen and there is nothing outside the game window. But when there are other windows on the screen this is strange behaviour for the user.
Does anyone know how this can be remedied?
Thanks.