ecore_x: remove support XGesture extension
authorStefan Schmidt <s.schmidt@samsung.com>
Fri, 6 Dec 2019 19:40:20 +0000 (14:40 -0500)
committerJongmin Lee <jm105.lee@samsung.com>
Sun, 8 Dec 2019 21:58:46 +0000 (06:58 +0900)
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
meson_options.txt
src/lib/ecore_x/Ecore_X.h
src/lib/ecore_x/ecore_x.c
src/lib/ecore_x/ecore_x_events.c
src/lib/ecore_x/ecore_x_gesture.c
src/lib/ecore_x/ecore_x_private.h
src/lib/ecore_x/meson.build

index f5a127b..88ca9e2 100755 (executable)
@@ -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"
index e6fb80a..478ead8 100644 (file)
@@ -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,
index 7d44230..b58520c 100644 (file)
@@ -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);
index cbe2d13..ff603bb 100644 (file)
@@ -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();
 
index 904e115..6431bdd 100644 (file)
@@ -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
index 15a9efd..4c68590 100644 (file)
@@ -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 */
 }
-
index ce81efe..5a288d4 100644 (file)
 #ifdef ECORE_XDAMAGE
 #include <X11/extensions/Xdamage.h>
 #endif /* ifdef ECORE_XDAMAGE */
-#ifdef ECORE_XGESTURE
-#include <X11/extensions/gesture.h>
-#include <X11/extensions/gestureproto.h>
-#endif /* ifdef ECORE_XGESTURE */
 #ifdef ECORE_XDPMS
 #include <X11/extensions/dpms.h>
 #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
index 0e16bd7..957b11c 100644 (file)
@@ -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