SVG backend main interface
Provides Scalable Vector Graphics output format alongside PNG, PDF, ASCII. SVG advantages: web-native, infinitely scalable, editable, CSS styling.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | width | ||||
| integer, | public | :: | height | ||||
| real(kind=wp), | public | :: | x_min | ||||
| real(kind=wp), | public | :: | x_max | ||||
| real(kind=wp), | public | :: | y_min | ||||
| real(kind=wp), | public | :: | y_max | ||||
| real(kind=wp), | public | :: | view_azim | = | -1.0471975511965976_wp | ||
| real(kind=wp), | public | :: | view_elev | = | 0.5235987755982988_wp | ||
| real(kind=wp), | public | :: | view_dist | = | 10.0_wp | ||
| logical, | public | :: | has_rendered_arrows | = | .false. | ||
| logical, | public | :: | uses_vector_arrows | = | .false. | ||
| logical, | public | :: | has_triangular_arrows | = | .false. | ||
| character(len=:), | public, | allocatable | :: | content_stream | |||
| type(plot_margins_t), | public | :: | margins | ||||
| type(plot_area_t), | public | :: | plot_area | ||||
| real(kind=wp), | public | :: | current_r | = | 0.0_wp | ||
| real(kind=wp), | public | :: | current_g | = | 0.0_wp | ||
| real(kind=wp), | public | :: | current_b | = | 0.0_wp | ||
| real(kind=wp), | public | :: | current_line_width | = | 1.0_wp | ||
| character(len=10), | public | :: | current_line_style | = | '-' | ||
| real(kind=wp), | public | :: | marker_edge_r | = | 0.0_wp | ||
| real(kind=wp), | public | :: | marker_edge_g | = | 0.0_wp | ||
| real(kind=wp), | public | :: | marker_edge_b | = | 0.0_wp | ||
| real(kind=wp), | public | :: | marker_face_r | = | 0.0_wp | ||
| real(kind=wp), | public | :: | marker_face_g | = | 0.0_wp | ||
| real(kind=wp), | public | :: | marker_face_b | = | 1.0_wp | ||
| real(kind=wp), | public | :: | marker_edge_alpha | = | 1.0_wp | ||
| real(kind=wp), | public | :: | marker_face_alpha | = | 1.0_wp |
| procedure, public :: clear_text_background => context_clear_text_background | Draw text as a fixed-position overlay. Raster/vector backends reuse their normal text path; the ASCII backend overrides this to place the glyphs at the exact cell without the auto-shift its buffered text path applies, so stacked legend rows never blend together. |
| procedure, public :: draw_text_overlay => context_draw_text_overlay | Select the text-backend charset ('ascii' or 'braille'). Only the text backend carries subpixel dots; raster/vector backends ignore it. |
| procedure, public :: set_text_charset => context_set_text_charset | Select the text-backend ANSI color mode. Only the text backend emits escapes; raster/vector backends ignore it (#2062). |
| procedure, public :: set_text_color_mode => context_set_text_color_mode | |
| procedure, public :: line => draw_svg_line | |
| procedure, public :: color => set_svg_color | |
| procedure, public :: text => draw_svg_text | |
| procedure, public :: save => write_svg_file | |
| procedure, public :: set_line_width => set_svg_line_width | |
| procedure, public :: set_line_style => set_svg_line_style | |
| procedure, public :: draw_marker => draw_svg_marker | |
| procedure, public :: set_marker_colors => set_svg_marker_colors | |
| procedure, public :: set_marker_colors_with_alpha => set_svg_marker_colors_alpha | |
| procedure, public :: draw_arrow => draw_svg_arrow | |
| procedure, public :: draw_arrowhead => draw_svg_arrowhead | |
| procedure, public :: get_ascii_output => svg_get_ascii_output | |
| procedure, public :: get_width_scale => svg_get_width_scale | |
| procedure, public :: get_height_scale => svg_get_height_scale | |
| procedure, public :: fill_quad => svg_fill_quad | |
| procedure, public :: fill_heatmap => svg_fill_heatmap | |
| procedure, public :: render_legend_specialized => svg_render_legend | |
| procedure, public :: calculate_legend_dimensions => svg_calc_legend_dims | |
| procedure, public :: set_legend_border_width => svg_set_legend_border | |
| procedure, public :: calculate_legend_position_backend => svg_calc_legend_pos | |
| procedure, public :: extract_rgb_data => svg_extract_rgb_data | |
| procedure, public :: get_png_data_backend => svg_get_png_data | |
| procedure, public :: prepare_3d_data => svg_prepare_3d_data | |
| procedure, public :: render_ylabel => svg_render_ylabel | |
| procedure, public :: draw_axes_and_labels_backend => svg_draw_axes_labels | |
| procedure, public :: save_coordinates => svg_save_coordinates | |
| procedure, public :: set_coordinates => svg_set_coordinates | |
| procedure, public :: render_axes => svg_render_axes |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | width | |||
| integer, | intent(in) | :: | height |