summaryrefslogtreecommitdiff
path: root/src/lib/evas/gesture/efl_canvas_gesture_touch.eo
blob: 0425aa7fdc6fe9447508325968ebddd07763b749 (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
import efl_canvas_gesture_types;
import efl_input_types;

/* FIXME: This class lacks a lot of useful helpers. */

class @beta Efl.Canvas.Gesture_Touch extends Efl.Object
{
   [[EFL Gesture Touch class
   
     This gesture class defines a method that records touch points and supports
     properties - first touch point, current touch point, timestamp, multi-touch 
     and state information.]]
   c_prefix: efl_gesture_touch;
   methods {
      point_record {
         [[Touch point record method]]
         params {
            @in event      : Efl.Input.Pointer; [[The pointer information ]]
         }
      }
      /* FIXME: This is most likely not useful (without timestamps). */
      delta @const {
         [[Compute the distance between the last two events]]
         params {
            @in tool        : int; [[The finger id ]]
         }
         return: Eina.Vector2; [[The distance vector.]]
      }
      distance @const {
         [[Compute the distance between the first touch and the last event.]]
         params {
            @in tool        : int; [[The finger id ]]
         }
         return: Eina.Vector2; [[The distance vector.]]
      }
      @property start_point {
         [[Returns the first touch point.]]
         get {}
         values {
            pos: Eina.Position2D; [[The start position.]]
         }
      }
      @property cur_point {
         [[Returns the current touch point.]]
         get {}
         values {
            pos: Eina.Position2D; [[The current position.]]
         }
      }
      @property cur_timestamp {
         [[Returns the timestamp.]]
         get {}
         values {
            time: uint; [[The timestamp.]]
         }
      }
      @property multi_touch {
         [[This property tells if the event is multi touch.]]
         get {
            return: bool; [[returns $true if its a multi touch]]
         }
      }
      @property state {
         [[This property holds the state of the touch event.]]
         get {
            return : Efl.Canvas.Gesture_Touch_State; [[touch event state]]
         }
      }
      /* FIXME: finger_list was broken by design - TODO */
   }
   implements {
      Efl.Object.constructor;
      Efl.Object.destructor;
   }
}