digraph G {
    graph [rankdir=LR];
    node [shape=record, style=filled, fontname="Sans", fontsize=10, fillcolor="#77bbee", color="#447777"];
    edge [fontname="Sans", fontsize=10, color="#447777"];

    MMALCamera [label="{MMALCamera|{<preview>0|<video>1|<still>2}}"];
    MMALImageEncoder [label="{<input>0|MMALImageEncoder|<output>0}"];
    MMALRenderer [label="{<input>0|MMALRenderer}"];
    FileOutput [label="image.jpg", shape=note];

    MMALCamera:still->MMALImageEncoder:input [
        taillabel="OPQV\n640x480",
        label="MMALConnection",
        headlabel="OPQV\n640x480"
        ];
    MMALImageEncoder:output->FileOutput [
        taillabel="JPEG\n640x480",
        label="callback fn"
        ];
}
