set_star_names Function

private function set_star_names(self, shown, max_mag, size, rgba, font) result(ok)

Draw the names of the named stars drawn (those of the catalog's last field), beside them: shown (default false), of the stars up to magnitude max_mag (default all of them), size window units tall (default 12), in color rgba (default a pale blue) and font font ('' or default: vkframes' default font). Also while shown; the settings not given are kept. Returns false (nothing changed) if size isn't > 0.

Type Bound

SkySphere

Arguments

Type IntentOptional Attributes Name
class(SkySphere), intent(inout) :: self
logical, intent(in) :: shown

draw the names

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

the dimmest named (apparent magnitude)

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

height in window units (> 0)

real(kind=wp), intent(in), optional :: rgba(4)

color [r, g, b, a] (0 to 1)

character(len=*), intent(in), optional :: font

font file ('' for the default)

Return Value logical


Calls

proc~~set_star_names~~CallsGraph proc~set_star_names SkySphere%set_star_names proc~make_name_node make_name_node proc~set_star_names->proc~make_name_node interface~vkf_compile_node vkf_compile_node proc~make_name_node->interface~vkf_compile_node interface~vkf_label_set_at_infinity vkf_label_set_at_infinity proc~make_name_node->interface~vkf_label_set_at_infinity interface~vkf_node_add_child vkf_node_add_child proc~make_name_node->interface~vkf_node_add_child interface~vkf_node_delete vkf_node_delete proc~make_name_node->interface~vkf_node_delete interface~vkf_node_remove_child vkf_node_remove_child proc~make_name_node->interface~vkf_node_remove_child interface~vkf_transform_create vkf_transform_create proc~make_name_node->interface~vkf_transform_create proc~apply_mode apply_mode proc~make_name_node->proc~apply_mode proc~apply_name_attitude apply_name_attitude proc~make_name_node->proc~apply_name_attitude proc~check_status check_status proc~make_name_node->proc~check_status proc~label_create label_create proc~make_name_node->proc~label_create proc~apply_mode->proc~check_status interface~vkf_switch_set vkf_switch_set proc~apply_mode->interface~vkf_switch_set proc~apply_name_attitude->proc~check_status interface~vkf_transform_set_matrix vkf_transform_set_matrix proc~apply_name_attitude->interface~vkf_transform_set_matrix proc~quat_to_matrix quat_to_matrix proc~apply_name_attitude->proc~quat_to_matrix 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 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 proc~find_in_dirs find_in_dirs proc~find_font->proc~find_in_dirs

Source Code

    logical function set_star_names(self, shown, max_mag, size, rgba, font) result(ok)
        class(SkySphere), intent(inout) :: self
        logical, intent(in) :: shown                        !! draw the names
        real(wp), intent(in), optional :: max_mag           !! the dimmest named (apparent magnitude)
        real(wp), intent(in), optional :: size              !! height in window units (> 0)
        real(wp), intent(in), optional :: rgba(4)           !! color [r, g, b, a] (0 to 1)
        character(len=*), intent(in), optional :: font      !! font file ('' for the default)
        ok = .true.
        if (present(size)) ok = size > 0.0_wp
        if (.not. ok) return
        self%names_shown = shown
        if (present(max_mag)) self%names_max_mag = max_mag
        if (present(size)) self%names_size = size
        if (present(rgba)) self%names_rgba = rgba
        if (present(font)) self%names_font = font
        if (c_associated(self%root)) call make_name_node(self)
    end function set_star_names