3 #endif /* ifdef HAVE_CONFIG_H */
5 #include "ecore_x_private.h"
7 static Eina_Bool _gesture_available = EINA_FALSE;
10 static int _gesture_major, _gesture_minor, _gesture_patch;
12 #endif /* ifdef ECORE_XGESTURE */
15 _ecore_x_gesture_init(void)
23 if (XGestureQueryVersion(_ecore_x_disp, &_gesture_major, &_gesture_minor, &_gesture_patch))
25 _gesture_version = (_gesture_major << 16) | _gesture_minor;
26 _gesture_available = EINA_TRUE;
29 _gesture_available = EINA_FALSE;
30 #else /* ifdef ECORE_XGESTURE */
31 _gesture_available = EINA_FALSE;
32 #endif /* ifdef ECORE_XGESTURE */
36 * @brief Query whether gesture is available or not.
38 * @return @c EINA_TRUE, if extension is available, @c EINA_FALSE otherwise.
41 ecore_x_gesture_supported(void)
43 return _gesture_available;
47 ecore_x_gesture_events_select(Ecore_X_Window win,
48 Ecore_X_Gesture_Event_Mask mask)
51 if (!_gesture_available)
54 LOGFN(__FILE__, __LINE__, __FUNCTION__);
55 XGestureSelectEvents(_ecore_x_disp, win, mask);
58 #else /* ifdef ECORE_XGESTURE */
62 #endif /* ifdef ECORE_XGESTURE */
65 EAPI Ecore_X_Gesture_Event_Mask
66 ecore_x_gesture_events_selected_get(Ecore_X_Window win)
69 Ecore_X_Gesture_Event_Mask mask;
71 if (!_gesture_available)
72 return ECORE_X_GESTURE_EVENT_MASK_NONE;
74 LOGFN(__FILE__, __LINE__, __FUNCTION__);
75 if (GestureSuccess != XGestureGetSelectedEvents(_ecore_x_disp, win, &mask))
77 mask = ECORE_X_GESTURE_EVENT_MASK_NONE;
82 #else /* ifdef ECORE_XGESTURE */
84 return ECORE_X_GESTURE_EVENT_MASK_NONE;
85 #endif /* ifdef ECORE_XGESTURE */
89 ecore_x_gesture_event_grab(Ecore_X_Window win,
90 Ecore_X_Gesture_Event_Type type,
94 if (!_gesture_available)
97 LOGFN(__FILE__, __LINE__, __FUNCTION__);
98 if (GestureGrabSuccess != XGestureGrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime))
104 #else /* ifdef ECORE_XGESTURE */
106 type __EINA_UNUSED__;
107 num_fingers __EINA_UNUSED__;
109 #endif /* ifdef ECORE_XGESTURE */
113 ecore_x_gesture_event_ungrab(Ecore_X_Window win,
114 Ecore_X_Gesture_Event_Type type,
117 #ifdef ECORE_XGESTURE
118 Ecore_X_Gesture_Event_Mask mask;
120 if (!_gesture_available)
123 LOGFN(__FILE__, __LINE__, __FUNCTION__);
124 if (GestureUngrabSuccess != XGestureUngrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime))
130 #else /* ifdef ECORE_XGESTURE */
132 type __EINA_UNUSED__;
133 num_fingers __EINA_UNUSED__;
135 #endif /* ifdef ECORE_XGESTURE */