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 | ||||
logical, | public | :: | has_rendered_arrows | = | .false. | ||
logical, | public | :: | uses_vector_arrows | = | .false. | ||
logical, | public | :: | has_triangular_arrows | = | .false. | ||
character(len=1), | public, | allocatable | :: | canvas(:,:) | |||
character(len=:), | public, | allocatable | :: | title_text | |||
character(len=:), | public, | allocatable | :: | xlabel_text | |||
character(len=:), | public, | allocatable | :: | ylabel_text | |||
logical, | public | :: | title_set | = | .false. | ||
type(text_element_t), | public, | allocatable | :: | text_elements(:) | |||
integer, | public | :: | num_text_elements | = | 0 | ||
real(kind=wp), | public | :: | current_r | ||||
real(kind=wp), | public | :: | current_g | ||||
real(kind=wp), | public | :: | current_b | ||||
integer, | public | :: | plot_width | = | 80 | ||
integer, | public | :: | plot_height | = | 24 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | x1 | |||
real(kind=wp), | intent(in) | :: | y1 | |||
real(kind=wp), | intent(in) | :: | x2 | |||
real(kind=wp), | intent(in) | :: | y2 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | r | |||
real(kind=wp), | intent(in) | :: | g | |||
real(kind=wp), | intent(in) | :: | b |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | x | |||
real(kind=wp), | intent(in) | :: | y | |||
character(len=*), | intent(in) | :: | text |
Set line width for ASCII context (no-op as ASCII uses fixed character width)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | width |
Set line style for ASCII context (no-op as ASCII uses fixed characters)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
character(len=*), | intent(in) | :: | style |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
character(len=*), | intent(in) | :: | filename |
Explicitly set title for ASCII backend
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
character(len=*), | intent(in) | :: | title |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | x | |||
real(kind=wp), | intent(in) | :: | y | |||
character(len=*), | intent(in) | :: | style |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | edge_r | |||
real(kind=wp), | intent(in) | :: | edge_g | |||
real(kind=wp), | intent(in) | :: | edge_b | |||
real(kind=wp), | intent(in) | :: | face_r | |||
real(kind=wp), | intent(in) | :: | face_g | |||
real(kind=wp), | intent(in) | :: | face_b |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | edge_r | |||
real(kind=wp), | intent(in) | :: | edge_g | |||
real(kind=wp), | intent(in) | :: | edge_b | |||
real(kind=wp), | intent(in) | :: | edge_alpha | |||
real(kind=wp), | intent(in) | :: | face_r | |||
real(kind=wp), | intent(in) | :: | face_g | |||
real(kind=wp), | intent(in) | :: | face_b | |||
real(kind=wp), | intent(in) | :: | face_alpha |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | x_grid(:) | |||
real(kind=wp), | intent(in) | :: | y_grid(:) | |||
real(kind=wp), | intent(in) | :: | z_grid(:,:) | |||
real(kind=wp), | intent(in) | :: | z_min | |||
real(kind=wp), | intent(in) | :: | z_max |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | x | |||
real(kind=wp), | intent(in) | :: | y | |||
real(kind=wp), | intent(in) | :: | dx | |||
real(kind=wp), | intent(in) | :: | dy | |||
real(kind=wp), | intent(in) | :: | size | |||
character(len=*), | intent(in) | :: | style |
New polymorphic methods to eliminate SELECT TYPE
Get the complete ASCII canvas as a string
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(in) | :: | this |
Get width scaling factor for coordinate transformation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(in) | :: | this |
Get height scaling factor for coordinate transformation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(in) | :: | this |
Fill quadrilateral using character mapping based on current color
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
real(kind=wp), | intent(in) | :: | x_quad(4) | |||
real(kind=wp), | intent(in) | :: | y_quad(4) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
type(legend_t), | intent(in) | :: | legend | |||
real(kind=wp), | intent(in) | :: | legend_x | |||
real(kind=wp), | intent(in) | :: | legend_y |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(in) | :: | this | |||
type(legend_t), | intent(in) | :: | legend | |||
real(kind=wp), | intent(out) | :: | legend_width | |||
real(kind=wp), | intent(out) | :: | legend_height |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this |
Calculate ASCII-specific legend position using character coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(in) | :: | this | |||
type(legend_t), | intent(in) | :: | legend | |||
real(kind=wp), | intent(out) | :: | x | |||
real(kind=wp), | intent(out) | :: | y |
Extract RGB data from ASCII backend (not supported - dummy data)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(in) | :: | this | |||
integer, | intent(in) | :: | width | |||
integer, | intent(in) | :: | height | |||
real(kind=real64), | intent(out) | :: | rgb_data(width,height,3) |
Get PNG data from ASCII backend (not supported)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(in) | :: | this | |||
integer, | intent(in) | :: | width | |||
integer, | intent(in) | :: | height | |||
integer(kind=1), | intent(out), | allocatable | :: | png_data(:) | ||
integer, | intent(out) | :: | status |
Prepare 3D data for ASCII backend (no-op - ASCII doesn't use 3D data)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
type(plot_data_t), | intent(in) | :: | plots(:) |
Render Y-axis label for ASCII backend (no-op - handled elsewhere)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
character(len=*), | intent(in) | :: | ylabel |
Draw axes and labels for ASCII backend
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
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 |
Save current coordinate system
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(in) | :: | this | |||
real(kind=wp), | intent(out) | :: | x_min | |||
real(kind=wp), | intent(out) | :: | x_max | |||
real(kind=wp), | intent(out) | :: | y_min | |||
real(kind=wp), | intent(out) | :: | y_max |
Set coordinate system
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
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 |
Render axes for ASCII context (stub implementation)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ascii_context), | intent(inout) | :: | this | |||
character(len=*), | intent(in), | optional | :: | title_text | ||
character(len=*), | intent(in), | optional | :: | xlabel_text | ||
character(len=*), | intent(in), | optional | :: | ylabel_text |