private void handleState(MouseState state)
        {
            // combine wheel values to avoid discrepancy between sources.
            state       = (MouseState)state.Clone();
            state.Wheel = (lastEventState?.Wheel ?? 0) + (lastPollState?.Wheel ?? 0);

            PendingStates.Enqueue(new InputState {
                Mouse = state
            });
            FrameStatistics.Increment(StatisticsCounterType.MouseEvents);
        }
        private void handleState(MouseState state)
        {
            // combine wheel values to avoid discrepancy between sources.
            state        = (MouseState)state.Clone();
            state.Scroll = (lastUnfocusedState?.Scroll ?? Vector2.Zero) + (lastRawState?.Scroll ?? Vector2.Zero);

            PendingStates.Enqueue(new InputState {
                Mouse = state
            });
            FrameStatistics.Increment(StatisticsCounterType.MouseEvents);
        }