blob: a835c3093dd4b8d3a76f6325bbe57b1b03d368fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
#ifndef EFL_GESTURE_PRIVATE_H_
#define EFL_GESTURE_PRIVATE_H_
#include "evas_common_private.h"
#include "evas_private.h"
#include "efl_gesture_events.eo.h"
#include <Ecore.h>
const Efl_Event_Description * _efl_gesture_type_get(const Eo *obj);
void efl_gesture_manager_gesture_clean_up(Eo *obj, Eo *target, const Efl_Event_Description *type);
typedef struct _Efl_Canvas_Gesture_Manager_Data Efl_Canvas_Gesture_Manager_Data;
typedef struct _Efl_Canvas_Gesture_Recognizer_Data Efl_Canvas_Gesture_Recognizer_Data;
typedef struct _Efl_Canvas_Gesture_Recognizer_Tap_Data Efl_Canvas_Gesture_Recognizer_Tap_Data;
typedef struct _Efl_Canvas_Gesture_Recognizer_Long_Tap_Data Efl_Canvas_Gesture_Recognizer_Long_Tap_Data;
typedef struct _Efl_Canvas_Gesture_Recognizer_Double_Tap_Data Efl_Canvas_Gesture_Recognizer_Double_Tap_Data;
typedef struct _Efl_Canvas_Gesture_Recognizer_Triple_Tap_Data Efl_Canvas_Gesture_Recognizer_Triple_Tap_Data;
typedef struct _Efl_Canvas_Gesture_Recognizer_Momentum_Data Efl_Canvas_Gesture_Recognizer_Momentum_Data;
typedef struct _Efl_Canvas_Gesture_Recognizer_Flick_Data Efl_Canvas_Gesture_Recognizer_Flick_Data;
typedef struct _Efl_Canvas_Gesture_Recognizer_Zoom_Data Efl_Canvas_Gesture_Recognizer_Zoom_Data;
typedef struct _Efl_Canvas_Gesture_Data Efl_Canvas_Gesture_Data;
typedef struct _Efl_Canvas_Gesture_Momentum_Data Efl_Canvas_Gesture_Momentum_Data;
typedef struct _Efl_Canvas_Gesture_Flick_Data Efl_Canvas_Gesture_Flick_Data;
typedef struct _Efl_Canvas_Gesture_Zoom_Data Efl_Canvas_Gesture_Zoom_Data;
typedef struct _Pointer_Data
{
struct
{
Eina_Position2D pos;
unsigned int timestamp;
} start, prev, cur;
int id;
Efl_Pointer_Action action;
} Pointer_Data;
typedef struct _Efl_Canvas_Gesture_Touch_Data
{
Efl_Canvas_Gesture_Touch_State state;
Eina_Hash *touch_points;
int touch_down;
Eina_Bool multi_touch;
Eo *target;
} Efl_Canvas_Gesture_Touch_Data;
struct _Efl_Canvas_Gesture_Recognizer_Data
{
Eo *manager; // keeps a reference of the manager
Eo *gesture;
int finger_size;
Eina_Bool continues;
};
struct _Efl_Canvas_Gesture_Recognizer_Tap_Data
{
Eo *target;
Eo *gesture;
Ecore_Timer *timeout;
};
struct _Efl_Canvas_Gesture_Recognizer_Long_Tap_Data
{
Eina_List *target_timeout;
Eo *target;
Efl_Canvas_Gesture *gesture;
Ecore_Timer *timeout;
double start_timeout;
Eina_Bool is_timeout;
};
struct _Efl_Canvas_Gesture_Recognizer_Double_Tap_Data
{
Eina_List *target_timeout;
Eo *target;
Eo *gesture;
Ecore_Timer *timeout;
double start_timeout;
Eina_Bool is_timeout;
int tap_count;
};
struct _Efl_Canvas_Gesture_Recognizer_Triple_Tap_Data
{
Eina_List *target_timeout;
Eo *target;
Eo *gesture;
Ecore_Timer *timeout;
double start_timeout;
Eina_Bool is_timeout;
int tap_count;
};
struct _Efl_Canvas_Gesture_Recognizer_Momentum_Data
{
Eina_Position2D st_line;
Eina_Position2D end_line;
unsigned int t_st;
unsigned int t_end;
int xdir;
int ydir;
Eina_Bool touched;
};
struct _Efl_Canvas_Gesture_Recognizer_Flick_Data
{
Eina_Position2D st_line;
unsigned int t_st;
unsigned int t_end;
int line_length;
double line_angle;
Eina_Bool touched;
};
struct _Efl_Canvas_Gesture_Recognizer_Zoom_Data
{
Pointer_Data zoom_st;
Pointer_Data zoom_st1;
Pointer_Data zoom_mv;
Pointer_Data zoom_mv1;
Evas_Coord zoom_base; /* Holds gap between fingers on
* zoom-start */
double zoom_distance_tolerance;
double zoom_finger_factor;
double zoom_step;
double next_step;
Eina_Bool calc_temp;
};
struct _Efl_Canvas_Gesture_Data
{
const Efl_Event_Description *type;
Efl_Canvas_Gesture_State state;
Eina_Position2D hotspot;
unsigned int timestamp;
};
struct _Efl_Canvas_Gesture_Momentum_Data
{
Eina_Vector2 momentum;
};
struct _Efl_Canvas_Gesture_Flick_Data
{
Eina_Vector2 momentum;
double angle;
};
struct _Efl_Canvas_Gesture_Zoom_Data
{
double radius;
double zoom;
};
#endif
|