private void RotateCam(double x, double y) {
PressKey(Keys.F7);
User32.BringProcessWindowToFront(_process);
_inputSimulator.Mouse.MoveMouseTo(32767 - 32767 * x / Screen.PrimaryScreen.Bounds.Width,
32767 - 32767 * y / Screen.PrimaryScreen.Bounds.Height);
_inputSimulator.Mouse.RightButtonDown();
Wait(WaitTimeoutIteration);
var lx = 0.0;
var ly = 0.0;
var px = 0;
var py = 0;
for (var i = 0; i < IterationCount; i++) {
lx += x / IterationCount;
ly += y / IterationCount;
var dx = (int)Math.Round(lx) - px;
var dy = (int)Math.Round(ly) - py;
User32.BringProcessWindowToFront(_process);
_inputSimulator.Mouse.MoveMouseBy(dx, dy);
px += dx;
py += dy;
Wait(WaitTimeoutIteration);
}
User32.BringProcessWindowToFront(_process);
_inputSimulator.Mouse.RightButtonUp();
PressKey(Keys.F7);
Wait(WaitTimeoutEnsure);
}