set_color Subroutine

private subroutine set_color(self, color)

The color of the frame's decorations: [r, g, b] (alpha unchanged) or [r, g, b, a].

Type Bound

ReferenceFrame

Arguments

Type IntentOptional Attributes Name
class(ReferenceFrame), intent(inout) :: self
real(kind=wp), intent(in) :: color(:)

[r, g, b] (alpha unchanged) or [r, g, b, a] (0 to 1)


Calls

proc~~set_color~2~~CallsGraph proc~set_color~2 ReferenceFrame%set_color interface~vkf_label_set_color vkf_label_set_color proc~set_color~2->interface~vkf_label_set_color proc~check_status check_status proc~set_color~2->proc~check_status proc~remake_axes remake_axes proc~set_color~2->proc~remake_axes proc~make_axis make_axis proc~remake_axes->proc~make_axis proc~arrow_create arrow_create proc~make_axis->proc~arrow_create proc~axis_label ReferenceFrame%axis_label proc~make_axis->proc~axis_label proc~label_create label_create proc~make_axis->proc~label_create proc~label_font ReferenceFrame%label_font proc~make_axis->proc~label_font proc~replace_child replace_child proc~make_axis->proc~replace_child proc~update_switches update_switches proc~make_axis->proc~update_switches interface~vkf_mesh_create vkf_mesh_create proc~arrow_create->interface~vkf_mesh_create proc~arrow arrow proc~arrow_create->proc~arrow proc~arrow_size arrow_size proc~arrow_create->proc~arrow_size proc~mesh_arrays mesh_arrays proc~arrow_create->proc~mesh_arrays interface~vkf_label_create vkf_label_create proc~label_create->interface~vkf_label_create proc~get_font get_font proc~label_create->proc~get_font proc~vsg_alignment vsg_alignment proc~label_create->proc~vsg_alignment proc~replace_child->proc~check_status interface~vkf_compile_node vkf_compile_node proc~replace_child->interface~vkf_compile_node interface~vkf_node_add_child vkf_node_add_child proc~replace_child->interface~vkf_node_add_child interface~vkf_node_delete vkf_node_delete proc~replace_child->interface~vkf_node_delete interface~vkf_node_remove_child vkf_node_remove_child proc~replace_child->interface~vkf_node_remove_child proc~update_switches->proc~check_status interface~vkf_switch_set vkf_switch_set proc~update_switches->interface~vkf_switch_set proc~cross cross proc~arrow->proc~cross interface~vkf_font_read vkf_font_read proc~get_font->interface~vkf_font_read proc~find_font find_font proc~get_font->proc~find_font interface~vkf_mesh_array vkf_mesh_array proc~mesh_arrays->interface~vkf_mesh_array proc~find_in_dirs find_in_dirs proc~find_font->proc~find_in_dirs

Called by

proc~~set_color~2~~CalledByGraph proc~set_color~2 ReferenceFrame%set_color proc~axes_set_color CoordinateAxes%axes_set_color proc~axes_set_color->proc~set_color~2 proc~grid_set_color LatLonGrid%grid_set_color proc~grid_set_color->proc~set_color~2 proc~new_reference_frame new_reference_frame proc~new_reference_frame->proc~set_color~2 proc~segments_set_color CustomLineSegments%segments_set_color proc~segments_set_color->proc~set_color~2 proc~sphere_set_color Sphere%sphere_set_color proc~sphere_set_color->proc~set_color~2 proc~time_set_color TimeHandle%time_set_color proc~time_set_color->proc~set_color~2 proc~vector_set_color VectorHandle%vector_set_color proc~vector_set_color->proc~set_color~2 interface~referenceframe ReferenceFrame interface~referenceframe->proc~new_reference_frame

Source Code

    subroutine set_color(self, color)
        class(ReferenceFrame), intent(inout) :: self
        real(wp), intent(in) :: color(:)                    !! [r, g, b] (alpha unchanged) or [r, g, b, a] (0 to 1)
        integer :: n
        n = min(4, size(color))
        self%color_(1:n) = color(1:n)
        if (.not. self%realized) return
        if (c_associated(self%name_text)) call check_status(vkf_label_set_color(self%name_text, real(self%color_, c_float)))
        call remake_axes(self)
    end subroutine set_color