fortplot_ascii_backend_ops Module

ASCII terminal plotting backend - Backend Operations

Extracted implementation procedures for polymorphic backend operations.

Author: fortplot contributors



Subroutines

public subroutine ascii_extract_rgb_impl(width, height, rgb_data)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: width
integer, intent(in) :: height
real(kind=wp), intent(out) :: rgb_data(width,height,3)

public subroutine ascii_get_png_impl(width, height, png_data, status)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: width
integer, intent(in) :: height
integer(kind=1), intent(out), allocatable :: png_data(:)
integer, intent(out) :: status

public subroutine ascii_prepare_3d_impl(plots)

Arguments

Type IntentOptional Attributes Name
type(plot_data_t), intent(in) :: plots(:)

public subroutine ascii_render_ylabel_impl(ylabel)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: ylabel

public subroutine ascii_draw_axes_impl(canvas, xscale, yscale, symlog_threshold, x_min, x_max, y_min, y_max, title, xlabel, ylabel, x_date_format, y_date_format, z_min, z_max, has_3d_plots, current_r, current_g, current_b, plot_width, plot_height, title_text, xlabel_text, ylabel_text, text_elements, num_text_elements, has_custom_ticks, custom_xtick_positions, custom_xtick_labels)

Arguments

Type IntentOptional 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
character(len=*), intent(in), optional :: x_date_format
character(len=*), intent(in), optional :: y_date_format
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
logical, intent(in) :: has_custom_ticks
real(kind=wp), intent(in), optional :: custom_xtick_positions(:)
character(len=*), intent(in), optional :: custom_xtick_labels(:)

public subroutine ascii_save_coord_impl(x_min_in, x_max_in, y_min_in, y_max_in, has_stored_y_range, stored_y_min, stored_y_max, x_min_out, x_max_out, y_min_out, y_max_out)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x_min_in
real(kind=wp), intent(in) :: x_max_in
real(kind=wp), intent(in) :: y_min_in
real(kind=wp), intent(in) :: y_max_in
logical, intent(in) :: has_stored_y_range
real(kind=wp), intent(in) :: stored_y_min
real(kind=wp), intent(in) :: stored_y_max
real(kind=wp), intent(out) :: x_min_out
real(kind=wp), intent(out) :: x_max_out
real(kind=wp), intent(out) :: y_min_out
real(kind=wp), intent(out) :: y_max_out

public subroutine ascii_set_coord_impl(x_min, x_max, y_min, y_max, char_aspect, x_min_out, x_max_out, y_min_out, y_max_out, stored_y_min_out, stored_y_max_out, has_stored_y_range_out)

Arguments

Type IntentOptional Attributes Name
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
real(kind=wp), intent(in) :: char_aspect
real(kind=wp), intent(out) :: x_min_out
real(kind=wp), intent(out) :: x_max_out
real(kind=wp), intent(out) :: y_min_out
real(kind=wp), intent(out) :: y_max_out
real(kind=wp), intent(out) :: stored_y_min_out
real(kind=wp), intent(out) :: stored_y_max_out
logical, intent(out) :: has_stored_y_range_out

public subroutine ascii_render_axes_impl(x_min, x_max, y_min, y_max, has_stored_y_range, stored_y_min, stored_y_max, last_xscale, last_yscale, last_symlog_threshold, canvas, plot_width, plot_height, title_text, xlabel_text, ylabel_text, text_elements, num_text_elements, custom_xtick_positions, custom_xtick_labels)

Arguments

Type IntentOptional Attributes Name
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
logical, intent(in) :: has_stored_y_range
real(kind=wp), intent(in) :: stored_y_min
real(kind=wp), intent(in) :: stored_y_max
character(len=*), intent(in) :: last_xscale
character(len=*), intent(in) :: last_yscale
real(kind=wp), intent(in) :: last_symlog_threshold
character(len=1), intent(inout) :: canvas(:,:)
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
real(kind=wp), intent(in), optional :: custom_xtick_positions(:)
character(len=*), intent(in), optional :: custom_xtick_labels(:)