ASCII terminal plotting backend - Text and Layout Management
This module handles ASCII text rendering, axes labels, and complex text processing including LaTeX and autopct functionality.
Author: fortplot contributors
Draw axes and labels for ASCII backend
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(inout) | :: | canvas(:,:) | |||
| character(len=*), | intent(in) | :: | xscale | |||
| character(len=*), | intent(in) | :: | yscale | |||
| real(kind=wp), | intent(in) | :: | symlog_threshold | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | |||
| character(len=:), | intent(in), | optional, | allocatable | :: | title | |
| character(len=:), | intent(in), | optional, | allocatable | :: | xlabel | |
| character(len=:), | intent(in), | optional, | allocatable | :: | ylabel | |
| real(kind=wp), | intent(in), | optional | :: | z_min | ||
| real(kind=wp), | intent(in), | optional | :: | z_max | ||
| logical, | intent(in) | :: | has_3d_plots | |||
| real(kind=wp), | intent(in) | :: | current_r | |||
| real(kind=wp), | intent(in) | :: | current_g | |||
| real(kind=wp), | intent(in) | :: | current_b | |||
| integer, | intent(in) | :: | plot_width | |||
| integer, | intent(in) | :: | plot_height | |||
| character(len=:), | intent(inout), | allocatable | :: | title_text | ||
| character(len=:), | intent(inout), | allocatable | :: | xlabel_text | ||
| character(len=:), | intent(inout), | allocatable | :: | ylabel_text | ||
| type(text_element_t), | intent(inout) | :: | text_elements(:) | |||
| integer, | intent(inout) | :: | num_text_elements | 
ASCII text drawing with legend processing (moved from main module)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(text_element_t), | intent(inout) | :: | text_elements(:) | |||
| integer, | intent(inout) | :: | num_text_elements | |||
| character(len=96), | intent(inout), | allocatable | :: | legend_lines(:) | ||
| integer, | intent(inout) | :: | num_legend_lines | |||
| logical, | intent(inout) | :: | capturing_legend | |||
| character(len=64), | intent(inout), | allocatable | :: | pie_legend_labels(:) | ||
| character(len=32), | intent(inout), | allocatable | :: | pie_legend_values(:) | ||
| integer, | intent(inout) | :: | pie_legend_count | |||
| character(len=32), | intent(inout), | allocatable | :: | pie_autopct_queue(:) | ||
| integer, | intent(inout) | :: | pie_autopct_count | |||
| integer, | intent(inout), | allocatable | :: | legend_entry_indices(:) | ||
| logical, | intent(inout), | allocatable | :: | legend_entry_has_autopct(:) | ||
| character(len=64), | intent(inout), | allocatable | :: | legend_entry_labels(:) | ||
| integer, | intent(inout) | :: | legend_entry_count | |||
| integer, | intent(inout) | :: | legend_autopct_cursor | |||
| real(kind=wp), | intent(in) | :: | x | |||
| real(kind=wp), | intent(in) | :: | y | |||
| character(len=*), | intent(in) | :: | text | |||
| real(kind=wp), | intent(in) | :: | x_min | |||
| real(kind=wp), | intent(in) | :: | x_max | |||
| real(kind=wp), | intent(in) | :: | y_min | |||
| real(kind=wp), | intent(in) | :: | y_max | |||
| integer, | intent(in) | :: | plot_width | |||
| integer, | intent(in) | :: | plot_height | |||
| real(kind=wp), | intent(in) | :: | current_r | |||
| real(kind=wp), | intent(in) | :: | current_g | |||
| real(kind=wp), | intent(in) | :: | current_b |