compositor: Document routines relating to idle behavior
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
c2be85777e
commit
c9626a38c4
@ -3817,6 +3817,11 @@ bind_subcompositor(struct wl_client *client,
|
||||
compositor, NULL);
|
||||
}
|
||||
|
||||
/** Set a DPMS mode on all of the compositor's outputs
|
||||
*
|
||||
* \param compositor The compositor instance
|
||||
* \param state The DPMS state the outputs will be set to
|
||||
*/
|
||||
static void
|
||||
weston_compositor_dpms(struct weston_compositor *compositor,
|
||||
enum dpms_enum state)
|
||||
@ -3828,6 +3833,17 @@ weston_compositor_dpms(struct weston_compositor *compositor,
|
||||
output->set_dpms(output, state);
|
||||
}
|
||||
|
||||
/** Restores the compositor to active status
|
||||
*
|
||||
* \param compositor The compositor instance
|
||||
*
|
||||
* If the compositor was in a sleeping mode, all outputs are powered
|
||||
* back on via DPMS. Otherwise if the compositor was inactive
|
||||
* (idle/locked, offscreen, or sleeping) then the compositor's wake
|
||||
* signal will fire.
|
||||
*
|
||||
* Restarts the idle timer.
|
||||
*/
|
||||
WL_EXPORT void
|
||||
weston_compositor_wake(struct weston_compositor *compositor)
|
||||
{
|
||||
@ -3852,6 +3868,19 @@ weston_compositor_wake(struct weston_compositor *compositor)
|
||||
}
|
||||
}
|
||||
|
||||
/** Turns off rendering and frame events for the compositor.
|
||||
*
|
||||
* \param compositor The compositor instance
|
||||
*
|
||||
* This is used for example to prevent further rendering while the
|
||||
* compositor is shutting down.
|
||||
*
|
||||
* \note When offscreen state is entered, outputs will be powered
|
||||
* back on if they were sleeping (in DPMS off mode), even though
|
||||
* no rendering will be performed.
|
||||
*
|
||||
* Stops the idle timer.
|
||||
*/
|
||||
WL_EXPORT void
|
||||
weston_compositor_offscreen(struct weston_compositor *compositor)
|
||||
{
|
||||
@ -3867,6 +3896,16 @@ weston_compositor_offscreen(struct weston_compositor *compositor)
|
||||
}
|
||||
}
|
||||
|
||||
/** Powers down all attached output devices
|
||||
*
|
||||
* \param compositor The compositor instance
|
||||
*
|
||||
* Causes rendering to the outputs to cease, and no frame events to be
|
||||
* sent. Only powers down the outputs if the compositor is not already
|
||||
* in sleep mode.
|
||||
*
|
||||
* Stops the idle timer.
|
||||
*/
|
||||
WL_EXPORT void
|
||||
weston_compositor_sleep(struct weston_compositor *compositor)
|
||||
{
|
||||
@ -3878,6 +3917,18 @@ weston_compositor_sleep(struct weston_compositor *compositor)
|
||||
weston_compositor_dpms(compositor, WESTON_DPMS_OFF);
|
||||
}
|
||||
|
||||
/** Sets compositor to idle mode
|
||||
*
|
||||
* \param data The compositor instance
|
||||
*
|
||||
* This is called when the idle timer fires. Once the compositor is in
|
||||
* idle mode it requires a wake action (e.g. via
|
||||
* weston_compositor_wake()) to restore it. The compositor's
|
||||
* idle_signal will be triggered when the idle event occurs.
|
||||
*
|
||||
* Idleness can be inhibited by setting the compositor's idle_inhibit
|
||||
* property.
|
||||
*/
|
||||
static int
|
||||
idle_handler(void *data)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user