Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
import efl_orientation;
|
2016-04-28 22:24:14 -07:00
|
|
|
import efl_event_types;
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
|
2016-05-31 04:08:22 -07:00
|
|
|
class Efl.Event.Pointer (Eo.Base, Efl.Event, Efl.Input.State, Efl.Event.Input)
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
{
|
|
|
|
[[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;
|
2016-05-30 20:15:25 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
@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;
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
@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;
|
|
|
|
}
|
|
|
|
}
|
2016-05-30 20:15:25 -07:00
|
|
|
@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;
|
|
|
|
}
|
|
|
|
}
|
2016-05-10 05:26:07 -07:00
|
|
|
@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;
|
|
|
|
}
|
|
|
|
}
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
@property source {
|
|
|
|
[[The object where this event first originated, in case of
|
|
|
|
propagation or repetition of the event.
|
|
|
|
]]
|
|
|
|
values {
|
2016-05-12 00:48:54 -07:00
|
|
|
src: Eo.Base; [[Source object: $Efl.Gfx]]
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
@property button_flags {
|
|
|
|
[[Double or triple click information.]]
|
|
|
|
values {
|
2016-05-31 00:44:26 -07:00
|
|
|
flags: Efl.Pointer.Flags;
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
}
|
|
|
|
}
|
2016-05-30 21:40:14 -07:00
|
|
|
@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;
|
|
|
|
}
|
|
|
|
}
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
@property wheel_direction {
|
|
|
|
values {
|
|
|
|
dir: Efl.Orient; [[Horizontal or Vertical only.]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@property wheel_distance {
|
|
|
|
values {
|
|
|
|
dist: int;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
|
|
|
Eo.Base.constructor;
|
2016-05-10 05:26:07 -07:00
|
|
|
class.destructor;
|
2016-06-01 22:36:55 -07:00
|
|
|
Efl.Event.instance_get;
|
2016-05-10 05:26:07 -07:00
|
|
|
Efl.Event.reset;
|
2016-05-11 23:07:49 -07:00
|
|
|
Efl.Event.dup;
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
Efl.Event.timestamp.set;
|
|
|
|
Efl.Event.timestamp.get;
|
2016-06-01 22:36:55 -07:00
|
|
|
Efl.Event.Input.fake.get;
|
2016-05-31 04:08:22 -07:00
|
|
|
Efl.Event.Input.event_flags.set;
|
|
|
|
Efl.Event.Input.event_flags.get;
|
|
|
|
Efl.Event.Input.device.set;
|
|
|
|
Efl.Event.Input.device.get;
|
2016-05-29 23:34:31 -07:00
|
|
|
Efl.Input.State.modifier_enabled.get;
|
|
|
|
Efl.Input.State.lock_enabled.get;
|
Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.
The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.
Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).
This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).
The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx
We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-04-28 01:31:46 -07:00
|
|
|
}
|
|
|
|
}
|