As we already link to Eeze and use it throughout this code, there is
no point in adding an extra dependency on libudev itself when we can
just use Eeze functions to get what we need. This is a better fix for
T3712
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This lets me narrow down the remaining cases of pointers across the EFL.
The void pointers will later need to be reevaluated on per-case basis and
replaced appropriately where possible/feasible.
1. remain elm_win_type_set
2. remain elm_win_alpha_set
3. remain elm_win_available_profile_set/get
app usually set availble profile into window, and app fw or other lib can read it.
so I remain get/set api both.
4. remove elm_win_profile_set/get from eo
5. remove illume feture in eo and move it to legacy
Apparently I broke some inputs in E (efm) like mouse wheel.
Somehow the list of objects where the pointer is in was NULL.
This was because the mouse_in/out events were not matched to
the proper window ID.
Fixes T3760
Yup, I broke everything again. This time, mouse move inputs
would not move the cursor, since I was bypassing the regular
_ecore_evas_mouse_xxx callbacks.
Fixes T3766
So, I was stupid. I was relying on legacy callbacks to
trigger eo events, which means that only when a legacy
callback was registered would my new eo events be triggered.
Instead, I can pass the eo event desc & info whenever
calling evas_object_event_callback_call().
We only care whether the process terminated successfully or not.
Non-zero values will be anything but a success, so we don't even care
about the exit code of the program.
This should fix compiling on OpenBSD (where WEXITSTATUS needed
to be defined by including a system header) as well on Windows.
Fixes T3733
This code was written when eo_del() was removed and eo_unref() was the
recommended practice. Since we added eo_del() back we now need to adjust
this new code accordingly.
These files are not getting cleaned up as they are not integrated into the rest
of our build system. These are the extra makefiles to build build only eina, eo,
etc.
The trick with -C clean does not work here for me and this is the only way I
found to get a distcheck going through. Which is kinda important given we want to
do the first alpha tarballs for 1.18 next Monday.
This is a new incarnation of 0a03e63350. Our list
has grown to big again as people insist of adding the generated eolian files to
DISTCLEAN while BUILT_SOURCES will get removed durign the clean anyway.
Adding this file list twice will just make the argument list for rm to long to
work.
This reverts commit 546ff7bbba.
It seems that eo_del() is useful and removing it was creating bugs.
The issue is that the way we defined parents in eo, both the parent and
the programmer share a reference to the object. When we eo_unref() that
reference as the programmer, eo has no way to know it's this specific
reference we are freeing, and not a general one, so in some
circumstances, for example:
eo_ref(child);
eo_unref(child); // trying to delete here
eo_unref(container); // container is deleted here
eo_unref(child); // child already has 0 refs before this point.
We would have an issue with references and objects being freed too soon
and in general, issue with the references.
Having eo_del() solves that, because this one explicitly unparents if
there is a parent, meaning the reference ownership is explicitly taken
by the programmer.
eo_del() is essentially a convenience function around "check if has
parent, and if so unparent, otherwise, unref". Which should be used when
you want to delete an object although it has a parent, and is equivalent
to eo_unref() when it doesn't have one.
1. remain borderless property.
2. shaped property was removed because wayland not support this.
3. remain noblank property.
4. remain role, name properties.
5. remove title property because it can be supported using name property
1. remain iconified, maximized, fullscreen property
2. remain sticky property
3. change return value type of modal from bool to enum for the future.
4. merge urgent_set and demand_attention
5. remain activate method
1. remain focus_highlight_style,focus_highlight_enabled,
focus_highlight_animated,prop_focus_skip,focus. because each window need to set the focus
feature.
2. autohide, autodel is remained for convenient.
3. icon_name will be removed. elm_win_icon_object_get can used instaed of icon_name.
Summary:
- added is_active property in Evas_Key_Grab.
- Evas key down and key up events transferred to active grabs only.
- If evas grabs has a exclusive grab, other grabs will be deactivated.
- If a exclusive grab is ungrabbed, remained grabs will be activated.
Reviewers: jypark
Reviewed By: jypark
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3996
elm_win have three feature releated with screen.
1. screen_rotation_get
2. scrren_size_get
3. screen_dpi_get
so create efl_screen interface, and elm_win implement that interface
Summary:
We did the same for evas_canvas3d_scene_pick(see c850cc0d80),
but forget for evas_canvas3d_scene_exist.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3973
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
It is logically break cycle in case object is found. In case need pick all objects
that lay in screen ray, we should use evas_canvas3d_scene_pick_member_list_get
function.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3975
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
- elm_map has a scrollbale interface and it is set
as ELM_SCROLLER_SINGLE_DIRECTION_SOFT by default.
- elm_map can be rotated by gesture or by an API
elm_map_rotate_set, so this single direction
makes scroll unnatural.
Reviewers: Hermet, cedric
Subscribers: conr2d, jpeg
Differential Revision: https://phab.enlightenment.org/D3986
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
We do properly unref promise while calling all the then callback. There
is no need to check it a second time (which actually lead to a 100%
bad access).
T3759
Small patch to deprecate Ecore_Drm. This patch also adds a configure
option to enable ecore_drm for older code. This option is disabled by
default, so must be explicitly specified during build.
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
For ecore_evas drm engine(s), disable setting of
ecore_event_window_direct_callback as this Completely Breaks all input
when running Enlightenment Wayland.
NB: This can likely be re-enabled at some point, when the jpeg
breakage is over ;)
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This adds a few classes, in particular Efl.Event and Efl.Event.Point
which are used as the event info for all pointer (mouse, multi) call
Using an eo object as event info will allow for future extensions
really easily. We don't need to expose any of the internals, also
a single type can be used for all pointer events.
Still TODO:
- Keyboard events (urgent)
- Axis / Joystick events (needs porting from Tizen)
- Gestures support (probably later)
- Event feeding from app side (manual feed)
Not going to be ported to EO:
- Hold API and hold event. Seems barely used.
The new APIs are not very much tested at this point, and rely on the
old legacy event system. The most important thing right now is to
ensure that nothing was broken so far. Unfortunately I can only do
this much testing myself...
Merge branch 'devs/jpeg/work'