gstreamer/docs/gst/gst-universe.dot
Stefan Kost 2f134d0574 docs: add concept map
Add a graphviz dot file. Add rules to render it to svg and include in docs.
Nodes are clickable. It is an attempt to show how things fit together.
2010-04-08 10:30:41 +03:00

74 lines
2.7 KiB
Text

/* dot -Tpng gst-universe.dot -ogst-universe.png
*
* other layouts:
* circo -Tpng gst-universe.dot -ogst-universe.circo.png
* neato -Tpng gst-universe.dot -ogst-universe.neato.png
*
* todo:
* - add urls to api docs
* - use color
*/
digraph pipeline {
node [style="filled", shape="box", fillcolor="#eeeeee", fontsize="9px", fontname="Bitstream Vera Sans", target="_top"];
edge [labelfontsize="7px", fontsize="7px", labelfontname="Bitstream Vera Sans", fontname="Bitstream Vera Sans"];
labelloc=t;
nodesep=0.25;
/*
fontname="Bitstream Vera Sans";
fontsize="10px";
label="GStreamer Universe";
*/
/* objects */
application [color=black, fillcolor="#ffdddd"];
bin [href="GstBin.html", color=black, fillcolor="#ccccff"];
bus [href="GstBus.html"];
buffer [href="gstreamer-GstBuffer.html", color=black, fillcolor="#ddffdd"];
caps [href="gstreamer-GstCaps.html"];
clock [href="GstClock.html"];
element [href="GstElement.html", color=black, fillcolor="#ccccff"];
element_factory [href="GstElementFactory.html", label="element factory"];
event [href="gstreamer-GstEvent.html", color=black, fillcolor="#ddffdd"];
message [href="gstreamer-GstMessage.html", color=black, fillcolor="#ddffdd"];
pad [href="GstPad.html", color=black, fillcolor="#ccccff"];
pad_template [href="GstPadTemplate.html", label="pad template"];
pipeline [href="GstPipeline.html", color=black, fillcolor="#ccccff"];
plugin [href="GstPlugin.html"];
plugin_feature [href="GstPluginFeature.html", label="plugin feature"];
query [href="gstreamer-GstQuery.html", color=black, fillcolor="#ddffdd"];
registry [href="GstRegistry.html"];
structure [href="gstreamer-GstStructure.html"];
/* relations */
bin -> element [label="is-a"];
pipeline -> bin [label="is-a"];
pipeline -> bus [label="has 1"];
pipeline -> clock [label="has 1"];
element -> pad_template [label="has n"];
element -> pad [label="has n"];
element -> clock [label="may provide"];
pad -> caps [label="has n"];
pad_template -> caps [label="has n"];
buffer -> caps [label="has n"];
caps -> structure [label="has n"];
bin -> element [label="has n"];
pad -> pad_template [label="is created from"];
element -> element_factory [label="is created from"];
element -> query [label="answers"];
element -> event [label="send & receive"];
element -> buffer [label="send & receive"];
element -> message [label="send"];
bus -> message [label="receive"];
registry -> plugin [label="has n"];
plugin -> plugin_feature [label="has n"];
element_factory -> plugin_feature [label="is-a"];
application -> pipeline [label="has"];
application -> bus [label="listen on"];
application -> query [label="send"];
application -> event [label="send"];
}