From fd6d03025a90ced5e11b9959561f489120763def Mon Sep 17 00:00:00 2001 From: Stefan Schmidt Date: Fri, 6 Dec 2019 14:40:20 -0500 Subject: [PATCH] ecore_x: remove support XGesture extension Summary: This was a X11 extension mainly developed for Tizen. By now I can only find it packaged by Gentoo as the only Linux distribution and Tizen is now longer using it either. Bringing it up during EDD and on the mailing list did not come up with any users. I think we can go ahead and deprecate the API and remove the functionality. Reviewers: raster, cedric, devilhorns, zmike Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10823 --- .ci/ci-configure.sh | 5 +- meson_options.txt | 6 - src/lib/ecore_x/Ecore_X.h | 14 +-- src/lib/ecore_x/ecore_x.c | 28 ----- src/lib/ecore_x/ecore_x_events.c | 182 ------------------------------ src/lib/ecore_x/ecore_x_gesture.c | 90 +-------------- src/lib/ecore_x/ecore_x_private.h | 13 --- src/lib/ecore_x/meson.build | 4 - 8 files changed, 11 insertions(+), 331 deletions(-) diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh index f5a127ba0d..88ca9e22ad 100755 --- a/.ci/ci-configure.sh +++ b/.ci/ci-configure.sh @@ -14,10 +14,11 @@ if [ "$DISTRO" != "" ] ; then WAYLAND_LINUX_COPTS=" -Dwl=true -Ddrm=true -Dopengl=es-egl -Dwl-deprecated=true -Ddrm-deprecated=true" # TODO: - # - No libelogind, Xgesture packages in fedora 30 repo + # - Enable C++ bindings: -Dbindings=luajit,cxx + # - No libelogind package in fedora 30 repo # - RPM fusion repo for xine and libvlc ENABLED_LINUX_COPTS=" -Dfb=true -Dsdl=true -Dbuffer=true -Dbuild-id=travis-build \ - -Ddebug-threads=true -Dglib=true -Dg-mainloop=true -Dxpresent=true -Dxgesture=false -Dxinput22=true \ + -Ddebug-threads=true -Dglib=true -Dg-mainloop=true -Dxpresent=true -Dxinput22=true \ -Devas-loaders-disabler=json -Decore-imf-loaders-disabler= -Demotion-loaders-disabler=libvlc,xine \ -Demotion-generic-loaders-disabler=vlc -Dharfbuzz=true -Dpixman=true -Dhyphen=true \ -Dvnc-server=true -Dbindings=luajit,cxx,mono -Delogind=false -Dinstall-eo-files=true -Dphysics=true" diff --git a/meson_options.txt b/meson_options.txt index 4652730e6d..dd9fa01dcf 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -150,12 +150,6 @@ option('xpresent', description : 'X11 XPresent extension support in efl' ) -option('xgesture', - type : 'boolean', - value : false, - description : 'X11 XGesture support in efl' -) - option('xinput2', type : 'boolean', value : true, diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h index 7d4423048b..b58520c1b3 100644 --- a/src/lib/ecore_x/Ecore_X.h +++ b/src/lib/ecore_x/Ecore_X.h @@ -2713,15 +2713,11 @@ struct _Ecore_X_Event_Gesture_Notify_Group int group_id; }; -EAPI Eina_Bool ecore_x_gesture_supported(void); - -EAPI Eina_Bool ecore_x_gesture_events_select(Ecore_X_Window win, Ecore_X_Gesture_Event_Mask mask); - -EAPI Ecore_X_Gesture_Event_Mask ecore_x_gesture_events_selected_get(Ecore_X_Window win); - -EAPI Eina_Bool ecore_x_gesture_event_grab(Ecore_X_Window win, Ecore_X_Gesture_Event_Type type, int num_fingers); - -EAPI Eina_Bool ecore_x_gesture_event_ungrab(Ecore_X_Window win, Ecore_X_Gesture_Event_Type type, int num_fingers); +EINA_DEPRECATED EAPI Eina_Bool ecore_x_gesture_supported(void); +EINA_DEPRECATED EAPI Eina_Bool ecore_x_gesture_events_select(Ecore_X_Window win, Ecore_X_Gesture_Event_Mask mask); +EINA_DEPRECATED EAPI Ecore_X_Gesture_Event_Mask ecore_x_gesture_events_selected_get(Ecore_X_Window win); +EINA_DEPRECATED EAPI Eina_Bool ecore_x_gesture_event_grab(Ecore_X_Window win, Ecore_X_Gesture_Event_Type type, int num_fingers); +EINA_DEPRECATED EAPI Eina_Bool ecore_x_gesture_event_ungrab(Ecore_X_Window win, Ecore_X_Gesture_Event_Type type, int num_fingers); EAPI void ecore_x_e_illume_indicator_state_set(Ecore_X_Window win, Ecore_X_Illume_Indicator_State state); EAPI Ecore_X_Illume_Indicator_State ecore_x_e_illume_indicator_state_get(Ecore_X_Window win); diff --git a/src/lib/ecore_x/ecore_x.c b/src/lib/ecore_x/ecore_x.c index cbe2d137cd..ff603bb43b 100644 --- a/src/lib/ecore_x/ecore_x.c +++ b/src/lib/ecore_x/ecore_x.c @@ -61,9 +61,6 @@ static int _ecore_x_event_fixes_selection_id = 0; #ifdef ECORE_XDAMAGE static int _ecore_x_event_damage_id = 0; #endif /* ifdef ECORE_XDAMAGE */ -#ifdef ECORE_XGESTURE -static int _ecore_x_event_gesture_id = 0; -#endif /* ifdef ECORE_XGESTURE */ #ifdef ECORE_XKB static int _ecore_x_event_xkb_id = 0; #endif /* ifdef ECORE_XKB */ @@ -408,10 +405,6 @@ _ecore_x_init2(void) int damage_base = 0; int damage_err_base = 0; #endif /* ifdef ECORE_XDAMAGE */ -#ifdef ECORE_XGESTURE - int gesture_base = 0; - int gesture_err_base = 0; -#endif /* ifdef ECORE_XGESTURE */ #ifdef ECORE_XKB int xkb_base = 0; #endif /* ifdef ECORE_XKB */ @@ -470,12 +463,6 @@ _ecore_x_init2(void) ECORE_X_EVENT_HANDLERS_GROW(damage_base, XDamageNumberEvents); #endif /* ifdef ECORE_XDAMAGE */ -#ifdef ECORE_XGESTURE - if (XGestureQueryExtension(_ecore_x_disp, &gesture_base, &gesture_err_base)) - _ecore_x_event_gesture_id = gesture_base; - - ECORE_X_EVENT_HANDLERS_GROW(gesture_base, GestureNumberEvents); -#endif /* ifdef ECORE_XGESTURE */ #ifdef ECORE_XKB { int dummy; @@ -577,20 +564,6 @@ _ecore_x_init2(void) _ecore_x_event_handlers[_ecore_x_event_xkb_id] = _ecore_x_event_handle_xkb; #endif /* ifdef ECORE_XKB */ -#ifdef ECORE_XGESTURE - if (_ecore_x_event_gesture_id) - { - _ecore_x_event_handlers[_ecore_x_event_gesture_id + GestureNotifyFlick] = _ecore_x_event_handle_gesture_notify_flick; - _ecore_x_event_handlers[_ecore_x_event_gesture_id + GestureNotifyPan] = _ecore_x_event_handle_gesture_notify_pan; - _ecore_x_event_handlers[_ecore_x_event_gesture_id + GestureNotifyPinchRotation] = _ecore_x_event_handle_gesture_notify_pinchrotation; - _ecore_x_event_handlers[_ecore_x_event_gesture_id + GestureNotifyTap] = _ecore_x_event_handle_gesture_notify_tap; - _ecore_x_event_handlers[_ecore_x_event_gesture_id + GestureNotifyTapNHold] = _ecore_x_event_handle_gesture_notify_tapnhold; - _ecore_x_event_handlers[_ecore_x_event_gesture_id + GestureNotifyHold] = _ecore_x_event_handle_gesture_notify_hold; - _ecore_x_event_handlers[_ecore_x_event_gesture_id + GestureNotifyGroup] = _ecore_x_event_handle_gesture_notify_group; - } - -#endif /* ifdef ECORE_XGESTURE */ - ECORE_X_EVENT_ANY = ecore_event_type_new(); ECORE_X_EVENT_MOUSE_IN = ecore_event_type_new(); ECORE_X_EVENT_MOUSE_OUT = ecore_event_type_new(); @@ -691,7 +664,6 @@ _ecore_x_init2(void) _ecore_x_present_init(); _ecore_x_dpms_init(); _ecore_x_randr_init(); - _ecore_x_gesture_init(); _ecore_x_input_init(); _ecore_x_events_init(); diff --git a/src/lib/ecore_x/ecore_x_events.c b/src/lib/ecore_x/ecore_x_events.c index 904e115f0d..6431bdd283 100644 --- a/src/lib/ecore_x/ecore_x_events.c +++ b/src/lib/ecore_x/ecore_x_events.c @@ -2466,188 +2466,6 @@ _ecore_x_event_handle_generic_event(XEvent *event) data); } -#ifdef ECORE_XGESTURE -void -_ecore_x_event_handle_gesture_notify_flick(XEvent *xevent) -{ - XGestureNotifyFlickEvent *xfe; - Ecore_X_Event_Gesture_Notify_Flick *e; - - _ecore_x_last_event_mouse_move = EINA_FALSE; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - xfe = (XGestureNotifyFlickEvent *)xevent; - e = calloc(1, sizeof(Ecore_X_Event_Gesture_Notify_Flick)); - if (!e) - return; - - e->win = xfe->window; - e->time = xfe->time; - e->subtype = xfe->kind; - e->num_fingers = xfe->num_finger; - e->distance = xfe->distance; - e->duration = xfe->duration; - e->direction = xfe->direction; - e->angle = XFixedToDouble(xfe->angle); - - ecore_event_add(ECORE_X_EVENT_GESTURE_NOTIFY_FLICK, e, NULL, NULL); -} - -void -_ecore_x_event_handle_gesture_notify_pan(XEvent *xevent) -{ - XGestureNotifyPanEvent *xpe; - Ecore_X_Event_Gesture_Notify_Pan *e; - - _ecore_x_last_event_mouse_move = EINA_FALSE; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - xpe = (XGestureNotifyPanEvent *)xevent; - e = calloc(1, sizeof(Ecore_X_Event_Gesture_Notify_Pan)); - if (!e) - return; - - e->win = xpe->window; - e->time = xpe->time; - e->subtype = xpe->kind; - e->num_fingers = xpe->num_finger; - e->dx = xpe->dx; - e->dy = xpe->dy; - e->distance = xpe->distance; - e->duration = xpe->duration; - e->direction = xpe->direction; - - ecore_event_add(ECORE_X_EVENT_GESTURE_NOTIFY_PAN, e, NULL, NULL); -} - -void -_ecore_x_event_handle_gesture_notify_pinchrotation(XEvent *xevent) -{ - XGestureNotifyPinchRotationEvent *xpre; - Ecore_X_Event_Gesture_Notify_PinchRotation *e; - - _ecore_x_last_event_mouse_move = EINA_FALSE; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - xpre = (XGestureNotifyPinchRotationEvent *)xevent; - e = calloc(1, sizeof(Ecore_X_Event_Gesture_Notify_PinchRotation)); - if (!e) - return; - - e->win = xpre->window; - e->time = xpre->time; - e->subtype = xpre->kind; - e->num_fingers = xpre->num_finger; - e->distance = xpre->distance; - e->cx = xpre->cx; - e->cy = xpre->cy; - e->zoom = XFixedToDouble(xpre->zoom); - e->angle = XFixedToDouble(xpre->angle); - - ecore_event_add(ECORE_X_EVENT_GESTURE_NOTIFY_PINCHROTATION, e, NULL, NULL); -} - -void -_ecore_x_event_handle_gesture_notify_tap(XEvent *xevent) -{ - XGestureNotifyTapEvent *xte; - Ecore_X_Event_Gesture_Notify_Tap *e; - - _ecore_x_last_event_mouse_move = EINA_FALSE; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - xte = (XGestureNotifyTapEvent *)xevent; - e = calloc(1, sizeof(Ecore_X_Event_Gesture_Notify_Tap)); - if (!e) - return; - - e->win = xte->window; - e->time = xte->time; - e->subtype = xte->kind; - e->num_fingers = xte->num_finger; - e->cx = xte->cx; - e->cy = xte->cy; - e->tap_repeat = xte->tap_repeat; - e->interval = xte->interval; - - ecore_event_add(ECORE_X_EVENT_GESTURE_NOTIFY_TAP, e, NULL, NULL); -} - -void -_ecore_x_event_handle_gesture_notify_tapnhold(XEvent *xevent) -{ - XGestureNotifyTapNHoldEvent *xthe; - Ecore_X_Event_Gesture_Notify_TapNHold *e; - - _ecore_x_last_event_mouse_move = EINA_FALSE; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - xthe = (XGestureNotifyTapNHoldEvent *)xevent; - e = calloc(1, sizeof(Ecore_X_Event_Gesture_Notify_TapNHold)); - if (!e) - return; - - e->win = xthe->window; - e->time = xthe->time; - e->subtype = xthe->kind; - e->num_fingers = xthe->num_finger; - e->cx = xthe->cx; - e->cy = xthe->cy; - e->interval = xthe->interval; - e->hold_time = xthe->holdtime; - - ecore_event_add(ECORE_X_EVENT_GESTURE_NOTIFY_TAPNHOLD, e, NULL, NULL); -} - -void -_ecore_x_event_handle_gesture_notify_hold(XEvent *xevent) -{ - XGestureNotifyHoldEvent *xhe; - Ecore_X_Event_Gesture_Notify_Hold *e; - - _ecore_x_last_event_mouse_move = EINA_FALSE; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - xhe = (XGestureNotifyHoldEvent *)xevent; - e = calloc(1, sizeof(Ecore_X_Event_Gesture_Notify_Hold)); - if (!e) - return; - - e->win = xhe->window; - e->time = xhe->time; - e->subtype = xhe->kind; - e->num_fingers = xhe->num_finger; - e->cx = xhe->cx; - e->cy = xhe->cy; - e->hold_time = xhe->holdtime; - - ecore_event_add(ECORE_X_EVENT_GESTURE_NOTIFY_HOLD, e, NULL, NULL); -} - -void -_ecore_x_event_handle_gesture_notify_group(XEvent *xevent) -{ - XGestureNotifyGroupEvent *xge; - Ecore_X_Event_Gesture_Notify_Group *e; - - _ecore_x_last_event_mouse_move = EINA_FALSE; - LOGFN(__FILE__, __LINE__, __FUNCTION__); - - xge = (XGestureNotifyGroupEvent *)xevent; - e = calloc(1, sizeof(Ecore_X_Event_Gesture_Notify_Group)); - if (!e) - return; - - e->win = xge->window; - e->time = xge->time; - e->subtype = xge->kind; - e->num_groups = xge->num_group; - e->group_id = xge->groupid; - - ecore_event_add(ECORE_X_EVENT_GESTURE_NOTIFY_GROUP, e, NULL, NULL); -} - -#endif /* ifdef ECORE_XGESTURE */ #ifdef ECORE_XKB void diff --git a/src/lib/ecore_x/ecore_x_gesture.c b/src/lib/ecore_x/ecore_x_gesture.c index 15a9efdc1f..4c68590643 100644 --- a/src/lib/ecore_x/ecore_x_gesture.c +++ b/src/lib/ecore_x/ecore_x_gesture.c @@ -4,84 +4,30 @@ #include "ecore_x_private.h" -static Eina_Bool _gesture_available = EINA_FALSE; - -#ifdef ECORE_XGESTURE -static int _gesture_major, _gesture_minor, _gesture_patch; -int _gesture_version; -#endif /* ifdef ECORE_XGESTURE */ - -void -_ecore_x_gesture_init(void) -{ -#ifdef ECORE_XGESTURE - _gesture_major = 0; - _gesture_minor = 0; - _gesture_patch = 0; - _gesture_version = 0; - - if (XGestureQueryVersion(_ecore_x_disp, &_gesture_major, &_gesture_minor, &_gesture_patch)) - { - _gesture_version = (_gesture_major << 16) | _gesture_minor; - _gesture_available = EINA_TRUE; - } - else - _gesture_available = EINA_FALSE; -#else /* ifdef ECORE_XGESTURE */ - _gesture_available = EINA_FALSE; -#endif /* ifdef ECORE_XGESTURE */ -} - /* * @brief Query whether gesture is available or not. * * @return @c EINA_TRUE, if extension is available, @c EINA_FALSE otherwise. + * + * @deprecated */ EAPI Eina_Bool ecore_x_gesture_supported(void) { - return _gesture_available; + return EINA_FALSE; } EAPI Eina_Bool ecore_x_gesture_events_select(Ecore_X_Window win, Ecore_X_Gesture_Event_Mask mask) { -#ifdef ECORE_XGESTURE - if (!_gesture_available) - return EINA_FALSE; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - XGestureSelectEvents(_ecore_x_disp, win, mask); - if (_ecore_xlib_sync) ecore_x_sync(); - - return EINA_TRUE; -#else /* ifdef ECORE_XGESTURE */ - (void) win; - (void) mask; return EINA_FALSE; -#endif /* ifdef ECORE_XGESTURE */ } EAPI Ecore_X_Gesture_Event_Mask ecore_x_gesture_events_selected_get(Ecore_X_Window win) { -#ifdef ECORE_XGESTURE - Ecore_X_Gesture_Event_Mask mask; - - if (!_gesture_available) - return ECORE_X_GESTURE_EVENT_MASK_NONE; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - if (GestureSuccess != XGestureGetSelectedEvents(_ecore_x_disp, win, (Mask *)&mask)) - mask = ECORE_X_GESTURE_EVENT_MASK_NONE; - if (_ecore_xlib_sync) ecore_x_sync(); - - return mask; -#else /* ifdef ECORE_XGESTURE */ - (void) win; return ECORE_X_GESTURE_EVENT_MASK_NONE; -#endif /* ifdef ECORE_XGESTURE */ } EAPI Eina_Bool @@ -89,21 +35,7 @@ ecore_x_gesture_event_grab(Ecore_X_Window win, Ecore_X_Gesture_Event_Type type, int num_fingers) { -#ifdef ECORE_XGESTURE - Eina_Bool ret; - if (!_gesture_available) - return EINA_FALSE; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - ret = (GestureGrabSuccess == XGestureGrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime)); - if (_ecore_xlib_sync) ecore_x_sync(); - return ret; -#else /* ifdef ECORE_XGESTURE */ - (void) win; - (void) type; - (void) num_fingers; return EINA_FALSE; -#endif /* ifdef ECORE_XGESTURE */ } EAPI Eina_Bool @@ -111,21 +43,5 @@ ecore_x_gesture_event_ungrab(Ecore_X_Window win, Ecore_X_Gesture_Event_Type type, int num_fingers) { -#ifdef ECORE_XGESTURE - Eina_Bool ret; - - if (!_gesture_available) - return EINA_FALSE; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); - ret = (GestureUngrabSuccess == XGestureUngrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime)); - if (_ecore_xlib_sync) ecore_x_sync(); - return ret; -#else /* ifdef ECORE_XGESTURE */ - (void) win; - (void) type; - (void) num_fingers; return EINA_FALSE; -#endif /* ifdef ECORE_XGESTURE */ } - diff --git a/src/lib/ecore_x/ecore_x_private.h b/src/lib/ecore_x/ecore_x_private.h index ce81efe3d6..5a288d4a25 100644 --- a/src/lib/ecore_x/ecore_x_private.h +++ b/src/lib/ecore_x/ecore_x_private.h @@ -44,10 +44,6 @@ #ifdef ECORE_XDAMAGE #include #endif /* ifdef ECORE_XDAMAGE */ -#ifdef ECORE_XGESTURE -#include -#include -#endif /* ifdef ECORE_XGESTURE */ #ifdef ECORE_XDPMS #include #endif /* ifdef ECORE_XDPMS */ @@ -248,15 +244,6 @@ void _ecore_x_event_handle_client_message(XEvent *xevent); void _ecore_x_event_handle_mapping_notify(XEvent *xevent); void _ecore_x_event_handle_shape_change(XEvent *xevent); void _ecore_x_event_handle_screensaver_notify(XEvent *xevent); -#ifdef ECORE_XGESTURE -void _ecore_x_event_handle_gesture_notify_flick(XEvent *xevent); -void _ecore_x_event_handle_gesture_notify_pan(XEvent *xevent); -void _ecore_x_event_handle_gesture_notify_pinchrotation(XEvent *xevent); -void _ecore_x_event_handle_gesture_notify_tap(XEvent *xevent); -void _ecore_x_event_handle_gesture_notify_tapnhold(XEvent *xevent); -void _ecore_x_event_handle_gesture_notify_hold(XEvent *xevent); -void _ecore_x_event_handle_gesture_notify_group(XEvent *xevent); -#endif /* ifdef ECORE_XGESTURE */ void _ecore_x_event_handle_sync_counter(XEvent *xevent); void _ecore_x_event_handle_sync_alarm(XEvent *xevent); #ifdef ECORE_XRANDR diff --git a/src/lib/ecore_x/meson.build b/src/lib/ecore_x/meson.build index 0e16bd7385..957b11c44e 100644 --- a/src/lib/ecore_x/meson.build +++ b/src/lib/ecore_x/meson.build @@ -61,10 +61,6 @@ if get_option('xpresent') ecore_x_checks += [['Xpresent', 'Xpresent.h', 'Xpresent', 'XPresentQueryExtension']] endif -if get_option('xgesture') - ecore_x_checks += [['Xgesture', 'gesture.h', 'Xgesture', 'XGestureQueryExtension']] -endif - if get_option('xinput2') ecore_x_checks += [['Xi2', 'XInput2.h', 'Xi', 'XIQueryDevice']] endif