Example #1
0
        public MouseClickDetector(IComponentEventSource <MouseEventData, IWidget> eventSource)
        {
            DragThreshold    = 4;
            DoubleClickDelay = 0.5f;

            queue            = new EventQueue <MouseEventData>();
            this.eventSource = eventSource;

            lastDownTime = new EnumMap <MouseButton, MouseClickRecord>(buttons);
            lastDownTime.Fill(MouseClickRecord.Invalid);

            lastComponentSeen = new WeakReference <IWidget>(null);
        }
        public ScreenEventHandling(IScreenService screenService, IWidget root, IInputManager rawInputs)
        {
            this.screenService = screenService;
            this.root          = root;

            mousePostProcessors   = new List <IComponentEventSink <MouseEventData> >();
            mousePreProcessors    = new List <IComponentEventSink <MouseEventData> >();
            touchPreProcessors    = new List <IComponentEventSink <TouchEventData> >();
            touchPostProcessors   = new List <IComponentEventSink <TouchEventData> >();
            keyPostProcessors     = new List <IComponentEventSink <KeyEventData> >();
            keyPreProcessors      = new List <IComponentEventSink <KeyEventData> >();
            gamePadPostProcessors = new List <IComponentEventSink <GamePadEventData> >();
            gamePadPreProcessors  = new List <IComponentEventSink <GamePadEventData> >();

            mouseInputs   = ConfigureMouseInput(rawInputs.MouseSource);
            keyInputs     = ConfigureKeyInput(rawInputs.KeySource);
            gamePadInputs = ConfigureGamePadInput(rawInputs.GamePadSource);
            touchInputs   = ConfigureTouchInput(rawInputs.TouchSource);
        }