private void ProcessMove(IMouseState currState) { if (currState.Position == prevState.Position) { return; } canBeClick = false; canBeDoubleClick = false; var delta = currState.Position - prevState.Position; var state = prevState.CloneTyped(); state.Position = currState.Position; state.NormalizedPosition = currState.NormalizedPosition; state.HmgnPosition = currState.HmgnPosition; FireMove(state, delta); prevState = state; }