summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_input_types.eot
blob: 8a9211e8d07798de9378d4e4c4e814452d8b1c1c (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
enum Efl.Pointer.Action
{
   [[Pointer event type. Represents which kind of event this is.

     @since 1.19
   ]]
   none,   [[Not a valid event.]]
   move,   [[Mouse or equivalent pointer moved.]]
   down,   [[Mouse button or equivalent pointer pressed down.
             Always followed by up or cancel.]]
   up,     [[Mouse button or equivalent pointer released. See also cancel.]]
   cancel, [[Special event happening after a down if the up counterpart
             can not happen (eg. another window forcibly stole the focus).]]
   in,     [[Mouse or pointer entered the object.]]
   out,    [[Mouse or pointer exited the object.]]
   wheel,  [[Mouse wheel scroll, horizontally or vertically.]]
   axis,   [[Axis event (pen, stick, ...).]]
}

enum Efl.Pointer.Flags
{
   [[Pointer flags indicating whether a double or triple click is under way.

     @since 1.19
   ]]
   none = 0,                [[No extra mouse button data]]
   double_click = (1 << 0), [[This mouse button press was the 2nd press of a double click]]
   triple_click = (1 << 1), [[This mouse button press was the 3rd press of a triple click]]
}

enum Efl.Input.Flags
{
   [[Special flags set during an input event propagation.

     @since 1.19
   ]]
   none = 0,             [[No fancy flags set]]
   processed = (1 << 0), [[This event is being delivered and has been processed,
                           so it should be put "on hold" until the flag is unset.
                           The event should be used for informational purposes
                           and maybe some indications visually, but not
                           actually perform anything.]]
   scrolling = (1 << 1), [[This event flag indicates the event occurs while
                           scrolling; for example, DOWN event occurs during
                           scrolling. The event should be used for informational
                           purposes and maybe some indications visually, but not
                           actually perform anything.]]
}

enum Efl.Input.Object_Pointer_Mode {
   [[How the mouse pointer should be handled by EFL.

     In the mode $autograb, when a mouse button is pressed down over an
     object and held down, with the mouse pointer being moved outside of it,
     the pointer still behaves as being bound to that object, albeit out
     of its drawing region. When the button is released, the event will
     be fed to the object, that may check if the final position is over it
     or not and do something about it.

     In the mode $nograb, the pointer will always be bound to the object
     right below it.

     @since 1.19
   ]]
   auto_grab, [[Default, X11-like.]]
   no_grab,   [[Pointer always bound to the object right below it.]]
   no_grab_no_repeat_updown [[Useful on object with "repeat events" enabled,
                              where mouse/touch up and down events WON'T be
                              repeated to objects and these objects wont be
                              auto-grabbed.

                              @since 1.2
                            ]]
}

enum Efl.Input.Value {
   [[Keys for the generic values of all events.

     @since 1.19
   ]]
   none,       [[Not a valid value type.]]
   timestamp,  [[Timestamp of this event in seconds.]]
   button,     [[ID of the button that triggered this event (unsigned int).
                 Prefer the method $button to read this value. Default: 0.]]
   buttons_pressed, [[32-bit bit mask (unsigned int). Prefer the
                      method $buttons_pressed to read this value. Default: 0.]]
   tool,       [[ID of the finger or tool (eg. pen) that triggered this event.
                 Prefer the property $tool to read this value. Default: 0.]]
   x,          [[Absolute X position where this event occurred, in pixels.
                 Relative to the window. Default: last known position.]]
   y,          [[Absolute Y position where this event occurred, in pixels.
                 Relative to the window. Default: last known position.]]
   dx,         [[Relative X movement, in pixels. Range: unbounded. Default: 0.]]
   dy,         [[Relative Y movement, in pixels. Range: unbounded. Default: 0.]]
   previous_x, [[Previous X position of the pointer, in pixels.
                 Default: last known position, may be equal to x.]]
   previous_y, [[Previous Y position of the pointer, in pixels.
                 Default: last known position, may be equal to y.]]
   radius,     [[Average radius of the pressed area under a finger or tool,
                 in pixels. Default is 1.]]
   radius_x,   [[Spread over X of the pressed area under a finger or tool,
                 in pixels. Default is 1.]]
   radius_y,   [[Spread over Y of the pressed area under a finger or tool,
                 in pixels. Default is 1.]]
   pressure,   [[Pressure applied to the button, touch or pen tip.
                 Range: [0, 1]. Default is 1.]]
   distance,   [[Relative distance along physical Z axis. Range: [0, 1].
                 Default is 0.]]
   azimuth,    [[Angle of tool about the Z axis from positive X axis.
                 Range: [-PI, PI]. Unit: Radians.]]
   tilt,       [[Angle of tool about plane of sensor from positive Z axis.
                 Range: [0.0, PI]. Unit: Radians.]]
   tilt_x,     [[Current tilt along the X axis of the tablet's current logical
                 orientation, in radians off the tablet's Z axis.
                 Range: [-PI, PI]. Unit: Radians.]]
   tilt_y,     [[Current tilt along the Y axis of the tablet's current logical
                 orientation, in radians off the tablet's Z axis.
                 Range: [-PI, PI]. Unit: Radians.]]
   twist,      [[Rotation of tool about its major axis from its "natural"
                 position. Range: [-PI, PI] Unit: Radians.]]
   wheel_delta, [[Delta movement of the wheel in discrete steps (int).
                  Default: 0.]]
   wheel_angle, [[Delta movement of the wheel in radians. Default: 0.]]
   wheel_direction, [[Direction of the wheel (horizontal = 1 or vertical = 0).
                      Default: 0. Prefer the property $wheel_direction to read.]]
   slider,     [[Current position of the slider on the tool. Range: [-1, 1].
                 Default: 0.]]
}