Derek Foreman
10b6383640
ecore_wl2: Synchronize state with surface commits
...
This is really several inseparable commits mashed together, as doing this
a piece at a time would introduce broken intermediate revisions.
Double buffer incoming "configure" state from the compositor so it's held
back during asynchronous render and processed at frame completion.
Hold off on certain requests if their API has been invoked during async
render.
This should fix a lot of races, cosmetic issues, issues where weston can
kill our clients for acking configure (or not) at bad times, etc.
2017-10-12 12:24:03 -05:00
Derek Foreman
9918a2c920
ecore_wl2: Don't overwrite saved geometry if switching fs to max
...
If we switch from fullscreen to maximized we need to keep the pre-fs
geometry around in case we ever unmaximize AND unfullscreen.
2017-10-12 12:24:03 -05:00
Derek Foreman
10de856ee9
ecore_wl2: Don't overwrite saved geometry if switching max to fs
...
If we switch from maximized to fullscreen we need to keep the pre-max
geometry around in case we ever unmaximize AND unfullscreen.
2017-10-12 12:24:03 -05:00
Derek Foreman
1d1d2d76aa
ecore_wl2: Push out maximize set with a display flush
...
We want this request to get to the compositor as soon as possible.
2017-10-12 12:24:03 -05:00
Derek Foreman
da85d1330d
ecore_wl2: Push out fullscreen set with a display flush
...
We want this request to get to the compositor as soon as possible.
2017-10-12 12:24:03 -05:00
Derek Foreman
159a5beb27
wayland_dmabuf: Clean up unused variable
...
Pending is useless now that we use immediate buffer creation.
2017-10-12 12:24:03 -05:00
Derek Foreman
b93319b10e
wayland_dmabuf: Use create_immed
...
We've really always needed to do immediate creates. On a surface resize
there's no place to wait for the round trip for the new buffers to exist.
We've gotten away with this until now by good luck because we dispatch
wayland events during asynchronous render. However, with async render off
or if schedule happens in an unfortunate order, we can end up with
tearing.
2017-10-12 12:24:03 -05:00
Derek Foreman
8e3793c90b
ecore_wl2: Bind dmabuf version 2
...
Version 2 allows for create_immed requets. No new events are added until
version 3, so this is a trivial update.
2017-10-12 12:24:03 -05:00
Derek Foreman
4985dee49d
ecore_wl2: Fix setting empty input regions
...
We should still update window->input_rect when the input region is empty.
2017-10-12 12:24:03 -05:00
Derek Foreman
c4b19a77b6
ecore_wl2: Fix setting empty opaque regions
...
We should still update window->opaque when the opaque region is empty.
2017-10-12 12:24:03 -05:00
Derek Foreman
64b36c6767
ecore_evas_wayland: Use ecore_wl2_false_commit to trigger frame callbacks
...
This will allow us to receive a tick without changing any other state.
2017-10-12 12:24:03 -05:00
Derek Foreman
f6bd73167a
ecore_wl2: Add as partial commit function for setting off a tick
...
This adds the concept of a "false commit" that just sends a surface
commit without changing any other state.
This is intended to be used by ecore_evas to request a frame callback
from the compositor
2017-10-12 12:24:03 -05:00
Derek Foreman
0a185d3efd
ecore_wl2: Add new API to latch window state for updates
...
Add an API to call at the beginning of render to latch state at
that moment, and use it for the wayland engine.
2017-10-12 12:24:03 -05:00
Derek Foreman
0badc0522b
ecore_wl2: Split configurations into client set and compositor requested
...
This should lead to clearer and more maintainable code than having one
pile of state that's asynchronously fiddled with by both client and
compositor.
2017-10-12 12:24:03 -05:00
Derek Foreman
10b3a41ab0
ecore_wl2: Move some state into its own struct
...
These need to be double buffered, and that will be done in a follow up
patch.
2017-10-12 12:24:03 -05:00
Derek Foreman
a3ac6043ab
ecore_wayland: Use ecore_wl2_window_resizing_get() to get resizing
...
Use the getter instead of directly accessing the structs.
2017-10-12 12:24:03 -05:00
Derek Foreman
51e2514492
ecore_wl2: Add a getter for window->resizing
2017-10-12 12:24:03 -05:00
Derek Foreman
3fba59386b
ecore_wl2: Fix some @since tags
...
Seems my brain missed the efl release and started tagging new API
incorrectly in the doxy.
This is all beta API that should probably only be used by other EFL
internals anyway, but I suppose it's a good idea to try to be somewhat
correct.
2017-10-12 12:24:03 -05:00
Derek Foreman
7f27237171
wayland_shm: Make some function static
...
Only used in this file.
2017-10-12 12:24:03 -05:00
Derek Foreman
46146caa43
wayland_shm: Kill stale comment
...
This comment doesn't make sense now, as all the frame callback stuff
is in ecore_wl2.
2017-10-12 12:24:03 -05:00
Derek Foreman
9bcc24dbb8
wayland_dmabuf: make dlsym queried symbols static
...
We only need these in this file.
2017-10-12 12:24:03 -05:00
Derek Foreman
e207e05067
wayland_shm: Remove hidden from the outbuf
...
Outbuf shouldn't have to track its hidden status, that should be ecore_evas
problem. Until now we were doing this because our kludgey wayland
ticking made things difficult, but I think it's safe to remove now.
2017-10-12 12:24:03 -05:00
Derek Foreman
656d892581
wayland_shm: Remove hidden from surface posting calls
...
Now that we tick based on frame callbacks it should be impossible to post
an update while hidden.
2017-10-12 12:24:03 -05:00
Derek Foreman
c72b0b44ad
wayland_shm: stop storing wl_display in dmabuf_surface
...
Query it through the engine info's ecore_wl2_display instead.
2017-10-12 12:24:03 -05:00
Derek Foreman
ceb90779ff
evas_shm: Remove wl_dmabuf and wl_shm from engine info
...
All queries for these are now on the ecore_wl2_display
2017-10-12 12:24:03 -05:00
Derek Foreman
4a23e69bcc
wayland_shm: Remove surface_set function
...
Now that we use the display's shm and dmabuf pointers we don't need to
update them.
2017-10-12 12:24:03 -05:00
Derek Foreman
2b9a22e3a9
wayland_dmabuf: Query zwp_linux_dmabuf_v1 from display
...
Get it from the display instead of using our stored copy.
2017-10-12 12:24:03 -05:00
Derek Foreman
f421521bed
evas_shm: query wl_shm from ecore_wl2_display
...
Stop using the internally stored copy, always query from active display.
This fixes session recovery.
2017-10-12 12:24:03 -05:00
Derek Foreman
3f576e8436
wayland_shm: Add Outbuf to Surface struct
...
We're going to need that soon.
2017-10-12 12:24:03 -05:00
Derek Foreman
5fa7263440
wayland_shm: Pass Surface instead of Shm_Surface
...
Surface has some variables we'll need later.
2017-10-12 12:24:03 -05:00
Derek Foreman
7faa20f3c8
wayland_shm: Handle dirty bit outside of the backends
...
We don't have to query that deeply to know whether we need to redraw the
buffer or not, we can make that decision in more generic code.
2017-10-12 12:24:03 -05:00
Derek Foreman
2a15d7b730
wayland_shm: Store the ecore_wl2_display in the Outbuf
...
We'll need it soon.
2017-10-12 12:24:03 -05:00
Stephen Houston
280ba424e4
Luncher theme: Handle space to the left, right, and bottom in the active preview better.
2017-10-12 11:37:58 -05:00
Jaehyun Cho
39cc542d7f
efl_animation: Add interpolator property
...
Interpolator property is added to apply interpolation function.
2017-10-12 21:03:49 +09:00
Jaehyun Cho
2ae42b00ab
ecore: Add Efl.Interpolator class
...
Efl.Interpolator class is to interpolate a value.
Efl.Interpolator class has the following interpolation function classes
as its subclasses.
Efl.Interpolator.Linear
Efl.Interpolator.Accelerate
Efl.Interpolator.Decelerate
Efl.Interpolator.Sinusoidal
Efl.Interpolator.Divisor
Efl.Interpolator.Bounce
Efl.Interpolator.Spring
Efl.Interpolator.Cubic_Bezier
2017-10-12 21:03:49 +09:00
Jaehyun Cho
e83facfb37
efl_animation: Add repeat_mode property
...
To not display original state when the reverse repeat starts, the
animators in group parallel and group sequential are deleted.
2017-10-12 21:03:49 +09:00
Jaehyun Cho
595f47e202
efl_animation: Add start_delay property
...
Add start_delay property to delay the given amount of time in seconds
from when the animation starts until the animation is animated.
2017-10-12 21:03:49 +09:00
Jaehyun Cho
108994d383
efl_animation: Add repeat_count property
2017-10-12 21:03:49 +09:00
Jaehyun Cho
87a14507b2
efl_animation: Add pause and resume methods
...
Add target_map_reset method to fix flicking issue when animation is
paused and resumed.
2017-10-12 21:03:49 +09:00
Jaehyun Cho
a6e03da5f0
efl_animation: Support event animation
...
Register an animation for an event.
Start the animation when the event happens.
2017-10-12 21:03:49 +09:00
Jaehyun Cho
4112a68e32
efl_animation: Add sequential group animation and object
...
Efl.Animation.Group.Sequential is a class for animations started in
sequence.
Efl.Animation.Object.Group.Sequential is a class which provides
methods for an object of Efl.Animation.Group.Sequential.
The objects added into the sequential group animation object start
in sequence.
2017-10-12 21:03:49 +09:00
Jaehyun Cho
923a5b02eb
efl_animation: Add parallel group animation and object
...
Efl.Animation.Group.Parallel is a class for animations started in
parallel.
Efl.Animation.Object.Group.Parallel is a class which provides methods
for an object of Efl.Animation.Group.Parallel.
The objects added into the parallel group animation object start in
parallel.
2017-10-12 21:03:49 +09:00
Jaehyun Cho
861a90415c
efl_animation: Add group animation object
2017-10-12 21:03:49 +09:00
Jaehyun Cho
e1a73fffb9
efl_animation: Add group animation
...
Efl.Animation.Group is an abstract class which provides methods for
group animations such as parallel and sequential group animations.
2017-10-12 21:03:49 +09:00
Jaehyun Cho
5a1147d643
efl_animation: Add translate animation object
2017-10-12 21:03:49 +09:00
Jaehyun Cho
f01c96e542
efl_animation: Add translate animation
2017-10-12 21:03:49 +09:00
Jaehyun Cho
5540520846
efl_animation: Add scale animation object
2017-10-12 21:03:49 +09:00
Jaehyun Cho
c3865609c9
efl_animation: Add scale animation
2017-10-12 21:03:49 +09:00
Jaehyun Cho
29917e4e91
efl_animation: Add rotate animation object
2017-10-12 21:03:49 +09:00
Jaehyun Cho
d4f96f9728
efl_animation: Add rotate animation
2017-10-12 21:03:49 +09:00