diff --git a/docs/textrendering.gv b/docs/textrendering.gv index 90a897a6ae..26bf9fb1f1 100644 --- a/docs/textrendering.gv +++ b/docs/textrendering.gv @@ -1,13 +1,14 @@ -#process with: dot textrendering.gv -Tpng > textrendering.png +/* process with: dot textrendering.gv -Tsvg > textrendering.svg */ digraph textrendering { -# Classes without important virtual members: Round -# Classes with important virtual members: Rect -# Pointers [style=dashed] -# Red: function is called + /* 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] - Renderer - + node_ -> text_processor [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] @@ -16,9 +17,24 @@ digraph textrendering { text_placement_info -> text_placement_info [label="next()"] text_symbolizer_properties -> text_processor [label="processor"] text_processor -> processed_text [label="process()", style=dashed] - processed_text -> string_info [label="get_string_info()"] + processed_text -> string_info [label="get_string_info()", style=dashed] text_path -> Renderer [color=red, label="used by"] - Renderer -> text_placement_info [color=red, label="init()"] - Renderer -> processed_text [color=red, label="initializes"] + 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_processor -> Renderer [color=red, label="called 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 } + { rank=same; node_ TextSymbolizer} } diff --git a/docs/textrendering.png b/docs/textrendering.png new file mode 100644 index 0000000000..ee7b33c4b9 Binary files /dev/null and b/docs/textrendering.png differ diff --git a/docs/textrendering.svg b/docs/textrendering.svg new file mode 100644 index 0000000000..9a3e2f8345 --- /dev/null +++ b/docs/textrendering.svg @@ -0,0 +1,226 @@ + + + + + + +textrendering + + +Renderer + +Renderer + + +text_symbolizer_helper + +text_symbolizer_helper + + +Renderer->text_symbolizer_helper + + +creates + + +text_placements + +text_placements + + +text_placement_info + +text_placement_info + + +text_placements->text_placement_info + + +get_placement_info() + + +text_symbolizer_properties + +text_symbolizer_properties + + +text_placements->text_symbolizer_properties + + +properties + + +text_placement_info->Renderer + + +used by + + +text_placement_info->text_placement_info + + +next() + + +text_placement_info->text_symbolizer_properties + + +properties + + +text_path + +text_path + + +text_placement_info->text_path + + +placements + + +node_ + +node + + +text_processor + +text_processor + + +node_->text_processor + + +tree_ + + +text_node + +text_node + + +node_->text_node + + + + +list_node + +list_node + + +node_->list_node + + + + +format_node + +format_node + + +node_->format_node + + + + +text_processor->Renderer + + +called by + + +processed_text + +processed_text + + +text_processor->processed_text + + +process() + + +TextSymbolizer + +TextSymbolizer + + +TextSymbolizer->text_placements + + +placement_options_ + + +text_symbolizer_properties->text_processor + + +processor + + +text_path->Renderer + + +used by + + +processed_text->Renderer + + +owned by + + +string_info + +string_info + + +processed_text->string_info + + +get_string_info() + + +placement_finder + +placement_finder + + +string_info->placement_finder + + +used by + + +text_symbolizer_helper->placement_finder + + +creates + + +placement_finder->text_path + + +creates + + +list_node->text_node + + + + +list_node->format_node + + + + +format_node->text_node + + + + +