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 c => w [label = "weston_compositor_load_backend()"]; 12 w => b [label = "init"]; 13 14 --- [label = "Create initial heads"]; 15 b box b [label = "Backend discovers an entity to create a head for."]; 16 17 w <: b [label = "weston_head_init()"]; 18 b box b [label = "assign hw resource to head"]; 19 w <: b [label = "weston_head_set_monitor_strings()"]; 20 w <: b [label = "weston_head_set_physical_size()"]; 21 w <: b [label = "weston_head_set_subpixel()"]; 22 w <: b [label = "weston_head_set_connection_status()"]; 23 w <= b [label = "weston_compositor_add_head()"]; 24 w <= w [label = "schedule heads_changed"]; 25 w << b [label = "init success"]; 26 c << w [label = "load success"]; 27 28 |||; 29 30 --- [label = "Compositor start-up"]; 31 32 c => w [label = "weston_compositor_flush_heads_changed()"]; 33 c <<= w [label = "heads_changed callback"]; 34 35} 36