PDF coordinate transformation and polymorphic method support Handles coordinate normalization and backend-specific method implementations
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public | :: | x_min | ||||
| real(kind=wp), | public | :: | x_max | ||||
| real(kind=wp), | public | :: | y_min | ||||
| real(kind=wp), | public | :: | y_max | ||||
| integer, | public | :: | width | ||||
| integer, | public | :: | height | ||||
| type(plot_area_t), | public | :: | plot_area | ||||
| type(pdf_context_core), | public | :: | core_ctx | 
Get width scale - now returns 1.0 since page size matches figure size
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(in) | :: | ctx | 
Get height scale - now returns 1.0 since page size matches figure size
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(in) | :: | ctx | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(in) | :: | ctx | |||
| real(kind=wp), | intent(in) | :: | x | |||
| real(kind=wp), | intent(in) | :: | y | |||
| real(kind=wp), | intent(out) | :: | pdf_x | |||
| real(kind=wp), | intent(out) | :: | pdf_y | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(inout) | :: | ctx | |||
| type(legend_entry_t), | intent(in), | dimension(:) | :: | entries | ||
| real(kind=wp), | intent(in) | :: | x | |||
| real(kind=wp), | intent(in) | :: | y | |||
| real(kind=wp), | intent(in) | :: | width | |||
| real(kind=wp), | intent(in) | :: | height | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(in) | :: | ctx | |||
| type(legend_entry_t), | intent(in), | dimension(:) | :: | entries | ||
| real(kind=wp), | intent(out) | :: | width | |||
| real(kind=wp), | intent(out) | :: | height | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(inout) | :: | ctx | |||
| real(kind=wp), | intent(in) | :: | width | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(in) | :: | ctx | |||
| character(len=*), | intent(in) | :: | loc | |||
| real(kind=wp), | intent(out) | :: | x | |||
| real(kind=wp), | intent(out) | :: | y | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(in) | :: | ctx | |||
| integer, | intent(in) | :: | width | |||
| integer, | intent(in) | :: | height | |||
| real(kind=wp), | intent(out) | :: | rgb_data(width,height,3) | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(in) | :: | ctx | |||
| integer, | intent(in) | :: | width | |||
| integer, | intent(in) | :: | height | |||
| integer(kind=1), | intent(out), | allocatable | :: | png_data(:) | ||
| integer, | intent(out) | :: | status | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(inout) | :: | ctx | |||
| type(plot_data_t), | intent(in) | :: | plots(:) | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(pdf_context_handle), | intent(inout) | :: | ctx | |||
| character(len=*), | intent(in) | :: | ylabel | 
Safe coordinate transformation using independent x/y scales
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x | |||
| real(kind=wp), | intent(in) | :: | y | |||
| 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) | :: | plot_left | |||
| real(kind=wp), | intent(in) | :: | plot_width | |||
| real(kind=wp), | intent(in) | :: | plot_bottom | |||
| real(kind=wp), | intent(in) | :: | plot_height | |||
| real(kind=wp), | intent(out) | :: | pdf_x | |||
| real(kind=wp), | intent(out) | :: | pdf_y | 
Calculate plot area for PDF backend (mathematical coordinates: Y=0 at bottom)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | canvas_width | |||
| integer, | intent(in) | :: | canvas_height | |||
| type(plot_margins_t), | intent(in) | :: | margins | |||
| type(plot_area_t), | intent(out) | :: | plot_area |