fdoc

subroutinedraw_graphsprivate

subroutine draw_graphs(p, s, relations, jobs, keep, drawings, descriptions, failed, threads)

Lay out and draw jobs. A graph that turns out to have nothing to show gets no drawing.

Arguments

NameTypeIntentAttributesDescription
ptype(project_t)in

the project

stype(settings_t)in

the settings

relationstype(adjacency_t)indimension(NUM_RELATIONS)

the relations

jobstype(graph_job_t)indimension(:)

the graphs

keeplogicalin

whether to give the descriptions too

drawingstype(string_t)inoutdimension(:)

the drawing of each graph

descriptionstype(string_t)inoutdimension(:)

the description of each graph, with keep

failedlogicaloutdimension(:)

whether the layout of each graph failed

threadsintegerin

how many threads to use

Calls

Source

Show the code
subroutine draw_graphs(p, s, relations, jobs, keep, drawings, descriptions, failed, threads)
    type(project_t), intent(in) :: p                    !! the project
    type(settings_t), intent(in) :: s                   !! the settings
    type(adjacency_t), intent(in) :: relations(NUM_RELATIONS)   !! the relations
    type(graph_job_t), intent(in) :: jobs(:)            !! the graphs
    logical, intent(in) :: keep                         !! whether to give the descriptions too
    type(string_t), intent(inout) :: drawings(:)        !! the drawing of each graph
    type(string_t), intent(inout) :: descriptions(:)    !! the description of each graph, with `keep`
    logical, intent(out) :: failed(:)                   !! whether the layout of each graph failed
    integer, intent(in) :: threads                      !! how many threads to use

    failed = .false.
    call progress_start('Laying out graphs', size(jobs))
    !$omp parallel num_threads(threads) default(shared)
    call draw_some(p, s, relations, jobs, keep, drawings, descriptions, failed)
    !$omp end parallel
    call progress_finish()
end subroutine draw_graphs

Graphs

Calls

Called by