jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=dc1ffdf835f2e987473cc03663ae802a7b494a64

commit dc1ffdf835f2e987473cc03663ae802a7b494a64
Author: Daniel Zaoui <[email protected]>
Date:   Sun Mar 23 11:33:26 2014 +0200

    Eolian: Integration of Gesture Layer
---
 src/lib/Makefile.am            |  10 +-
 src/lib/elm_gesture_layer.c    | 311 +++++++----------------------------------
 src/lib/elm_gesture_layer.eo   | 162 +++++++++++++++++++++
 src/lib/elm_gesture_layer_eo.h |   4 +
 4 files changed, 222 insertions(+), 265 deletions(-)

diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index a1f8bd7..152bc98 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -585,7 +585,9 @@ BUILT_SOURCES = \
                elm_entry.eo.c \
                elm_entry.eo.h \
                elm_flip.eo.c \
-               elm_flip.eo.h
+               elm_flip.eo.h \
+               elm_gesture_layer.eo.c \
+               elm_gesture_layer.eo.h
 
 EXTRA_DIST += \
             elm_widget.eo \
@@ -618,7 +620,8 @@ EXTRA_DIST += \
             elm_dayselector.eo \
             elm_diskselector.eo \
             elm_entry.eo \
-            elm_flip.eo
+            elm_flip.eo \
+            elm_gesture_layer.eo
 
 nodist_includesunstable_HEADERS = \
                                  elm_widget.eo.h \
@@ -651,5 +654,6 @@ nodist_includesunstable_HEADERS = \
                                  elm_dayselector.eo.h \
                                  elm_diskselector.eo.h \
                                  elm_entry.eo.h \
-                                 elm_flip.eo.h
+                                 elm_flip.eo.h \
+                                 elm_gesture_layer.eo.h
 
diff --git a/src/lib/elm_gesture_layer.c b/src/lib/elm_gesture_layer.c
index 746b670..c710bbc 100644
--- a/src/lib/elm_gesture_layer.c
+++ b/src/lib/elm_gesture_layer.c
@@ -5,8 +5,6 @@
 #include <Elementary.h>
 #include "elm_priv.h"
 
-EAPI Eo_Op ELM_OBJ_GESTURE_LAYER_BASE_ID = EO_NOOP;
-
 #define MY_CLASS ELM_OBJ_GESTURE_LAYER_CLASS
 
 #define MY_CLASS_NAME "Elm_Gesture_Layer"
@@ -58,7 +56,7 @@ _glayer_buf_dup(void *buf, size_t size)
   ((sd->gesture[T]) ? sd->gesture[T]->test : EINA_FALSE)
 
 #define ELM_GESTURE_LAYER_DATA_GET(o, sd) \
-  Elm_Gesture_Layer_Smart_Data * sd = eo_data_scope_get(o, MY_CLASS)
+  Elm_Gesture_Layer_Data * sd = eo_data_scope_get(o, MY_CLASS)
 
 #define ELM_GESTURE_LAYER_DATA_GET_OR_RETURN(o, ptr) \
   ELM_GESTURE_LAYER_DATA_GET(o, ptr);                \
@@ -359,8 +357,8 @@ struct _Rotate_Type /* Fields used by _rotation_test() */
 };
 typedef struct _Rotate_Type                  Rotate_Type;
 
-typedef struct _Elm_Gesture_Layer_Smart_Data Elm_Gesture_Layer_Smart_Data;
-struct _Elm_Gesture_Layer_Smart_Data
+typedef struct _Elm_Gesture_Layer_Data Elm_Gesture_Layer_Data;
+struct _Elm_Gesture_Layer_Data
 {
    Evas_Object          *target; /* Target Widget */
    Event_History        *event_history_list;
@@ -536,7 +534,7 @@ _event_flag_get(void *event_info,
  * @ingroup Elm_Gesture_Layer
  */
 static void
-_event_consume(Elm_Gesture_Layer_Smart_Data *sd,
+_event_consume(Elm_Gesture_Layer_Data *sd,
                void *event_info,
                Evas_Callback_Type event_type,
                Evas_Event_Flags ev_flags)
@@ -683,7 +681,7 @@ _state_set(Gesture_Info *g,
  * @ingroup Elm_Gesture_Layer
  */
 static void
-_states_reset(Elm_Gesture_Layer_Smart_Data *sd)
+_states_reset(Elm_Gesture_Layer_Data *sd)
 {
    int i;
    Gesture_Info *p;
@@ -1573,7 +1571,7 @@ static Eina_List *
 _pointer_event_record(Taps_Type *st,
                       Eina_List *pe_list,
                       Pointer_Event *pe,
-                      Elm_Gesture_Layer_Smart_Data *sd,
+                      Elm_Gesture_Layer_Data *sd,
                       void *event_info,
                       Evas_Callback_Type event_type)
 {
@@ -3719,23 +3717,20 @@ _rotate_test(Evas_Object *obj,
      }
 }
 
-static void
-_elm_gesture_layer_smart_disable(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_gesture_layer_elm_widget_disable(Eo *obj, Elm_Gesture_Layer_Data *_pd 
EINA_UNUSED)
 {
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (elm_widget_disabled_get(obj))
      _callbacks_unregister(obj);
    else
      _callbacks_register(obj);
 
-   if (ret) *ret = EINA_TRUE;
+   return EINA_TRUE;
 }
 
-static void
-_elm_gesture_layer_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_gesture_layer_evas_smart_add(Eo *obj, Elm_Gesture_Layer_Data *priv)
 {
-   Elm_Gesture_Layer_Smart_Data *priv = _pd;
-
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
    elm_widget_sub_object_parent_add(obj);
 
@@ -3764,12 +3759,11 @@ _elm_gesture_layer_smart_add(Eo *obj, void *_pd, 
va_list *list EINA_UNUSED)
    memset(priv->gesture, 0, sizeof(priv->gesture));
 }
 
-static void _cbs_clean(Elm_Gesture_Layer_Smart_Data *sd, Elm_Gesture_Type idx, 
Elm_Gesture_State cb_type);
+static void _cbs_clean(Elm_Gesture_Layer_Data *sd, Elm_Gesture_Type idx, 
Elm_Gesture_State cb_type);
 
-static void
-_elm_gesture_layer_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_gesture_layer_evas_smart_del(Eo *obj, Elm_Gesture_Layer_Data *sd)
 {
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
    Pointer_Event *data;
    int i;
 
@@ -3823,138 +3817,57 @@ elm_gesture_layer_add(Evas_Object *parent)
    return obj;
 }
 
-static void
-_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_gesture_layer_eo_base_constructor(Eo *obj, Elm_Gesture_Layer_Data *_pd 
EINA_UNUSED)
 {
    eo_do_super(obj, MY_CLASS, eo_constructor());
    eo_do(obj, evas_obj_type_set(MY_CLASS_NAME_LEGACY));
 }
 
-EAPI Eina_Bool
-elm_gesture_layer_hold_events_get(const Evas_Object *obj)
-{
-   ELM_GESTURE_LAYER_CHECK(obj) EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do((Eo *) obj, elm_obj_gesture_layer_hold_events_get(&ret));
-   return ret;
-}
-
-static void
-_hold_events_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-   *ret = !sd->repeat_events;
-}
-
-EAPI void
-elm_gesture_layer_hold_events_set(Evas_Object *obj,
-                                  Eina_Bool hold_events)
+EOLIAN static Eina_Bool
+_elm_gesture_layer_hold_events_get(Eo *obj EINA_UNUSED, Elm_Gesture_Layer_Data 
*sd)
 {
-   ELM_GESTURE_LAYER_CHECK(obj);
-   eo_do(obj, elm_obj_gesture_layer_hold_events_set(hold_events));
+   return !sd->repeat_events;
 }
 
-static void
-_hold_events_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_gesture_layer_hold_events_set(Eo *obj EINA_UNUSED, Elm_Gesture_Layer_Data 
*sd, Eina_Bool hold_events)
 {
-   Eina_Bool hold_events = va_arg(*list, int);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-
    sd->repeat_events = !(!!hold_events);
 }
 
-EAPI double
-elm_gesture_layer_zoom_step_get(const Evas_Object *obj)
+EOLIAN static double
+_elm_gesture_layer_zoom_step_get(Eo *obj EINA_UNUSED, Elm_Gesture_Layer_Data 
*sd)
 {
-   ELM_GESTURE_LAYER_CHECK(obj) 0;
-   double ret = 0;
-   eo_do((Eo *) obj, elm_obj_gesture_layer_zoom_step_get(&ret));
-   return ret;
+   return sd->zoom_step;
 }
 
-static void
-_zoom_step_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_gesture_layer_zoom_step_set(Eo *obj EINA_UNUSED, Elm_Gesture_Layer_Data 
*sd, double step)
 {
-   double *ret = va_arg(*list, double *);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-   *ret = sd->zoom_step;
-}
-
-EAPI void
-elm_gesture_layer_zoom_step_set(Evas_Object *obj,
-                                double step)
-{
-   ELM_GESTURE_LAYER_CHECK(obj);
-   eo_do(obj, elm_obj_gesture_layer_zoom_step_set(step));
-}
-
-static void
-_zoom_step_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   double step = va_arg(*list, double);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-
    if (step < 0) return;
 
    sd->zoom_step = step;
 }
 
-EAPI double
-elm_gesture_layer_rotate_step_get(const Evas_Object *obj)
+EOLIAN static double
+_elm_gesture_layer_rotate_step_get(Eo *obj EINA_UNUSED, Elm_Gesture_Layer_Data 
*sd)
 {
-   ELM_GESTURE_LAYER_CHECK(obj) 0;
-   double ret = 0;
-   eo_do((Eo *) obj, elm_obj_gesture_layer_rotate_step_get(&ret));
-   return ret;
+   return sd->rotate_step;
 }
 
-static void
-_rotate_step_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_gesture_layer_rotate_step_set(Eo *obj EINA_UNUSED, Elm_Gesture_Layer_Data 
*sd, double step)
 {
-   double *ret = va_arg(*list, double *);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-   *ret = sd->rotate_step;
-}
-
-EAPI void
-elm_gesture_layer_rotate_step_set(Evas_Object *obj,
-                                  double step)
-{
-   ELM_GESTURE_LAYER_CHECK(obj);
-   eo_do(obj, elm_obj_gesture_layer_rotate_step_set(step));
-}
-
-static void
-_rotate_step_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
-   double step = va_arg(*list, double);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-
    if (step < 0) return;
 
    sd->rotate_step = step;
 }
 
-EAPI Eina_Bool
-elm_gesture_layer_attach(Evas_Object *obj,
-                         Evas_Object *target)
+EOLIAN static Eina_Bool
+_elm_gesture_layer_attach(Eo *obj, Elm_Gesture_Layer_Data *sd, Evas_Object 
*target)
 {
-   ELM_GESTURE_LAYER_CHECK(obj) EINA_FALSE;
-   Eina_Bool ret = EINA_FALSE;
-   eo_do(obj, elm_obj_gesture_layer_attach(target, &ret));
-   return ret;
-}
-
-static void
-_attach(Eo *obj, void *_pd, va_list *list)
-{
-   Evas_Object *target = va_arg(*list, Evas_Object *);
-   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-   if (ret) *ret = EINA_FALSE;
-
-   if (!target) return;
+   if (!target) return EINA_FALSE;
 
    /* if was attached before, unregister callbacks first */
    if (sd->target)
@@ -3963,11 +3876,11 @@ _attach(Eo *obj, void *_pd, va_list *list)
    sd->target = target;
 
    _callbacks_register(obj);
-   if (ret) *ret = EINA_TRUE;
+   return EINA_TRUE;
 }
 
 static void
-_cbs_clean(Elm_Gesture_Layer_Smart_Data *sd,
+_cbs_clean(Elm_Gesture_Layer_Data *sd,
           Elm_Gesture_Type idx,
           Elm_Gesture_State cb_type)
 {
@@ -3983,27 +3896,9 @@ _cbs_clean(Elm_Gesture_Layer_Smart_Data *sd,
    SET_TEST_BIT(sd->gesture[idx]);
 }
 
-EAPI void
-elm_gesture_layer_cb_set(Evas_Object *obj,
-                         Elm_Gesture_Type idx,
-                         Elm_Gesture_State cb_type,
-                         Elm_Gesture_Event_Cb cb,
-                         void *data)
-{
-   ELM_GESTURE_LAYER_CHECK(obj);
-   eo_do(obj, elm_obj_gesture_layer_cb_set(idx, cb_type, cb, data));
-}
-
-static void
-_cb_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elm_gesture_layer_cb_set(Eo *obj, Elm_Gesture_Layer_Data *sd, 
Elm_Gesture_Type idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void 
*data)
 {
-   Elm_Gesture_Type idx = va_arg(*list, Elm_Gesture_Type);
-   Elm_Gesture_State cb_type = va_arg(*list, Elm_Gesture_State);
-   Elm_Gesture_Event_Cb cb = va_arg(*list, Elm_Gesture_Event_Cb);
-   void *data = va_arg(*list, void *);
-
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-
    /* Clear gesture intermediate data, stop any timers */
    if (IS_TESTED_GESTURE(sd->gesture[idx]))
      _glayer_tests_array[idx].reset(sd->gesture[idx]);
@@ -4012,29 +3907,12 @@ _cb_set(Eo *obj, void *_pd, va_list *list)
    eo_do(obj, elm_obj_gesture_layer_cb_add(idx, cb_type, cb, data));
 }
 
-EAPI void
-elm_gesture_layer_cb_add(Evas_Object *obj,
-                         Elm_Gesture_Type idx,
-                         Elm_Gesture_State cb_type,
-                         Elm_Gesture_Event_Cb cb,
-                         void *data)
+EOLIAN static void
+_elm_gesture_layer_cb_add(Eo *obj, Elm_Gesture_Layer_Data *sd, 
Elm_Gesture_Type idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void 
*data)
 {
-   ELM_GESTURE_LAYER_CHECK(obj);
-   eo_do(obj, elm_obj_gesture_layer_cb_add(idx, cb_type, cb, data));
-}
-
-static void
-_cb_add(Eo *obj, void *_pd, va_list *list)
-{
-   Elm_Gesture_Type idx = va_arg(*list, Elm_Gesture_Type);
-   Elm_Gesture_State cb_type = va_arg(*list, Elm_Gesture_State);
-   Elm_Gesture_Event_Cb cb = va_arg(*list, Elm_Gesture_Event_Cb);
-   void *data = va_arg(*list, void *);
-
    if (!cb) return;
 
    Gesture_Info *p;
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
 
    if (!sd->gesture[idx])
      sd->gesture[idx] = calloc(1, sizeof(Gesture_Info));
@@ -4054,27 +3932,9 @@ _cb_add(Eo *obj, void *_pd, va_list *list)
    SET_TEST_BIT(p);
 }
 
-EAPI void
-elm_gesture_layer_cb_del(Evas_Object *obj,
-                         Elm_Gesture_Type idx,
-                         Elm_Gesture_State cb_type,
-                         Elm_Gesture_Event_Cb cb,
-                         void *data)
-{
-   ELM_GESTURE_LAYER_CHECK(obj);
-   eo_do(obj, elm_obj_gesture_layer_cb_del(idx, cb_type, cb, data));
-}
-
-static void
-_cb_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_gesture_layer_cb_del(Eo *obj EINA_UNUSED, Elm_Gesture_Layer_Data *sd, 
Elm_Gesture_Type idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void 
*data)
 {
-   Elm_Gesture_Type idx = va_arg(*list, Elm_Gesture_Type);
-   Elm_Gesture_State cb_type = va_arg(*list, Elm_Gesture_State);
-   Elm_Gesture_Event_Cb cb = va_arg(*list, Elm_Gesture_Event_Cb);
-   void *data = va_arg(*list, void *);
-
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-
    if (!sd->gesture[idx]) return;
 
    Eina_Inlist *itr;
@@ -4272,98 +4132,25 @@ elm_gesture_layer_double_tap_timeout_get(const 
Evas_Object *obj)
    return sd->double_tap_timeout;
 }
 
-EAPI void
-elm_gesture_layer_tap_finger_size_set(Evas_Object *obj,
-      Evas_Coord sz)
-{
-   ELM_GESTURE_LAYER_CHECK(obj);
-   eo_do(obj, elm_obj_gesture_layer_tap_finger_size_set(sz));
-}
-
-static void
-_tap_finger_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_gesture_layer_tap_finger_size_set(Eo *obj EINA_UNUSED, 
Elm_Gesture_Layer_Data *sd, Evas_Coord sz)
 {
-   Evas_Coord sz = va_arg(*list, Evas_Coord);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-
    if (sz < 0)
       sz = 0;  /* Should not be negative, will reset to system value */
 
    sd->tap_finger_size = sz;
 }
 
-EAPI Evas_Coord
-elm_gesture_layer_tap_finger_size_get(const Evas_Object *obj)
-{
-   ELM_GESTURE_LAYER_CHECK(obj) elm_config_finger_size_get();
-   Evas_Coord ret = 0;
-   eo_do((Eo *) obj, elm_obj_gesture_layer_tap_finger_size_get(&ret));
-   return ret;
-}
-
-static void
-_tap_finger_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Evas_Coord
+_elm_gesture_layer_tap_finger_size_get(Eo *obj EINA_UNUSED, 
Elm_Gesture_Layer_Data *sd)
 {
-   Evas_Coord *ret = va_arg(*list, Evas_Coord *);
-   Elm_Gesture_Layer_Smart_Data *sd = _pd;
-   *ret = sd->tap_finger_size;
+   return sd->tap_finger_size;
 }
 
 static void
-_class_constructor(Eo_Class *klass)
+_elm_gesture_layer_class_constructor(Eo_Class *klass)
 {
-   const Eo_Op_Func_Description func_desc[] = {
-        EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor),
-
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_ADD), 
_elm_gesture_layer_smart_add),
-        EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), 
_elm_gesture_layer_smart_del),
-
-        EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_DISABLE), 
_elm_gesture_layer_smart_disable),
-
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_HOLD_EVENTS_GET),
 _hold_events_get),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_HOLD_EVENTS_SET),
 _hold_events_set),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_ZOOM_STEP_GET),
 _zoom_step_get),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_ZOOM_STEP_SET),
 _zoom_step_set),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_ROTATE_STEP_GET),
 _rotate_step_get),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_ROTATE_STEP_SET),
 _rotate_step_set),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_ATTACH), 
_attach),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_CB_SET), 
_cb_set),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_TAP_FINGER_SIZE_SET),
 _tap_finger_size_set),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_TAP_FINGER_SIZE_GET),
 _tap_finger_size_get),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_CB_ADD), 
_cb_add),
-        
EO_OP_FUNC(ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_CB_DEL), 
_cb_del),
-        EO_OP_FUNC_SENTINEL
-   };
-   eo_class_funcs_set(klass, func_desc);
-
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
-static const Eo_Op_Description op_desc[] = {
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_HOLD_EVENTS_GET, "Call 
this function to get repeat-events settings."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_HOLD_EVENTS_SET, "This 
function is to make gesture-layer repeat events."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_ZOOM_STEP_GET, "This 
function returns step-value for zoom action."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_ZOOM_STEP_SET, "This 
function sets step-value for zoom action."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_ROTATE_STEP_GET, "This 
function returns step-value for rotate action."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_ROTATE_STEP_SET, "This 
function sets step-value for rotate action."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_ATTACH, "Attach a given 
gesture layer widget to an Evas object, thus setting the widget's target."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_CB_SET, "Use function to 
set callbacks to be notified about change of state of gesture."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_TAP_FINGER_SIZE_SET, "Use 
function to set valid touch-area size for finger."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_TAP_FINGER_SIZE_GET, "This 
function returns the valid touch-area size for finger."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_CB_ADD, "Use function to 
add callbacks to be notified about change of state of gesture."),
-     EO_OP_DESCRIPTION(ELM_OBJ_GESTURE_LAYER_SUB_ID_CB_DEL, "Use function to 
remove added callbacks."),
-     EO_OP_DESCRIPTION_SENTINEL
-};
-
-static const Eo_Class_Description class_desc = {
-     EO_VERSION,
-     MY_CLASS_NAME,
-     EO_CLASS_TYPE_REGULAR,
-     EO_CLASS_DESCRIPTION_OPS(&ELM_OBJ_GESTURE_LAYER_BASE_ID, op_desc, 
ELM_OBJ_GESTURE_LAYER_SUB_ID_LAST),
-     NULL,
-     sizeof(Elm_Gesture_Layer_Smart_Data),
-     _class_constructor,
-     NULL
-};
-
-EO_DEFINE_CLASS(elm_obj_gesture_layer_class_get, &class_desc, 
ELM_OBJ_WIDGET_CLASS, NULL);
+#include "elm_gesture_layer.eo.c"
diff --git a/src/lib/elm_gesture_layer.eo b/src/lib/elm_gesture_layer.eo
new file mode 100644
index 0000000..d61724c
--- /dev/null
+++ b/src/lib/elm_gesture_layer.eo
@@ -0,0 +1,162 @@
+class Elm_Gesture_Layer (Elm_Widget)
+{
+   eo_prefix: elm_obj_gesture_layer;
+   properties {
+      zoom_step {
+         set {
+            /*@
+            This function sets step-value for zoom action.
+            Set step to any positive value.
+            Cancel step setting by setting to 0
+
+            @see elm_gesture_layer_zoom_step_get() */
+         }
+         get {
+            /*@
+            This function returns step-value for zoom action.
+
+            @return zoom step value.
+
+            @see elm_gesture_layer_zoom_step_set() */
+         }
+         values {
+            double step; /*@ new zoom step value. */
+         }
+      }
+      tap_finger_size {
+         set {
+            /*@
+            @since 1.8
+            This function sets the gesture layer finger-size for taps
+            If not set, this size taken from elm_config.
+            Set to ZERO if you want GLayer to use system finger size value 
(default) */
+         }
+         get {
+            /*@
+            @since 1.8
+            This function returns the gesture layer finger-size for taps
+
+            @return Finger size that is currently used by Gesture Layer for 
taps. */
+         }
+         values {
+            Evas_Coord sz; /*@ Finger size */
+         }
+      }
+      hold_events {
+         set {
+            /*@
+            This function is to make gesture-layer repeat events.
+            Set this if you like to get the raw events only if gestures were 
not
+            detected.
+            Clear this if you like gesture layer to forward events as testing 
gestures. */
+         }
+         get {
+            /*@
+            Call this function to get repeat-events settings.
+
+            @return repeat events settings.
+            @see elm_gesture_layer_hold_events_set() */
+         }
+         values {
+            Eina_Bool hold_events; /*@ hold events or not. */
+         }
+      }
+      rotate_step {
+         set {
+            /*@
+            This function sets step-value for rotate action.
+            Set step to any positive value.
+            Cancel step setting by setting to 0 */
+         }
+         get {
+            /*@
+            This function returns step-value for rotate action.
+
+            @return rotate step value. */
+         }
+         values {
+            double step; /*@ new rotate step value. */
+         }
+      }
+      cb {
+         set {
+            /*@
+            Use function to set callbacks to be notified about
+            change of state of gesture.
+            When a user registers a callback with this function
+            this means this gesture has to be tested.
+
+            When ALL callbacks for a gesture are set to NULL
+            it means user isn't interested in gesture-state
+            and it will not be tested. */
+         }
+         values {
+            Elm_Gesture_Type idx; /*@ The gesture you would like to track its 
state. */
+            Elm_Gesture_State cb_type; /*@ what event this callback tracks: 
START, MOVE, END, ABORT. */
+            Elm_Gesture_Event_Cb cb; /*@ callback function pointer. */
+            void *data; /*@ user info to be sent to callback (usually, Smart 
Data) */
+         }
+      }
+   }
+   methods {
+      attach {
+         /*@
+         Attach a given gesture layer widget to an Evas object, thus setting
+         the widget's @b target.
+
+         A gesture layer target may be whichever Evas object one
+         chooses. This will be object @a obj will listen all mouse and key
+         events from, to report the gestures made upon it back.
+
+         @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise. */
+
+         return Eina_Bool;
+         params {
+            @in Evas_Object *target; /*@ Object to attach to @a obj (target) */
+         }
+      }
+      cb_del {
+         /*@
+         Use this function to remove a callback that has been added
+         to be notified about change of state of gesture. */
+
+         params {
+            @in Elm_Gesture_Type idx; /*@ The gesture you would like to track 
its state. */
+            @in Elm_Gesture_State cb_type; /*@ what event this callback 
tracks: START, MOVE, END, ABORT. */
+            @in Elm_Gesture_Event_Cb cb; /*@ callback function pointer. */
+            @in void *data; /*@ user info for the callback (usually, Smart 
Data) */
+         }
+      }
+      cb_add {
+         /*@
+         Use function to add callbacks to be notified about
+         change of state of gesture.
+         When a user registers a callback with this function
+         this means this gesture has to be tested.
+
+         When ALL callbacks for a gesture are set to NULL
+         it means user isn't interested in gesture-state
+         and it will not be tested.
+
+         If a function was already set for this gesture/type/state, it will be
+         replaced by the new one. For ABI compat, callbacks added by
+         elm_gesture_layer_cb_add will be removed. It is recommended to
+         use only one of these functions for a gesture object. */
+
+         params {
+            @in Elm_Gesture_Type idx; /*@ The gesture you would like to track 
its state. */
+            @in Elm_Gesture_State cb_type; /*@ what event this callback 
tracks: START, MOVE, END, ABORT. */
+            @in Elm_Gesture_Event_Cb cb; /*@ callback function pointer. */
+            @in void *data; /*@ user info to be sent to callback (usually, 
Smart Data) */
+         }
+      }
+   }
+   implements {
+      class::constructor;
+      Eo_Base::constructor;
+      Evas_Smart::add;
+      Evas_Smart::del;
+      Elm_Widget::disable;
+   }
+
+}
diff --git a/src/lib/elm_gesture_layer_eo.h b/src/lib/elm_gesture_layer_eo.h
index 1d4daae..ef99418 100644
--- a/src/lib/elm_gesture_layer_eo.h
+++ b/src/lib/elm_gesture_layer_eo.h
@@ -1,3 +1,6 @@
+#include "elm_gesture_layer.eo.h"
+
+#if 0
 #define ELM_OBJ_GESTURE_LAYER_CLASS elm_obj_gesture_layer_class_get()
 
 const Eo_Class *elm_obj_gesture_layer_class_get(void) EINA_CONST;
@@ -214,3 +217,4 @@ enum
  * @ingroup Elm_Gesture_Layer
  */
 #define elm_obj_gesture_layer_tap_finger_size_get(ret) 
ELM_OBJ_GESTURE_LAYER_ID(ELM_OBJ_GESTURE_LAYER_SUB_ID_TAP_FINGER_SIZE_GET), 
EO_TYPECHECK(Evas_Coord *, ret)
+#endif

-- 


Reply via email to