internal override void ListenMousePress(object sender, UIMousePressEventArgs e) { if (_ownerBeh.HasMousePress) { _ownerBeh.InvokeMousePress((S)sender, _state, e); } }
public MousePressMonitorHelper(int intervalMs) { _intervalMs = intervalMs; _mousePressCount = 0; _currentMonitoredElem = null; _mousePressEventArgs = new UIMousePressEventArgs(); _mousePressMonitor = new UITimerTask(t => { if (_currentMonitoredElem != null) { //invoke mouse press event if (_mousePressCount > 0) { _currentMonitoredElem.ListenMousePress(_mousePressEventArgs); } _mousePressCount++; } }); _mousePressMonitor.Enabled = true; _mousePressMonitor.Interval = intervalMs; //interval for mouse press monitor UIPlatform.RegisterTimerTask(_mousePressMonitor); }
void IEventListener.ListenMousePress(UIMousePressEventArgs e) => OnMousePress(e);
protected virtual void OnMousePress(UIMousePressEventArgs e) { }
void IEventListener.ListenMousePress(UIMousePressEventArgs e) { MousePress?.Invoke(this, e); }
void IEventListener.ListenMousePress(UIMousePressEventArgs e) { OnMousePress(e); _externalEventListener?.ListenMousePress(e); }
internal abstract void ListenMousePress(object sender, UIMousePressEventArgs e);
internal void InvokeMousePress(S sender, T state, UIMousePressEventArgs e) => MousePress.Invoke(new SenderInfo(sender, state), e);