/// <summary> /// Creates and initializes a new instance of the EvasObject class. /// </summary> /// <since_tizen> preview </since_tizen> protected EvasObject() { _backButtonHandler = new Interop.Eext.EextEventCallback((d, o, i) => { _backButtonPressed?.Invoke(this, EventArgs.Empty); }); _moreButtonHandler = new Interop.Eext.EextEventCallback((d, o, i) => { _moreButtonPressed?.Invoke(this, EventArgs.Empty); }); OnInstantiated(); _tooltipContentCallback = (d, o, t) => { return(_tooltipContentDelegate?.Invoke()); }; }
static void EnableButtonEventHandler(Efl.Object obj, Interop.Eext.EextCallbackType type) { if (type == Interop.Eext.EextCallbackType.EEXT_CALLBACK_BACK) { if (!_backButtonEventMap.ContainsKey(obj)) { Interop.Eext.EextEventCallback cb = (d, o, i) => { EventHandler events; if (_backButtonEventHandlers.TryGetValue(obj, out events)) { events?.Invoke(obj, EventArgs.Empty); } }; Interop.Eext.eext_object_event_callback_add(obj.NativeHandle, type, cb, IntPtr.Zero); _backButtonEventMap[obj] = cb; obj.DelEvt += (s, e) => DisableButtonEventHandler(obj, type, true); } } else if (type == Interop.Eext.EextCallbackType.EEXT_CALLBACK_MORE) { if (!_moreButtonEventMap.ContainsKey(obj)) { Interop.Eext.EextEventCallback cb = (d, o, i) => { EventHandler events; if (_moreButtonEventHandlers.TryGetValue(obj, out events)) { events?.Invoke(obj, EventArgs.Empty); } }; Interop.Eext.eext_object_event_callback_add(obj.NativeHandle, type, cb, IntPtr.Zero); _moreButtonEventMap[obj] = cb; } } }