efl

Форк
0
/
custom_recognizer2.c 
41 строка · 1.5 Кб
1
#include <Efl_Ui.h>
2
#include "custom_recognizer2.eo.h"
3
#define MY_CLASS                       CUSTOM_RECOGNIZER2_CLASS
4

5
typedef struct Custom_Recognizer2_Data
6
{
7
} Custom_Recognizer2_Data;
8

9
EOLIAN static Eo *
10
_custom_recognizer2_efl_object_finalize(Eo *obj, Custom_Recognizer2_Data *pd EINA_UNUSED)
11
{
12
   efl_gesture_recognizer_custom_gesture_name_set(obj, "custom_gesture2");
13
   return efl_finalize(efl_super(obj, MY_CLASS));
14
}
15

16
EOLIAN static Efl_Canvas_Gesture_Recognizer_Result
17
_custom_recognizer2_efl_canvas_gesture_recognizer_recognize(Eo *obj EINA_UNUSED, Custom_Recognizer2_Data *pd EINA_UNUSED,
18
                                                           Efl_Canvas_Gesture *gesture EINA_UNUSED, Efl_Object *watched EINA_UNUSED,
19
                                                           Efl_Canvas_Gesture_Touch *event)
20
{
21
   Eina_Position2D start = efl_gesture_touch_start_point_get(event);
22
   Eina_Position2D cur = efl_gesture_touch_current_point_get(event);
23
   switch (efl_gesture_touch_state_get(event))
24
     {
25
      case EFL_GESTURE_TOUCH_STATE_BEGIN:
26
        return EFL_GESTURE_RECOGNIZER_RESULT_TRIGGER;
27
      case EFL_GESTURE_TOUCH_STATE_UPDATE:
28
        if (EINA_POSITION2D_EQ(start, cur))
29
          return EFL_GESTURE_RECOGNIZER_RESULT_TRIGGER;
30
        if ((cur.x - start.x == 1) && (cur.y == start.y))
31
          return EFL_GESTURE_RECOGNIZER_RESULT_FINISH;
32
      case EFL_GESTURE_TOUCH_STATE_END:
33
      default:
34

35
        break;
36
     }
37

38
   return EFL_GESTURE_RECOGNIZER_RESULT_CANCEL;
39
}
40

41
#include "custom_recognizer2.eo.c"
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.