fortplot_pdf Module

PDF backend main interface - consolidated single coordinate system Eliminates dual coordinate systems and function duplication Uses plot area approach consistently throughout



Derived Types

type, public, extends(plot_context) ::  pdf_context

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
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

Type-Bound Procedures

procedure, public :: line => draw_pdf_line
procedure, public :: color => set_pdf_color
procedure, public :: text => draw_pdf_text_wrapper
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 :: save_graphics_state => save_graphics_state_wrapper
procedure, public :: restore_graphics_state => restore_graphics_state_wrapper
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 :: 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 :: render_legend_specialized => render_legend_specialized_wrapper
procedure, public :: calculate_legend_dimensions => calculate_legend_dimensions_wrapper
procedure, public :: set_legend_border_width => set_legend_border_width_wrapper
procedure, public :: calculate_legend_position_backend => calculate_legend_position_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

Functions

public function create_pdf_canvas(width, height) result(ctx)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: width
integer, intent(in) :: height

Return Value type(pdf_context)