setting the order is a little bit expensive, this performance optimizes
order setting in the focus manager. We don't need to set the order each
time something is registered, it is enough to set it once we need the
correct order.
We don't need to evalulate the state in the Manager_Root_Focus if the
rect is not registered. If its not, then another new element cannot
cause the rect to be registered.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7450
The object which is set by elm_object_focus_next_object_set should be considered
first when focus moved.
ref T7389
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7310
they are now handled. The list of parents is walked until a possible
candidate is found or the parent chain is the same then in the next
focused element.
fix T7389
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7404
you can use this now to let the focus move to the widget container of
the passed item.
I know this patch contains a whitespace change, but i have to get out
this whitespace each & every time i am editing the file - which is
annoying. So remove it once, which makes further work easier.
fixes T6183.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7408
buf is only initializied, if on_flush is true.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7449
this moves meson and autotools closer to each other. The flags are
selected in order to keep the amount of warnings low.
Differential Revision: https://phab.enlightenment.org/D7429
Summary:
After the new API, the virtual wrapper classes (*NativeInherit) just
declared the wrappers for the current class. But as they didn't have any
inheritance information, reimplementing methods from a parent Eo class
wouldn't work. (e.g. Efl.Ui.Button reimplementing Efl.Object
FinalizeAdd).
This commit changes these NativeInherit classes to mimic the inheritance
chain of their regular/abstract counterparts, reusing the virtual
wrapper implementations.
In order to access the correct Eo class created, the methods on it were
changed from static to instance methods. The instance will be held as a
class member of the regular/abstract API class to keep the delegates
alive and allow getting C Function pointers from them.
The class_initializer method was also split in two. The method
collecting the wrapper delegates was extracted in order to call the
parent ones.
Also avoid exception in cached strings queries as TryGetValue requires
non-null keys.
Test Plan: Run test suite.
Reviewers: vitor.sousa, felipealmeida
Reviewed By: vitor.sousa
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7460
This fixes a bug where calling:
evas_object_show(win);
evas_object_resize(win, 400, 400);
elm_run();
Would show a much smaller than 400,400 window on wayland, as the CSD
calcs would set the size smaller.
It also fixes some differences in startup size between X and wayland for
some trivial test clients.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7438
We want to pretend they're just not there at this point since the
hardware is responsible for drawing them.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7198
Anchors are in window geometry, so we should be using 0,0 instead
of the parent x,y for the top left corner of the window.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7436
wayland window geometry isn't currently being handled properly, but the
ecore_evas geometry should be correct and coherent.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7435
Negative values in shadow geometry make no sense at all, however it's
happening all the time in wayland. Let's throw an ERR so it doesn't go
unnoticed.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7434
We looked this up with dlsym, so I guess we should use that even though
the direct call seems to work just fine most of the time.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7433
I'm going to deal with some ugly geometry problems in the getter func
shortly.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7432
I'm going to deal with some ugly geometry problems in the getter func
shortly.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7431
Wayland shells have no way to unset iconified state. What this code
did was corrupt current window state in potentially fatal ways.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7430
If only objects on planes change, we don't see any damage for the main
buffer, so a page flip never occurs and the plane doesn't update. For
now forcing a tiny damage area is the easy way to work around this.
Also force a pixels get callback for enlightenment's surface frame
callback tracking.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7196
When we move an object into or off of a plane, we need the scene to be
rendered as if the object wasn't there. This adds apprpopriate damage
to make that happen.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7195
Put this at the start of render so we can remove stuff on planes from
the scene graph entirely. This stops us from drawing the entire object
underneat the plane.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7194
This is used to check if an object has been put on or removed from a
hardware plane between calls.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7192
so evas cpu used to be the thing then eina cpu came and did the same
and evas cpu optionalyl could lsit on top... just move it all to eina
cpu so one central place does this and evas_cpu is purely a compat
wrapper.
the inital work for this commit was coming from `Mark van der Putten`.
In order to not have more options for this, the idea came up to use
mesons autodetection using PATH.
If a cross file is specified, the binaries are used from the system,
rather than from the intree. (Which means --cross-file has the
dependency of efl on the buildsystem)
Differential Revision: https://phab.enlightenment.org/D7415
Since commit 33b8e5157a we need these two
new symbols on our windows cross build. At least on my mingw system they
are not showing up by default and I need to ensure we are linking
against msvcr100 to get them or I get undefined references during
linking.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7428
After some fixes and updates in ewpi we now have gstreamer, libtiff and
bullet ready as cross compiled dependencies. Time to enable them in the
build.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7378
The docker image now contains a native efl build as bootstrap for doing
the mingw cross-build. Paths to the generator binaries have been
update. We also switched to using a dedicated Fedora28-mingw docker
image for now to have a more stable environment for now.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7377
Summary:
In the case when you have multiple future in flight related to one object, you
couldn't use the previous version of efl_future_then. Now all function calls
take a void* pointer that allow multiple future to have their private data
request data accessible in all the callback.
This should not break released API as Eo.h is not released yet and so
was efl_future_Eina_FutureXXX_then.
Depends on D7332
Reviewers: felipealmeida, segfaultxavi, vitor.sousa, SanghyeonLee, bu5hm4n
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7472
Differential Revision: https://phab.enlightenment.org/D7379
This implementation uses Ector_Buffer to generate mask image from vg container,
and pass it to Ector engine. Ector renderer could blend this image as a mask.
Yet only vg container works as a mask, we could extend shape to support masking later.
Still vector gl drawing is not completed, We use software ector buffer to draw on it.
This is on progessing.
There was a big trouble that vg cache didn't free cached data properly.
Plus, there was a unnecessary copy of vg tree data.
This revised version is a improvement of our evas vg cache
in stable and optmization.
capsulate vector file data from efl canvas vg.
hide vector file data structure, capsulate it,
cut off the dependency by vector object.
yet it has evas_cache_entry interface.