private void SetObjectEventCallback() { if (_objectEventCallback == null) { _objectEventCallback = (type, eventData, userData) => { if (type != Interop.ViewEventType.Object) { return; } var eventArg = new Interop.ObjectEventDataHandle(eventData); switch (eventArg.GestureType) { case Interop.ViewGesture.Click: { var mapObject = _handleToObjectTable[eventArg.ViewObject]; mapObject?.HandleClickedEvent(); break; } } }; handle.SetEventCb(Interop.ViewEventType.Object, _objectEventCallback, IntPtr.Zero); Log.Info(string.Format("Object event callback is set")); } }
private void SetGestureEventCallback() { if (_gestureEventCallback == null) { _gestureEventCallback = (type, eventData, userData) => { if (type != Interop.ViewEventType.Gesture) { return; } var eventArg = new MapGestureEventArgs(eventData); switch (eventArg.GestureType) { case GestureType.Scroll: _scrolledEventHandler?.Invoke(this, eventArg); break; case GestureType.Zoom: _twoFingerZoomedEventHandler?.Invoke(this, eventArg); break; case GestureType.Click: _clickedEventHandler?.Invoke(this, eventArg); break; case GestureType.DoubleClick: _doubleClickedEventHandler?.Invoke(this, eventArg); break; case GestureType.TwoFingerClick: _twoFingerClickedEventHandler?.Invoke(this, eventArg); break; case GestureType.Rotation: _twoFingerRotatedEventHandler?.Invoke(this, eventArg); break; case GestureType.LongPress: _longPressedEventHandler?.Invoke(this, eventArg); break; } }; handle.SetEventCb(Interop.ViewEventType.Gesture, _gestureEventCallback, IntPtr.Zero); Log.Info(string.Format("Gesture event callback is set")); } }
private void UnsetViewReadyEventCallback() { if (_viewReadyEventHandler == null) { handle.UnsetEventCb(Interop.ViewEventType.Ready); _viewReadyEventCallback = null; Log.Info(string.Format("ViewReady event callback is unset")); } }
private void SetViewReadyEventCallback() { if (_viewReadyEventCallback == null) { _viewReadyEventCallback = (type, eventData, userData) => { _viewReadyEventHandler?.Invoke(this, EventArgs.Empty); }; handle.SetEventCb(Interop.ViewEventType.Ready, _viewReadyEventCallback, IntPtr.Zero); Log.Info(string.Format("ViewReady event callback is set")); } }
private void UnsetGestureEventCallback() { if (_scrolledEventHandler != null || _twoFingerZoomedEventHandler != null || _clickedEventHandler != null || _doubleClickedEventHandler != null || _twoFingerClickedEventHandler != null || _twoFingerRotatedEventHandler != null || _longPressedEventHandler != null) { return; } handle.UnsetEventCb(Interop.ViewEventType.Gesture); _gestureEventCallback = null; Log.Info(string.Format("Gesture event callback is unset")); }