libweston: Make weston_head_set_device_changed public

Some backends have special head specific state that doesn't fit into the
existing generic head setter functions, and is too specific to make more
functions for.

RDP's primary output flag is an example.

Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
This commit is contained in:
Derek Foreman 2022-07-20 10:24:47 -05:00 committed by Daniel Stone
parent f5e9904d4a
commit 0e71aff8ea
2 changed files with 20 additions and 1 deletions

View File

@ -2233,6 +2233,9 @@ weston_head_is_device_changed(struct weston_head *head);
bool
weston_head_is_non_desktop(struct weston_head *head);
void
weston_head_set_device_changed(struct weston_head *head);
void
weston_head_reset_device_changed(struct weston_head *head);

View File

@ -5775,7 +5775,23 @@ weston_head_release(struct weston_head *head)
wl_list_remove(&head->compositor_link);
}
static void
/** Propagate device information changes
*
* \param head The head that changed.
*
* The information about the connected display device, e.g. a monitor, may
* change without being disconnected in between. Changing information
* causes a call to the heads_changed hook.
*
* Normally this is handled automatically by the generic setters, but if
* a backend has
* specific head properties it may have to call this directly.
*
* \sa weston_head_reset_device_changed, weston_compositor_set_heads_changed_cb,
* weston_head_is_device_changed
* \ingroup head
*/
WL_EXPORT void
weston_head_set_device_changed(struct weston_head *head)
{
head->device_changed = true;