private void UpdateInputRedirection()
{
uint messagePos = NativeMethods.GetMessagePos();
int xScreen = NativeMacros.GET_X_LPARAM(messagePos);
int yScreen = NativeMacros.GET_Y_LPARAM(messagePos);
POINT? ptClient = GetInputSyncPoint(xScreen, yScreen);
if (ptClient.HasValue) {
_redirectedWindow.AlignClientAndScreen(ptClient.Value.x, ptClient.Value.y, xScreen, yScreen);
UpdateRedirectedWindowSettings(RedirectionVisibility, true);
} else {
UpdateRedirectedWindowSettings(RedirectionVisibility, false);
// TODO: shove the window away? (on an animation?)
}
}