summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/efl_event_pointer.eo
blob: 09fb1ba995e868aeee822b82992f76accb29ba6b (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
import efl_orientation;
import efl_event_types;

class Efl.Event.Pointer (Efl.Object, Efl.Event, Efl.Input.State, Efl.Event.Input)
{
   [[Event data carried over with any pointer event (mouse, touch, ...)

     @since 1.18
   ]]
   methods {
      @property action {
         [[The action represented by this event.]]
         values {
            act: Efl.Pointer.Action;
         }
      }
      @property button {
         [[The mouse button that triggered the event.]]
         values {
            but: int; [[1 to 32, 0 if not a button event.]]
         }
      }
      @property button_pressed {
         [[Whether a mouse button is pressed at the moment of the event.]]
         keys {
            button: int;
         }
         values {
            pressed: bool;
         }
      }
      @property position {
         [[Position where the event happened, relative to the window.]]
         values {
            x: int;
            y: int;
         }
      }
      @property position_precise  {
         [[Position where the event happened, with subpixel precision

           Note: Same value as @.position, relative to the window.
         ]]
         values {
            x: double;
            y: double;
         }
      }
      @property previous_position {
         [[Position of the previous event, valid for move events.

           Relative to the window. May be equal to @.position.
         ]]
         values {
            x: int;
            y: int;
         }
      }
      @property previous_position_precise {
         [[Position of the previous event, with subpixel precision.

           Valid for move events, may not be valid for other events.
           Relative to the window. May be equal to @.position_precise.
         ]]
         values {
            x: double;
            y: double;
         }
      }
      @property finger {
         [[Finger ID in case of a multi touch event.]]
         values {
            id: int;
         }
      }
      @property touch {
         [[Touch information about a specific finger or pointer.]]
         values {
            radius: double;
            rad_x: double;
            rad_y: double;
            pressure: double;
            angle: double;
         }
      }
      @property source {
         [[The object where this event first originated, in case of
           propagation or repetition of the event.
         ]]
         values {
            src: Efl.Object; [[Source object: $Efl.Gfx]]
         }
      }
      @property button_flags {
         [[Double or triple click information.]]
         values {
            flags: Efl.Pointer.Flags;
         }
      }
      @property double_click {
         [[$true if @.button_flags indicates a double click (2nd press).

           This is just a helper function around @.button_flags.
         ]]
         values {
            val: bool;
         }
      }
      @property triple_click {
         [[$true if @.button_flags indicates a triple click (3rd press).

           This is just a helper function around @.button_flags.
         ]]
         values {
            val: bool;
         }
      }
      @property wheel_direction {
         values {
            dir: Efl.Orient; [[Horizontal or Vertical only.]]
         }
      }
      @property wheel_distance {
         values {
            dist: int;
         }
      }
   }
   implements {
      Efl.Object.constructor;
      class.destructor;
      Efl.Event.instance_get;
      Efl.Event.reset;
      Efl.Event.dup;
      Efl.Event.timestamp.set;
      Efl.Event.timestamp.get;
      Efl.Event.Input.fake.get;
      Efl.Event.Input.event_flags.set;
      Efl.Event.Input.event_flags.get;
      Efl.Event.Input.device.set;
      Efl.Event.Input.device.get;
      Efl.Input.State.modifier_enabled.get;
      Efl.Input.State.lock_enabled.get;
   }
}