curve_set_pattern Subroutine

private subroutine curve_set_pattern(self, factor, pattern)

A dash pattern, as OpenGL's line stipple (OpenFrames' setPattern): each bit of the 16-bit pattern (bit 0 first; z'FFFF', the default, is solid) covers factor window units, along the whole curve (the dashes run on across its points). The dashes' length on screen is kept within 0.7 to 1.4 times the pattern's (see shaders/line.vert).

Type Bound

CurveArtist

Arguments

Type IntentOptional Attributes Name
class(CurveArtist), intent(inout) :: self
integer, intent(in) :: factor

window units per bit (>= 1), 16 bits (z'FFFF': solid)

integer, intent(in) :: pattern

window units per bit (>= 1), 16 bits (z'FFFF': solid)


Calls

proc~~curve_set_pattern~~CallsGraph proc~curve_set_pattern CurveArtist%curve_set_pattern proc~curve_style CurveArtist%curve_style proc~curve_set_pattern->proc~curve_style is_colored is_colored proc~curve_style->is_colored proc~apply_highlight apply_highlight proc~curve_style->proc~apply_highlight set_pattern set_pattern proc~curve_style->set_pattern set_style set_style proc~curve_style->set_style style_node style_node proc~curve_style->style_node proc~set_highlight LineChain%set_highlight proc~apply_highlight->proc~set_highlight proc~apply_style apply_style proc~set_highlight->proc~apply_style interface~vkf_line_set_dash_mode vkf_line_set_dash_mode proc~apply_style->interface~vkf_line_set_dash_mode interface~vkf_line_set_highlight vkf_line_set_highlight proc~apply_style->interface~vkf_line_set_highlight interface~vkf_line_set_trail vkf_line_set_trail proc~apply_style->interface~vkf_line_set_trail proc~check_status check_status proc~apply_style->proc~check_status proc~line_set_pattern line_set_pattern proc~apply_style->proc~line_set_pattern proc~line_set_style line_set_style proc~apply_style->proc~line_set_style proc~marker_set_style marker_set_style proc~apply_style->proc~marker_set_style interface~vkf_line_style vkf_line_style proc~line_set_pattern->interface~vkf_line_style interface~vkf_line_style_changed vkf_line_style_changed proc~line_set_pattern->interface~vkf_line_style_changed proc~line_set_style->interface~vkf_line_style proc~line_set_style->interface~vkf_line_style_changed proc~marker_set_style->interface~vkf_line_style proc~marker_set_style->interface~vkf_line_style_changed

Source Code

    subroutine curve_set_pattern(self, factor, pattern)
        class(CurveArtist), intent(inout) :: self
        integer, intent(in) :: factor, pattern              !! window units per bit (>= 1), 16 bits (z'FFFF': solid)
        self%pattern_factor = max(1, factor)
        self%pattern_ = iand(pattern, int(z'FFFF'))
        call curve_style(self)
    end subroutine curve_set_pattern