fortplot_spy_backend Module



Derived Types

type, public, extends(plot_context) ::  spy_context_t

Components

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.
real(kind=wp), public :: current_color(3) = [0.0_wp, 0.0_wp, 0.0_wp]
real(kind=wp), public :: expected_fill(3) = [0.0_wp, 0.0_wp, 0.0_wp]
real(kind=wp), public :: expected_edge(3) = [0.0_wp, 0.0_wp, 0.0_wp]
real(kind=wp), public :: last_fill_color(3) = [0.0_wp, 0.0_wp, 0.0_wp]
real(kind=wp), public :: last_line_color(3) = [0.0_wp, 0.0_wp, 0.0_wp]
integer, public :: fill_calls = 0
integer, public :: line_calls = 0
integer, public :: unexpected_calls = 0
logical, public :: fill_color_ok = .true.
logical, public :: line_color_ok = .true.
logical, public :: saw_nonfinite_line = .false.

Type-Bound Procedures

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 :: reset => spy_reset
procedure, public :: line => spy_line
procedure, public :: color => spy_color
procedure, public :: text => spy_text
procedure, public :: save => spy_save
procedure, public :: set_line_width => spy_set_line_width
procedure, public :: set_line_style => spy_set_line_style
procedure, public :: draw_marker => spy_draw_marker
procedure, public :: set_marker_colors => spy_set_marker_colors
procedure, public :: set_marker_colors_with_alpha => spy_set_marker_colors_with_alpha
procedure, public :: draw_arrow => spy_draw_arrow
procedure, public :: draw_arrowhead => spy_draw_arrowhead
procedure, public :: get_ascii_output => spy_get_ascii_output
procedure, public :: get_width_scale => spy_get_width_scale
procedure, public :: get_height_scale => spy_get_height_scale
procedure, public :: fill_quad => spy_fill_quad
procedure, public :: fill_heatmap => spy_fill_heatmap
procedure, public :: extract_rgb_data => spy_extract_rgb_data
procedure, public :: get_png_data_backend => spy_get_png_data_backend
procedure, public :: prepare_3d_data => spy_prepare_3d_data
procedure, public :: render_ylabel => spy_render_ylabel
procedure, public :: draw_axes_and_labels_backend => spy_draw_axes_and_labels_backend
procedure, public :: save_coordinates => spy_save_coordinates
procedure, public :: set_coordinates => spy_set_coordinates
procedure, public :: render_axes => spy_render_axes