Just as we do for fullscreen backgrounds, reuse the curtain infrastructure for focus animations. This introduces a small functional change, in that the surface's output is no longer directly assigned. Instead, we call weston_view_set_output() ourselves. As setting the weston_view's position (done from the common helper function of weston_curtain_create which has been introduced in previous commits) will call weston_view_set_position(), the view's geometry will be dirtied as a result. When the geometry of a weston_view is dirty, it is marked to be updated, which will occur whilst traversing the view list during output repaint. This occurs for every view which is currently assigned to a layer; when building the view list, any view reachable through the view list whose geometry is dirty will have its position recalculated and an output assigned. Doing so results in the surface's current output being updated. It is believed that there is no functional impact from the weston_surface not having a primary output assigned between creation and output repaint being called. Signed-off-by: Daniel Stone <daniels@collabora.com>dev
parent
bd9b0676dd
commit
e031397e09
Loading…
Reference in new issue