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"
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,
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);
#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 */
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 */
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;
_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();
_ecore_x_present_init();
_ecore_x_dpms_init();
_ecore_x_randr_init();
- _ecore_x_gesture_init();
_ecore_x_input_init();
_ecore_x_events_init();
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
#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
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
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 */
}
-
#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 */
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
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