diff options
author | emersion <contact@emersion.fr> | 2018-05-28 20:27:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-28 20:27:55 +0100 |
commit | 3444f43c16e49ad64fa6f1f11be7baf16b3bf49c (patch) | |
tree | de15e9b07d6adfc2dd215c8de15b6d611b6a700e | |
parent | f95bd1facf5b61efc72ac9c09480d77fea6ee39a (diff) | |
parent | 044fa52be48ff47abe6df0e5e77761f7b0598110 (diff) |
Merge pull request #1012 from acrisci/doc-map-unmap
document the map/unmap xdg-shell events
-rw-r--r-- | include/wlr/types/wlr_xdg_shell.h | 20 | ||||
-rw-r--r-- | include/wlr/types/wlr_xdg_shell_v6.h | 20 |
2 files changed, 40 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_xdg_shell.h b/include/wlr/types/wlr_xdg_shell.h index 11709c75..5eb30a16 100644 --- a/include/wlr/types/wlr_xdg_shell.h +++ b/include/wlr/types/wlr_xdg_shell.h @@ -14,6 +14,12 @@ struct wlr_xdg_shell { struct wl_listener display_destroy; struct { + /** + * The `new_surface` event signals that a client has requested to + * create a new shell surface. At this point, the surface is ready to + * be configured but is not mapped or ready receive input events. The + * surface will be ready to be managed on the `map` event. + */ struct wl_signal new_surface; } events; @@ -162,7 +168,21 @@ struct wlr_xdg_surface { struct wl_signal destroy; struct wl_signal ping_timeout; struct wl_signal new_popup; + /** + * The `map` event signals that the shell surface is ready to be + * managed by the compositor and rendered on the screen. At this point, + * the surface has configured its properties, has had the opportunity + * to bind to the seat to receive input events, and has a buffer that + * is ready to be rendered. You can now safely add this surface to a + * list of views. + */ struct wl_signal map; + /** + * The `unmap` event signals that the surface is no longer in a state + * where it should be shown on the screen. This might happen if the + * surface no longer has a displayable buffer because either the + * surface has been hidden or is about to be destroyed. + */ struct wl_signal unmap; } events; diff --git a/include/wlr/types/wlr_xdg_shell_v6.h b/include/wlr/types/wlr_xdg_shell_v6.h index bce645da..2fdf49e5 100644 --- a/include/wlr/types/wlr_xdg_shell_v6.h +++ b/include/wlr/types/wlr_xdg_shell_v6.h @@ -15,6 +15,12 @@ struct wlr_xdg_shell_v6 { struct wl_listener display_destroy; struct { + /** + * The `new_surface` event signals that a client has requested to + * create a new shell surface. At this point, the surface is ready to + * be configured but is not mapped or ready receive input events. The + * surface will be ready to be managed on the `map` event. + */ struct wl_signal new_surface; } events; @@ -160,7 +166,21 @@ struct wlr_xdg_surface_v6 { struct wl_signal destroy; struct wl_signal ping_timeout; struct wl_signal new_popup; + /** + * The `map` event signals that the shell surface is ready to be + * managed by the compositor and rendered on the screen. At this point, + * the surface has configured its properties, has had the opportunity + * to bind to the seat to receive input events, and has a buffer that + * is ready to be rendered. You can now safely add this surface to a + * list of views. + */ struct wl_signal map; + /** + * The `unmap` event signals that the surface is no longer in a state + * where it should be shown on the screen. This might happen if the + * surface no longer has a displayable buffer because either the + * surface has been hidden or is about to be destroyed. + */ struct wl_signal unmap; } events; |