mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-10-04 22:52:51 +00:00
surface: Add weston_surface_is_mapping()
The counterpart to weston_surface_is_unmapping(). This is valid for the duration of processing the surface commit. Signed-off-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
parent
5c75ecccfe
commit
2faf491f61
|
@ -1927,7 +1927,7 @@ struct weston_surface {
|
||||||
*/
|
*/
|
||||||
const char *role_name;
|
const char *role_name;
|
||||||
|
|
||||||
bool is_mapped, is_unmapping;
|
bool is_mapped, is_unmapping, is_mapping;
|
||||||
bool is_opaque;
|
bool is_opaque;
|
||||||
|
|
||||||
/* An list of per seat pointer constraints. */
|
/* An list of per seat pointer constraints. */
|
||||||
|
@ -2244,6 +2244,9 @@ weston_view_schedule_repaint(struct weston_view *view);
|
||||||
bool
|
bool
|
||||||
weston_surface_is_mapped(struct weston_surface *surface);
|
weston_surface_is_mapped(struct weston_surface *surface);
|
||||||
|
|
||||||
|
bool
|
||||||
|
weston_surface_is_mapping(struct weston_surface *surface);
|
||||||
|
|
||||||
bool
|
bool
|
||||||
weston_surface_is_unmapping(struct weston_surface *surface);
|
weston_surface_is_unmapping(struct weston_surface *surface);
|
||||||
|
|
||||||
|
|
|
@ -2139,6 +2139,18 @@ weston_surface_is_mapped(struct weston_surface *surface)
|
||||||
return surface->is_mapped;
|
return surface->is_mapped;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Check if the weston_surface is emitting an mapping commit
|
||||||
|
*
|
||||||
|
* @param surface The weston_surface.
|
||||||
|
*
|
||||||
|
* Returns true if the surface is emitting an mapping commit.
|
||||||
|
*/
|
||||||
|
WL_EXPORT bool
|
||||||
|
weston_surface_is_mapping(struct weston_surface *surface)
|
||||||
|
{
|
||||||
|
return surface->is_mapping;
|
||||||
|
}
|
||||||
|
|
||||||
/** Check if the weston_surface is emitting an unmapping commit
|
/** Check if the weston_surface is emitting an unmapping commit
|
||||||
*
|
*
|
||||||
* @param surface The weston_surface.
|
* @param surface The weston_surface.
|
||||||
|
@ -2362,6 +2374,7 @@ weston_surface_map(struct weston_surface *surface)
|
||||||
if (weston_surface_is_mapped(surface))
|
if (weston_surface_is_mapped(surface))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
surface->is_mapping = true;
|
||||||
surface->is_mapped = true;
|
surface->is_mapped = true;
|
||||||
surface->compositor->view_list_needs_rebuild = true;
|
surface->compositor->view_list_needs_rebuild = true;
|
||||||
weston_signal_emit_mutable(&surface->map_signal, surface);
|
weston_signal_emit_mutable(&surface->map_signal, surface);
|
||||||
|
@ -4481,8 +4494,9 @@ weston_surface_commit_state(struct weston_surface *surface,
|
||||||
|
|
||||||
wl_signal_emit(&surface->commit_signal, surface);
|
wl_signal_emit(&surface->commit_signal, surface);
|
||||||
|
|
||||||
/* Surface is fully unmapped now */
|
/* Surface is now quiescent */
|
||||||
surface->is_unmapping = false;
|
surface->is_unmapping = false;
|
||||||
|
surface->is_mapping = false;
|
||||||
state->status = WESTON_SURFACE_CLEAN;
|
state->status = WESTON_SURFACE_CLEAN;
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
|
|
Loading…
Reference in a new issue