diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2020-05-01 14:31:07 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2020-06-08 17:26:36 +0300 |
commit | a9ae8d75026b1fa1ef32d143da23bc8ee9aedeaa (patch) | |
tree | 0f4c0c9dd10a67c00ab900649d6a079e8cd335f6 /src/ivi-compositor.h | |
parent | 831d1b21b5e786d2e5e804ca5a6a2a2b1dfacd1e (diff) |
layout: Resize the active surface when doing the split
This adds an intermediate geometry variable which is used to save and
restore to the original available geometry when destroying the split
surface. This takes care to inform the client that a new resize is
needed when the split surface is destroyed or when the split surface
is committed.
The width and height of the split surface is derived from the available
geometry area size (the available size of the background surface) but
this can further adapted to be based on the split window size (that is,
it could be specified by the client). This assumption is there to
simplify the implementation.
Bug-AGL: SPEC-3334
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia484a922a7cbd314db2c878f81cb548458d1c1cd
Diffstat (limited to 'src/ivi-compositor.h')
-rw-r--r-- | src/ivi-compositor.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/ivi-compositor.h b/src/ivi-compositor.h index c733ff0..99ef550 100644 --- a/src/ivi-compositor.h +++ b/src/ivi-compositor.h @@ -130,6 +130,7 @@ struct ivi_output { * In output-coorrdinate space. */ struct weston_geometry area; + struct weston_geometry area_saved; struct ivi_surface *active; struct ivi_surface *previous_active; @@ -329,4 +330,8 @@ ivi_layout_split_committed(struct ivi_surface *surface); void ivi_layout_deactivate(struct ivi_compositor *ivi, const char *app_id); +void +ivi_layout_desktop_resize(struct ivi_surface *surface, + struct weston_geometry area); + #endif |