/* process with: dot textrendering.gv -Tsvg > textrendering.svg dot textrendering.gv -Tpng > textrendering.png */ digraph textrendering { /* Classes without important virtual members: Round Classes with important virtual members: Rect Pointers [style=dashed] */ Renderer [color=red] rankdir="TD"; text_placements[shape=box] text_placement_info[shape=box] node_ -> text_symbolizer_properties [label="tree_", style=dashed] TextSymbolizer -> text_placements [label="placement_options_", style=dashed] text_placements -> text_symbolizer_properties [label="properties"] text_placements -> text_placement_info [label="get_placement_info()", style=dashed] text_placement_info -> text_symbolizer_properties [label="properties"] text_placement_info -> text_path [label="placements", style=dashed] text_placement_info -> text_placement_info [label="next()"] text_symbolizer_properties -> processed_text [label="process()", style=dashed] processed_text -> string_info [label="get_string_info()", style=dashed] text_path -> Renderer [color=red, label="used by"] processed_text -> Renderer [color=red, label="owned by"] Renderer -> text_symbolizer_helper [color=red, label="creates"] text_symbolizer_helper -> placement_finder [color=red, label="creates"] placement_finder -> text_path [color=red, label="creates"] string_info -> placement_finder [color=red, label="used by"] text_placement_info -> Renderer [color=red, label="used by"] node_[label="node"] node_ -> text_node [style=dashed] node_ -> list_node [style=dashed] node_ -> format_node [style=dashed] list_node -> text_node [style=dashed] list_node -> format_node [style=dashed] format_node -> text_node [style=dashed] { rank=same; text_path text_symbolizer_helper } }