Unify solid-colour surface handling in shells [weston_buffer epic part 1]
shell-utils already has a helper which allows shells to create a solid-colour view, e.g. for fullscreen backgrounds or fade transitions. This is currently implemented by creating a weston_surface and a weston_view (mostly as fullscreen for a given output), and calling the renderer's surface_set_color
hook to make it be a solid colour.
This MR cleans the helper up a little bit, makes it as generic as possible, then switches all the shells over to using it.
The helper originally just returned a weston_view
, however (spoiler!) in preparation for moving from solid-colour surfaces to solid-colour buffers attached to surfaces in !767 (merged), it now returns a weston_curtain
struct with a specialised destructor.