PDF backend main interface (unified coordinates using plot area)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | width | |||
| integer, | intent(in) | :: | height |
| 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(pdf_stream_writer), | public | :: | stream_writer | ||||
| type(plot_margins_t), | public | :: | margins | ||||
| type(plot_area_t), | public | :: | plot_area | ||||
| integer, | public | :: | x_tick_count | = | 0 | ||
| integer, | public | :: | y_tick_count | = | 0 | ||
| integer, | public | :: | twiny_top_offset | = | 0 | ||
| real(kind=wp), | public, | allocatable | :: | custom_xtick_positions(:) | |||
| real(kind=wp), | public, | allocatable | :: | custom_ytick_positions(:) | |||
| character(len=50), | public, | allocatable | :: | custom_xtick_labels(:) | |||
| character(len=50), | public, | allocatable | :: | custom_ytick_labels(:) |
| 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_pdf_line | |
| procedure, public :: color => set_pdf_color | |
| procedure, public :: text => draw_pdf_text_wrapper | |
| procedure, public :: draw_text_styled => draw_pdf_text_styled | |
| procedure, public :: save => write_pdf_file_facade | |
| procedure, public :: set_line_width => set_pdf_line_width | |
| procedure, public :: set_line_style => set_pdf_line_style | |
| procedure, public :: draw_marker => draw_pdf_marker_wrapper | |
| procedure, public :: set_marker_colors => set_marker_colors_wrapper | |
| procedure, public :: set_marker_colors_with_alpha => set_marker_colors_with_alpha_wrapper | |
| procedure, public :: draw_arrow => draw_pdf_arrow_wrapper | |
| procedure, public :: draw_arrowhead => draw_pdf_arrowhead_wrapper | |
| procedure, public :: get_ascii_output => pdf_get_ascii_output | |
| procedure, public :: get_width_scale => get_width_scale_wrapper | |
| procedure, public :: get_height_scale => get_height_scale_wrapper | |
| procedure, public :: fill_quad => fill_quad_wrapper | |
| procedure, public :: fill_heatmap => fill_heatmap_wrapper | |
| procedure, public :: extract_rgb_data => extract_rgb_data_wrapper | |
| procedure, public :: get_png_data_backend => get_png_data_wrapper | |
| procedure, public :: prepare_3d_data => prepare_3d_data_wrapper | |
| procedure, public :: render_ylabel => render_ylabel_wrapper | |
| procedure, public :: draw_axes_and_labels_backend => draw_axes_and_labels_backend_wrapper | |
| procedure, public :: save_coordinates => pdf_save_coordinates | |
| procedure, public :: set_coordinates => pdf_set_coordinates | |
| procedure, public :: render_axes => render_pdf_axes_wrapper | |
| procedure, public :: draw_secondary_y_axis => pdf_draw_secondary_y_axis_wrapper | |
| procedure, public :: draw_secondary_x_axis_top => pdf_draw_secondary_x_axis_top_wrapper |