update_highlight Subroutine

private subroutine update_highlight(h, mode, color, arrow_spacing, arrow_speed, band_width, pulse_period)

Change the settings given (see set_highlight).

Arguments

Type IntentOptional Attributes Name
type(HighlightStyle), intent(inout) :: h

the highlight changed

integer, intent(in) :: mode

HIGHLIGHT_* (added)

real(kind=wp), intent(in), optional :: color(:)

as set_highlight

real(kind=wp), intent(in), optional :: arrow_spacing

as set_highlight

real(kind=wp), intent(in), optional :: arrow_speed

as set_highlight

real(kind=wp), intent(in), optional :: band_width

as set_highlight

real(kind=wp), intent(in), optional :: pulse_period

as set_highlight


Calls

proc~~update_highlight~~CallsGraph proc~update_highlight update_highlight proc~set_rgba set_rgba proc~update_highlight->proc~set_rgba

Called by

proc~~update_highlight~~CalledByGraph proc~update_highlight update_highlight proc~curve_set_highlight CurveArtist%curve_set_highlight proc~curve_set_highlight->proc~update_highlight proc~segment_set_highlight SegmentArtist%segment_set_highlight proc~segment_set_highlight->proc~update_highlight

Source Code

    subroutine update_highlight(h, mode, color, arrow_spacing, arrow_speed, band_width, pulse_period)
        type(HighlightStyle), intent(inout) :: h            !! the highlight changed
        integer, intent(in) :: mode                         !! HIGHLIGHT_* (added)
        real(wp), intent(in), optional :: color(:), arrow_spacing, arrow_speed, band_width, pulse_period !! as set_highlight
        h%mode = iand(mode, HIGHLIGHT_PULSE + HIGHLIGHT_ARROWS)
        if (present(color)) call set_rgba(h%color, color)
        if (present(arrow_spacing)) h%arrow_spacing = max(arrow_spacing, 1.0_wp)
        if (present(arrow_speed)) h%arrow_speed = arrow_speed
        if (present(band_width)) h%band_width = max(band_width, 0.0_wp)
        if (present(pulse_period)) h%pulse_period = max(pulse_period, 0.05_wp)
    end subroutine update_highlight