public MouseToComponentMapper(IEventSource <MouseEventData> source, IMouseHoverManager hoverManager, IWidget rootWidget)
 {
     eventQueue        = new EventQueue <MouseEventData>();
     this.source       = source;
     this.hoverManager = hoverManager;
     this.rootWidget   = rootWidget;
 }
        public TouchToComponentMapper(IEventSource <TouchEventData> source, IMouseHoverManager hoverManager, IWidget rootWidget)
        {
            this.source       = source;
            this.hoverManager = hoverManager;
            this.rootWidget   = rootWidget;
            this.rootWidget.LayoutInvalidated += (sender, args) => layoutInvalid = true;

            touchDownById = new HashSet <int>();
            layoutInvalid = true;
        }