1#!/usr/bin/mscgen -Tpng 2 3msc { 4 hscale="1.5"; 5 6 c [label = "compositor"], w [label = "libweston core"], 7 b [label = "backend"]; 8 9 |||; 10 11 --- [label = "Compositor reacts to heads_changed"]; 12 13 c <<= w [label = "heads_changed callback"]; 14 c box c [label = "Iterate with weston_compositor_iterate_heads(), for each head"]; 15 c => w [label = "weston_head_is_connected()"]; 16 c << w [label = "bool"]; 17 c => w [label = "weston_head_is_enabled()"]; 18 c << w [label = "bool"]; 19 c => w [label = "weston_head_is_device_changed()"]; 20 c << w [label = "bool"]; 21 c abox c [label = "If the head needs enabling, create an output."]; 22 c abox c [label = "If the head needs disabling, disable the output or destroy the output."]; 23 c >> w; 24} 25