fortplot_raster_core Module

Core raster image management and basic operations Extracted from fortplot_raster.f90 for size reduction (SRP compliance)



Derived Types

type, public ::  raster_image_t

Components

Type Visibility Attributes Name Initial
integer(kind=1), public, allocatable :: image_data(:)
integer, public :: width
integer, public :: height
real(kind=wp), public :: current_r = 0.0_wp
real(kind=wp), public :: current_g = 0.0_wp
real(kind=wp), public :: current_b = 0.0_wp
real(kind=wp), public :: current_line_width = 1.0_wp
character(len=10), public :: line_style = '-'
real(kind=wp), public :: line_pattern(20)
integer, public :: pattern_size = 1
real(kind=wp), public :: pattern_length = SOLID_LINE_PATTERN_LENGTH
real(kind=wp), public :: pattern_distance = 0.0_wp
real(kind=wp), public :: marker_edge_r = 0.0_wp
real(kind=wp), public :: marker_edge_g = 0.0_wp
real(kind=wp), public :: marker_edge_b = 0.0_wp
real(kind=wp), public :: marker_edge_alpha = 1.0_wp
real(kind=wp), public :: marker_face_r = 1.0_wp
real(kind=wp), public :: marker_face_g = 0.0_wp
real(kind=wp), public :: marker_face_b = 0.0_wp
real(kind=wp), public :: marker_face_alpha = 1.0_wp

Type-Bound Procedures

procedure, public :: set_color => raster_set_color
procedure, public :: get_color_bytes => raster_get_color_bytes
procedure, public :: set_line_style => raster_set_line_style

Functions

public function create_raster_image(width, height) result(image)

Arguments

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

Return Value type(raster_image_t)


Subroutines

public subroutine destroy_raster_image(image)

Arguments

Type IntentOptional Attributes Name
type(raster_image_t), intent(inout) :: image