summaryrefslogtreecommitdiff
path: root/doc/sphinx/toc/libweston/images/destroy-output.msc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/sphinx/toc/libweston/images/destroy-output.msc')
-rw-r--r--doc/sphinx/toc/libweston/images/destroy-output.msc29
1 files changed, 29 insertions, 0 deletions
diff --git a/doc/sphinx/toc/libweston/images/destroy-output.msc b/doc/sphinx/toc/libweston/images/destroy-output.msc
new file mode 100644
index 00000000..fc477fff
--- /dev/null
+++ b/doc/sphinx/toc/libweston/images/destroy-output.msc
@@ -0,0 +1,29 @@
+#!/usr/bin/mscgen -Tpng
+
+msc {
+ hscale="1.5";
+
+ c [label = "compositor"], w [label = "libweston core"],
+ b [label = "backend"];
+
+ |||;
+
+ --- [label = "Compositor destroys an output for a head"];
+
+ c box c [label = "A head is found disconnected, is being destroyed, or something else needs it disabled."];
+
+ c => w [label = "weston_head_get_output()"];
+ c << w [label = "weston_output"];
+
+ c box c [label = "decide the output needs to be destroyed"];
+
+ c => w [label = "weston_output_destroy()"];
+ w => b [label = "weston_output::destroy()"];
+ w <= b [label = "weston_output_release()"];
+ w <= w [label = "weston_head_detach()"];
+ w :> b [label = "weston_output::detach_head()"];
+ w >> b [label = "release return"];
+ b box b [label = "free(output)"];
+ w << b;
+ c << w;
+}