Main raster plotting context - type definition and constructor only. All bound method implementations are in submodules: fortplot_raster_impl - drawing methods (line, arrow, marker, quad) fortplot_raster_text_impl - text rendering methods (text, bbox, rotated)
This module provides the raster_context type and create_raster_canvas constructor. See submodules for all method implementations.
| 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. | ||
| type(raster_image_t), | public | :: | raster | ||||
| type(plot_margins_t), | public | :: | margins | ||||
| type(plot_area_t), | public | :: | plot_area | ||||
| character(len=16), | public | :: | last_xscale | = | 'linear' | ||
| character(len=16), | public | :: | last_yscale | = | 'linear' | ||
| real(kind=wp), | public | :: | last_symlog_threshold | = | 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 => raster_draw_line | |
| procedure, public :: color => raster_set_color_context | |
| procedure, public :: text => raster_draw_text | |
| procedure, public :: draw_text_styled => raster_draw_text_styled | |
| procedure, public :: set_line_width => raster_set_line_width | |
| procedure, public :: set_line_style => raster_set_line_style_context | |
| procedure, public :: save => raster_save_dummy | |
| procedure, public :: draw_marker => raster_draw_marker | |
| procedure, public :: set_marker_colors => raster_set_marker_colors | |
| procedure, public :: set_marker_colors_with_alpha => raster_set_marker_colors_with_alpha | |
| procedure, public :: fill_quad => raster_fill_quad_context | |
| procedure, public :: draw_arrow => raster_draw_arrow | |
| procedure, public :: draw_arrowhead => raster_draw_arrowhead | |
| procedure, public :: get_ascii_output => raster_get_ascii_output | |
| procedure, public :: get_width_scale => raster_get_width_scale | |
| procedure, public :: get_height_scale => raster_get_height_scale | |
| procedure, public :: fill_heatmap => raster_fill_heatmap_context | |
| procedure, public :: render_legend_specialized => raster_render_legend_specialized_context | |
| procedure, public :: calculate_legend_dimensions => raster_calculate_legend_dimensions_context | |
| procedure, public :: set_legend_border_width => raster_set_legend_border_width_context | |
| procedure, public :: calculate_legend_position_backend => raster_calculate_legend_position_context | |
| procedure, public :: extract_rgb_data => raster_extract_rgb_data_context | |
| procedure, public :: get_png_data_backend => raster_get_png_data_context | |
| procedure, public :: prepare_3d_data => raster_prepare_3d_data_context | |
| procedure, public :: render_ylabel => raster_render_ylabel_context | |
| procedure, public :: draw_axes_and_labels_backend => raster_draw_axes_and_labels_context | |
| procedure, public :: draw_axes_lines_and_ticks => raster_draw_axes_lines_and_ticks_context | |
| procedure, public :: draw_axis_labels_only => raster_draw_axis_labels_only_context | |
| procedure, public :: save_coordinates => raster_save_coordinates | |
| procedure, public :: set_coordinates => raster_set_coordinates | |
| procedure, public :: render_axes => raster_render_axes |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | width | |||
| integer, | intent(in) | :: | height | |||
| real(kind=wp), | intent(in), | optional | :: | dpi |